fourth-spark 0.6.12 → 0.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -397,7 +397,7 @@ Please change the parent <Route path="${v}"> to <Route path="${v==="/"?"*":`${v}
|
|
|
397
397
|
*
|
|
398
398
|
* This source code is licensed under the ISC license.
|
|
399
399
|
* See the LICENSE file in the root directory of this source tree.
|
|
400
|
-
*/const ZA=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],jE=Oe("zap",ZA);function BE(e){var t,a,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(t=0;t<l;t++)e[t]&&(a=BE(e[t]))&&(s&&(s+=" "),s+=a)}else for(a in e)e[a]&&(s&&(s+=" "),s+=a);return s}function de(){for(var e,t,a=0,s="",l=arguments.length;a<l;a++)(e=arguments[a])&&(t=BE(e))&&(s&&(s+=" "),s+=t);return s}const Vb=e=>{let t;const a=new Set,s=(h,x)=>{const b=typeof h=="function"?h(t):h;if(!Object.is(b,t)){const y=t;t=x??(typeof b!="object"||b===null)?b:Object.assign({},t,b),a.forEach(T=>T(t,y))}},l=()=>t,f={setState:s,getState:l,getInitialState:()=>m,subscribe:h=>(a.add(h),()=>a.delete(h))},m=t=e(s,l,f);return f},WA=(e=>e?Vb(e):Vb),JA=e=>e;function e3(e,t=JA){const a=Ku.useSyncExternalStore(e.subscribe,Ku.useCallback(()=>t(e.getState()),[e,t]),Ku.useCallback(()=>t(e.getInitialState()),[e,t]));return Ku.useDebugValue(a),a}const Qb=e=>{const t=WA(e),a=s=>e3(t,s);return Object.assign(a,t),a},zs=(e=>e?Qb(e):Qb),om="fs-theme";function PE(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Xb(e){return e==="system"?PE():e}function Zb(e){e==="system"?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme",e)}const Fm=zs((e,t)=>({preference:localStorage.getItem(om)??"system",resolved:Xb(localStorage.getItem(om)??"system"),setPreference(a){const s=Xb(a);localStorage.setItem(om,a),Zb(a),e({preference:a,resolved:s})},cycle(){const a=["system","light","dark"],s=a[(a.indexOf(t().preference)+1)%a.length];t().setPreference(s)},init(){Zb(t().preference);const a=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>{const{preference:l}=t();if(l==="system"){const o=PE();e({resolved:o})}};return a.addEventListener("change",s),()=>a.removeEventListener("change",s)}})),bc="fourth-spark-server-url";function UE(){if(typeof window>"u")return!1;const t=window.Capacitor;return typeof(t==null?void 0:t.isNativePlatform)=="function"&&t.isNativePlatform()}function HE(){return localStorage.getItem(bc)??""}function t3(e){const t=e.replace(/\/+$/,"");t?localStorage.setItem(bc,t):localStorage.removeItem(bc)}function zm(){return localStorage.getItem(bc)??""}class Hs extends Error{constructor(a,s){super(a);rn(this,"status");this.name="ApiError",this.status=s}}async function Ce(e,t){let a;try{a=await fetch(HE()+e,{...t,headers:{Accept:"application/json",...t!=null&&t.body?{"Content-Type":"application/json"}:{},...t==null?void 0:t.headers}})}catch(l){throw new Hs(l instanceof Error?l.message:"Network request failed",0)}if(!a.ok){const l=await a.text().catch(()=>"");throw new Hs(l.trim()||`${a.status} ${a.statusText}`,a.status)}if(a.status===204)return;const s=await a.text();if(s)return JSON.parse(s)}function Mn(e,...t){if(Array.isArray(e))return e;if(e&&typeof e=="object"){const a=e;for(const s of[...t,"data","items"])if(Array.isArray(a[s]))return a[s]}return[]}async function n3(){return Mn(await Ce("/api/repos"),"repos")}async function a3(e,t,a){return Ce("/api/repos",{method:"POST",body:JSON.stringify({name:e,gitUrl:t,localPath:a})})}async function r3(e){return Ce("/api/repos/resolve",{method:"POST",body:JSON.stringify({localPath:e})})}async function s3(e){await Ce(`/api/repos/${encodeURIComponent(e)}`,{method:"DELETE"})}async function i3(e){await Ce(`/api/repos/${encodeURIComponent(e)}/start`,{method:"POST"})}async function l3(e){await Ce(`/api/repos/${encodeURIComponent(e)}/stop`,{method:"POST"})}async function o3(e){return Ce(`/api/repos/${encodeURIComponent(e)}/branches`)}async function u3(e,t){return Ce(`/api/repos/${encodeURIComponent(e)}/checkout`,{method:"POST",body:JSON.stringify({branch:t})})}async function c3(e){return Ce(`/api/repos/${encodeURIComponent(e)}/pull`,{method:"POST"})}function We(e){return`/api/repos/${encodeURIComponent(e)}`}async function d3(e){return Mn(await Ce(`${We(e)}/sessions`),"sessions")}async function f3(e,t,a,s,l,o,d){return Ce(`${We(e)}/sessions`,{method:"POST",body:JSON.stringify({message:t,agent:a,model:s,variant:l,issueId:o,customAgentId:d})})}async function m3(e,t){return Ce(`${We(e)}/sessions/${encodeURIComponent(t)}`)}async function h3(e,t){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}`,{method:"DELETE"})}async function p3(e,t,a,s,l){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/prompt`,{method:"POST",body:JSON.stringify({content:a,agent:s,model:l})})}async function g3(e,t){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/abort`,{method:"POST"})}async function b3(e,t,a){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/questions/reply`,{method:"POST",body:JSON.stringify({answers:a})})}async function x3(e,t){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/questions/reject`,{method:"POST"})}function E3(e){const t=e,a=t.info;if(a&&typeof a.id=="string"){const s=Array.isArray(t.parts)?t.parts:void 0;return{...a,...s?{parts:s}:{}}}return t}async function y3(e,t){return Mn(await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/messages`),"messages").map(E3)}async function T3(e,t){return Mn(await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/todos`),"todos")}async function FE(e,t){return Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/status`)}async function Wb(e,t){return Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/links`)}async function Jb(e){return Ce(`${We(e)}/sessions/all-links`)}async function _3(e,t,a,s){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/links`,{method:"POST",body:JSON.stringify({type:a,targetId:s})})}async function N3(e,t,a,s){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/links`,{method:"DELETE",body:JSON.stringify({type:a,targetId:s})})}async function zE(){return Mn(await Ce("/api/custom-agents"))}async function qE(e){return Ce("/api/custom-agents",{method:"POST",body:JSON.stringify(e)})}async function YE(e,t){return Ce(`/api/custom-agents/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})}async function $E(e){await Ce(`/api/custom-agents/${encodeURIComponent(e)}`,{method:"DELETE"})}async function ex(e){return Ce(`/api/custom-agents/${encodeURIComponent(e)}/export`)}async function S3(e){return Ce("/api/custom-agents/import",{method:"POST",body:JSON.stringify(e)})}async function v3(e){return Mn(await Ce(`${We(e)}/custom-agents`))}async function A3(e,t){return Ce(`${We(e)}/custom-agents`,{method:"POST",body:JSON.stringify(t)})}async function _h(e){return Mn(await Ce(`${We(e)}/models`))}async function C3(){return Mn(await Ce("/api/prompt-fragments"))}async function w3(e){return Ce("/api/prompt-fragments",{method:"POST",body:JSON.stringify(e)})}async function k3(e,t){return Ce(`/api/prompt-fragments/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})}async function R3(e){await Ce(`/api/prompt-fragments/${encodeURIComponent(e)}`,{method:"DELETE"})}async function tx(e){return Mn(await Ce(`${We(e)}/tags`))}async function nx(e,t){return Mn(await Ce(`${We(e)}/milestones`))}async function ax(e,t="open"){return Mn(await Ce(`${We(e)}/issues?state=${encodeURIComponent(t)}`),"issues")}async function O3(e,t="all"){return Ce(`${We(e)}/issues/sync`,{method:"POST",body:JSON.stringify({state:t})})}async function I3(e,t,a){return Ce(`${We(e)}/issues`,{method:"POST",body:JSON.stringify({title:t,body:a})})}async function M3(e,t,a){await Ce(`${We(e)}/issues/${t}/children`,{method:"POST",body:JSON.stringify({childNumber:a})})}async function GE(e,t,a){return Ce(`${We(e)}/issues/${t}`,{method:"PATCH",body:JSON.stringify(a)})}async function rx(e,t){return Mn(await Ce(`${We(e)}/issues/${t}/pulls`))}async function D3(e,t,a,s=!1){await Ce(`${We(e)}/issues/${t}/pulls/${a}/merge`,{method:"POST",body:JSON.stringify({closeIssue:s})})}async function sx(e,t="open"){return Mn(await Ce(`${We(e)}/pulls?state=${encodeURIComponent(t)}`))}async function L3(e,t="all"){return Ce(`${We(e)}/pulls/sync`,{method:"POST",body:JSON.stringify({state:t})})}async function j3(e,t){await Ce(`${We(e)}/pulls/${t}/merge`,{method:"POST"})}async function KE(e,t){return Mn(await Ce(`${We(e)}/pulls/${t}/issues`))}async function B3(e,t,a){await Ce(`${We(e)}/pulls/${t}/issues`,{method:"POST",body:JSON.stringify({issueNumber:a})})}async function P3(e,t,a){await Ce(`${We(e)}/pulls/${t}/issues/${a}`,{method:"DELETE"})}async function U3(e,t){return Ce(`${We(e)}/pulls/${t}/comments`)}async function H3(e,t){return Ce(`${We(e)}/issues/${t}/comments`)}async function ix(e,t,a){return Ce(`${We(e)}/issues/${t}/comments`,{method:"POST",body:JSON.stringify({body:a})})}async function F3(e,t,a){return Ce(`${We(e)}/issues/${t}/polish`,{method:"POST",body:JSON.stringify({draft:a})})}async function lx(e,t){return Ce(`${We(e)}/issues/${t}/draft`)}async function z3(e,t,a){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify({title:a})})}async function q3(){return Ce("/api/agents-md")}async function Y3(e){await Ce("/api/agents-md",{method:"PUT",body:JSON.stringify({content:e})})}async function $3(e){return Ce(`/api/repos/${encodeURIComponent(e)}/agents-md`)}async function G3(e,t){await Ce(`/api/repos/${encodeURIComponent(e)}/agents-md`,{method:"PUT",body:JSON.stringify({content:t})})}function K3(e){return`${HE()}${We(e)}/events`}async function V3(e){return Ce(`${We(e)}/sessions/status`)}async function Nh(){return Ce("/api/settings")}async function Q3(e,t){await Ce(`/api/settings/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify({value:t})})}async function X3(){return Mn(await Ce("/api/git-hosts"),"gitHosts")}async function Z3(e,t,a,s="gitea"){return Ce("/api/git-hosts",{method:"POST",body:JSON.stringify({host:e,name:t,token:a,platform:s})})}async function W3(e){await Ce(`/api/git-hosts/${encodeURIComponent(e)}`,{method:"DELETE"})}async function J3(){return Ce("/api/usage")}async function eC(e){return Ce("/api/usage/switch",{method:"POST",body:JSON.stringify({accountId:e})})}async function tC(e,t="ios"){await Ce("/api/push/register",{method:"POST",body:JSON.stringify({token:e,platform:t})})}const ts="fs-active-repo",qe=zs((e,t)=>({repos:[],activeRepoId:localStorage.getItem(ts),loading:!1,loadError:null,loadRepos:async()=>{e({loading:!0,loadError:null});try{const a=await n3(),s=t().activeRepoId,l=s&&a.some(d=>d.id===s);e({repos:a,loading:!1,activeRepoId:l?s:a.length>0?a[0].id:null});const o=t().activeRepoId;o?localStorage.setItem(ts,o):localStorage.removeItem(ts)}catch(a){e({loading:!1,loadError:a instanceof Error?a.message:"Failed to load repos"})}},setActiveRepo:a=>{e({activeRepoId:a}),a?localStorage.setItem(ts,a):localStorage.removeItem(ts)},addRepo:async(a,s,l)=>{try{const o=await a3(a,s,l);return e(d=>({repos:[...d.repos,o],activeRepoId:o.id})),localStorage.setItem(ts,o.id),o}catch(o){return e({loadError:o instanceof Error?o.message:"Failed to add repo"}),null}},removeRepo:async a=>{try{await s3(a)}catch{}e(s=>{const l=s.repos.filter(d=>d.id!==a),o=s.activeRepoId===a?l.length>0?l[0].id:null:s.activeRepoId;return o?localStorage.setItem(ts,o):localStorage.removeItem(ts),{repos:l,activeRepoId:o}})},updateRepoBranch:(a,s)=>{e(l=>({repos:l.repos.map(o=>o.id===a?{...o,branch:s}:o)}))}})),Da=e=>{var t;return((t=e.repos.find(a=>a.id===e.activeRepoId))==null?void 0:t.name)??null},VE=[{segment:"repos",icon:wv,label:"仓库管理",global:!0},{segment:"run",icon:Bc,label:"运行面板",global:!1},{segment:"issues",icon:fo,label:"Issues",global:!1},{segment:"pulls",icon:mo,label:"PRs",global:!1},{segment:"settings",icon:LA,label:"设置",global:!0}];function QE(e,t,a){return t?`/${e}`:a?`/${encodeURIComponent(a)}/${e}`:`/${e}`}function nC({repoId:e,currentBranch:t}){const a=qe(v=>v.updateRepoBranch),[s,l]=C.useState(!1),[o,d]=C.useState(null),[f,m]=C.useState(!1),[h,x]=C.useState(null),[b,y]=C.useState(null),T=C.useRef(null),N=C.useCallback(()=>{l(!1),y(null)},[]);C.useEffect(()=>{if(!s)return;const v=M=>{T.current&&!T.current.contains(M.target)&&N()};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[s,N]);const S=async()=>{if(s){N();return}l(!0),m(!0),y(null);try{d(await o3(e))}catch{y("加载分支失败")}finally{m(!1)}},A=async v=>{if(!(v===t||h)){x(v),y(null);try{const M=await u3(e,v);a(e,M.branch),N()}catch(M){y(M instanceof Error?M.message:"切换失败")}finally{x(null)}}};return t?c.jsxs("div",{ref:T,className:"relative",children:[c.jsxs("button",{type:"button",onClick:S,className:"flex items-center gap-1 rounded-md bg-elevated px-2 py-1 text-xs text-fg-3 transition-colors hover:bg-blue-500/10 hover:text-blue-600",children:[c.jsx(_o,{className:"h-3 w-3"}),t,c.jsx(ss,{className:de("h-3 w-3 transition-transform",s&&"rotate-180")})]}),s&&c.jsxs("div",{className:"absolute right-0 top-full z-50 mt-1 w-56 overflow-hidden rounded-lg border border-line bg-surface shadow-lg",children:[f?c.jsx("div",{className:"flex items-center justify-center py-4",children:c.jsx(_r,{className:"h-4 w-4 animate-spin text-fg-4"})}):o?c.jsxs("div",{className:"max-h-64 overflow-y-auto py-1",children:[o.local.map(v=>c.jsxs("button",{type:"button",disabled:h!==null,onClick:()=>A(v),className:de("flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors",v===t?"font-medium text-blue-600":"text-fg-2 hover:bg-elevated"),children:[v===t?c.jsx(Sa,{className:"h-3 w-3 shrink-0"}):h===v?c.jsx(_r,{className:"h-3 w-3 shrink-0 animate-spin"}):c.jsx("span",{className:"h-3 w-3 shrink-0"}),c.jsx("span",{className:"truncate",children:v})]},v)),o.remote.length>0&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"mx-3 my-1 border-t border-line"}),c.jsx("div",{className:"px-3 py-1 text-[10px] font-medium uppercase tracking-wider text-fg-4",children:"Remote"}),o.remote.map(v=>c.jsxs("button",{type:"button",disabled:h!==null,onClick:()=>A(v),className:"flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs text-fg-2 transition-colors hover:bg-elevated",children:[h===v?c.jsx(_r,{className:"h-3 w-3 shrink-0 animate-spin"}):c.jsx("span",{className:"h-3 w-3 shrink-0"}),c.jsx("span",{className:"truncate",children:v})]},`remote-${v}`))]})]}):null,b&&c.jsx("div",{className:"border-t border-line px-3 py-2 text-xs text-red-500",children:b})]})]}):null}function aC(){const[e,t]=C.useState(null);return C.useEffect(()=>{const a=()=>fetch("/api/health").then(o=>o.json()).then(o=>{o.latestVersion&&o.latestVersion!=="0.6.12"&&t(o.latestVersion)}).catch(()=>{});a();const s=setInterval(a,30*6e4),l=()=>a();return window.addEventListener("focus",l),()=>{clearInterval(s),window.removeEventListener("focus",l)}},[]),e}function rC(){const e=va(),t=ua(),a=qe(b=>b.repos),s=qe(b=>b.activeRepoId),l=qe(b=>b.setActiveRepo),o=Fm(b=>b.preference),d=Fm(b=>b.cycle),f=o==="light"?UA:o==="dark"?_A:yA,m=a.find(b=>b.id===s),h=aC(),x=b=>{var N;if(!b)return;l(b);const y=a.find(S=>S.id===b);if(!y)return;const T=((N=t.pathname.match(/\/(run|issues|pulls)/))==null?void 0:N[1])??"run";e(`/${encodeURIComponent(y.name)}/${T}`)};return c.jsx("header",{className:"shrink-0 border-b border-line bg-surface pt-[var(--safe-top)]",children:c.jsxs("div",{className:"flex h-12 items-center justify-between px-4",children:[c.jsxs("div",{className:"flex items-center gap-2.5",children:[c.jsx(jE,{className:"h-5 w-5 text-blue-500"}),c.jsx("span",{className:"text-sm font-bold tracking-tight text-fg",children:"Fourth Spark"}),c.jsxs("span",{className:"rounded bg-elevated px-1.5 py-0.5 text-[10px] font-medium tabular-nums text-fg-4",children:["v","0.6.12"]}),h&&c.jsxs("span",{className:"text-[10px] text-amber-500",children:["→ v",h," 可用,运行 ",c.jsx("code",{className:"rounded bg-amber-500/10 px-1 font-mono",children:"fourth-spark upgrade"})," 更新"]})]}),c.jsxs("div",{className:"flex items-center gap-3",children:[a.length>0&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("select",{value:s??"",onChange:b=>x(b.target.value),className:"rounded-md border border-line bg-base px-2.5 py-1 text-xs text-fg-2 focus:border-blue-500 focus:outline-none",children:a.map(b=>c.jsx("option",{value:b.id,children:b.name},b.id))}),m&&s&&c.jsx(nC,{repoId:s,currentBranch:m.branch})]}),c.jsx("a",{href:"https://github.com/kinminghao/fourth-spark",target:"_blank",rel:"noopener noreferrer","aria-label":"GitHub",className:"flex h-8 w-8 items-center justify-center rounded-md text-fg-4 transition-colors hover:bg-elevated hover:text-fg-2",children:c.jsx("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"currentColor",children:c.jsx("path",{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"})})}),c.jsx("button",{type:"button",onClick:d,"aria-label":`主题: ${o}`,className:"flex h-8 w-8 items-center justify-center rounded-md text-fg-4 transition-colors hover:bg-elevated hover:text-fg-2",children:c.jsx(f,{className:"h-4 w-4"})})]})]})})}function sC(){const e=qe(Da);return c.jsx("nav",{className:"hidden w-48 shrink-0 flex-col border-r border-line bg-surface py-2 md:flex",children:VE.map(t=>c.jsxs(xh,{to:QE(t.segment,t.global,e),className:({isActive:a})=>de("mx-2 flex items-center gap-2.5 rounded-md px-3 py-2 text-sm transition-colors",a?"bg-blue-500/10 font-medium text-blue-600":"text-fg-3 hover:bg-elevated hover:text-fg"),children:[c.jsx(t.icon,{className:"h-4 w-4 shrink-0"}),t.label]},t.segment))})}function iC(){const e=qe(Da);return c.jsx("nav",{className:"fixed bottom-0 left-0 right-0 z-30 border-t border-line bg-surface pb-[var(--safe-bottom)] md:hidden",children:c.jsx("div",{className:"flex h-14 items-center justify-around",children:VE.map(t=>c.jsx(xh,{to:QE(t.segment,t.global,e),"aria-label":t.label,className:({isActive:a})=>de("flex h-10 w-10 items-center justify-center rounded-md transition-colors",a?"bg-blue-500/10 text-blue-600":"text-fg-3 hover:bg-elevated hover:text-fg"),children:c.jsx(t.icon,{className:"h-5 w-5 shrink-0"})},t.segment))})})}function lC(){return c.jsxs("div",{className:"flex h-full flex-col overflow-hidden bg-base text-fg",children:[c.jsx(rC,{}),c.jsxs("div",{className:"flex min-h-0 flex-1",children:[c.jsx(sC,{}),c.jsx("main",{className:"flex min-w-0 flex-1 flex-col overflow-hidden pb-[calc(3.5rem_+_var(--safe-bottom))] md:pb-0",children:c.jsx(CS,{})})]}),c.jsx(iC,{})]})}function oC({onClose:e}){const[t,a]=C.useState(""),[s,l]=C.useState(""),[o,d]=C.useState(""),[f,m]=C.useState(!1),[h,x]=C.useState(""),b=qe(A=>A.addRepo),y=s.trim()!==""&&o.trim()!==""&&t.trim()!==""&&!f,T=async A=>{const v=A.trim();if(v){m(!0),x("");try{const M=await r3(v);M.name&&!s.trim()&&l(M.name),M.gitUrl&&!o.trim()&&d(M.gitUrl)}catch(M){const k=M instanceof Error?M.message:"无法解析路径";try{const q=JSON.parse(k);x(q.error??k)}catch{x(k)}}m(!1)}},N=C.useRef(T);N.current=T,C.useEffect(()=>{const A=t.trim();if(!A)return;const v=setTimeout(()=>{N.current(A)},500);return()=>clearTimeout(v)},[t]);const S=async()=>{if(!y)return;x(""),await b(s.trim(),o.trim(),t.trim())&&e()};return c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:e,children:c.jsxs("div",{className:"w-full max-w-md rounded-xl border border-line bg-surface p-6 shadow-2xl",onClick:A=>A.stopPropagation(),children:[c.jsxs("div",{className:"mb-5 flex items-center justify-between",children:[c.jsx("h2",{className:"text-base font-semibold text-fg",children:"添加仓库"}),c.jsx("button",{type:"button",onClick:e,className:"rounded-md p-1 text-fg-4 hover:bg-elevated hover:text-fg-2",children:c.jsx(Tt,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"flex flex-col gap-4",children:[c.jsxs("div",{className:"flex flex-col gap-1.5",children:[c.jsx("label",{htmlFor:"m-path",className:"text-xs font-medium text-fg-3",children:"本地路径"}),c.jsx("input",{id:"m-path",value:t,onChange:A=>a(A.target.value),onBlur:A=>void T(A.target.value),placeholder:"/Users/you/code/repo",autoFocus:!0,className:"w-full rounded-lg border border-line bg-base px-3 py-2 font-mono text-sm text-fg placeholder:text-fg-5 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20"}),c.jsx("span",{className:"text-[11px] text-fg-5",children:f?"正在读取 Git 信息…":"输入路径后自动读取仓库信息"})]}),c.jsxs("div",{className:"flex flex-col gap-1.5",children:[c.jsx("label",{htmlFor:"m-name",className:"text-xs font-medium text-fg-3",children:"名称"}),c.jsx("input",{id:"m-name",value:s,onChange:A=>l(A.target.value),placeholder:"my-project",className:"w-full rounded-lg border border-line bg-base px-3 py-2 text-sm text-fg placeholder:text-fg-5 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20"})]}),c.jsxs("div",{className:"flex flex-col gap-1.5",children:[c.jsx("label",{htmlFor:"m-git",className:"text-xs font-medium text-fg-3",children:"Git 远程地址"}),c.jsx("input",{id:"m-git",value:o,onChange:A=>d(A.target.value),placeholder:"https://github.com/org/repo.git",className:"w-full rounded-lg border border-line bg-base px-3 py-2 font-mono text-xs text-fg placeholder:text-fg-5 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20"})]}),h&&c.jsx("p",{className:"rounded-md bg-red-500/10 px-3 py-2 text-xs text-red-500",children:h}),c.jsxs("div",{className:"mt-1 flex items-center justify-end gap-2",children:[c.jsx("button",{type:"button",onClick:e,className:"rounded-lg border border-line px-4 py-2 text-sm text-fg-3 transition-colors hover:bg-elevated hover:text-fg",children:"取消"}),c.jsx("button",{type:"button",onClick:S,disabled:!y,className:"rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-500 disabled:cursor-not-allowed disabled:bg-fg-6 disabled:text-fg-4",children:"添加仓库"})]})]})]})})}function uC({repoId:e,repoName:t,onClose:a}){const[s,l]=C.useState(""),[o,d]=C.useState(""),[f,m]=C.useState(!0),[h,x]=C.useState(!1),[b,y]=C.useState(null);C.useEffect(()=>{$3(e).then(S=>{l(S.content),d(S.content),m(!1)}).catch(S=>{y(S instanceof Error?S.message:String(S)),m(!1)})},[e]);const T=async()=>{x(!0),y(null);try{await G3(e,s),d(s)}catch(S){y(S instanceof Error?S.message:String(S))}x(!1)},N=s!==o;return c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:a,children:c.jsxs("div",{className:"flex w-full max-w-2xl flex-col rounded-xl border border-line bg-surface p-6 shadow-2xl",onClick:S=>S.stopPropagation(),children:[c.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsxs("h2",{className:"text-base font-semibold text-fg",children:[t," — AGENTS.md"]}),c.jsx("p",{className:"mt-0.5 text-xs text-fg-4",children:"仅对此仓库生效,修改后 opencode 热加载即时生效。"})]}),c.jsx("button",{type:"button",onClick:a,className:"shrink-0 rounded-md p-1 text-fg-4 hover:bg-elevated hover:text-fg-2",children:c.jsx(Tt,{className:"h-4 w-4"})})]}),b&&c.jsxs("div",{className:"mb-3 flex items-start gap-2 rounded-lg bg-red-500/10 px-3 py-2 text-xs text-red-400",children:[c.jsx(la,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),c.jsx("span",{className:"min-w-0 break-words",children:b})]}),f?c.jsxs("div",{className:"flex flex-col items-center gap-2.5 py-16 text-fg-5",children:[c.jsx(_r,{className:"h-5 w-5 fs-spin"}),c.jsx("p",{className:"text-xs",children:"加载中…"})]}):c.jsx("textarea",{value:s,onChange:S=>l(S.target.value),spellCheck:!1,className:"h-96 w-full resize-y rounded-lg border border-line bg-base px-4 py-3 font-mono text-sm leading-relaxed text-fg placeholder:text-fg-6 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20",placeholder:`# AGENTS.md
|
|
400
|
+
*/const ZA=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],jE=Oe("zap",ZA);function BE(e){var t,a,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(t=0;t<l;t++)e[t]&&(a=BE(e[t]))&&(s&&(s+=" "),s+=a)}else for(a in e)e[a]&&(s&&(s+=" "),s+=a);return s}function de(){for(var e,t,a=0,s="",l=arguments.length;a<l;a++)(e=arguments[a])&&(t=BE(e))&&(s&&(s+=" "),s+=t);return s}const Vb=e=>{let t;const a=new Set,s=(h,x)=>{const b=typeof h=="function"?h(t):h;if(!Object.is(b,t)){const y=t;t=x??(typeof b!="object"||b===null)?b:Object.assign({},t,b),a.forEach(T=>T(t,y))}},l=()=>t,f={setState:s,getState:l,getInitialState:()=>m,subscribe:h=>(a.add(h),()=>a.delete(h))},m=t=e(s,l,f);return f},WA=(e=>e?Vb(e):Vb),JA=e=>e;function e3(e,t=JA){const a=Ku.useSyncExternalStore(e.subscribe,Ku.useCallback(()=>t(e.getState()),[e,t]),Ku.useCallback(()=>t(e.getInitialState()),[e,t]));return Ku.useDebugValue(a),a}const Qb=e=>{const t=WA(e),a=s=>e3(t,s);return Object.assign(a,t),a},zs=(e=>e?Qb(e):Qb),om="fs-theme";function PE(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Xb(e){return e==="system"?PE():e}function Zb(e){e==="system"?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme",e)}const Fm=zs((e,t)=>({preference:localStorage.getItem(om)??"system",resolved:Xb(localStorage.getItem(om)??"system"),setPreference(a){const s=Xb(a);localStorage.setItem(om,a),Zb(a),e({preference:a,resolved:s})},cycle(){const a=["system","light","dark"],s=a[(a.indexOf(t().preference)+1)%a.length];t().setPreference(s)},init(){Zb(t().preference);const a=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>{const{preference:l}=t();if(l==="system"){const o=PE();e({resolved:o})}};return a.addEventListener("change",s),()=>a.removeEventListener("change",s)}})),bc="fourth-spark-server-url";function UE(){if(typeof window>"u")return!1;const t=window.Capacitor;return typeof(t==null?void 0:t.isNativePlatform)=="function"&&t.isNativePlatform()}function HE(){return localStorage.getItem(bc)??""}function t3(e){const t=e.replace(/\/+$/,"");t?localStorage.setItem(bc,t):localStorage.removeItem(bc)}function zm(){return localStorage.getItem(bc)??""}class Hs extends Error{constructor(a,s){super(a);rn(this,"status");this.name="ApiError",this.status=s}}async function Ce(e,t){let a;try{a=await fetch(HE()+e,{...t,headers:{Accept:"application/json",...t!=null&&t.body?{"Content-Type":"application/json"}:{},...t==null?void 0:t.headers}})}catch(l){throw new Hs(l instanceof Error?l.message:"Network request failed",0)}if(!a.ok){const l=await a.text().catch(()=>"");throw new Hs(l.trim()||`${a.status} ${a.statusText}`,a.status)}if(a.status===204)return;const s=await a.text();if(s)return JSON.parse(s)}function Mn(e,...t){if(Array.isArray(e))return e;if(e&&typeof e=="object"){const a=e;for(const s of[...t,"data","items"])if(Array.isArray(a[s]))return a[s]}return[]}async function n3(){return Mn(await Ce("/api/repos"),"repos")}async function a3(e,t,a){return Ce("/api/repos",{method:"POST",body:JSON.stringify({name:e,gitUrl:t,localPath:a})})}async function r3(e){return Ce("/api/repos/resolve",{method:"POST",body:JSON.stringify({localPath:e})})}async function s3(e){await Ce(`/api/repos/${encodeURIComponent(e)}`,{method:"DELETE"})}async function i3(e){await Ce(`/api/repos/${encodeURIComponent(e)}/start`,{method:"POST"})}async function l3(e){await Ce(`/api/repos/${encodeURIComponent(e)}/stop`,{method:"POST"})}async function o3(e){return Ce(`/api/repos/${encodeURIComponent(e)}/branches`)}async function u3(e,t){return Ce(`/api/repos/${encodeURIComponent(e)}/checkout`,{method:"POST",body:JSON.stringify({branch:t})})}async function c3(e){return Ce(`/api/repos/${encodeURIComponent(e)}/pull`,{method:"POST"})}function We(e){return`/api/repos/${encodeURIComponent(e)}`}async function d3(e){return Mn(await Ce(`${We(e)}/sessions`),"sessions")}async function f3(e,t,a,s,l,o,d){return Ce(`${We(e)}/sessions`,{method:"POST",body:JSON.stringify({message:t,agent:a,model:s,variant:l,issueId:o,customAgentId:d})})}async function m3(e,t){return Ce(`${We(e)}/sessions/${encodeURIComponent(t)}`)}async function h3(e,t){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}`,{method:"DELETE"})}async function p3(e,t,a,s,l){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/prompt`,{method:"POST",body:JSON.stringify({content:a,agent:s,model:l})})}async function g3(e,t){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/abort`,{method:"POST"})}async function b3(e,t,a){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/questions/reply`,{method:"POST",body:JSON.stringify({answers:a})})}async function x3(e,t){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/questions/reject`,{method:"POST"})}function E3(e){const t=e,a=t.info;if(a&&typeof a.id=="string"){const s=Array.isArray(t.parts)?t.parts:void 0;return{...a,...s?{parts:s}:{}}}return t}async function y3(e,t){return Mn(await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/messages`),"messages").map(E3)}async function T3(e,t){return Mn(await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/todos`),"todos")}async function FE(e,t){return Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/status`)}async function Wb(e,t){return Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/links`)}async function Jb(e){return Ce(`${We(e)}/sessions/all-links`)}async function _3(e,t,a,s){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/links`,{method:"POST",body:JSON.stringify({type:a,targetId:s})})}async function N3(e,t,a,s){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}/links`,{method:"DELETE",body:JSON.stringify({type:a,targetId:s})})}async function zE(){return Mn(await Ce("/api/custom-agents"))}async function qE(e){return Ce("/api/custom-agents",{method:"POST",body:JSON.stringify(e)})}async function YE(e,t){return Ce(`/api/custom-agents/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})}async function $E(e){await Ce(`/api/custom-agents/${encodeURIComponent(e)}`,{method:"DELETE"})}async function ex(e){return Ce(`/api/custom-agents/${encodeURIComponent(e)}/export`)}async function S3(e){return Ce("/api/custom-agents/import",{method:"POST",body:JSON.stringify(e)})}async function v3(e){return Mn(await Ce(`${We(e)}/custom-agents`))}async function A3(e,t){return Ce(`${We(e)}/custom-agents`,{method:"POST",body:JSON.stringify(t)})}async function _h(e){return Mn(await Ce(`${We(e)}/models`))}async function C3(){return Mn(await Ce("/api/prompt-fragments"))}async function w3(e){return Ce("/api/prompt-fragments",{method:"POST",body:JSON.stringify(e)})}async function k3(e,t){return Ce(`/api/prompt-fragments/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})}async function R3(e){await Ce(`/api/prompt-fragments/${encodeURIComponent(e)}`,{method:"DELETE"})}async function tx(e){return Mn(await Ce(`${We(e)}/tags`))}async function nx(e,t){return Mn(await Ce(`${We(e)}/milestones`))}async function ax(e,t="open"){return Mn(await Ce(`${We(e)}/issues?state=${encodeURIComponent(t)}`),"issues")}async function O3(e,t="all"){return Ce(`${We(e)}/issues/sync`,{method:"POST",body:JSON.stringify({state:t})})}async function I3(e,t,a){return Ce(`${We(e)}/issues`,{method:"POST",body:JSON.stringify({title:t,body:a})})}async function M3(e,t,a){await Ce(`${We(e)}/issues/${t}/children`,{method:"POST",body:JSON.stringify({childNumber:a})})}async function GE(e,t,a){return Ce(`${We(e)}/issues/${t}`,{method:"PATCH",body:JSON.stringify(a)})}async function rx(e,t){return Mn(await Ce(`${We(e)}/issues/${t}/pulls`))}async function D3(e,t,a,s=!1){await Ce(`${We(e)}/issues/${t}/pulls/${a}/merge`,{method:"POST",body:JSON.stringify({closeIssue:s})})}async function sx(e,t="open"){return Mn(await Ce(`${We(e)}/pulls?state=${encodeURIComponent(t)}`))}async function L3(e,t="all"){return Ce(`${We(e)}/pulls/sync`,{method:"POST",body:JSON.stringify({state:t})})}async function j3(e,t){await Ce(`${We(e)}/pulls/${t}/merge`,{method:"POST"})}async function KE(e,t){return Mn(await Ce(`${We(e)}/pulls/${t}/issues`))}async function B3(e,t,a){await Ce(`${We(e)}/pulls/${t}/issues`,{method:"POST",body:JSON.stringify({issueNumber:a})})}async function P3(e,t,a){await Ce(`${We(e)}/pulls/${t}/issues/${a}`,{method:"DELETE"})}async function U3(e,t){return Ce(`${We(e)}/pulls/${t}/comments`)}async function H3(e,t){return Ce(`${We(e)}/issues/${t}/comments`)}async function ix(e,t,a){return Ce(`${We(e)}/issues/${t}/comments`,{method:"POST",body:JSON.stringify({body:a})})}async function F3(e,t,a){return Ce(`${We(e)}/issues/${t}/polish`,{method:"POST",body:JSON.stringify({draft:a})})}async function lx(e,t){return Ce(`${We(e)}/issues/${t}/draft`)}async function z3(e,t,a){await Ce(`${We(e)}/sessions/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify({title:a})})}async function q3(){return Ce("/api/agents-md")}async function Y3(e){await Ce("/api/agents-md",{method:"PUT",body:JSON.stringify({content:e})})}async function $3(e){return Ce(`/api/repos/${encodeURIComponent(e)}/agents-md`)}async function G3(e,t){await Ce(`/api/repos/${encodeURIComponent(e)}/agents-md`,{method:"PUT",body:JSON.stringify({content:t})})}function K3(e){return`${HE()}${We(e)}/events`}async function V3(e){return Ce(`${We(e)}/sessions/status`)}async function Nh(){return Ce("/api/settings")}async function Q3(e,t){await Ce(`/api/settings/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify({value:t})})}async function X3(){return Mn(await Ce("/api/git-hosts"),"gitHosts")}async function Z3(e,t,a,s="gitea"){return Ce("/api/git-hosts",{method:"POST",body:JSON.stringify({host:e,name:t,token:a,platform:s})})}async function W3(e){await Ce(`/api/git-hosts/${encodeURIComponent(e)}`,{method:"DELETE"})}async function J3(){return Ce("/api/usage")}async function eC(e){return Ce("/api/usage/switch",{method:"POST",body:JSON.stringify({accountId:e})})}async function tC(e,t="ios"){await Ce("/api/push/register",{method:"POST",body:JSON.stringify({token:e,platform:t})})}const ts="fs-active-repo",qe=zs((e,t)=>({repos:[],activeRepoId:localStorage.getItem(ts),loading:!1,loadError:null,loadRepos:async()=>{e({loading:!0,loadError:null});try{const a=await n3(),s=t().activeRepoId,l=s&&a.some(d=>d.id===s);e({repos:a,loading:!1,activeRepoId:l?s:a.length>0?a[0].id:null});const o=t().activeRepoId;o?localStorage.setItem(ts,o):localStorage.removeItem(ts)}catch(a){e({loading:!1,loadError:a instanceof Error?a.message:"Failed to load repos"})}},setActiveRepo:a=>{e({activeRepoId:a}),a?localStorage.setItem(ts,a):localStorage.removeItem(ts)},addRepo:async(a,s,l)=>{try{const o=await a3(a,s,l);return e(d=>({repos:[...d.repos,o],activeRepoId:o.id})),localStorage.setItem(ts,o.id),o}catch(o){return e({loadError:o instanceof Error?o.message:"Failed to add repo"}),null}},removeRepo:async a=>{try{await s3(a)}catch{}e(s=>{const l=s.repos.filter(d=>d.id!==a),o=s.activeRepoId===a?l.length>0?l[0].id:null:s.activeRepoId;return o?localStorage.setItem(ts,o):localStorage.removeItem(ts),{repos:l,activeRepoId:o}})},updateRepoBranch:(a,s)=>{e(l=>({repos:l.repos.map(o=>o.id===a?{...o,branch:s}:o)}))}})),Da=e=>{var t;return((t=e.repos.find(a=>a.id===e.activeRepoId))==null?void 0:t.name)??null},VE=[{segment:"repos",icon:wv,label:"仓库管理",global:!0},{segment:"run",icon:Bc,label:"运行面板",global:!1},{segment:"issues",icon:fo,label:"Issues",global:!1},{segment:"pulls",icon:mo,label:"PRs",global:!1},{segment:"settings",icon:LA,label:"设置",global:!0}];function QE(e,t,a){return t?`/${e}`:a?`/${encodeURIComponent(a)}/${e}`:`/${e}`}function nC({repoId:e,currentBranch:t}){const a=qe(v=>v.updateRepoBranch),[s,l]=C.useState(!1),[o,d]=C.useState(null),[f,m]=C.useState(!1),[h,x]=C.useState(null),[b,y]=C.useState(null),T=C.useRef(null),N=C.useCallback(()=>{l(!1),y(null)},[]);C.useEffect(()=>{if(!s)return;const v=M=>{T.current&&!T.current.contains(M.target)&&N()};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[s,N]);const S=async()=>{if(s){N();return}l(!0),m(!0),y(null);try{d(await o3(e))}catch{y("加载分支失败")}finally{m(!1)}},A=async v=>{if(!(v===t||h)){x(v),y(null);try{const M=await u3(e,v);a(e,M.branch),N()}catch(M){y(M instanceof Error?M.message:"切换失败")}finally{x(null)}}};return t?c.jsxs("div",{ref:T,className:"relative",children:[c.jsxs("button",{type:"button",onClick:S,className:"flex items-center gap-1 rounded-md bg-elevated px-2 py-1 text-xs text-fg-3 transition-colors hover:bg-blue-500/10 hover:text-blue-600",children:[c.jsx(_o,{className:"h-3 w-3"}),t,c.jsx(ss,{className:de("h-3 w-3 transition-transform",s&&"rotate-180")})]}),s&&c.jsxs("div",{className:"absolute right-0 top-full z-50 mt-1 w-56 overflow-hidden rounded-lg border border-line bg-surface shadow-lg",children:[f?c.jsx("div",{className:"flex items-center justify-center py-4",children:c.jsx(_r,{className:"h-4 w-4 animate-spin text-fg-4"})}):o?c.jsxs("div",{className:"max-h-64 overflow-y-auto py-1",children:[o.local.map(v=>c.jsxs("button",{type:"button",disabled:h!==null,onClick:()=>A(v),className:de("flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors",v===t?"font-medium text-blue-600":"text-fg-2 hover:bg-elevated"),children:[v===t?c.jsx(Sa,{className:"h-3 w-3 shrink-0"}):h===v?c.jsx(_r,{className:"h-3 w-3 shrink-0 animate-spin"}):c.jsx("span",{className:"h-3 w-3 shrink-0"}),c.jsx("span",{className:"truncate",children:v})]},v)),o.remote.length>0&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"mx-3 my-1 border-t border-line"}),c.jsx("div",{className:"px-3 py-1 text-[10px] font-medium uppercase tracking-wider text-fg-4",children:"Remote"}),o.remote.map(v=>c.jsxs("button",{type:"button",disabled:h!==null,onClick:()=>A(v),className:"flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs text-fg-2 transition-colors hover:bg-elevated",children:[h===v?c.jsx(_r,{className:"h-3 w-3 shrink-0 animate-spin"}):c.jsx("span",{className:"h-3 w-3 shrink-0"}),c.jsx("span",{className:"truncate",children:v})]},`remote-${v}`))]})]}):null,b&&c.jsx("div",{className:"border-t border-line px-3 py-2 text-xs text-red-500",children:b})]})]}):null}function aC(){const[e,t]=C.useState(null);return C.useEffect(()=>{const a=()=>fetch("/api/health").then(o=>o.json()).then(o=>{o.latestVersion&&o.latestVersion!=="0.6.13"&&t(o.latestVersion)}).catch(()=>{});a();const s=setInterval(a,30*6e4),l=()=>a();return window.addEventListener("focus",l),()=>{clearInterval(s),window.removeEventListener("focus",l)}},[]),e}function rC(){const e=va(),t=ua(),a=qe(b=>b.repos),s=qe(b=>b.activeRepoId),l=qe(b=>b.setActiveRepo),o=Fm(b=>b.preference),d=Fm(b=>b.cycle),f=o==="light"?UA:o==="dark"?_A:yA,m=a.find(b=>b.id===s),h=aC(),x=b=>{var N;if(!b)return;l(b);const y=a.find(S=>S.id===b);if(!y)return;const T=((N=t.pathname.match(/\/(run|issues|pulls)/))==null?void 0:N[1])??"run";e(`/${encodeURIComponent(y.name)}/${T}`)};return c.jsx("header",{className:"shrink-0 border-b border-line bg-surface pt-[var(--safe-top)]",children:c.jsxs("div",{className:"flex h-12 items-center justify-between px-4",children:[c.jsxs("div",{className:"flex items-center gap-2.5",children:[c.jsx(jE,{className:"h-5 w-5 text-blue-500"}),c.jsx("span",{className:"text-sm font-bold tracking-tight text-fg",children:"Fourth Spark"}),c.jsxs("span",{className:"rounded bg-elevated px-1.5 py-0.5 text-[10px] font-medium tabular-nums text-fg-4",children:["v","0.6.13"]}),h&&c.jsxs("span",{className:"text-[10px] text-amber-500",children:["→ v",h," 可用,运行 ",c.jsx("code",{className:"rounded bg-amber-500/10 px-1 font-mono",children:"fourth-spark upgrade"})," 更新"]})]}),c.jsxs("div",{className:"flex items-center gap-3",children:[a.length>0&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("select",{value:s??"",onChange:b=>x(b.target.value),className:"rounded-md border border-line bg-base px-2.5 py-1 text-xs text-fg-2 focus:border-blue-500 focus:outline-none",children:a.map(b=>c.jsx("option",{value:b.id,children:b.name},b.id))}),m&&s&&c.jsx(nC,{repoId:s,currentBranch:m.branch})]}),c.jsx("a",{href:"https://github.com/kinminghao/fourth-spark",target:"_blank",rel:"noopener noreferrer","aria-label":"GitHub",className:"flex h-8 w-8 items-center justify-center rounded-md text-fg-4 transition-colors hover:bg-elevated hover:text-fg-2",children:c.jsx("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"currentColor",children:c.jsx("path",{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"})})}),c.jsx("button",{type:"button",onClick:d,"aria-label":`主题: ${o}`,className:"flex h-8 w-8 items-center justify-center rounded-md text-fg-4 transition-colors hover:bg-elevated hover:text-fg-2",children:c.jsx(f,{className:"h-4 w-4"})})]})]})})}function sC(){const e=qe(Da);return c.jsx("nav",{className:"hidden w-48 shrink-0 flex-col border-r border-line bg-surface py-2 md:flex",children:VE.map(t=>c.jsxs(xh,{to:QE(t.segment,t.global,e),className:({isActive:a})=>de("mx-2 flex items-center gap-2.5 rounded-md px-3 py-2 text-sm transition-colors",a?"bg-blue-500/10 font-medium text-blue-600":"text-fg-3 hover:bg-elevated hover:text-fg"),children:[c.jsx(t.icon,{className:"h-4 w-4 shrink-0"}),t.label]},t.segment))})}function iC(){const e=qe(Da);return c.jsx("nav",{className:"fixed bottom-0 left-0 right-0 z-30 border-t border-line bg-surface pb-[var(--safe-bottom)] md:hidden",children:c.jsx("div",{className:"flex h-14 items-center justify-around",children:VE.map(t=>c.jsx(xh,{to:QE(t.segment,t.global,e),"aria-label":t.label,className:({isActive:a})=>de("flex h-10 w-10 items-center justify-center rounded-md transition-colors",a?"bg-blue-500/10 text-blue-600":"text-fg-3 hover:bg-elevated hover:text-fg"),children:c.jsx(t.icon,{className:"h-5 w-5 shrink-0"})},t.segment))})})}function lC(){return c.jsxs("div",{className:"flex h-full flex-col overflow-hidden bg-base text-fg",children:[c.jsx(rC,{}),c.jsxs("div",{className:"flex min-h-0 flex-1",children:[c.jsx(sC,{}),c.jsx("main",{className:"flex min-w-0 flex-1 flex-col overflow-hidden pb-[calc(3.5rem_+_var(--safe-bottom))] md:pb-0",children:c.jsx(CS,{})})]}),c.jsx(iC,{})]})}function oC({onClose:e}){const[t,a]=C.useState(""),[s,l]=C.useState(""),[o,d]=C.useState(""),[f,m]=C.useState(!1),[h,x]=C.useState(""),b=qe(A=>A.addRepo),y=s.trim()!==""&&o.trim()!==""&&t.trim()!==""&&!f,T=async A=>{const v=A.trim();if(v){m(!0),x("");try{const M=await r3(v);M.name&&!s.trim()&&l(M.name),M.gitUrl&&!o.trim()&&d(M.gitUrl)}catch(M){const k=M instanceof Error?M.message:"无法解析路径";try{const q=JSON.parse(k);x(q.error??k)}catch{x(k)}}m(!1)}},N=C.useRef(T);N.current=T,C.useEffect(()=>{const A=t.trim();if(!A)return;const v=setTimeout(()=>{N.current(A)},500);return()=>clearTimeout(v)},[t]);const S=async()=>{if(!y)return;x(""),await b(s.trim(),o.trim(),t.trim())&&e()};return c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:e,children:c.jsxs("div",{className:"w-full max-w-md rounded-xl border border-line bg-surface p-6 shadow-2xl",onClick:A=>A.stopPropagation(),children:[c.jsxs("div",{className:"mb-5 flex items-center justify-between",children:[c.jsx("h2",{className:"text-base font-semibold text-fg",children:"添加仓库"}),c.jsx("button",{type:"button",onClick:e,className:"rounded-md p-1 text-fg-4 hover:bg-elevated hover:text-fg-2",children:c.jsx(Tt,{className:"h-4 w-4"})})]}),c.jsxs("div",{className:"flex flex-col gap-4",children:[c.jsxs("div",{className:"flex flex-col gap-1.5",children:[c.jsx("label",{htmlFor:"m-path",className:"text-xs font-medium text-fg-3",children:"本地路径"}),c.jsx("input",{id:"m-path",value:t,onChange:A=>a(A.target.value),onBlur:A=>void T(A.target.value),placeholder:"/Users/you/code/repo",autoFocus:!0,className:"w-full rounded-lg border border-line bg-base px-3 py-2 font-mono text-sm text-fg placeholder:text-fg-5 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20"}),c.jsx("span",{className:"text-[11px] text-fg-5",children:f?"正在读取 Git 信息…":"输入路径后自动读取仓库信息"})]}),c.jsxs("div",{className:"flex flex-col gap-1.5",children:[c.jsx("label",{htmlFor:"m-name",className:"text-xs font-medium text-fg-3",children:"名称"}),c.jsx("input",{id:"m-name",value:s,onChange:A=>l(A.target.value),placeholder:"my-project",className:"w-full rounded-lg border border-line bg-base px-3 py-2 text-sm text-fg placeholder:text-fg-5 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20"})]}),c.jsxs("div",{className:"flex flex-col gap-1.5",children:[c.jsx("label",{htmlFor:"m-git",className:"text-xs font-medium text-fg-3",children:"Git 远程地址"}),c.jsx("input",{id:"m-git",value:o,onChange:A=>d(A.target.value),placeholder:"https://github.com/org/repo.git",className:"w-full rounded-lg border border-line bg-base px-3 py-2 font-mono text-xs text-fg placeholder:text-fg-5 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20"})]}),h&&c.jsx("p",{className:"rounded-md bg-red-500/10 px-3 py-2 text-xs text-red-500",children:h}),c.jsxs("div",{className:"mt-1 flex items-center justify-end gap-2",children:[c.jsx("button",{type:"button",onClick:e,className:"rounded-lg border border-line px-4 py-2 text-sm text-fg-3 transition-colors hover:bg-elevated hover:text-fg",children:"取消"}),c.jsx("button",{type:"button",onClick:S,disabled:!y,className:"rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-500 disabled:cursor-not-allowed disabled:bg-fg-6 disabled:text-fg-4",children:"添加仓库"})]})]})]})})}function uC({repoId:e,repoName:t,onClose:a}){const[s,l]=C.useState(""),[o,d]=C.useState(""),[f,m]=C.useState(!0),[h,x]=C.useState(!1),[b,y]=C.useState(null);C.useEffect(()=>{$3(e).then(S=>{l(S.content),d(S.content),m(!1)}).catch(S=>{y(S instanceof Error?S.message:String(S)),m(!1)})},[e]);const T=async()=>{x(!0),y(null);try{await G3(e,s),d(s)}catch(S){y(S instanceof Error?S.message:String(S))}x(!1)},N=s!==o;return c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:a,children:c.jsxs("div",{className:"flex w-full max-w-2xl flex-col rounded-xl border border-line bg-surface p-6 shadow-2xl",onClick:S=>S.stopPropagation(),children:[c.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsxs("h2",{className:"text-base font-semibold text-fg",children:[t," — AGENTS.md"]}),c.jsx("p",{className:"mt-0.5 text-xs text-fg-4",children:"仅对此仓库生效,修改后 opencode 热加载即时生效。"})]}),c.jsx("button",{type:"button",onClick:a,className:"shrink-0 rounded-md p-1 text-fg-4 hover:bg-elevated hover:text-fg-2",children:c.jsx(Tt,{className:"h-4 w-4"})})]}),b&&c.jsxs("div",{className:"mb-3 flex items-start gap-2 rounded-lg bg-red-500/10 px-3 py-2 text-xs text-red-400",children:[c.jsx(la,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),c.jsx("span",{className:"min-w-0 break-words",children:b})]}),f?c.jsxs("div",{className:"flex flex-col items-center gap-2.5 py-16 text-fg-5",children:[c.jsx(_r,{className:"h-5 w-5 fs-spin"}),c.jsx("p",{className:"text-xs",children:"加载中…"})]}):c.jsx("textarea",{value:s,onChange:S=>l(S.target.value),spellCheck:!1,className:"h-96 w-full resize-y rounded-lg border border-line bg-base px-4 py-3 font-mono text-sm leading-relaxed text-fg placeholder:text-fg-6 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20",placeholder:`# AGENTS.md
|
|
401
401
|
|
|
402
402
|
在此编写该仓库的 Agent 指令…`}),c.jsxs("div",{className:"mt-4 flex items-center justify-end gap-2",children:[c.jsx("button",{type:"button",onClick:a,className:"rounded-lg border border-line px-4 py-2 text-sm text-fg-3 transition-colors hover:bg-elevated hover:text-fg",children:"关闭"}),c.jsxs("button",{type:"button",onClick:()=>void T(),disabled:h||!N,className:"flex items-center gap-1.5 rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-500 disabled:opacity-40",children:[c.jsx(Th,{className:"h-3.5 w-3.5"}),h?"保存中…":"保存"]})]})]})})}function cC(){const e=qe(k=>k.repos),t=qe(k=>k.activeRepoId),a=qe(k=>k.setActiveRepo),s=qe(k=>k.removeRepo),l=qe(k=>k.loadRepos),[o,d]=C.useState(!1),[f,m]=C.useState(null),[h,x]=C.useState(null),[b,y]=C.useState(null),[T,N]=C.useState(null),[S,A]=C.useState(null),v=async(k,q)=>{x(k);try{q?await l3(k):await i3(k),await l()}catch{}x(null)},M=async k=>{y(k),N(null);try{await c3(k),await l()}catch(q){let Q="拉取失败";if(q instanceof Hs)try{Q=JSON.parse(q.message).error??q.message}catch{Q=q.message}N(Q)}y(null)};return c.jsxs("div",{className:"flex-1 overflow-y-auto p-6",children:[c.jsxs("div",{className:"mx-auto max-w-4xl",children:[c.jsxs("div",{className:"mb-6 flex items-center justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("h1",{className:"text-lg font-semibold text-fg",children:"仓库管理"}),c.jsx("p",{className:"mt-0.5 text-sm text-fg-4",children:"管理代码仓库,每个仓库对应一个独立的 Agent 运行环境"})]}),c.jsxs("button",{type:"button",onClick:()=>d(!0),className:"flex shrink-0 items-center gap-1.5 rounded-lg bg-blue-600 px-3 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-500 md:px-4",children:[c.jsx(Sr,{className:"h-4 w-4"}),c.jsx("span",{className:"hidden md:inline",children:"添加仓库"})]})]}),T&&c.jsxs("div",{className:"mb-4 flex items-center justify-between gap-3 rounded-lg border border-red-500/30 bg-red-500/5 px-4 py-2.5 text-sm text-red-600",children:[c.jsx("span",{children:T}),c.jsx("button",{type:"button",onClick:()=>N(null),className:"shrink-0 rounded p-0.5 transition-colors hover:bg-red-500/10",children:c.jsx(Tt,{className:"h-3.5 w-3.5"})})]}),e.length===0?c.jsxs("div",{className:"flex flex-col items-center gap-3 rounded-xl border border-dashed border-line-hard py-16 text-center",children:[c.jsx("div",{className:"rounded-full bg-elevated p-3",children:c.jsx(Sr,{className:"h-6 w-6 text-fg-4"})}),c.jsx("p",{className:"text-sm font-medium text-fg-3",children:"暂无代码仓库"}),c.jsx("p",{className:"text-xs text-fg-5",children:"添加一个本地仓库开始使用"}),c.jsx("button",{type:"button",onClick:()=>d(!0),className:"mt-2 rounded-lg border border-line px-4 py-2 text-sm text-fg-3 transition-colors hover:bg-elevated hover:text-fg",children:"添加仓库"})]}):c.jsx(c.Fragment,{children:c.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:e.map(k=>{const q=k.id===t;return c.jsxs("div",{className:de("rounded-xl border p-4 transition-colors",q?"border-blue-500/40 bg-blue-500/5":"border-line"),children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("button",{type:"button",onClick:()=>a(k.id),className:"flex min-w-0 items-center gap-2 text-left",children:[q?c.jsx(fo,{className:"h-4 w-4 shrink-0 text-blue-500"}):c.jsx(Bv,{className:"h-4 w-4 shrink-0 text-fg-5"}),c.jsx("span",{className:de("truncate font-medium",q?"text-fg":"text-fg-2"),children:k.name})]}),c.jsxs("span",{className:de("inline-flex shrink-0 items-center gap-1.5 rounded-full px-2 py-0.5 text-xs font-medium",k.running?"bg-emerald-500/10 text-emerald-600":"bg-fg-6/30 text-fg-4"),children:[c.jsx("span",{className:de("h-1.5 w-1.5 rounded-full",k.running?"bg-emerald-500":"bg-fg-5")}),k.running?"运行中":"已停止"]})]}),c.jsxs("dl",{className:"mt-3 space-y-1 font-mono text-xs text-fg-4",children:[c.jsxs("div",{className:"flex gap-2",children:[c.jsx("dt",{className:"shrink-0 text-fg-5",children:"Git"}),c.jsx("dd",{className:"min-w-0 truncate",children:k.gitUrl})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx("dt",{className:"shrink-0 text-fg-5",children:"路径"}),c.jsxs("dd",{className:"flex min-w-0 items-center gap-1.5",children:[c.jsx("span",{className:"truncate",children:k.localPath}),c.jsx("button",{type:"button",onClick:()=>void navigator.clipboard.writeText(k.localPath),title:"复制路径",className:"shrink-0 rounded p-0.5 text-fg-5 transition-colors hover:text-fg-3",children:c.jsx(mc,{className:"h-3 w-3"})})]})]}),k.running&&k.port&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("dt",{className:"shrink-0 text-fg-5",children:"直连"}),c.jsxs("dd",{className:"flex min-w-0 items-center gap-1.5",children:[c.jsxs("a",{href:`http://127.0.0.1:${k.port}`,target:"_blank",rel:"noopener noreferrer",className:"truncate text-blue-500 hover:underline",children:["127.0.0.1:",k.port]}),c.jsx("button",{type:"button",onClick:()=>void navigator.clipboard.writeText(`http://127.0.0.1:${k.port}`),title:"复制链接",className:"shrink-0 rounded p-0.5 text-fg-5 transition-colors hover:text-fg-3",children:c.jsx(mc,{className:"h-3 w-3"})})]})]})]}),c.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[c.jsxs("button",{type:"button",onClick:()=>A({id:k.id,name:k.name}),className:"flex h-8 shrink-0 items-center justify-center gap-1.5 rounded-md border border-line px-2.5 text-xs font-medium text-fg-4 transition-colors hover:bg-elevated hover:text-fg-2",children:[c.jsx(RE,{className:"h-3 w-3"}),"配置"]}),c.jsx("button",{type:"button",onClick:()=>void M(k.id),disabled:b===k.id,className:"flex h-8 shrink-0 items-center justify-center gap-1.5 rounded-md border border-blue-500/30 px-2.5 text-xs font-medium text-blue-600 transition-colors hover:bg-blue-500/10 disabled:opacity-50",children:b===k.id?c.jsx("span",{className:"inline-block h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-t-transparent"}):c.jsxs(c.Fragment,{children:[c.jsx(bv,{className:"h-3 w-3"}),"拉取"]})}),c.jsx("button",{type:"button",onClick:()=>void v(k.id,k.running),disabled:h===k.id,className:de("flex h-8 flex-1 items-center justify-center gap-1.5 rounded-md border text-xs font-medium transition-colors disabled:opacity-50",k.running?"border-amber-500/30 text-amber-600 hover:bg-amber-500/10":"border-emerald-500/30 text-emerald-600 hover:bg-emerald-500/10"),children:h===k.id?c.jsx("span",{className:"inline-block h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-t-transparent"}):k.running?c.jsxs(c.Fragment,{children:[c.jsx(ME,{className:"h-3 w-3 fill-current"}),"停止"]}):c.jsxs(c.Fragment,{children:[c.jsx(Bc,{className:"h-3 w-3 fill-current"}),"启动"]})}),f===k.id?c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",onClick:()=>{s(k.id),m(null)},className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-red-500/30 text-red-500 transition-colors hover:bg-red-500/10",children:c.jsx(Sa,{className:"h-3.5 w-3.5"})}),c.jsx("button",{type:"button",onClick:()=>m(null),className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-line text-fg-4 transition-colors hover:bg-elevated",children:c.jsx(Tt,{className:"h-3.5 w-3.5"})})]}):c.jsx("button",{type:"button",onClick:()=>m(k.id),className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-line text-fg-5 transition-colors hover:bg-red-500/10 hover:text-red-500",children:c.jsx(ji,{className:"h-3.5 w-3.5"})})]})]},k.id)})})}),c.jsxs("p",{className:"mt-3 text-xs text-fg-5",children:[e.length," 个仓库"]})]}),o&&c.jsx(oC,{onClose:()=>d(!1)}),S&&c.jsx(uC,{repoId:S.id,repoName:S.name,onClose:()=>A(null)})]})}const dC=new Set(["tool","tool-use","tool_use","tool-call","tool_call","tool-result","tool_result"]),fC=new Set(["thinking","reasoning","reason"]),mC=new Set(["text","output_text","message"]);function Sh(e){var a;const t=((a=e.type)==null?void 0:a.toLowerCase())??"";return dC.has(t)||e.toolName!=null||e.tool!=null?"tool":fC.has(t)?"thinking":mC.has(t)||e.content!=null||e.text!=null?"text":"other"}function xc(e){return e.content??e.text??""}function XE(e){return e.toolName??e.tool??"tool"}function Pc(e){var t;return e.input??((t=e.state)==null?void 0:t.input)}function vh(e){var t;return e.output??((t=e.state)==null?void 0:t.output)}function Ah(e){var a,s,l;const t=(s=(a=e.state)==null?void 0:a.status)==null?void 0:s.toLowerCase();return t==="completed"||t==="done"||t==="success"?"completed":t==="error"||t==="failed"||((l=e.state)==null?void 0:l.error)!=null?"error":t==="pending"||t==="queued"?"pending":t==="running"||t==="in_progress"?"running":vh(e)!=null?"completed":"running"}function ox(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Bi(e){const t=e==null?void 0:e.toLowerCase();return t==="in_progress"||t==="in-progress"||t==="active"?"in_progress":t==="completed"||t==="done"||t==="complete"?"completed":t==="cancelled"||t==="canceled"?"cancelled":"pending"}function hC(e){return e.filter(t=>Bi(t.status)==="completed").length}function ho(e){const t=XE(e).toLowerCase();return t==="question"||t==="mcp_question"}function pC(e){const t=Pc(e);if(!t||typeof t!="object")return null;const a=t;return Array.isArray(a.questions)?a.questions:null}function Ec(e){if(!ho(e))return!1;const t=Ah(e);return t==="pending"||t==="running"}const gC=/\bses_[a-zA-Z0-9]+/;function bC(e){var l;const t=Pc(e);if(t&&typeof t=="object"){const o=t;if(typeof o.task_id=="string"&&o.task_id.startsWith("ses_"))return o.task_id}const a=(l=e.state)==null?void 0:l.metadata;if(a){const o=a.session_id??a.sessionId;if(typeof o=="string"&&o.startsWith("ses_"))return o}const s=vh(e);if(typeof s=="string"){const o=gC.exec(s);if(o)return o[0]}if(s&&typeof s=="object"){const o=s,d=o.session_id??o.sessionId??o.task_id;if(typeof d=="string"&&d.startsWith("ses_"))return d}return null}let xC=0;const Yt=zs(e=>({toasts:[],addToast:(t,a="info",s,l)=>{const o=(l==null?void 0:l.id)??`toast-${++xC}-${Date.now()}`;e(d=>d.toasts.some(f=>f.id===o)?d:{toasts:[...d.toasts,{id:o,message:t,variant:a,sessionId:s,persistent:l==null?void 0:l.persistent}]}),l!=null&&l.persistent||setTimeout(()=>{e(d=>({toasts:d.toasts.filter(f=>f.id!==o)}))},4e3)},removeToast:t=>{e(a=>({toasts:a.toasts.filter(s=>s.id!==t)}))}}));function ZE(e){return`question-${e}`}function um(e,t){const a=t.find(l=>l.id===e),s=(a==null?void 0:a.title)||e.slice(-8);Yt.getState().addToast(`${s} — 等待回复`,"warning",e,{id:ZE(e),persistent:!0})}function EC(e){var t;for(const a of e)if((t=a.parts)!=null&&t.some(s=>ho(s)&&Ec(s)))return!0;return!1}const po=[],yc=[],ux=[],Is={};function cx(e){return e.id??e.callID}function ra(){return qe.getState().activeRepoId}const Le=zs((e,t)=>({sessions:[],activeSessionId:null,messages:{},todos:{},sessionStatuses:{},errorReasons:{},queuedMessageIds:{},sessionLinks:{},allSessionLinks:{},loadingSessions:!1,loadError:null,sendError:null,loadSessions:async()=>{const a=ra();if(!a){e({sessions:[],loadingSessions:!1});return}e({loadingSessions:!0,loadError:null});try{const[s,l]=await Promise.all([d3(a),Jb(a).catch(()=>null)]),o={sessions:s,loadingSessions:!1};l&&(o.allSessionLinks=l),e(o)}catch(s){e({loadingSessions:!1,loadError:s instanceof Error?s.message:"Failed to load sessions"})}},createSession:async(a,s,l,o,d,f)=>{const m=ra();if(!m)return null;e({sendError:null});try{const h=await f3(m,a,s,l,o,d,f);return e(x=>({sessions:[h,...x.sessions.filter(b=>b.id!==h.id)],activeSessionId:h.id,messages:{...x.messages,[h.id]:[]}})),t().setSessionStatus(h.id,"busy"),h}catch(h){return e({sendError:h instanceof Error?h.message:"Failed to create session"}),null}},setActiveSession:async a=>{ra()&&(e({activeSessionId:a,sendError:null}),await t().refreshSessionData(a))},refreshSessionData:async a=>{const s=ra();if(!s)return;const[l,o,d,f,m]=await Promise.allSettled([y3(s,a),T3(s,a),FE(s,a),m3(s,a),Wb(s,a)]);e(h=>{const x={};if(l.status==="fulfilled"&&(x.messages={...h.messages,[a]:l.value}),o.status==="fulfilled"&&(x.todos={...h.todos,[a]:o.value}),d.status==="fulfilled"&&(x.sessionStatuses={...h.sessionStatuses,[a]:d.value.type}),f.status==="fulfilled"){const b=f.value;x.sessions=h.sessions.map(y=>y.id===a?{...y,...b}:y)}return m.status==="fulfilled"&&(x.sessionLinks={...h.sessionLinks,[a]:m.value}),x}),l.status==="fulfilled"&&EC(l.value)&&um(a,t().sessions)},refreshSessionLinks:async a=>{const s=ra();if(s)try{const[l,o]=await Promise.all([Wb(s,a),Jb(s).catch(()=>null)]);e(d=>{const f={sessionLinks:{...d.sessionLinks,[a]:l}};return o&&(f.allSessionLinks=o),f})}catch{}},addLink:async(a,s,l)=>{const o=ra();if(!o)return!1;try{return await _3(o,a,s,l),await t().refreshSessionLinks(a),!0}catch{return!1}},removeLink:async(a,s,l)=>{const o=ra();if(!o)return!1;try{return await N3(o,a,s,l),await t().refreshSessionLinks(a),!0}catch{return!1}},deleteSession:async a=>{const s=ra();if(s)try{await h3(s,a)}catch{}delete Is[a],e(l=>{const{[a]:o,...d}=l.messages,{[a]:f,...m}=l.todos,{[a]:h,...x}=l.sessionStatuses,{[a]:b,...y}=l.errorReasons,{[a]:T,...N}=l.queuedMessageIds,{[a]:S,...A}=l.sessionLinks,{[a]:v,...M}=l.allSessionLinks;return{sessions:l.sessions.filter(k=>k.id!==a),messages:d,todos:m,sessionStatuses:x,errorReasons:y,queuedMessageIds:N,sessionLinks:A,allSessionLinks:M,activeSessionId:l.activeSessionId===a?null:l.activeSessionId}})},sendMessage:async(a,s)=>{const l=ra(),o=t().activeSessionId;if(!l||!o)return;const d=t().sessions.find(m=>m.id===o),f=t().sessionStatuses[o]==="busy";e({sendError:null}),f||t().setSessionStatus(o,"busy");try{await p3(l,o,a,d==null?void 0:d.agent,s),f&&(Is[o]=(Is[o]||0)+1)}catch(m){e({sendError:m instanceof Error?m.message:"Failed to send message"}),f||t().setSessionStatus(o,"idle")}},replyQuestion:async a=>{const s=ra(),l=t().activeSessionId;if(!(!s||!l))try{await b3(s,l,a)}catch(o){e({sendError:o instanceof Error?o.message:"Failed to reply to question"})}},rejectQuestion:async()=>{const a=ra(),s=t().activeSessionId;if(!(!a||!s))try{await x3(a,s)}catch{}},abortSession:async()=>{const a=ra(),s=t().activeSessionId;if(!(!a||!s)){try{await g3(a,s)}catch{}t().setSessionStatus(s,"idle")}},clearSessions:()=>{for(const a of Object.keys(Is))delete Is[a];e({sessions:[],activeSessionId:null,messages:{},todos:{},sessionStatuses:{},errorReasons:{},queuedMessageIds:{},sessionLinks:{},allSessionLinks:{},loadError:null,sendError:null})},updateMessage:(a,s)=>{var l;e(o=>{const d=o.messages[a]??[],f=d.findIndex(x=>x.id===s.id);let m,h=o.queuedMessageIds;if(f>=0){const x={...d[f],...s};(!s.parts||s.parts.length===0)&&d[f].parts&&(x.parts=d[f].parts),m=[...d],m[f]=x}else{m=[...d,s];const x=Is[a]||0;if(s.role==="user"&&x>0){const b=[...h[a]??[]];b.push(s.id),h={...h,[a]:b},Is[a]=x-1}else if(s.role==="assistant"){const b=h[a];b&&b.length>0&&(h={...h,[a]:b.slice(1)})}}return{messages:{...o.messages,[a]:m},queuedMessageIds:h}}),(l=s.parts)!=null&&l.some(o=>ho(o)&&Ec(o))&&um(a,t().sessions)},updateMessagePart:(a,s,l)=>{e(o=>{const d=o.messages[a]??[],f=d.findIndex(N=>N.id===s),m=f>=0?d[f]:{id:s,role:"assistant"},h=m.parts?[...m.parts]:[],x=cx(l),b=x!=null?h.findIndex(N=>cx(N)===x):-1;b>=0?h[b]={...h[b],...l}:h.push(l);const y={...m,parts:h},T=f>=0?[...d]:[...d,y];return f>=0&&(T[f]=y),{messages:{...o.messages,[a]:T}}}),ho(l)&&Ec(l)&&um(a,t().sessions)},appendMessagePartDelta:(a,s,l,o)=>{e(d=>{const f=d.messages[a]??[],m=f.findIndex(N=>N.id===s),h=m>=0?f[m]:{id:s,role:"assistant"},x=h.parts?[...h.parts]:[],b=x.findIndex(N=>N.id===l);if(b>=0){const N=x[b],S=xc(N)+o;x[b]=N.content!=null?{...N,content:S}:{...N,text:S}}else x.push({id:l,type:"text",text:o});const y={...h,parts:x},T=m>=0?[...f]:[...f,y];return m>=0&&(T[m]=y),{messages:{...d.messages,[a]:T}}})},updateTodos:(a,s)=>{e(l=>({todos:{...l.todos,[a]:s}}))},updateSessionInfo:a=>{e(s=>s.sessions.some(o=>o.id===a.id)?{sessions:s.sessions.map(o=>o.id===a.id?{...o,...a}:o)}:{sessions:[a,...s.sessions]})},setSessionStatus:(a,s,l)=>{const o=t().sessionStatuses[a];if(o!==s){const d=t().sessions.find(m=>m.id===a),f=(d==null?void 0:d.title)||a.slice(-8);if(s==="idle"&&o!==void 0&&o!=="idle")Yt.getState().removeToast(ZE(a)),Yt.getState().addToast(`${f} — 完成`,"success",a);else if(s==="busy"&&(o===void 0||o==="idle"))Yt.getState().addToast(`${f} — 开始运行`,"info",a);else if(s==="retry")Yt.getState().addToast(`${f} — 进入重试`,"warning",a);else if(s==="error"){const m=l?`${f} — 错误: ${l}`:`${f} — 发生错误`;Yt.getState().addToast(m,"error",a)}}e(d=>{const f=l?{...d.errorReasons,[a]:l}:s!=="error"?(()=>{const{[a]:m,...h}=d.errorReasons;return h})():d.errorReasons;return{sessionStatuses:{...d.sessionStatuses,[a]:s},errorReasons:f}})},bulkSetStatuses:a=>{e({sessionStatuses:{...t().sessionStatuses,...a}})},renameSession:async(a,s)=>{const l=ra();if(l){e(o=>({sessions:o.sessions.map(d=>d.id===a?{...d,title:s}:d)}));try{await z3(l,a,s)}catch{await t().loadSessions()}}}})),Ue=zs((e,t)=>({issues:[],tags:[],tagFilterMode:new Map,milestones:[],selectedMilestoneId:null,loaded:!1,syncing:!1,selectedIssueId:null,previewIssueId:null,matchingParentId:null,matchingCandidateId:null,pendingDraft:null,clearIssues:()=>e({issues:[],tags:[],tagFilterMode:new Map,milestones:[],selectedMilestoneId:null,loaded:!1,selectedIssueId:null,previewIssueId:null,matchingParentId:null,matchingCandidateId:null,pendingDraft:null}),setSelectedIssue:a=>e({selectedIssueId:a}),setPreviewIssue:a=>e({previewIssueId:a}),setPendingDraft:a=>e({pendingDraft:a}),enterMatchMode:a=>e({matchingParentId:a,matchingCandidateId:null,previewIssueId:null}),exitMatchMode:()=>{const a=t().matchingParentId;e({matchingParentId:null,matchingCandidateId:null,previewIssueId:a})},setMatchCandidate:a=>e({matchingCandidateId:a}),linkChild:async(a,s)=>{var o;const l=qe.getState().activeRepoId;if(!l)return!1;try{await M3(l,a,s);const d=(o=t().issues.find(f=>f.number===a))==null?void 0:o.id;return d&&e(f=>({issues:f.issues.map(m=>m.number===s?{...m,parentId:d}:m),matchingCandidateId:null})),!0}catch{return!1}},updateIssueState:async(a,s)=>{const l=qe.getState().activeRepoId;if(!l)return!1;try{const o=await GE(l,a,{state:s});return e(d=>({issues:d.issues.map(f=>f.number===a?{...f,state:o.state}:f)})),!0}catch{return!1}},loadIssues:async()=>{const a=qe.getState().activeRepoId;if(!a){e({issues:[],loaded:!0});return}try{const s=await ax(a,"all");e({issues:s,loaded:!0})}catch{e({loaded:!0})}},syncIssues:async()=>{const a=qe.getState().activeRepoId;if(a){e({syncing:!0});try{await O3(a);const[s,l,o]=await Promise.all([ax(a,"all"),tx(a),nx(a)]);e({issues:s,tags:l,milestones:o,syncing:!1})}catch(s){e({syncing:!1});let l="同步 Issue 失败";if(s instanceof Hs)try{const o=JSON.parse(s.message);o.error&&(l=o.error)}catch{s.message&&(l=s.message)}Yt.getState().addToast(l,"error")}}},createIssue:async(a,s)=>{const l=qe.getState().activeRepoId;if(!l)return null;try{const o=await I3(l,a,s);return e(d=>({issues:[o,...d.issues]})),o}catch{return null}},loadTags:async()=>{const a=qe.getState().activeRepoId;if(!a){e({tags:[]});return}try{const s=await tx(a);e({tags:s})}catch{}},cycleTagFilter:a=>{e(s=>{const l=new Map(s.tagFilterMode),o=l.get(a);return o?o==="include"?l.set(a,"exclude"):l.delete(a):l.set(a,"include"),{tagFilterMode:l}})},clearTagFilter:()=>e({tagFilterMode:new Map}),loadMilestones:async()=>{const a=qe.getState().activeRepoId;if(!a){e({milestones:[]});return}try{const s=await nx(a);e({milestones:s})}catch{}},setMilestoneFilter:a=>e({selectedMilestoneId:a})}));function dx(e){const t=[],a=String(e||"");let s=a.indexOf(","),l=0,o=!1;for(;!o;){s===-1&&(s=a.length,o=!0);const d=a.slice(l,s).trim();(d||!o)&&t.push(d),l=s+1,s=a.indexOf(",",l)}return t}function WE(e,t){const a={};return(e[e.length-1]===""?[...e,""]:e).join((a.padRight?" ":"")+","+(a.padLeft===!1?"":" ")).trim()}const yC=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,TC=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,_C={};function fx(e,t){return(_C.jsx?TC:yC).test(e)}const NC=/[ \t\n\f\r]/g;function SC(e){return typeof e=="object"?e.type==="text"?mx(e.value):!1:mx(e)}function mx(e){return e.replace(NC,"")===""}class No{constructor(t,a,s){this.normal=a,this.property=t,s&&(this.space=s)}}No.prototype.normal={};No.prototype.property={};No.prototype.space=void 0;function JE(e,t){const a={},s={};for(const l of e)Object.assign(a,l.property),Object.assign(s,l.normal);return new No(a,s,t)}function go(e){return e.toLowerCase()}class Kn{constructor(t,a){this.attribute=a,this.property=t}}Kn.prototype.attribute="";Kn.prototype.booleanish=!1;Kn.prototype.boolean=!1;Kn.prototype.commaOrSpaceSeparated=!1;Kn.prototype.commaSeparated=!1;Kn.prototype.defined=!1;Kn.prototype.mustUseProperty=!1;Kn.prototype.number=!1;Kn.prototype.overloadedBoolean=!1;Kn.prototype.property="";Kn.prototype.spaceSeparated=!1;Kn.prototype.space=void 0;let vC=0;const Ke=qs(),sn=qs(),qm=qs(),ye=qs(),kt=qs(),Bs=qs(),sa=qs();function qs(){return 2**++vC}const Ym=Object.freeze(Object.defineProperty({__proto__:null,boolean:Ke,booleanish:sn,commaOrSpaceSeparated:sa,commaSeparated:Bs,number:ye,overloadedBoolean:qm,spaceSeparated:kt},Symbol.toStringTag,{value:"Module"})),cm=Object.keys(Ym);class Ch extends Kn{constructor(t,a,s,l){let o=-1;if(super(t,a),hx(this,"space",l),typeof s=="number")for(;++o<cm.length;){const d=cm[o];hx(this,cm[o],(s&Ym[d])===Ym[d])}}}Ch.prototype.defined=!0;function hx(e,t,a){a&&(e[t]=a)}function $i(e){const t={},a={};for(const[s,l]of Object.entries(e.properties)){const o=new Ch(s,e.transform(e.attributes||{},s),l,e.space);e.mustUseProperty&&e.mustUseProperty.includes(s)&&(o.mustUseProperty=!0),t[s]=o,a[go(s)]=s,a[go(o.attribute)]=s}return new No(t,a,e.space)}const ey=$i({properties:{ariaActiveDescendant:null,ariaAtomic:sn,ariaAutoComplete:null,ariaBusy:sn,ariaChecked:sn,ariaColCount:ye,ariaColIndex:ye,ariaColSpan:ye,ariaControls:kt,ariaCurrent:null,ariaDescribedBy:kt,ariaDetails:null,ariaDisabled:sn,ariaDropEffect:kt,ariaErrorMessage:null,ariaExpanded:sn,ariaFlowTo:kt,ariaGrabbed:sn,ariaHasPopup:null,ariaHidden:sn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:kt,ariaLevel:ye,ariaLive:null,ariaModal:sn,ariaMultiLine:sn,ariaMultiSelectable:sn,ariaOrientation:null,ariaOwns:kt,ariaPlaceholder:null,ariaPosInSet:ye,ariaPressed:sn,ariaReadOnly:sn,ariaRelevant:null,ariaRequired:sn,ariaRoleDescription:kt,ariaRowCount:ye,ariaRowIndex:ye,ariaRowSpan:ye,ariaSelected:sn,ariaSetSize:ye,ariaSort:null,ariaValueMax:ye,ariaValueMin:ye,ariaValueNow:ye,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function ty(e,t){return t in e?e[t]:t}function ny(e,t){return ty(e,t.toLowerCase())}const AC=$i({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Bs,acceptCharset:kt,accessKey:kt,action:null,allow:null,allowFullScreen:Ke,allowPaymentRequest:Ke,allowUserMedia:Ke,alpha:Ke,alt:null,as:null,async:Ke,autoCapitalize:null,autoComplete:kt,autoFocus:Ke,autoPlay:Ke,blocking:kt,capture:null,charSet:null,checked:Ke,cite:null,className:kt,closedBy:null,colorSpace:null,cols:ye,colSpan:ye,command:null,commandFor:null,content:null,contentEditable:sn,controls:Ke,controlsList:kt,coords:ye|Bs,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Ke,defer:Ke,dir:null,dirName:null,disabled:Ke,download:qm,draggable:sn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Ke,formTarget:null,headers:kt,height:ye,hidden:qm,high:ye,href:null,hrefLang:null,htmlFor:kt,httpEquiv:kt,id:null,imageSizes:null,imageSrcSet:null,inert:Ke,inputMode:null,integrity:null,is:null,isMap:Ke,itemId:null,itemProp:kt,itemRef:kt,itemScope:Ke,itemType:kt,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Ke,low:ye,manifest:null,max:null,maxLength:ye,media:null,method:null,min:null,minLength:ye,multiple:Ke,muted:Ke,name:null,nonce:null,noModule:Ke,noValidate:Ke,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Ke,optimum:ye,pattern:null,ping:kt,placeholder:null,playsInline:Ke,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Ke,referrerPolicy:null,rel:kt,required:Ke,reversed:Ke,rows:ye,rowSpan:ye,sandbox:kt,scope:null,scoped:Ke,seamless:Ke,selected:Ke,shadowRootClonable:Ke,shadowRootCustomElementRegistry:Ke,shadowRootDelegatesFocus:Ke,shadowRootMode:null,shadowRootSerializable:Ke,shape:null,size:ye,sizes:null,slot:null,span:ye,spellCheck:sn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:ye,step:null,style:null,tabIndex:ye,target:null,title:null,translate:null,type:null,typeMustMatch:Ke,useMap:null,value:sn,width:ye,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:kt,axis:null,background:null,bgColor:null,border:ye,borderColor:null,bottomMargin:ye,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Ke,declare:Ke,event:null,face:null,frame:null,frameBorder:null,hSpace:ye,leftMargin:ye,link:null,longDesc:null,lowSrc:null,marginHeight:ye,marginWidth:ye,noResize:Ke,noHref:Ke,noShade:Ke,noWrap:Ke,object:null,profile:null,prompt:null,rev:null,rightMargin:ye,rules:null,scheme:null,scrolling:sn,standby:null,summary:null,text:null,topMargin:ye,valueType:null,version:null,vAlign:null,vLink:null,vSpace:ye,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Ke,disablePictureInPicture:Ke,disableRemotePlayback:Ke,exportParts:Bs,part:kt,prefix:null,property:null,results:ye,security:null,unselectable:null},space:"html",transform:ny}),CC=$i({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:sa,accentHeight:ye,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:ye,amplitude:ye,arabicForm:null,ascent:ye,attributeName:null,attributeType:null,azimuth:ye,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:ye,by:null,calcMode:null,capHeight:ye,className:kt,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:ye,diffuseConstant:ye,direction:null,display:null,dur:null,divisor:ye,dominantBaseline:null,download:Ke,dx:null,dy:null,edgeMode:null,editable:null,elevation:ye,enableBackground:null,end:null,event:null,exponent:ye,externalResourcesRequired:null,fill:null,fillOpacity:ye,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Bs,g2:Bs,glyphName:Bs,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:ye,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:ye,horizOriginX:ye,horizOriginY:ye,id:null,ideographic:ye,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:ye,k:ye,k1:ye,k2:ye,k3:ye,k4:ye,kernelMatrix:sa,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:ye,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:ye,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:ye,overlineThickness:ye,paintOrder:null,panose1:null,path:null,pathLength:ye,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:kt,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:ye,pointsAtY:ye,pointsAtZ:ye,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:sa,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:sa,rev:sa,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:sa,requiredFeatures:sa,requiredFonts:sa,requiredFormats:sa,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:ye,specularExponent:ye,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:ye,strikethroughThickness:ye,string:null,stroke:null,strokeDashArray:sa,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:ye,strokeOpacity:ye,strokeWidth:null,style:null,surfaceScale:ye,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:sa,tabIndex:ye,tableValues:null,target:null,targetX:ye,targetY:ye,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:sa,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:ye,underlineThickness:ye,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:ye,values:null,vAlphabetic:ye,vMathematical:ye,vectorEffect:null,vHanging:ye,vIdeographic:ye,version:null,vertAdvY:ye,vertOriginX:ye,vertOriginY:ye,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:ye,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:ty}),ay=$i({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),ry=$i({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:ny}),sy=$i({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),wC={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},kC=/[A-Z]/g,px=/-[a-z]/g,RC=/^data[-\w.:]+$/i;function Uc(e,t){const a=go(t);let s=t,l=Kn;if(a in e.normal)return e.property[e.normal[a]];if(a.length>4&&a.slice(0,4)==="data"&&RC.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(px,IC);s="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!px.test(o)){let d=o.replace(kC,OC);d.charAt(0)!=="-"&&(d="-"+d),t="data"+d}}l=Ch}return new l(s,t)}function OC(e){return"-"+e.toLowerCase()}function IC(e){return e.charAt(1).toUpperCase()}const So=JE([ey,AC,ay,ry,sy],"html"),us=JE([ey,CC,ay,ry,sy],"svg");function gx(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function iy(e){return e.join(" ").trim()}var Ri={},dm,bx;function MC(){if(bx)return dm;bx=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,a=/^\s*/,s=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,l=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,d=/^[;\s]*/,f=/^\s+|\s+$/g,m=`
|
|
403
403
|
`,h="/",x="*",b="",y="comment",T="declaration";function N(A,v){if(typeof A!="string")throw new TypeError("First argument must be a string");if(!A)return[];v=v||{};var M=1,k=1;function q(Z){var ee=Z.match(t);ee&&(M+=ee.length);var V=Z.lastIndexOf(m);k=~V?Z.length-V:k+Z.length}function Q(){var Z={line:M,column:k};return function(ee){return ee.position=new D(Z),se(),ee}}function D(Z){this.start=Z,this.end={line:M,column:k},this.source=v.source}D.prototype.content=A;function L(Z){var ee=new Error(v.source+":"+M+":"+k+": "+Z);if(ee.reason=Z,ee.filename=v.source,ee.line=M,ee.column=k,ee.source=A,!v.silent)throw ee}function K(Z){var ee=Z.exec(A);if(ee){var V=ee[0];return q(V),A=A.slice(V.length),ee}}function se(){K(a)}function B(Z){var ee;for(Z=Z||[];ee=U();)ee!==!1&&Z.push(ee);return Z}function U(){var Z=Q();if(!(h!=A.charAt(0)||x!=A.charAt(1))){for(var ee=2;b!=A.charAt(ee)&&(x!=A.charAt(ee)||h!=A.charAt(ee+1));)++ee;if(ee+=2,b===A.charAt(ee-1))return L("End of comment missing");var V=A.slice(2,ee-2);return k+=2,q(V),A=A.slice(ee),k+=2,Z({type:y,comment:V})}}function te(){var Z=Q(),ee=K(s);if(ee){if(U(),!K(l))return L("property missing ':'");var V=K(o),$=Z({type:T,property:S(ee[0].replace(e,b)),value:V?S(V[0].replace(e,b)):b});return K(d),$}}function ie(){var Z=[];B(Z);for(var ee;ee=te();)ee!==!1&&(Z.push(ee),B(Z));return Z}return se(),ie()}function S(A){return A?A.replace(f,b):b}return dm=N,dm}var xx;function DC(){if(xx)return Ri;xx=1;var e=Ri&&Ri.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ri,"__esModule",{value:!0}),Ri.default=a;const t=e(MC());function a(s,l){let o=null;if(!s||typeof s!="string")return o;const d=(0,t.default)(s),f=typeof l=="function";return d.forEach(m=>{if(m.type!=="declaration")return;const{property:h,value:x}=m;f?l(h,x,m):x&&(o=o||{},o[h]=x)}),o}return Ri}var Gl={},Ex;function LC(){if(Ex)return Gl;Ex=1,Object.defineProperty(Gl,"__esModule",{value:!0}),Gl.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,a=/^[^-]+$/,s=/^-(webkit|moz|ms|o|khtml)-/,l=/^-(ms)-/,o=function(h){return!h||a.test(h)||e.test(h)},d=function(h,x){return x.toUpperCase()},f=function(h,x){return"".concat(x,"-")},m=function(h,x){return x===void 0&&(x={}),o(h)?h:(h=h.toLowerCase(),x.reactCompat?h=h.replace(l,f):h=h.replace(s,f),h.replace(t,d))};return Gl.camelCase=m,Gl}var Kl,yx;function jC(){if(yx)return Kl;yx=1;var e=Kl&&Kl.__importDefault||function(l){return l&&l.__esModule?l:{default:l}},t=e(DC()),a=LC();function s(l,o){var d={};return!l||typeof l!="string"||(0,t.default)(l,function(f,m){f&&m&&(d[(0,a.camelCase)(f,o)]=m)}),d}return s.default=s,Kl=s,Kl}var BC=jC();const PC=Rc(BC),Hc=ly("end"),Qa=ly("start");function ly(e){return t;function t(a){const s=a&&a.position&&a.position[e]||{};if(typeof s.line=="number"&&s.line>0&&typeof s.column=="number"&&s.column>0)return{line:s.line,column:s.column,offset:typeof s.offset=="number"&&s.offset>-1?s.offset:void 0}}}function UC(e){const t=Qa(e),a=Hc(e);if(t&&a)return{start:t,end:a}}function to(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Tx(e.position):"start"in e||"end"in e?Tx(e):"line"in e||"column"in e?$m(e):""}function $m(e){return _x(e&&e.line)+":"+_x(e&&e.column)}function Tx(e){return $m(e&&e.start)+"-"+$m(e&&e.end)}function _x(e){return e&&typeof e=="number"?e:1}class vn extends Error{constructor(t,a,s){super(),typeof a=="string"&&(s=a,a=void 0);let l="",o={},d=!1;if(a&&("line"in a&&"column"in a?o={place:a}:"start"in a&&"end"in a?o={place:a}:"type"in a?o={ancestors:[a],place:a.position}:o={...a}),typeof t=="string"?l=t:!o.cause&&t&&(d=!0,l=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof s=="string"){const m=s.indexOf(":");m===-1?o.ruleId=s:(o.source=s.slice(0,m),o.ruleId=s.slice(m+1))}if(!o.place&&o.ancestors&&o.ancestors){const m=o.ancestors[o.ancestors.length-1];m&&(o.place=m.position)}const f=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=l,this.line=f?f.line:void 0,this.name=to(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=d&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}vn.prototype.file="";vn.prototype.name="";vn.prototype.reason="";vn.prototype.message="";vn.prototype.stack="";vn.prototype.column=void 0;vn.prototype.line=void 0;vn.prototype.ancestors=void 0;vn.prototype.cause=void 0;vn.prototype.fatal=void 0;vn.prototype.place=void 0;vn.prototype.ruleId=void 0;vn.prototype.source=void 0;const wh={}.hasOwnProperty,HC=new Map,FC=/[A-Z]/g,zC=new Set(["table","tbody","thead","tfoot","tr"]),qC=new Set(["td","th"]),oy="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function YC(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const a=t.filePath||void 0;let s;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");s=WC(a,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");s=ZC(a,t.jsx,t.jsxs)}const l={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:s,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:a,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?us:So,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=uy(l,e,void 0);return o&&typeof o!="string"?o:l.create(e,l.Fragment,{children:o||void 0},void 0)}function uy(e,t,a){if(t.type==="element")return $C(e,t,a);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return GC(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return VC(e,t,a);if(t.type==="mdxjsEsm")return KC(e,t);if(t.type==="root")return QC(e,t,a);if(t.type==="text")return XC(e,t)}function $C(e,t,a){const s=e.schema;let l=s;t.tagName.toLowerCase()==="svg"&&s.space==="html"&&(l=us,e.schema=l),e.ancestors.push(t);const o=dy(e,t.tagName,!1),d=JC(e,t);let f=Rh(e,t);return zC.has(t.tagName)&&(f=f.filter(function(m){return typeof m=="string"?!SC(m):!0})),cy(e,d,o,t),kh(d,f),e.ancestors.pop(),e.schema=s,e.create(t,o,d,a)}function GC(e,t){if(t.data&&t.data.estree&&e.evaluater){const s=t.data.estree.body[0];return s.type,e.evaluater.evaluateExpression(s.expression)}bo(e,t.position)}function KC(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);bo(e,t.position)}function VC(e,t,a){const s=e.schema;let l=s;t.name==="svg"&&s.space==="html"&&(l=us,e.schema=l),e.ancestors.push(t);const o=t.name===null?e.Fragment:dy(e,t.name,!0),d=ew(e,t),f=Rh(e,t);return cy(e,d,o,t),kh(d,f),e.ancestors.pop(),e.schema=s,e.create(t,o,d,a)}function QC(e,t,a){const s={};return kh(s,Rh(e,t)),e.create(t,e.Fragment,s,a)}function XC(e,t){return t.value}function cy(e,t,a,s){typeof a!="string"&&a!==e.Fragment&&e.passNode&&(t.node=s)}function kh(e,t){if(t.length>0){const a=t.length>1?t:t[0];a&&(e.children=a)}}function ZC(e,t,a){return s;function s(l,o,d,f){const h=Array.isArray(d.children)?a:t;return f?h(o,d,f):h(o,d)}}function WC(e,t){return a;function a(s,l,o,d){const f=Array.isArray(o.children),m=Qa(s);return t(l,o,d,f,{columnNumber:m?m.column-1:void 0,fileName:e,lineNumber:m?m.line:void 0},void 0)}}function JC(e,t){const a={};let s,l;for(l in t.properties)if(l!=="children"&&wh.call(t.properties,l)){const o=tw(e,l,t.properties[l]);if(o){const[d,f]=o;e.tableCellAlignToStyle&&d==="align"&&typeof f=="string"&&qC.has(t.tagName)?s=f:a[d]=f}}if(s){const o=a.style||(a.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=s}return a}function ew(e,t){const a={};for(const s of t.attributes)if(s.type==="mdxJsxExpressionAttribute")if(s.data&&s.data.estree&&e.evaluater){const o=s.data.estree.body[0];o.type;const d=o.expression;d.type;const f=d.properties[0];f.type,Object.assign(a,e.evaluater.evaluateExpression(f.argument))}else bo(e,t.position);else{const l=s.name;let o;if(s.value&&typeof s.value=="object")if(s.value.data&&s.value.data.estree&&e.evaluater){const f=s.value.data.estree.body[0];f.type,o=e.evaluater.evaluateExpression(f.expression)}else bo(e,t.position);else o=s.value===null?!0:s.value;a[l]=o}return a}function Rh(e,t){const a=[];let s=-1;const l=e.passKeys?new Map:HC;for(;++s<t.children.length;){const o=t.children[s];let d;if(e.passKeys){const m=o.type==="element"?o.tagName:o.type==="mdxJsxFlowElement"||o.type==="mdxJsxTextElement"?o.name:void 0;if(m){const h=l.get(m)||0;d=m+"-"+h,l.set(m,h+1)}}const f=uy(e,o,d);f!==void 0&&a.push(f)}return a}function tw(e,t,a){const s=Uc(e.schema,t);if(!(a==null||typeof a=="number"&&Number.isNaN(a))){if(Array.isArray(a)&&(a=s.commaSeparated?WE(a):iy(a)),s.property==="style"){let l=typeof a=="object"?a:nw(e,String(a));return e.stylePropertyNameCase==="css"&&(l=aw(l)),["style",l]}return[e.elementAttributeNameCase==="react"&&s.space?wC[s.property]||s.property:s.attribute,a]}}function nw(e,t){try{return PC(t,{reactCompat:!0})}catch(a){if(e.ignoreInvalidStyle)return{};const s=a,l=new vn("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:s,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw l.file=e.filePath||void 0,l.url=oy+"#cannot-parse-style-attribute",l}}function dy(e,t,a){let s;if(!a)s={type:"Literal",value:t};else if(t.includes(".")){const l=t.split(".");let o=-1,d;for(;++o<l.length;){const f=fx(l[o])?{type:"Identifier",name:l[o]}:{type:"Literal",value:l[o]};d=d?{type:"MemberExpression",object:d,property:f,computed:!!(o&&f.type==="Literal"),optional:!1}:f}s=d}else s=fx(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(s.type==="Literal"){const l=s.value;return wh.call(e.components,l)?e.components[l]:l}if(e.evaluater)return e.evaluater.evaluateExpression(s);bo(e)}function bo(e,t){const a=new vn("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw a.file=e.filePath||void 0,a.url=oy+"#cannot-handle-mdx-estrees-without-createevaluater",a}function aw(e){const t={};let a;for(a in e)wh.call(e,a)&&(t[rw(a)]=e[a]);return t}function rw(e){let t=e.replace(FC,sw);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function sw(e){return"-"+e.toLowerCase()}const fm={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},iw={};function Oh(e,t){const a=iw,s=typeof a.includeImageAlt=="boolean"?a.includeImageAlt:!0,l=typeof a.includeHtml=="boolean"?a.includeHtml:!0;return fy(e,s,l)}function fy(e,t,a){if(lw(e)){if("value"in e)return e.type==="html"&&!a?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Nx(e.children,t,a)}return Array.isArray(e)?Nx(e,t,a):""}function Nx(e,t,a){const s=[];let l=-1;for(;++l<e.length;)s[l]=fy(e[l],t,a);return s.join("")}function lw(e){return!!(e&&typeof e=="object")}const Sx=document.createElement("i");function Ih(e){const t="&"+e+";";Sx.innerHTML=t;const a=Sx.textContent;return a.charCodeAt(a.length-1)===59&&e!=="semi"||a===t?!1:a}function ia(e,t,a,s){const l=e.length;let o=0,d;if(t<0?t=-t>l?0:l+t:t=t>l?l:t,a=a>0?a:0,s.length<1e4)d=Array.from(s),d.unshift(t,a),e.splice(...d);else for(a&&e.splice(t,a);o<s.length;)d=s.slice(o,o+1e4),d.unshift(t,0),e.splice(...d),o+=1e4,t+=1e4}function Ta(e,t){return e.length>0?(ia(e,e.length,0,t),e):t}const vx={}.hasOwnProperty;function my(e){const t={};let a=-1;for(;++a<e.length;)ow(t,e[a]);return t}function ow(e,t){let a;for(a in t){const l=(vx.call(e,a)?e[a]:void 0)||(e[a]={}),o=t[a];let d;if(o)for(d in o){vx.call(l,d)||(l[d]=[]);const f=o[d];uw(l[d],Array.isArray(f)?f:f?[f]:[])}}}function uw(e,t){let a=-1;const s=[];for(;++a<t.length;)(t[a].add==="after"?e:s).push(t[a]);ia(e,0,0,s)}function hy(e,t){const a=Number.parseInt(e,t);return a<9||a===11||a>13&&a<32||a>126&&a<160||a>55295&&a<57344||a>64975&&a<65008||(a&65535)===65535||(a&65535)===65534||a>1114111?"�":String.fromCodePoint(a)}function Ia(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const In=cs(/[A-Za-z]/),Sn=cs(/[\dA-Za-z]/),cw=cs(/[#-'*+\--9=?A-Z^-~]/);function Tc(e){return e!==null&&(e<32||e===127)}const Gm=cs(/\d/),dw=cs(/[\dA-Fa-f]/),fw=cs(/[!-/:-@[-`{-~]/);function He(e){return e!==null&&e<-2}function Rt(e){return e!==null&&(e<0||e===32)}function rt(e){return e===-2||e===-1||e===32}const Fc=cs(new RegExp("\\p{P}|\\p{S}","u")),Fs=cs(/\s/);function cs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCharCode(a))}}function Gi(e){const t=[];let a=-1,s=0,l=0;for(;++a<e.length;){const o=e.charCodeAt(a);let d="";if(o===37&&Sn(e.charCodeAt(a+1))&&Sn(e.charCodeAt(a+2)))l=2;else if(o<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(o))||(d=String.fromCharCode(o));else if(o>55295&&o<57344){const f=e.charCodeAt(a+1);o<56320&&f>56319&&f<57344?(d=String.fromCharCode(o,f),l=1):d="�"}else d=String.fromCharCode(o);d&&(t.push(e.slice(s,a),encodeURIComponent(d)),s=a+l+1,d=""),l&&(a+=l,l=0)}return t.join("")+e.slice(s)}function ct(e,t,a,s){const l=s?s-1:Number.POSITIVE_INFINITY;let o=0;return d;function d(m){return rt(m)?(e.enter(a),f(m)):t(m)}function f(m){return rt(m)&&o++<l?(e.consume(m),f):(e.exit(a),t(m))}}const mw={tokenize:hw};function hw(e){const t=e.attempt(this.parser.constructs.contentInitial,s,l);let a;return t;function s(f){if(f===null){e.consume(f);return}return e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),ct(e,t,"linePrefix")}function l(f){return e.enter("paragraph"),o(f)}function o(f){const m=e.enter("chunkText",{contentType:"text",previous:a});return a&&(a.next=m),a=m,d(f)}function d(f){if(f===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(f);return}return He(f)?(e.consume(f),e.exit("chunkText"),o):(e.consume(f),d)}}const pw={tokenize:gw},Ax={tokenize:bw};function gw(e){const t=this,a=[];let s=0,l,o,d;return f;function f(k){if(s<a.length){const q=a[s];return t.containerState=q[1],e.attempt(q[0].continuation,m,h)(k)}return h(k)}function m(k){if(s++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,l&&M();const q=t.events.length;let Q=q,D;for(;Q--;)if(t.events[Q][0]==="exit"&&t.events[Q][1].type==="chunkFlow"){D=t.events[Q][1].end;break}v(s);let L=q;for(;L<t.events.length;)t.events[L][1].end={...D},L++;return ia(t.events,Q+1,0,t.events.slice(q)),t.events.length=L,h(k)}return f(k)}function h(k){if(s===a.length){if(!l)return y(k);if(l.currentConstruct&&l.currentConstruct.concrete)return N(k);t.interrupt=!!(l.currentConstruct&&!l._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Ax,x,b)(k)}function x(k){return l&&M(),v(s),y(k)}function b(k){return t.parser.lazy[t.now().line]=s!==a.length,d=t.now().offset,N(k)}function y(k){return t.containerState={},e.attempt(Ax,T,N)(k)}function T(k){return s++,a.push([t.currentConstruct,t.containerState]),y(k)}function N(k){if(k===null){l&&M(),v(0),e.consume(k);return}return l=l||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:l,contentType:"flow",previous:o}),S(k)}function S(k){if(k===null){A(e.exit("chunkFlow"),!0),v(0),e.consume(k);return}return He(k)?(e.consume(k),A(e.exit("chunkFlow")),s=0,t.interrupt=void 0,f):(e.consume(k),S)}function A(k,q){const Q=t.sliceStream(k);if(q&&Q.push(null),k.previous=o,o&&(o.next=k),o=k,l.defineSkip(k.start),l.write(Q),t.parser.lazy[k.start.line]){let D=l.events.length;for(;D--;)if(l.events[D][1].start.offset<d&&(!l.events[D][1].end||l.events[D][1].end.offset>d))return;const L=t.events.length;let K=L,se,B;for(;K--;)if(t.events[K][0]==="exit"&&t.events[K][1].type==="chunkFlow"){if(se){B=t.events[K][1].end;break}se=!0}for(v(s),D=L;D<t.events.length;)t.events[D][1].end={...B},D++;ia(t.events,K+1,0,t.events.slice(L)),t.events.length=D}}function v(k){let q=a.length;for(;q-- >k;){const Q=a[q];t.containerState=Q[1],Q[0].exit.call(t,e)}a.length=k}function M(){l.write([null]),o=void 0,l=void 0,t.containerState._closeFlow=void 0}}function bw(e,t,a){return ct(e,e.attempt(this.parser.constructs.document,t,a),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Pi(e){if(e===null||Rt(e)||Fs(e))return 1;if(Fc(e))return 2}function zc(e,t,a){const s=[];let l=-1;for(;++l<e.length;){const o=e[l].resolveAll;o&&!s.includes(o)&&(t=o(t,a),s.push(o))}return t}const Km={name:"attention",resolveAll:xw,tokenize:Ew};function xw(e,t){let a=-1,s,l,o,d,f,m,h,x;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(s=a;s--;)if(e[s][0]==="exit"&&e[s][1].type==="attentionSequence"&&e[s][1]._open&&t.sliceSerialize(e[s][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[s][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[s][1].end.offset-e[s][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;m=e[s][1].end.offset-e[s][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;const b={...e[s][1].end},y={...e[a][1].start};Cx(b,-m),Cx(y,m),d={type:m>1?"strongSequence":"emphasisSequence",start:b,end:{...e[s][1].end}},f={type:m>1?"strongSequence":"emphasisSequence",start:{...e[a][1].start},end:y},o={type:m>1?"strongText":"emphasisText",start:{...e[s][1].end},end:{...e[a][1].start}},l={type:m>1?"strong":"emphasis",start:{...d.start},end:{...f.end}},e[s][1].end={...d.start},e[a][1].start={...f.end},h=[],e[s][1].end.offset-e[s][1].start.offset&&(h=Ta(h,[["enter",e[s][1],t],["exit",e[s][1],t]])),h=Ta(h,[["enter",l,t],["enter",d,t],["exit",d,t],["enter",o,t]]),h=Ta(h,zc(t.parser.constructs.insideSpan.null,e.slice(s+1,a),t)),h=Ta(h,[["exit",o,t],["enter",f,t],["exit",f,t],["exit",l,t]]),e[a][1].end.offset-e[a][1].start.offset?(x=2,h=Ta(h,[["enter",e[a][1],t],["exit",e[a][1],t]])):x=0,ia(e,s-1,a-s+3,h),a=s+h.length-x-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Ew(e,t){const a=this.parser.constructs.attentionMarkers.null,s=this.previous,l=Pi(s);let o;return d;function d(m){return o=m,e.enter("attentionSequence"),f(m)}function f(m){if(m===o)return e.consume(m),f;const h=e.exit("attentionSequence"),x=Pi(m),b=!x||x===2&&l||a.includes(m),y=!l||l===2&&x||a.includes(s);return h._open=!!(o===42?b:b&&(l||!y)),h._close=!!(o===42?y:y&&(x||!b)),t(m)}}function Cx(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const yw={name:"autolink",tokenize:Tw};function Tw(e,t,a){let s=0;return l;function l(T){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(T),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),o}function o(T){return In(T)?(e.consume(T),d):T===64?a(T):h(T)}function d(T){return T===43||T===45||T===46||Sn(T)?(s=1,f(T)):h(T)}function f(T){return T===58?(e.consume(T),s=0,m):(T===43||T===45||T===46||Sn(T))&&s++<32?(e.consume(T),f):(s=0,h(T))}function m(T){return T===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(T),e.exit("autolinkMarker"),e.exit("autolink"),t):T===null||T===32||T===60||Tc(T)?a(T):(e.consume(T),m)}function h(T){return T===64?(e.consume(T),x):cw(T)?(e.consume(T),h):a(T)}function x(T){return Sn(T)?b(T):a(T)}function b(T){return T===46?(e.consume(T),s=0,x):T===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(T),e.exit("autolinkMarker"),e.exit("autolink"),t):y(T)}function y(T){if((T===45||Sn(T))&&s++<63){const N=T===45?y:b;return e.consume(T),N}return a(T)}}const vo={partial:!0,tokenize:_w};function _w(e,t,a){return s;function s(o){return rt(o)?ct(e,l,"linePrefix")(o):l(o)}function l(o){return o===null||He(o)?t(o):a(o)}}const py={continuation:{tokenize:Sw},exit:vw,name:"blockQuote",tokenize:Nw};function Nw(e,t,a){const s=this;return l;function l(d){if(d===62){const f=s.containerState;return f.open||(e.enter("blockQuote",{_container:!0}),f.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(d),e.exit("blockQuoteMarker"),o}return a(d)}function o(d){return rt(d)?(e.enter("blockQuotePrefixWhitespace"),e.consume(d),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(d))}}function Sw(e,t,a){const s=this;return l;function l(d){return rt(d)?ct(e,o,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d):o(d)}function o(d){return e.attempt(py,t,a)(d)}}function vw(e){e.exit("blockQuote")}const gy={name:"characterEscape",tokenize:Aw};function Aw(e,t,a){return s;function s(o){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(o),e.exit("escapeMarker"),l}function l(o){return fw(o)?(e.enter("characterEscapeValue"),e.consume(o),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):a(o)}}const by={name:"characterReference",tokenize:Cw};function Cw(e,t,a){const s=this;let l=0,o,d;return f;function f(b){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(b),e.exit("characterReferenceMarker"),m}function m(b){return b===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(b),e.exit("characterReferenceMarkerNumeric"),h):(e.enter("characterReferenceValue"),o=31,d=Sn,x(b))}function h(b){return b===88||b===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(b),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,d=dw,x):(e.enter("characterReferenceValue"),o=7,d=Gm,x(b))}function x(b){if(b===59&&l){const y=e.exit("characterReferenceValue");return d===Sn&&!Ih(s.sliceSerialize(y))?a(b):(e.enter("characterReferenceMarker"),e.consume(b),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return d(b)&&l++<o?(e.consume(b),x):a(b)}}const wx={partial:!0,tokenize:kw},kx={concrete:!0,name:"codeFenced",tokenize:ww};function ww(e,t,a){const s=this,l={partial:!0,tokenize:Q};let o=0,d=0,f;return m;function m(D){return h(D)}function h(D){const L=s.events[s.events.length-1];return o=L&&L[1].type==="linePrefix"?L[2].sliceSerialize(L[1],!0).length:0,f=D,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),x(D)}function x(D){return D===f?(d++,e.consume(D),x):d<3?a(D):(e.exit("codeFencedFenceSequence"),rt(D)?ct(e,b,"whitespace")(D):b(D))}function b(D){return D===null||He(D)?(e.exit("codeFencedFence"),s.interrupt?t(D):e.check(wx,S,q)(D)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),y(D))}function y(D){return D===null||He(D)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),b(D)):rt(D)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ct(e,T,"whitespace")(D)):D===96&&D===f?a(D):(e.consume(D),y)}function T(D){return D===null||He(D)?b(D):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),N(D))}function N(D){return D===null||He(D)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),b(D)):D===96&&D===f?a(D):(e.consume(D),N)}function S(D){return e.attempt(l,q,A)(D)}function A(D){return e.enter("lineEnding"),e.consume(D),e.exit("lineEnding"),v}function v(D){return o>0&&rt(D)?ct(e,M,"linePrefix",o+1)(D):M(D)}function M(D){return D===null||He(D)?e.check(wx,S,q)(D):(e.enter("codeFlowValue"),k(D))}function k(D){return D===null||He(D)?(e.exit("codeFlowValue"),M(D)):(e.consume(D),k)}function q(D){return e.exit("codeFenced"),t(D)}function Q(D,L,K){let se=0;return B;function B(ee){return D.enter("lineEnding"),D.consume(ee),D.exit("lineEnding"),U}function U(ee){return D.enter("codeFencedFence"),rt(ee)?ct(D,te,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ee):te(ee)}function te(ee){return ee===f?(D.enter("codeFencedFenceSequence"),ie(ee)):K(ee)}function ie(ee){return ee===f?(se++,D.consume(ee),ie):se>=d?(D.exit("codeFencedFenceSequence"),rt(ee)?ct(D,Z,"whitespace")(ee):Z(ee)):K(ee)}function Z(ee){return ee===null||He(ee)?(D.exit("codeFencedFence"),L(ee)):K(ee)}}}function kw(e,t,a){const s=this;return l;function l(d){return d===null?a(d):(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),o)}function o(d){return s.parser.lazy[s.now().line]?a(d):t(d)}}const mm={name:"codeIndented",tokenize:Ow},Rw={partial:!0,tokenize:Iw};function Ow(e,t,a){const s=this;return l;function l(h){return e.enter("codeIndented"),ct(e,o,"linePrefix",5)(h)}function o(h){const x=s.events[s.events.length-1];return x&&x[1].type==="linePrefix"&&x[2].sliceSerialize(x[1],!0).length>=4?d(h):a(h)}function d(h){return h===null?m(h):He(h)?e.attempt(Rw,d,m)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||He(h)?(e.exit("codeFlowValue"),d(h)):(e.consume(h),f)}function m(h){return e.exit("codeIndented"),t(h)}}function Iw(e,t,a){const s=this;return l;function l(d){return s.parser.lazy[s.now().line]?a(d):He(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),l):ct(e,o,"linePrefix",5)(d)}function o(d){const f=s.events[s.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?t(d):He(d)?l(d):a(d)}}const Mw={name:"codeText",previous:Lw,resolve:Dw,tokenize:jw};function Dw(e){let t=e.length-4,a=3,s,l;if((e[a][1].type==="lineEnding"||e[a][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(s=a;++s<t;)if(e[s][1].type==="codeTextData"){e[a][1].type="codeTextPadding",e[t][1].type="codeTextPadding",a+=2,t-=2;break}}for(s=a-1,t++;++s<=t;)l===void 0?s!==t&&e[s][1].type!=="lineEnding"&&(l=s):(s===t||e[s][1].type==="lineEnding")&&(e[l][1].type="codeTextData",s!==l+2&&(e[l][1].end=e[s-1][1].end,e.splice(l+2,s-l-2),t-=s-l-2,s=l+2),l=void 0);return e}function Lw(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function jw(e,t,a){let s=0,l,o;return d;function d(b){return e.enter("codeText"),e.enter("codeTextSequence"),f(b)}function f(b){return b===96?(e.consume(b),s++,f):(e.exit("codeTextSequence"),m(b))}function m(b){return b===null?a(b):b===32?(e.enter("space"),e.consume(b),e.exit("space"),m):b===96?(o=e.enter("codeTextSequence"),l=0,x(b)):He(b)?(e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),m):(e.enter("codeTextData"),h(b))}function h(b){return b===null||b===32||b===96||He(b)?(e.exit("codeTextData"),m(b)):(e.consume(b),h)}function x(b){return b===96?(e.consume(b),l++,x):l===s?(e.exit("codeTextSequence"),e.exit("codeText"),t(b)):(o.type="codeTextData",h(b))}}class Bw{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,a){const s=a??Number.POSITIVE_INFINITY;return s<this.left.length?this.left.slice(t,s):t>this.left.length?this.right.slice(this.right.length-s+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-s+this.left.length).reverse())}splice(t,a,s){const l=a||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-l,Number.POSITIVE_INFINITY);return s&&Vl(this.left,s),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Vl(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Vl(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const a=this.left.splice(t,Number.POSITIVE_INFINITY);Vl(this.right,a.reverse())}else{const a=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);Vl(this.left,a.reverse())}}}function Vl(e,t){let a=0;if(t.length<1e4)e.push(...t);else for(;a<t.length;)e.push(...t.slice(a,a+1e4)),a+=1e4}function xy(e){const t={};let a=-1,s,l,o,d,f,m,h;const x=new Bw(e);for(;++a<x.length;){for(;a in t;)a=t[a];if(s=x.get(a),a&&s[1].type==="chunkFlow"&&x.get(a-1)[1].type==="listItemPrefix"&&(m=s[1]._tokenizer.events,o=0,o<m.length&&m[o][1].type==="lineEndingBlank"&&(o+=2),o<m.length&&m[o][1].type==="content"))for(;++o<m.length&&m[o][1].type!=="content";)m[o][1].type==="chunkText"&&(m[o][1]._isInFirstContentOfListItem=!0,o++);if(s[0]==="enter")s[1].contentType&&(Object.assign(t,Pw(x,a)),a=t[a],h=!0);else if(s[1]._container){for(o=a,l=void 0;o--;)if(d=x.get(o),d[1].type==="lineEnding"||d[1].type==="lineEndingBlank")d[0]==="enter"&&(l&&(x.get(l)[1].type="lineEndingBlank"),d[1].type="lineEnding",l=o);else if(!(d[1].type==="linePrefix"||d[1].type==="listItemIndent"))break;l&&(s[1].end={...x.get(l)[1].start},f=x.slice(l,a),f.unshift(s),x.splice(l,a-l+1,f))}}return ia(e,0,Number.POSITIVE_INFINITY,x.slice(0)),!h}function Pw(e,t){const a=e.get(t)[1],s=e.get(t)[2];let l=t-1;const o=[];let d=a._tokenizer;d||(d=s.parser[a.contentType](a.start),a._contentTypeTextTrailing&&(d._contentTypeTextTrailing=!0));const f=d.events,m=[],h={};let x,b,y=-1,T=a,N=0,S=0;const A=[S];for(;T;){for(;e.get(++l)[1]!==T;);o.push(l),T._tokenizer||(x=s.sliceStream(T),T.next||x.push(null),b&&d.defineSkip(T.start),T._isInFirstContentOfListItem&&(d._gfmTasklistFirstContentOfListItem=!0),d.write(x),T._isInFirstContentOfListItem&&(d._gfmTasklistFirstContentOfListItem=void 0)),b=T,T=T.next}for(T=a;++y<f.length;)f[y][0]==="exit"&&f[y-1][0]==="enter"&&f[y][1].type===f[y-1][1].type&&f[y][1].start.line!==f[y][1].end.line&&(S=y+1,A.push(S),T._tokenizer=void 0,T.previous=void 0,T=T.next);for(d.events=[],T?(T._tokenizer=void 0,T.previous=void 0):A.pop(),y=A.length;y--;){const v=f.slice(A[y],A[y+1]),M=o.pop();m.push([M,M+v.length-1]),e.splice(M,2,v)}for(m.reverse(),y=-1;++y<m.length;)h[N+m[y][0]]=N+m[y][1],N+=m[y][1]-m[y][0]-1;return h}const Uw={resolve:Fw,tokenize:zw},Hw={partial:!0,tokenize:qw};function Fw(e){return xy(e),e}function zw(e,t){let a;return s;function s(f){return e.enter("content"),a=e.enter("chunkContent",{contentType:"content"}),l(f)}function l(f){return f===null?o(f):He(f)?e.check(Hw,d,o)(f):(e.consume(f),l)}function o(f){return e.exit("chunkContent"),e.exit("content"),t(f)}function d(f){return e.consume(f),e.exit("chunkContent"),a.next=e.enter("chunkContent",{contentType:"content",previous:a}),a=a.next,l}}function qw(e,t,a){const s=this;return l;function l(d){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),ct(e,o,"linePrefix")}function o(d){if(d===null||He(d))return a(d);const f=s.events[s.events.length-1];return!s.parser.constructs.disable.null.includes("codeIndented")&&f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?t(d):e.interrupt(s.parser.constructs.flow,a,t)(d)}}function Ey(e,t,a,s,l,o,d,f,m){const h=m||Number.POSITIVE_INFINITY;let x=0;return b;function b(v){return v===60?(e.enter(s),e.enter(l),e.enter(o),e.consume(v),e.exit(o),y):v===null||v===32||v===41||Tc(v)?a(v):(e.enter(s),e.enter(d),e.enter(f),e.enter("chunkString",{contentType:"string"}),S(v))}function y(v){return v===62?(e.enter(o),e.consume(v),e.exit(o),e.exit(l),e.exit(s),t):(e.enter(f),e.enter("chunkString",{contentType:"string"}),T(v))}function T(v){return v===62?(e.exit("chunkString"),e.exit(f),y(v)):v===null||v===60||He(v)?a(v):(e.consume(v),v===92?N:T)}function N(v){return v===60||v===62||v===92?(e.consume(v),T):T(v)}function S(v){return!x&&(v===null||v===41||Rt(v))?(e.exit("chunkString"),e.exit(f),e.exit(d),e.exit(s),t(v)):x<h&&v===40?(e.consume(v),x++,S):v===41?(e.consume(v),x--,S):v===null||v===32||v===40||Tc(v)?a(v):(e.consume(v),v===92?A:S)}function A(v){return v===40||v===41||v===92?(e.consume(v),S):S(v)}}function yy(e,t,a,s,l,o){const d=this;let f=0,m;return h;function h(T){return e.enter(s),e.enter(l),e.consume(T),e.exit(l),e.enter(o),x}function x(T){return f>999||T===null||T===91||T===93&&!m||T===94&&!f&&"_hiddenFootnoteSupport"in d.parser.constructs?a(T):T===93?(e.exit(o),e.enter(l),e.consume(T),e.exit(l),e.exit(s),t):He(T)?(e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),x):(e.enter("chunkString",{contentType:"string"}),b(T))}function b(T){return T===null||T===91||T===93||He(T)||f++>999?(e.exit("chunkString"),x(T)):(e.consume(T),m||(m=!rt(T)),T===92?y:b)}function y(T){return T===91||T===92||T===93?(e.consume(T),f++,b):b(T)}}function Ty(e,t,a,s,l,o){let d;return f;function f(y){return y===34||y===39||y===40?(e.enter(s),e.enter(l),e.consume(y),e.exit(l),d=y===40?41:y,m):a(y)}function m(y){return y===d?(e.enter(l),e.consume(y),e.exit(l),e.exit(s),t):(e.enter(o),h(y))}function h(y){return y===d?(e.exit(o),m(d)):y===null?a(y):He(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ct(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),x(y))}function x(y){return y===d||y===null||He(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?b:x)}function b(y){return y===d||y===92?(e.consume(y),x):x(y)}}function no(e,t){let a;return s;function s(l){return He(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),a=!0,s):rt(l)?ct(e,s,a?"linePrefix":"lineSuffix")(l):t(l)}}const Yw={name:"definition",tokenize:Gw},$w={partial:!0,tokenize:Kw};function Gw(e,t,a){const s=this;let l;return o;function o(T){return e.enter("definition"),d(T)}function d(T){return yy.call(s,e,f,a,"definitionLabel","definitionLabelMarker","definitionLabelString")(T)}function f(T){return l=Ia(s.sliceSerialize(s.events[s.events.length-1][1]).slice(1,-1)),T===58?(e.enter("definitionMarker"),e.consume(T),e.exit("definitionMarker"),m):a(T)}function m(T){return Rt(T)?no(e,h)(T):h(T)}function h(T){return Ey(e,x,a,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(T)}function x(T){return e.attempt($w,b,b)(T)}function b(T){return rt(T)?ct(e,y,"whitespace")(T):y(T)}function y(T){return T===null||He(T)?(e.exit("definition"),s.parser.defined.push(l),t(T)):a(T)}}function Kw(e,t,a){return s;function s(f){return Rt(f)?no(e,l)(f):a(f)}function l(f){return Ty(e,o,a,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function o(f){return rt(f)?ct(e,d,"whitespace")(f):d(f)}function d(f){return f===null||He(f)?t(f):a(f)}}const Vw={name:"hardBreakEscape",tokenize:Qw};function Qw(e,t,a){return s;function s(o){return e.enter("hardBreakEscape"),e.consume(o),l}function l(o){return He(o)?(e.exit("hardBreakEscape"),t(o)):a(o)}}const Xw={name:"headingAtx",resolve:Zw,tokenize:Ww};function Zw(e,t){let a=e.length-2,s=3,l,o;return e[s][1].type==="whitespace"&&(s+=2),a-2>s&&e[a][1].type==="whitespace"&&(a-=2),e[a][1].type==="atxHeadingSequence"&&(s===a-1||a-4>s&&e[a-2][1].type==="whitespace")&&(a-=s+1===a?2:4),a>s&&(l={type:"atxHeadingText",start:e[s][1].start,end:e[a][1].end},o={type:"chunkText",start:e[s][1].start,end:e[a][1].end,contentType:"text"},ia(e,s,a-s+1,[["enter",l,t],["enter",o,t],["exit",o,t],["exit",l,t]])),e}function Ww(e,t,a){let s=0;return l;function l(x){return e.enter("atxHeading"),o(x)}function o(x){return e.enter("atxHeadingSequence"),d(x)}function d(x){return x===35&&s++<6?(e.consume(x),d):x===null||Rt(x)?(e.exit("atxHeadingSequence"),f(x)):a(x)}function f(x){return x===35?(e.enter("atxHeadingSequence"),m(x)):x===null||He(x)?(e.exit("atxHeading"),t(x)):rt(x)?ct(e,f,"whitespace")(x):(e.enter("atxHeadingText"),h(x))}function m(x){return x===35?(e.consume(x),m):(e.exit("atxHeadingSequence"),f(x))}function h(x){return x===null||x===35||Rt(x)?(e.exit("atxHeadingText"),f(x)):(e.consume(x),h)}}const Jw=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Rx=["pre","script","style","textarea"],e5={concrete:!0,name:"htmlFlow",resolveTo:a5,tokenize:r5},t5={partial:!0,tokenize:i5},n5={partial:!0,tokenize:s5};function a5(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function r5(e,t,a){const s=this;let l,o,d,f,m;return h;function h(O){return x(O)}function x(O){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(O),b}function b(O){return O===33?(e.consume(O),y):O===47?(e.consume(O),o=!0,S):O===63?(e.consume(O),l=3,s.interrupt?t:P):In(O)?(e.consume(O),d=String.fromCharCode(O),A):a(O)}function y(O){return O===45?(e.consume(O),l=2,T):O===91?(e.consume(O),l=5,f=0,N):In(O)?(e.consume(O),l=4,s.interrupt?t:P):a(O)}function T(O){return O===45?(e.consume(O),s.interrupt?t:P):a(O)}function N(O){const ge="CDATA[";return O===ge.charCodeAt(f++)?(e.consume(O),f===ge.length?s.interrupt?t:te:N):a(O)}function S(O){return In(O)?(e.consume(O),d=String.fromCharCode(O),A):a(O)}function A(O){if(O===null||O===47||O===62||Rt(O)){const ge=O===47,ve=d.toLowerCase();return!ge&&!o&&Rx.includes(ve)?(l=1,s.interrupt?t(O):te(O)):Jw.includes(d.toLowerCase())?(l=6,ge?(e.consume(O),v):s.interrupt?t(O):te(O)):(l=7,s.interrupt&&!s.parser.lazy[s.now().line]?a(O):o?M(O):k(O))}return O===45||Sn(O)?(e.consume(O),d+=String.fromCharCode(O),A):a(O)}function v(O){return O===62?(e.consume(O),s.interrupt?t:te):a(O)}function M(O){return rt(O)?(e.consume(O),M):B(O)}function k(O){return O===47?(e.consume(O),B):O===58||O===95||In(O)?(e.consume(O),q):rt(O)?(e.consume(O),k):B(O)}function q(O){return O===45||O===46||O===58||O===95||Sn(O)?(e.consume(O),q):Q(O)}function Q(O){return O===61?(e.consume(O),D):rt(O)?(e.consume(O),Q):k(O)}function D(O){return O===null||O===60||O===61||O===62||O===96?a(O):O===34||O===39?(e.consume(O),m=O,L):rt(O)?(e.consume(O),D):K(O)}function L(O){return O===m?(e.consume(O),m=null,se):O===null||He(O)?a(O):(e.consume(O),L)}function K(O){return O===null||O===34||O===39||O===47||O===60||O===61||O===62||O===96||Rt(O)?Q(O):(e.consume(O),K)}function se(O){return O===47||O===62||rt(O)?k(O):a(O)}function B(O){return O===62?(e.consume(O),U):a(O)}function U(O){return O===null||He(O)?te(O):rt(O)?(e.consume(O),U):a(O)}function te(O){return O===45&&l===2?(e.consume(O),V):O===60&&l===1?(e.consume(O),$):O===62&&l===4?(e.consume(O),R):O===63&&l===3?(e.consume(O),P):O===93&&l===5?(e.consume(O),ke):He(O)&&(l===6||l===7)?(e.exit("htmlFlowData"),e.check(t5,W,ie)(O)):O===null||He(O)?(e.exit("htmlFlowData"),ie(O)):(e.consume(O),te)}function ie(O){return e.check(n5,Z,W)(O)}function Z(O){return e.enter("lineEnding"),e.consume(O),e.exit("lineEnding"),ee}function ee(O){return O===null||He(O)?ie(O):(e.enter("htmlFlowData"),te(O))}function V(O){return O===45?(e.consume(O),P):te(O)}function $(O){return O===47?(e.consume(O),d="",pe):te(O)}function pe(O){if(O===62){const ge=d.toLowerCase();return Rx.includes(ge)?(e.consume(O),R):te(O)}return In(O)&&d.length<8?(e.consume(O),d+=String.fromCharCode(O),pe):te(O)}function ke(O){return O===93?(e.consume(O),P):te(O)}function P(O){return O===62?(e.consume(O),R):O===45&&l===2?(e.consume(O),P):te(O)}function R(O){return O===null||He(O)?(e.exit("htmlFlowData"),W(O)):(e.consume(O),R)}function W(O){return e.exit("htmlFlow"),t(O)}}function s5(e,t,a){const s=this;return l;function l(d){return He(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),o):a(d)}function o(d){return s.parser.lazy[s.now().line]?a(d):t(d)}}function i5(e,t,a){return s;function s(l){return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),e.attempt(vo,t,a)}}const l5={name:"htmlText",tokenize:o5};function o5(e,t,a){const s=this;let l,o,d;return f;function f(P){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(P),m}function m(P){return P===33?(e.consume(P),h):P===47?(e.consume(P),Q):P===63?(e.consume(P),k):In(P)?(e.consume(P),K):a(P)}function h(P){return P===45?(e.consume(P),x):P===91?(e.consume(P),o=0,N):In(P)?(e.consume(P),M):a(P)}function x(P){return P===45?(e.consume(P),T):a(P)}function b(P){return P===null?a(P):P===45?(e.consume(P),y):He(P)?(d=b,$(P)):(e.consume(P),b)}function y(P){return P===45?(e.consume(P),T):b(P)}function T(P){return P===62?V(P):P===45?y(P):b(P)}function N(P){const R="CDATA[";return P===R.charCodeAt(o++)?(e.consume(P),o===R.length?S:N):a(P)}function S(P){return P===null?a(P):P===93?(e.consume(P),A):He(P)?(d=S,$(P)):(e.consume(P),S)}function A(P){return P===93?(e.consume(P),v):S(P)}function v(P){return P===62?V(P):P===93?(e.consume(P),v):S(P)}function M(P){return P===null||P===62?V(P):He(P)?(d=M,$(P)):(e.consume(P),M)}function k(P){return P===null?a(P):P===63?(e.consume(P),q):He(P)?(d=k,$(P)):(e.consume(P),k)}function q(P){return P===62?V(P):k(P)}function Q(P){return In(P)?(e.consume(P),D):a(P)}function D(P){return P===45||Sn(P)?(e.consume(P),D):L(P)}function L(P){return He(P)?(d=L,$(P)):rt(P)?(e.consume(P),L):V(P)}function K(P){return P===45||Sn(P)?(e.consume(P),K):P===47||P===62||Rt(P)?se(P):a(P)}function se(P){return P===47?(e.consume(P),V):P===58||P===95||In(P)?(e.consume(P),B):He(P)?(d=se,$(P)):rt(P)?(e.consume(P),se):V(P)}function B(P){return P===45||P===46||P===58||P===95||Sn(P)?(e.consume(P),B):U(P)}function U(P){return P===61?(e.consume(P),te):He(P)?(d=U,$(P)):rt(P)?(e.consume(P),U):se(P)}function te(P){return P===null||P===60||P===61||P===62||P===96?a(P):P===34||P===39?(e.consume(P),l=P,ie):He(P)?(d=te,$(P)):rt(P)?(e.consume(P),te):(e.consume(P),Z)}function ie(P){return P===l?(e.consume(P),l=void 0,ee):P===null?a(P):He(P)?(d=ie,$(P)):(e.consume(P),ie)}function Z(P){return P===null||P===34||P===39||P===60||P===61||P===96?a(P):P===47||P===62||Rt(P)?se(P):(e.consume(P),Z)}function ee(P){return P===47||P===62||Rt(P)?se(P):a(P)}function V(P){return P===62?(e.consume(P),e.exit("htmlTextData"),e.exit("htmlText"),t):a(P)}function $(P){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),pe}function pe(P){return rt(P)?ct(e,ke,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(P):ke(P)}function ke(P){return e.enter("htmlTextData"),d(P)}}const Mh={name:"labelEnd",resolveAll:f5,resolveTo:m5,tokenize:h5},u5={tokenize:p5},c5={tokenize:g5},d5={tokenize:b5};function f5(e){let t=-1;const a=[];for(;++t<e.length;){const s=e[t][1];if(a.push(e[t]),s.type==="labelImage"||s.type==="labelLink"||s.type==="labelEnd"){const l=s.type==="labelImage"?4:2;s.type="data",t+=l}}return e.length!==a.length&&ia(e,0,e.length,a),e}function m5(e,t){let a=e.length,s=0,l,o,d,f;for(;a--;)if(l=e[a][1],o){if(l.type==="link"||l.type==="labelLink"&&l._inactive)break;e[a][0]==="enter"&&l.type==="labelLink"&&(l._inactive=!0)}else if(d){if(e[a][0]==="enter"&&(l.type==="labelImage"||l.type==="labelLink")&&!l._balanced&&(o=a,l.type!=="labelLink")){s=2;break}}else l.type==="labelEnd"&&(d=a);const m={type:e[o][1].type==="labelLink"?"link":"image",start:{...e[o][1].start},end:{...e[e.length-1][1].end}},h={type:"label",start:{...e[o][1].start},end:{...e[d][1].end}},x={type:"labelText",start:{...e[o+s+2][1].end},end:{...e[d-2][1].start}};return f=[["enter",m,t],["enter",h,t]],f=Ta(f,e.slice(o+1,o+s+3)),f=Ta(f,[["enter",x,t]]),f=Ta(f,zc(t.parser.constructs.insideSpan.null,e.slice(o+s+4,d-3),t)),f=Ta(f,[["exit",x,t],e[d-2],e[d-1],["exit",h,t]]),f=Ta(f,e.slice(d+1)),f=Ta(f,[["exit",m,t]]),ia(e,o,e.length,f),e}function h5(e,t,a){const s=this;let l=s.events.length,o,d;for(;l--;)if((s.events[l][1].type==="labelImage"||s.events[l][1].type==="labelLink")&&!s.events[l][1]._balanced){o=s.events[l][1];break}return f;function f(y){return o?o._inactive?b(y):(d=s.parser.defined.includes(Ia(s.sliceSerialize({start:o.end,end:s.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(y),e.exit("labelMarker"),e.exit("labelEnd"),m):a(y)}function m(y){return y===40?e.attempt(u5,x,d?x:b)(y):y===91?e.attempt(c5,x,d?h:b)(y):d?x(y):b(y)}function h(y){return e.attempt(d5,x,b)(y)}function x(y){return t(y)}function b(y){return o._balanced=!0,a(y)}}function p5(e,t,a){return s;function s(b){return e.enter("resource"),e.enter("resourceMarker"),e.consume(b),e.exit("resourceMarker"),l}function l(b){return Rt(b)?no(e,o)(b):o(b)}function o(b){return b===41?x(b):Ey(e,d,f,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(b)}function d(b){return Rt(b)?no(e,m)(b):x(b)}function f(b){return a(b)}function m(b){return b===34||b===39||b===40?Ty(e,h,a,"resourceTitle","resourceTitleMarker","resourceTitleString")(b):x(b)}function h(b){return Rt(b)?no(e,x)(b):x(b)}function x(b){return b===41?(e.enter("resourceMarker"),e.consume(b),e.exit("resourceMarker"),e.exit("resource"),t):a(b)}}function g5(e,t,a){const s=this;return l;function l(f){return yy.call(s,e,o,d,"reference","referenceMarker","referenceString")(f)}function o(f){return s.parser.defined.includes(Ia(s.sliceSerialize(s.events[s.events.length-1][1]).slice(1,-1)))?t(f):a(f)}function d(f){return a(f)}}function b5(e,t,a){return s;function s(o){return e.enter("reference"),e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),l}function l(o){return o===93?(e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),e.exit("reference"),t):a(o)}}const x5={name:"labelStartImage",resolveAll:Mh.resolveAll,tokenize:E5};function E5(e,t,a){const s=this;return l;function l(f){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(f),e.exit("labelImageMarker"),o}function o(f){return f===91?(e.enter("labelMarker"),e.consume(f),e.exit("labelMarker"),e.exit("labelImage"),d):a(f)}function d(f){return f===94&&"_hiddenFootnoteSupport"in s.parser.constructs?a(f):t(f)}}const y5={name:"labelStartLink",resolveAll:Mh.resolveAll,tokenize:T5};function T5(e,t,a){const s=this;return l;function l(d){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(d),e.exit("labelMarker"),e.exit("labelLink"),o}function o(d){return d===94&&"_hiddenFootnoteSupport"in s.parser.constructs?a(d):t(d)}}const hm={name:"lineEnding",tokenize:_5};function _5(e,t){return a;function a(s){return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),ct(e,t,"linePrefix")}}const oc={name:"thematicBreak",tokenize:N5};function N5(e,t,a){let s=0,l;return o;function o(h){return e.enter("thematicBreak"),d(h)}function d(h){return l=h,f(h)}function f(h){return h===l?(e.enter("thematicBreakSequence"),m(h)):s>=3&&(h===null||He(h))?(e.exit("thematicBreak"),t(h)):a(h)}function m(h){return h===l?(e.consume(h),s++,m):(e.exit("thematicBreakSequence"),rt(h)?ct(e,f,"whitespace")(h):f(h))}}const $n={continuation:{tokenize:C5},exit:k5,name:"list",tokenize:A5},S5={partial:!0,tokenize:R5},v5={partial:!0,tokenize:w5};function A5(e,t,a){const s=this,l=s.events[s.events.length-1];let o=l&&l[1].type==="linePrefix"?l[2].sliceSerialize(l[1],!0).length:0,d=0;return f;function f(T){const N=s.containerState.type||(T===42||T===43||T===45?"listUnordered":"listOrdered");if(N==="listUnordered"?!s.containerState.marker||T===s.containerState.marker:Gm(T)){if(s.containerState.type||(s.containerState.type=N,e.enter(N,{_container:!0})),N==="listUnordered")return e.enter("listItemPrefix"),T===42||T===45?e.check(oc,a,h)(T):h(T);if(!s.interrupt||T===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),m(T)}return a(T)}function m(T){return Gm(T)&&++d<10?(e.consume(T),m):(!s.interrupt||d<2)&&(s.containerState.marker?T===s.containerState.marker:T===41||T===46)?(e.exit("listItemValue"),h(T)):a(T)}function h(T){return e.enter("listItemMarker"),e.consume(T),e.exit("listItemMarker"),s.containerState.marker=s.containerState.marker||T,e.check(vo,s.interrupt?a:x,e.attempt(S5,y,b))}function x(T){return s.containerState.initialBlankLine=!0,o++,y(T)}function b(T){return rt(T)?(e.enter("listItemPrefixWhitespace"),e.consume(T),e.exit("listItemPrefixWhitespace"),y):a(T)}function y(T){return s.containerState.size=o+s.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(T)}}function C5(e,t,a){const s=this;return s.containerState._closeFlow=void 0,e.check(vo,l,o);function l(f){return s.containerState.furtherBlankLines=s.containerState.furtherBlankLines||s.containerState.initialBlankLine,ct(e,t,"listItemIndent",s.containerState.size+1)(f)}function o(f){return s.containerState.furtherBlankLines||!rt(f)?(s.containerState.furtherBlankLines=void 0,s.containerState.initialBlankLine=void 0,d(f)):(s.containerState.furtherBlankLines=void 0,s.containerState.initialBlankLine=void 0,e.attempt(v5,t,d)(f))}function d(f){return s.containerState._closeFlow=!0,s.interrupt=void 0,ct(e,e.attempt($n,t,a),"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function w5(e,t,a){const s=this;return ct(e,l,"listItemIndent",s.containerState.size+1);function l(o){const d=s.events[s.events.length-1];return d&&d[1].type==="listItemIndent"&&d[2].sliceSerialize(d[1],!0).length===s.containerState.size?t(o):a(o)}}function k5(e){e.exit(this.containerState.type)}function R5(e,t,a){const s=this;return ct(e,l,"listItemPrefixWhitespace",s.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function l(o){const d=s.events[s.events.length-1];return!rt(o)&&d&&d[1].type==="listItemPrefixWhitespace"?t(o):a(o)}}const Ox={name:"setextUnderline",resolveTo:O5,tokenize:I5};function O5(e,t){let a=e.length,s,l,o;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){s=a;break}e[a][1].type==="paragraph"&&(l=a)}else e[a][1].type==="content"&&e.splice(a,1),!o&&e[a][1].type==="definition"&&(o=a);const d={type:"setextHeading",start:{...e[s][1].start},end:{...e[e.length-1][1].end}};return e[l][1].type="setextHeadingText",o?(e.splice(l,0,["enter",d,t]),e.splice(o+1,0,["exit",e[s][1],t]),e[s][1].end={...e[o][1].end}):e[s][1]=d,e.push(["exit",d,t]),e}function I5(e,t,a){const s=this;let l;return o;function o(h){let x=s.events.length,b;for(;x--;)if(s.events[x][1].type!=="lineEnding"&&s.events[x][1].type!=="linePrefix"&&s.events[x][1].type!=="content"){b=s.events[x][1].type==="paragraph";break}return!s.parser.lazy[s.now().line]&&(s.interrupt||b)?(e.enter("setextHeadingLine"),l=h,d(h)):a(h)}function d(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===l?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),rt(h)?ct(e,m,"lineSuffix")(h):m(h))}function m(h){return h===null||He(h)?(e.exit("setextHeadingLine"),t(h)):a(h)}}const M5={tokenize:D5};function D5(e){const t=this,a=e.attempt(vo,s,e.attempt(this.parser.constructs.flowInitial,l,ct(e,e.attempt(this.parser.constructs.flow,l,e.attempt(Uw,l)),"linePrefix")));return a;function s(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,a}function l(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,a}}const L5={resolveAll:Ny()},j5=_y("string"),B5=_y("text");function _y(e){return{resolveAll:Ny(e==="text"?P5:void 0),tokenize:t};function t(a){const s=this,l=this.parser.constructs[e],o=a.attempt(l,d,f);return d;function d(x){return h(x)?o(x):f(x)}function f(x){if(x===null){a.consume(x);return}return a.enter("data"),a.consume(x),m}function m(x){return h(x)?(a.exit("data"),o(x)):(a.consume(x),m)}function h(x){if(x===null)return!0;const b=l[x];let y=-1;if(b)for(;++y<b.length;){const T=b[y];if(!T.previous||T.previous.call(s,s.previous))return!0}return!1}}}function Ny(e){return t;function t(a,s){let l=-1,o;for(;++l<=a.length;)o===void 0?a[l]&&a[l][1].type==="data"&&(o=l,l++):(!a[l]||a[l][1].type!=="data")&&(l!==o+2&&(a[o][1].end=a[l-1][1].end,a.splice(o+2,l-o-2),l=o+2),o=void 0);return e?e(a,s):a}}function P5(e,t){let a=0;for(;++a<=e.length;)if((a===e.length||e[a][1].type==="lineEnding")&&e[a-1][1].type==="data"){const s=e[a-1][1],l=t.sliceStream(s);let o=l.length,d=-1,f=0,m;for(;o--;){const h=l[o];if(typeof h=="string"){for(d=h.length;h.charCodeAt(d-1)===32;)f++,d--;if(d)break;d=-1}else if(h===-2)m=!0,f++;else if(h!==-1){o++;break}}if(t._contentTypeTextTrailing&&a===e.length&&(f=0),f){const h={type:a===e.length||m||f<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:o?d:s.start._bufferIndex+d,_index:s.start._index+o,line:s.end.line,column:s.end.column-f,offset:s.end.offset-f},end:{...s.end}};s.end={...h.start},s.start.offset===s.end.offset?Object.assign(s,h):(e.splice(a,0,["enter",h,t],["exit",h,t]),a+=2)}a++}return e}const U5={42:$n,43:$n,45:$n,48:$n,49:$n,50:$n,51:$n,52:$n,53:$n,54:$n,55:$n,56:$n,57:$n,62:py},H5={91:Yw},F5={[-2]:mm,[-1]:mm,32:mm},z5={35:Xw,42:oc,45:[Ox,oc],60:e5,61:Ox,95:oc,96:kx,126:kx},q5={38:by,92:gy},Y5={[-5]:hm,[-4]:hm,[-3]:hm,33:x5,38:by,42:Km,60:[yw,l5],91:y5,92:[Vw,gy],93:Mh,95:Km,96:Mw},$5={null:[Km,L5]},G5={null:[42,95]},K5={null:[]},V5=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:G5,contentInitial:H5,disable:K5,document:U5,flow:z5,flowInitial:F5,insideSpan:$5,string:q5,text:Y5},Symbol.toStringTag,{value:"Module"}));function Q5(e,t,a){let s={_bufferIndex:-1,_index:0,line:a&&a.line||1,column:a&&a.column||1,offset:a&&a.offset||0};const l={},o=[];let d=[],f=[];const m={attempt:L(Q),check:L(D),consume:M,enter:k,exit:q,interrupt:L(D,{interrupt:!0})},h={code:null,containerState:{},defineSkip:S,events:[],now:N,parser:e,previous:null,sliceSerialize:y,sliceStream:T,write:b};let x=t.tokenize.call(h,m);return t.resolveAll&&o.push(t),h;function b(U){return d=Ta(d,U),A(),d[d.length-1]!==null?[]:(K(t,0),h.events=zc(o,h.events,h),h.events)}function y(U,te){return Z5(T(U),te)}function T(U){return X5(d,U)}function N(){const{_bufferIndex:U,_index:te,line:ie,column:Z,offset:ee}=s;return{_bufferIndex:U,_index:te,line:ie,column:Z,offset:ee}}function S(U){l[U.line]=U.column,B()}function A(){let U;for(;s._index<d.length;){const te=d[s._index];if(typeof te=="string")for(U=s._index,s._bufferIndex<0&&(s._bufferIndex=0);s._index===U&&s._bufferIndex<te.length;)v(te.charCodeAt(s._bufferIndex));else v(te)}}function v(U){x=x(U)}function M(U){He(U)?(s.line++,s.column=1,s.offset+=U===-3?2:1,B()):U!==-1&&(s.column++,s.offset++),s._bufferIndex<0?s._index++:(s._bufferIndex++,s._bufferIndex===d[s._index].length&&(s._bufferIndex=-1,s._index++)),h.previous=U}function k(U,te){const ie=te||{};return ie.type=U,ie.start=N(),h.events.push(["enter",ie,h]),f.push(ie),ie}function q(U){const te=f.pop();return te.end=N(),h.events.push(["exit",te,h]),te}function Q(U,te){K(U,te.from)}function D(U,te){te.restore()}function L(U,te){return ie;function ie(Z,ee,V){let $,pe,ke,P;return Array.isArray(Z)?W(Z):"tokenize"in Z?W([Z]):R(Z);function R(Ae){return $e;function $e(dt){const ut=dt!==null&&Ae[dt],Ft=dt!==null&&Ae.null,yn=[...Array.isArray(ut)?ut:ut?[ut]:[],...Array.isArray(Ft)?Ft:Ft?[Ft]:[]];return W(yn)(dt)}}function W(Ae){return $=Ae,pe=0,Ae.length===0?V:O(Ae[pe])}function O(Ae){return $e;function $e(dt){return P=se(),ke=Ae,Ae.partial||(h.currentConstruct=Ae),Ae.name&&h.parser.constructs.disable.null.includes(Ae.name)?ve():Ae.tokenize.call(te?Object.assign(Object.create(h),te):h,m,ge,ve)(dt)}}function ge(Ae){return U(ke,P),ee}function ve(Ae){return P.restore(),++pe<$.length?O($[pe]):V}}}function K(U,te){U.resolveAll&&!o.includes(U)&&o.push(U),U.resolve&&ia(h.events,te,h.events.length-te,U.resolve(h.events.slice(te),h)),U.resolveTo&&(h.events=U.resolveTo(h.events,h))}function se(){const U=N(),te=h.previous,ie=h.currentConstruct,Z=h.events.length,ee=Array.from(f);return{from:Z,restore:V};function V(){s=U,h.previous=te,h.currentConstruct=ie,h.events.length=Z,f=ee,B()}}function B(){s.line in l&&s.column<2&&(s.column=l[s.line],s.offset+=l[s.line]-1)}}function X5(e,t){const a=t.start._index,s=t.start._bufferIndex,l=t.end._index,o=t.end._bufferIndex;let d;if(a===l)d=[e[a].slice(s,o)];else{if(d=e.slice(a,l),s>-1){const f=d[0];typeof f=="string"?d[0]=f.slice(s):d.shift()}o>0&&d.push(e[l].slice(0,o))}return d}function Z5(e,t){let a=-1;const s=[];let l;for(;++a<e.length;){const o=e[a];let d;if(typeof o=="string")d=o;else switch(o){case-5:{d="\r";break}case-4:{d=`
|
package/public/index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover" />
|
|
6
6
|
<title>Fourth Spark</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-CgKEqy11.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-KvjOzAKx.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|