fourth-spark 0.10.1 → 0.10.2
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/drizzle/meta/0007_snapshot.json +1 -1
- package/drizzle/meta/_journal.json +2 -2
- package/package.json +1 -1
- package/public/assets/{index-Dq9AEK6c.js → index-DyLPe9Lg.js} +2 -2
- package/public/assets/{web-CB_HG4N1.js → web-DXif1FH9.js} +1 -1
- package/public/index.html +1 -1
- /package/drizzle/{0007_flowery_joseph.sql → 0007_bouncy_solo.sql} +0 -0
package/package.json
CHANGED
|
@@ -462,7 +462,7 @@ Please change the parent <Route path="${A}"> to <Route path="${A==="/"?"*":`${A}
|
|
|
462
462
|
*
|
|
463
463
|
* This source code is licensed under the ISC license.
|
|
464
464
|
* See the LICENSE file in the root directory of this source tree.
|
|
465
|
-
*/const uw=[["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"}]],Vc=ke("zap",uw);function Ey(e){var t,a,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(a=Ey(e[t]))&&(s&&(s+=" "),s+=a)}else for(a in e)e[a]&&(s&&(s+=" "),s+=a);return s}function oe(){for(var e,t,a=0,s="",o=arguments.length;a<o;a++)(e=arguments[a])&&(t=Ey(e))&&(s&&(s+=" "),s+=t);return s}const xx=e=>{let t;const a=new Set,s=(h,b)=>{const g=typeof h=="function"?h(t):h;if(!Object.is(g,t)){const y=t;t=b??(typeof g!="object"||g===null)?g:Object.assign({},t,g),a.forEach(N=>N(t,y))}},o=()=>t,f={setState:s,getState:o,getInitialState:()=>m,subscribe:h=>(a.add(h),()=>a.delete(h))},m=t=e(s,o,f);return f},cw=(e=>e?xx(e):xx),dw=e=>e;function fw(e,t=dw){const a=Zu.useSyncExternalStore(e.subscribe,Zu.useCallback(()=>t(e.getState()),[e,t]),Zu.useCallback(()=>t(e.getInitialState()),[e,t]));return Zu.useDebugValue(a),a}const Ex=e=>{const t=cw(e),a=s=>fw(t,s);return Object.assign(a,t),a},Za=(e=>e?Ex(e):Ex),Nm="fs-theme";function yy(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function yx(e){return e==="system"?yy():e}function Nx(e){e==="system"?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme",e)}const lh=Za((e,t)=>({preference:localStorage.getItem(Nm)??"system",resolved:yx(localStorage.getItem(Nm)??"system"),setPreference(a){const s=yx(a);localStorage.setItem(Nm,a),Nx(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(){Nx(t().preference);const a=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>{const{preference:o}=t();if(o==="system"){const u=yy();e({resolved:u})}};return a.addEventListener("change",s),()=>a.removeEventListener("change",s)}})),Tc="fourth-spark-server-url";function Ny(){if(typeof window>"u")return!1;const t=window.Capacitor;return typeof(t==null?void 0:t.isNativePlatform)=="function"&&t.isNativePlatform()}function Ty(){return localStorage.getItem(Tc)??""}function mw(e){const t=e.replace(/\/+$/,"");t?localStorage.setItem(Tc,t):localStorage.removeItem(Tc)}function oh(){return localStorage.getItem(Tc)??""}class Wa extends Error{constructor(a,s){super(a);ln(this,"status");this.name="ApiError",this.status=s}}async function Ae(e,t){let a;try{a=await fetch(Ty()+e,{...t,headers:{Accept:"application/json",...t!=null&&t.body?{"Content-Type":"application/json"}:{},...t==null?void 0:t.headers}})}catch(o){throw new Wa(o instanceof Error?o.message:"Network request failed",0)}if(!a.ok){const o=await a.text().catch(()=>"");throw new Wa(o.trim()||`${a.status} ${a.statusText}`,a.status)}if(a.status===204)return;const s=await a.text();if(s)return JSON.parse(s)}function Pn(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 hw(){return Pn(await Ae("/api/repos"),"repos")}async function pw(e,t,a,s){return Ae("/api/repos",{method:"POST",body:JSON.stringify({name:e,gitUrl:t,localPath:a,runtimeType:s})})}async function gw(e){return Ae("/api/repos/resolve",{method:"POST",body:JSON.stringify({localPath:e})})}async function bw(e){await Ae(`/api/repos/${encodeURIComponent(e)}`,{method:"DELETE"})}async function xw(e){await Ae(`/api/repos/${encodeURIComponent(e)}/start`,{method:"POST"})}async function Ew(e){await Ae(`/api/repos/${encodeURIComponent(e)}/stop`,{method:"POST"})}async function yw(e){return Ae(`/api/repos/${encodeURIComponent(e)}/branches`)}async function Nw(e,t){return Ae(`/api/repos/${encodeURIComponent(e)}/checkout`,{method:"POST",body:JSON.stringify({branch:t})})}async function Tw(e){return Ae(`/api/repos/${encodeURIComponent(e)}/pull`,{method:"POST"})}function Ge(e){return`/api/repos/${encodeURIComponent(e)}`}async function _w(e){return Pn(await Ae(`${Ge(e)}/workspaces`),"workspaces")}async function vw(e,t){await Ae(`${Ge(e)}/workspaces/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Sw(e){return Ae(`${Ge(e)}/workspaces/cleanup`,{method:"POST"})}async function Aw(e,t){await Ae(`/api/repos/${e}/worktree`,{method:"PATCH",body:JSON.stringify({enabled:t})})}async function ww(e,t){await Ae(`/api/repos/${e}/runtime`,{method:"PATCH",body:JSON.stringify({runtimeType:t})})}async function Cw(e){return Pn(await Ae(`${Ge(e)}/sessions`),"sessions")}async function kw(e,t,a,s,o,u,d,f){return Ae(`${Ge(e)}/sessions`,{method:"POST",body:JSON.stringify({message:t,agent:a,model:s,variant:o,issueId:u,customAgentId:d,files:f})})}async function Rw(e,t){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Ow(e,t,a,s,o,u){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/prompt`,{method:"POST",body:JSON.stringify({content:a,agent:s,model:o,files:u})})}async function Iw(e,t){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/abort`,{method:"POST"})}async function Mw(e,t,a){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/questions/reply`,{method:"POST",body:JSON.stringify({answers:a})})}async function Dw(e,t){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/questions/reject`,{method:"POST"})}async function Lw(e,t,a){return Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/revert`,{method:"POST",body:JSON.stringify({messageID:a})})}function Tx(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 _x(e,t,a){const s=new URLSearchParams;a!=null&&a.limit&&s.set("limit",String(a.limit)),a!=null&&a.before&&s.set("before",a.before);const o=s.toString(),u=`${Ge(e)}/sessions/${encodeURIComponent(t)}/messages${o?`?${o}`:""}`,d=await Ae(u);if(Array.isArray(d)){const h=d.map(Tx);return{messages:h,total:h.length,hasMore:!1}}const f=d,m=Array.isArray(f.messages)?f.messages:[];return{messages:m.map(Tx),total:f.total??m.length,hasMore:f.hasMore??!1}}async function _y(e,t){return Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/status`)}async function jw(e,t){return Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/links`)}async function Bw(e,t){return Ae(`${Ge(e)}/sessions/snapshot/${encodeURIComponent(t)}`)}async function vx(e){return Ae(`${Ge(e)}/sessions/all-links`)}async function Pw(e,t,a,s){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/links`,{method:"POST",body:JSON.stringify({type:a,targetId:s})})}async function Uw(e,t,a,s){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/links`,{method:"DELETE",body:JSON.stringify({type:a,targetId:s})})}async function Hw(e){return Pn(await Ae(`${Ge(e)}/agents`),"agents")}async function vy(){return Pn(await Ae("/api/custom-agents"))}async function Sy(e){return Ae("/api/custom-agents",{method:"POST",body:JSON.stringify(e)})}async function Ay(e,t){return Ae(`/api/custom-agents/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})}async function wy(e){await Ae(`/api/custom-agents/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Sx(e){return Ae(`/api/custom-agents/${encodeURIComponent(e)}/export`)}async function Fw(e){return Ae("/api/custom-agents/import",{method:"POST",body:JSON.stringify(e)})}async function zw(e,t){const a=new URLSearchParams;t!=null&&t.category&&a.set("category",t.category),t!=null&&t.includeSuperseded&&a.set("includeSuperseded","true");const s=a.toString();return Ae(`/api/custom-agents/${encodeURIComponent(e)}/memories${s?`?${s}`:""}`)}async function $w(e,t,a){return Ae(`/api/custom-agents/${encodeURIComponent(e)}/memories/${encodeURIComponent(t)}`,{method:"PUT",body:JSON.stringify(a)})}async function qw(e,t){await Ae(`/api/custom-agents/${encodeURIComponent(e)}/memories/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Yw(e,t){return Ae(`/api/custom-agents/${encodeURIComponent(e)}/memories/extract`,{method:"POST",body:JSON.stringify({sessionIds:t})})}async function Gw(e){return Ae(`/api/custom-agents/${encodeURIComponent(e)}/sessions`)}async function Kw(e){return Pn(await Ae(`${Ge(e)}/custom-agents`))}async function Vw(e,t){return Ae(`${Ge(e)}/custom-agents`,{method:"POST",body:JSON.stringify(t)})}async function Xc(e){return Pn(await Ae(`${Ge(e)}/models`))}async function Xw(){return Pn(await Ae("/api/prompt-fragments"))}async function Qw(e){return Ae("/api/prompt-fragments",{method:"POST",body:JSON.stringify(e)})}async function Ww(e,t){return Ae(`/api/prompt-fragments/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})}async function Zw(e){await Ae(`/api/prompt-fragments/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Ax(e){return Pn(await Ae(`${Ge(e)}/tags`))}async function wx(e,t){return Pn(await Ae(`${Ge(e)}/milestones`))}async function Cx(e,t="open"){return Pn(await Ae(`${Ge(e)}/issues?state=${encodeURIComponent(t)}`),"issues")}async function Jw(e,t="all"){return Ae(`${Ge(e)}/issues/sync`,{method:"POST",body:JSON.stringify({state:t})})}async function eC(e,t,a){return Ae(`${Ge(e)}/issues`,{method:"POST",body:JSON.stringify({title:t,body:a})})}async function tC(e,t,a){await Ae(`${Ge(e)}/issues/${t}/children`,{method:"POST",body:JSON.stringify({childNumber:a})})}async function Cy(e,t,a){return Ae(`${Ge(e)}/issues/${t}`,{method:"PATCH",body:JSON.stringify(a)})}async function kx(e,t){return Pn(await Ae(`${Ge(e)}/issues/${t}/pulls`))}async function nC(e,t,a,s=!1){await Ae(`${Ge(e)}/issues/${t}/pulls/${a}/merge`,{method:"POST",body:JSON.stringify({closeIssue:s})})}async function Rx(e,t="open"){return Pn(await Ae(`${Ge(e)}/pulls?state=${encodeURIComponent(t)}`))}async function aC(e,t="all"){return Ae(`${Ge(e)}/pulls/sync`,{method:"POST",body:JSON.stringify({state:t})})}async function rC(e,t){await Ae(`${Ge(e)}/pulls/${t}/merge`,{method:"POST"})}async function ky(e,t){return Pn(await Ae(`${Ge(e)}/pulls/${t}/issues`))}async function sC(e,t,a){await Ae(`${Ge(e)}/pulls/${t}/issues`,{method:"POST",body:JSON.stringify({issueNumber:a})})}async function iC(e,t,a){await Ae(`${Ge(e)}/pulls/${t}/issues/${a}`,{method:"DELETE"})}async function lC(e,t){return Ae(`${Ge(e)}/pulls/${t}/comments`)}async function oC(e,t){return Ae(`${Ge(e)}/issues/${t}/comments`)}async function Ox(e,t,a){return Ae(`${Ge(e)}/issues/${t}/comments`,{method:"POST",body:JSON.stringify({body:a})})}async function uC(e,t,a){return Ae(`${Ge(e)}/issues/${t}/polish`,{method:"POST",body:JSON.stringify({draft:a})})}async function Ix(e,t){return Ae(`${Ge(e)}/issues/${t}/draft`)}async function cC(e,t,a){return Ae(`${Ge(e)}/issues/polish-create`,{method:"POST",body:JSON.stringify({title:t,body:a})})}async function Mx(e){return Ae(`${Ge(e)}/issues/draft-create`)}async function Dx(e){await Ae(`${Ge(e)}/issues/draft-create`,{method:"DELETE"})}async function dC(e,t,a){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify({title:a})})}async function fC(e,t,a){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify({completedAt:a})})}async function mC(){return Ae("/api/agents-md")}async function hC(e){await Ae("/api/agents-md",{method:"PUT",body:JSON.stringify({content:e})})}async function pC(e){return Ae(`/api/repos/${encodeURIComponent(e)}/agents-md`)}async function gC(e,t){await Ae(`/api/repos/${encodeURIComponent(e)}/agents-md`,{method:"PUT",body:JSON.stringify({content:t})})}function bC(e){return`${Ty()}${Ge(e)}/events`}async function xC(e){return Ae(`${Ge(e)}/sessions/status`)}async function Qc(){return Ae("/api/settings")}async function uh(e,t){await Ae(`/api/settings/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify({value:t})})}async function ch(){return Ae("/api/cloud/status")}async function EC(){return Ae("/api/cloud/reload",{method:"POST"})}async function yC(e){try{return(await Ae("/api/cloud/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:e})})).connected}catch{return!1}}async function NC(){return Pn(await Ae("/api/git-hosts"),"gitHosts")}async function TC(e,t,a,s="gitea"){return Ae("/api/git-hosts",{method:"POST",body:JSON.stringify({host:e,name:t,token:a,platform:s})})}async function _C(e){await Ae(`/api/git-hosts/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Ry(){return Ae("/api/usage")}async function Oy(e){return Ae("/api/usage/switch",{method:"POST",body:JSON.stringify({accountId:e})})}async function vC(e,t="ios"){await Ae("/api/push/register",{method:"POST",body:JSON.stringify({token:e,platform:t})})}const as="fs-active-repo",He=Za((e,t)=>({repos:[],activeRepoId:localStorage.getItem(as),loading:!1,loadError:null,loadRepos:async()=>{e({loading:!0,loadError:null});try{const a=await hw(),s=t().activeRepoId,o=s&&a.some(d=>d.id===s);e({repos:a,loading:!1,activeRepoId:o?s:a.length>0?a[0].id:null});const u=t().activeRepoId;u?localStorage.setItem(as,u):localStorage.removeItem(as)}catch(a){e({loading:!1,loadError:a instanceof Error?a.message:"Failed to load repos"})}},setActiveRepo:a=>{e({activeRepoId:a}),a?localStorage.setItem(as,a):localStorage.removeItem(as)},addRepo:async(a,s,o,u)=>{try{const d=await pw(a,s,o,u);return e(f=>({repos:[...f.repos,d],activeRepoId:d.id})),localStorage.setItem(as,d.id),d}catch(d){return e({loadError:d instanceof Error?d.message:"Failed to add repo"}),null}},removeRepo:async a=>{try{await bw(a)}catch{}e(s=>{const o=s.repos.filter(d=>d.id!==a),u=s.activeRepoId===a?o.length>0?o[0].id:null:s.activeRepoId;return u?localStorage.setItem(as,u):localStorage.removeItem(as),{repos:o,activeRepoId:u}})},updateRepoBranch:(a,s)=>{e(o=>({repos:o.repos.map(u=>u.id===a?{...u,branch:s}:u)}))}})),Ra=e=>{var t;return((t=e.repos.find(a=>a.id===e.activeRepoId))==null?void 0:t.name)??null},Tm="fs-nav-collapsed",_m="fs-session-panel-collapsed",_c=Za(e=>({navCollapsed:localStorage.getItem(Tm)==="true",sessionPanelCollapsed:localStorage.getItem(_m)==="true",toggleNav(){e(t=>{const a=!t.navCollapsed;return localStorage.setItem(Tm,String(a)),{navCollapsed:a}})},toggleSessionPanel(){e(t=>{const a=!t.sessionPanelCollapsed;return localStorage.setItem(_m,String(a)),{sessionPanelCollapsed:a}})},setNavCollapsed(t){localStorage.setItem(Tm,String(t)),e({navCollapsed:t})},setSessionPanelCollapsed(t){localStorage.setItem(_m,String(t)),e({sessionPanelCollapsed:t})}})),Iy=[{segment:"repos",icon:cy,label:"仓库管理",global:!0},{segment:"run",icon:Gc,label:"运行面板",global:!1},{segment:"issues",icon:bo,label:"Issues",global:!1},{segment:"pulls",icon:xo,label:"PRs",global:!1},{segment:"settings",icon:X3,label:"设置",global:!0}];function My(e,t,a){return t?`/${e}`:a?`/${encodeURIComponent(a)}/${e}`:`/${e}`}function SC(e){const t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function AC({repos:e,activeRepoId:t,onRepoChange:a}){const[s,o]=_.useState(!1),u=_.useRef(null),d=e.find(m=>m.id===t),f=_.useCallback(()=>o(!1),[]);return _.useEffect(()=>{if(!s)return;const m=h=>{u.current&&!u.current.contains(h.target)&&f()};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[s,f]),l.jsxs("div",{ref:u,className:"relative",children:[l.jsxs("button",{type:"button",onClick:()=>o(m=>!m),className:"flex max-w-[140px] items-center gap-1 rounded-md border border-line bg-base px-2 py-1 text-xs text-fg-2 transition-colors hover:border-blue-500 sm:max-w-[200px]",children:[l.jsx(cy,{className:"h-3 w-3 shrink-0 text-fg-4"}),l.jsxs("span",{className:"truncate",children:[l.jsx("span",{className:"sm:hidden",children:d?SC(d.name):""}),l.jsx("span",{className:"hidden sm:inline",children:(d==null?void 0:d.name)??""})]}),l.jsx(da,{className:oe("h-3 w-3 shrink-0 text-fg-4 transition-transform",s&&"rotate-180")})]}),s&&l.jsx("div",{className:"absolute left-0 top-full z-50 mt-1 w-64 overflow-hidden rounded-lg border border-line bg-surface shadow-lg",children:l.jsx("div",{className:"max-h-64 overflow-y-auto py-1",children:e.map(m=>l.jsxs("button",{type:"button",onClick:()=>{a(m.id),f()},className:oe("flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors",m.id===t?"font-medium text-blue-600":"text-fg-2 hover:bg-elevated"),children:[m.id===t?l.jsx(Bn,{className:"h-3 w-3 shrink-0"}):l.jsx("span",{className:"h-3 w-3 shrink-0"}),l.jsx("span",{className:"truncate",children:m.name})]},m.id))})})]})}function wC({repoId:e,currentBranch:t}){const a=He(A=>A.updateRepoBranch),[s,o]=_.useState(!1),[u,d]=_.useState(null),[f,m]=_.useState(!1),[h,b]=_.useState(null),[g,y]=_.useState(null),N=_.useRef(null),v=_.useCallback(()=>{o(!1),y(null)},[]);_.useEffect(()=>{if(!s)return;const A=R=>{N.current&&!N.current.contains(R.target)&&v()};return document.addEventListener("mousedown",A),()=>document.removeEventListener("mousedown",A)},[s,v]);const S=async()=>{if(s){v();return}o(!0),m(!0),y(null);try{d(await yw(e))}catch{y("加载分支失败")}finally{m(!1)}},w=async A=>{if(!(A===t||h)){b(A),y(null);try{const R=await Nw(e,A);a(e,R.branch),v()}catch(R){y(R instanceof Error?R.message:"切换失败")}finally{b(null)}}};return t?l.jsxs("div",{ref:N,className:"relative",children:[l.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:[l.jsx(qs,{className:"h-3 w-3"}),t,l.jsx(da,{className:oe("h-3 w-3 transition-transform",s&&"rotate-180")})]}),s&&l.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?l.jsx("div",{className:"flex items-center justify-center py-4",children:l.jsx(dn,{className:"h-4 w-4 animate-spin text-fg-4"})}):u?l.jsxs("div",{className:"max-h-64 overflow-y-auto py-1",children:[u.local.map(A=>l.jsxs("button",{type:"button",disabled:h!==null,onClick:()=>w(A),className:oe("flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors",A===t?"font-medium text-blue-600":"text-fg-2 hover:bg-elevated"),children:[A===t?l.jsx(Bn,{className:"h-3 w-3 shrink-0"}):h===A?l.jsx(dn,{className:"h-3 w-3 shrink-0 animate-spin"}):l.jsx("span",{className:"h-3 w-3 shrink-0"}),l.jsx("span",{className:"truncate",children:A})]},A)),u.remote.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mx-3 my-1 border-t border-line"}),l.jsx("div",{className:"px-3 py-1 text-[10px] font-medium uppercase tracking-wider text-fg-4",children:"Remote"}),u.remote.map(A=>l.jsxs("button",{type:"button",disabled:h!==null,onClick:()=>w(A),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===A?l.jsx(dn,{className:"h-3 w-3 shrink-0 animate-spin"}):l.jsx("span",{className:"h-3 w-3 shrink-0"}),l.jsx("span",{className:"truncate",children:A})]},`remote-${A}`))]})]}):null,g&&l.jsx("div",{className:"border-t border-line px-3 py-2 text-xs text-red-500",children:g})]})]}):null}function CC(){const[e,t]=_.useState(null);return _.useEffect(()=>{const a=()=>fetch("/api/health").then(u=>u.json()).then(u=>{u.latestVersion&&u.latestVersion!=="0.10.1"&&t(u.latestVersion)}).catch(()=>{});a();const s=setInterval(a,30*6e4),o=()=>a();return window.addEventListener("focus",o),()=>{clearInterval(s),window.removeEventListener("focus",o)}},[]),e}function kC(){const e=pa(),t=ha(),a=He(g=>g.repos),s=He(g=>g.activeRepoId),o=He(g=>g.setActiveRepo),u=lh(g=>g.preference),d=lh(g=>g.cycle),f=u==="light"?J3:u==="dark"?I3:R3,m=a.find(g=>g.id===s),h=CC(),b=g=>{var v;if(!g)return;o(g);const y=a.find(S=>S.id===g);if(!y)return;const N=((v=t.pathname.match(/\/(run|issues|pulls)/))==null?void 0:v[1])??"run";e(`/${encodeURIComponent(y.name)}/${N}`)};return l.jsxs("header",{className:"shrink-0 border-b border-line bg-surface pt-[var(--safe-top)]",children:[l.jsxs("div",{className:"flex h-12 items-center justify-between px-4",children:[l.jsxs("div",{className:"flex items-center gap-2.5",children:[l.jsx(Vc,{className:"h-5 w-5 text-blue-500"}),l.jsx("span",{className:"hidden text-sm font-bold tracking-tight text-fg sm:inline",children:"Fourth Spark"}),l.jsxs("span",{className:"hidden rounded bg-elevated px-1.5 py-0.5 text-[10px] font-medium tabular-nums text-fg-4 sm:inline",children:["v","0.10.1"]}),h&&l.jsxs("span",{className:"hidden text-[10px] text-amber-500 sm:inline",children:["→ v",h," 可用,运行 ",l.jsx("code",{className:"rounded bg-amber-500/10 px-1 font-mono",children:"fourth-spark upgrade"})," 更新"]})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[a.length>0&&l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(AC,{repos:a,activeRepoId:s,onRepoChange:b}),m&&s&&l.jsx(wC,{repoId:s,currentBranch:m.branch})]}),l.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:l.jsx("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"currentColor",children:l.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"})})}),l.jsx("button",{type:"button",onClick:d,"aria-label":`主题: ${u}`,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:l.jsx(f,{className:"h-4 w-4"})})]})]}),h&&l.jsx("div",{className:"border-t border-line px-4 py-1.5 sm:hidden",children:l.jsxs("span",{className:"text-[10px] text-amber-500",children:["→ v",h," 可用,运行 ",l.jsx("code",{className:"rounded bg-amber-500/10 px-1 font-mono",children:"fourth-spark upgrade"})," 更新"]})})]})}function RC(){const e=He(Ra),t=_c(s=>s.navCollapsed),a=_c(s=>s.toggleNav);return l.jsxs("nav",{className:oe("hidden shrink-0 flex-col border-r border-line bg-surface py-2 transition-[width] duration-200 ease-in-out md:flex",t?"w-14":"w-48"),children:[l.jsx("div",{className:"flex flex-1 flex-col",children:Iy.map(s=>l.jsxs(qh,{to:My(s.segment,s.global,e),title:t?s.label:void 0,className:({isActive:o})=>oe("mx-2 flex items-center rounded-md py-2 text-sm transition-colors",t?"justify-center px-2":"gap-2.5 px-3",o?"bg-blue-500/10 font-medium text-blue-600":"text-fg-3 hover:bg-elevated hover:text-fg"),children:[l.jsx(s.icon,{className:"h-4 w-4 shrink-0"}),l.jsx("span",{className:oe("truncate transition-[opacity,max-width] duration-200 ease-in-out",t?"max-w-0 opacity-0":"max-w-[8rem] opacity-100"),children:s.label})]},s.segment))}),l.jsx("button",{type:"button",onClick:a,title:t?"展开导航":"收起导航",className:"mx-2 flex items-center justify-center rounded-md py-2 text-fg-4 transition-colors hover:bg-elevated hover:text-fg-2",children:t?l.jsx(RA,{className:"h-4 w-4"}):l.jsx(CA,{className:"h-4 w-4"})})]})}function OC(){const e=He(Ra);return l.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:l.jsx("div",{className:"flex h-14 items-center justify-around",children:Iy.map(t=>l.jsx(qh,{to:My(t.segment,t.global,e),"aria-label":t.label,className:({isActive:a})=>oe("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:l.jsx(t.icon,{className:"h-5 w-5 shrink-0"})},t.segment))})})}function IC(){return l.jsxs("div",{className:"flex h-full flex-col overflow-hidden bg-base text-fg",children:[l.jsx(kC,{}),l.jsxs("div",{className:"flex min-h-0 flex-1",children:[l.jsx(RC,{}),l.jsx("main",{className:"flex min-w-0 flex-1 flex-col overflow-hidden pb-[calc(3.5rem_+_var(--safe-bottom))] md:pb-0",children:l.jsx(yS,{})})]}),l.jsx(OC,{})]})}let MC=0;const Ut=Za(e=>({toasts:[],addToast:(t,a="info",s,o)=>{const u=(o==null?void 0:o.id)??`toast-${++MC}-${Date.now()}`;e(d=>d.toasts.some(f=>f.id===u)?d:{toasts:[...d.toasts,{id:u,message:t,variant:a,sessionId:s,persistent:o==null?void 0:o.persistent}]}),o!=null&&o.persistent||setTimeout(()=>{e(d=>({toasts:d.toasts.filter(f=>f.id!==u)}))},4e3)},removeToast:t=>{e(a=>({toasts:a.toasts.filter(s=>s.id!==t)}))}}));function DC({onClose:e}){const[t,a]=_.useState(""),[s,o]=_.useState(""),[u,d]=_.useState(""),[f,m]=_.useState("opencode"),[h,b]=_.useState(!1),[g,y]=_.useState(""),N=He(R=>R.addRepo),v=s.trim()!==""&&u.trim()!==""&&t.trim()!==""&&!h,S=async R=>{const I=R.trim();if(I){b(!0),y("");try{const Y=await gw(I);Y.name&&!s.trim()&&o(Y.name),Y.gitUrl&&!u.trim()&&d(Y.gitUrl)}catch(Y){const B=Y instanceof Error?Y.message:"无法解析路径";try{const C=JSON.parse(B);y(C.error??B)}catch{y(B)}}b(!1)}},w=_.useRef(S);w.current=S,_.useEffect(()=>{const R=t.trim();if(!R)return;const I=setTimeout(()=>{w.current(R)},500);return()=>clearTimeout(I)},[t]);const A=async()=>{if(!v)return;y(""),await N(s.trim(),u.trim(),t.trim(),f)&&e()};return l.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:e,children:l.jsxs("div",{className:"w-full max-w-md rounded-xl border border-line bg-surface p-6 shadow-2xl",onClick:R=>R.stopPropagation(),children:[l.jsxs("div",{className:"mb-5 flex items-center justify-between",children:[l.jsx("h2",{className:"text-base font-semibold text-fg",children:"添加仓库"}),l.jsx("button",{type:"button",onClick:e,className:"rounded-md p-1 text-fg-4 hover:bg-elevated hover:text-fg-2",children:l.jsx(xt,{className:"h-4 w-4"})})]}),l.jsxs("div",{className:"flex flex-col gap-4",children:[l.jsxs("div",{className:"flex flex-col gap-1.5",children:[l.jsx("label",{htmlFor:"m-path",className:"text-xs font-medium text-fg-3",children:"本地路径"}),l.jsx("input",{id:"m-path",value:t,onChange:R=>a(R.target.value),onBlur:R=>void S(R.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"}),l.jsx("span",{className:"text-[11px] text-fg-5",children:h?"正在读取 Git 信息…":"输入路径后自动读取仓库信息"})]}),l.jsxs("div",{className:"flex flex-col gap-1.5",children:[l.jsx("label",{htmlFor:"m-name",className:"text-xs font-medium text-fg-3",children:"名称"}),l.jsx("input",{id:"m-name",value:s,onChange:R=>o(R.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"})]}),l.jsxs("div",{className:"flex flex-col gap-1.5",children:[l.jsx("label",{htmlFor:"m-git",className:"text-xs font-medium text-fg-3",children:"Git 远程地址"}),l.jsx("input",{id:"m-git",value:u,onChange:R=>d(R.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"})]}),l.jsxs("div",{className:"flex flex-col gap-1.5",children:[l.jsx("label",{className:"text-xs font-medium text-fg-3",children:"运行时"}),l.jsx("div",{className:"flex gap-2",children:[{value:"opencode",label:"OpenCode"},{value:"claude-code",label:"Claude Code"}].map(R=>l.jsx("button",{type:"button",onClick:()=>m(R.value),className:`flex-1 rounded-lg border px-3 py-2 text-sm font-medium transition-colors ${f===R.value?"border-blue-500 bg-blue-500/10 text-blue-600":"border-line bg-base text-fg-4 hover:bg-elevated hover:text-fg-2"}`,children:R.label},R.value))}),l.jsx("span",{className:"text-[11px] text-fg-5",children:f==="claude-code"?"需要本地安装 Claude Code CLI":"需要本地安装 OpenCode CLI"})]}),g&&l.jsx("p",{className:"rounded-md bg-red-500/10 px-3 py-2 text-xs text-red-500",children:g}),l.jsxs("div",{className:"mt-1 flex items-center justify-end gap-2",children:[l.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:"取消"}),l.jsx("button",{type:"button",onClick:A,disabled:!v,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 LC({repoId:e,repoName:t,onClose:a}){const[s,o]=_.useState(""),[u,d]=_.useState(""),[f,m]=_.useState(!0),[h,b]=_.useState(!1),[g,y]=_.useState(null);_.useEffect(()=>{pC(e).then(S=>{o(S.content),d(S.content),m(!1)}).catch(S=>{y(S instanceof Error?S.message:String(S)),m(!1)})},[e]);const N=async()=>{b(!0),y(null);try{await gC(e,s),d(s)}catch(S){y(S instanceof Error?S.message:String(S))}b(!1)},v=s!==u;return l.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:a,children:l.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:[l.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsxs("h2",{className:"text-base font-semibold text-fg",children:[t," — AGENTS.md"]}),l.jsx("p",{className:"mt-0.5 text-xs text-fg-4",children:"仅对此仓库生效,修改后 opencode 热加载即时生效。"})]}),l.jsx("button",{type:"button",onClick:a,className:"shrink-0 rounded-md p-1 text-fg-4 hover:bg-elevated hover:text-fg-2",children:l.jsx(xt,{className:"h-4 w-4"})})]}),g&&l.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:[l.jsx(Cn,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),l.jsx("span",{className:"min-w-0 break-words",children:g})]}),f?l.jsxs("div",{className:"flex flex-col items-center gap-2.5 py-16 text-fg-5",children:[l.jsx(dn,{className:"h-5 w-5 fs-spin"}),l.jsx("p",{className:"text-xs",children:"加载中…"})]}):l.jsx("textarea",{value:s,onChange:S=>o(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
|
|
465
|
+
*/const uw=[["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"}]],Vc=ke("zap",uw);function Ey(e){var t,a,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(a=Ey(e[t]))&&(s&&(s+=" "),s+=a)}else for(a in e)e[a]&&(s&&(s+=" "),s+=a);return s}function oe(){for(var e,t,a=0,s="",o=arguments.length;a<o;a++)(e=arguments[a])&&(t=Ey(e))&&(s&&(s+=" "),s+=t);return s}const xx=e=>{let t;const a=new Set,s=(h,b)=>{const g=typeof h=="function"?h(t):h;if(!Object.is(g,t)){const y=t;t=b??(typeof g!="object"||g===null)?g:Object.assign({},t,g),a.forEach(N=>N(t,y))}},o=()=>t,f={setState:s,getState:o,getInitialState:()=>m,subscribe:h=>(a.add(h),()=>a.delete(h))},m=t=e(s,o,f);return f},cw=(e=>e?xx(e):xx),dw=e=>e;function fw(e,t=dw){const a=Zu.useSyncExternalStore(e.subscribe,Zu.useCallback(()=>t(e.getState()),[e,t]),Zu.useCallback(()=>t(e.getInitialState()),[e,t]));return Zu.useDebugValue(a),a}const Ex=e=>{const t=cw(e),a=s=>fw(t,s);return Object.assign(a,t),a},Za=(e=>e?Ex(e):Ex),Nm="fs-theme";function yy(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function yx(e){return e==="system"?yy():e}function Nx(e){e==="system"?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme",e)}const lh=Za((e,t)=>({preference:localStorage.getItem(Nm)??"system",resolved:yx(localStorage.getItem(Nm)??"system"),setPreference(a){const s=yx(a);localStorage.setItem(Nm,a),Nx(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(){Nx(t().preference);const a=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>{const{preference:o}=t();if(o==="system"){const u=yy();e({resolved:u})}};return a.addEventListener("change",s),()=>a.removeEventListener("change",s)}})),Tc="fourth-spark-server-url";function Ny(){if(typeof window>"u")return!1;const t=window.Capacitor;return typeof(t==null?void 0:t.isNativePlatform)=="function"&&t.isNativePlatform()}function Ty(){return localStorage.getItem(Tc)??""}function mw(e){const t=e.replace(/\/+$/,"");t?localStorage.setItem(Tc,t):localStorage.removeItem(Tc)}function oh(){return localStorage.getItem(Tc)??""}class Wa extends Error{constructor(a,s){super(a);ln(this,"status");this.name="ApiError",this.status=s}}async function Ae(e,t){let a;try{a=await fetch(Ty()+e,{...t,headers:{Accept:"application/json",...t!=null&&t.body?{"Content-Type":"application/json"}:{},...t==null?void 0:t.headers}})}catch(o){throw new Wa(o instanceof Error?o.message:"Network request failed",0)}if(!a.ok){const o=await a.text().catch(()=>"");throw new Wa(o.trim()||`${a.status} ${a.statusText}`,a.status)}if(a.status===204)return;const s=await a.text();if(s)return JSON.parse(s)}function Pn(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 hw(){return Pn(await Ae("/api/repos"),"repos")}async function pw(e,t,a,s){return Ae("/api/repos",{method:"POST",body:JSON.stringify({name:e,gitUrl:t,localPath:a,runtimeType:s})})}async function gw(e){return Ae("/api/repos/resolve",{method:"POST",body:JSON.stringify({localPath:e})})}async function bw(e){await Ae(`/api/repos/${encodeURIComponent(e)}`,{method:"DELETE"})}async function xw(e){await Ae(`/api/repos/${encodeURIComponent(e)}/start`,{method:"POST"})}async function Ew(e){await Ae(`/api/repos/${encodeURIComponent(e)}/stop`,{method:"POST"})}async function yw(e){return Ae(`/api/repos/${encodeURIComponent(e)}/branches`)}async function Nw(e,t){return Ae(`/api/repos/${encodeURIComponent(e)}/checkout`,{method:"POST",body:JSON.stringify({branch:t})})}async function Tw(e){return Ae(`/api/repos/${encodeURIComponent(e)}/pull`,{method:"POST"})}function Ge(e){return`/api/repos/${encodeURIComponent(e)}`}async function _w(e){return Pn(await Ae(`${Ge(e)}/workspaces`),"workspaces")}async function vw(e,t){await Ae(`${Ge(e)}/workspaces/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Sw(e){return Ae(`${Ge(e)}/workspaces/cleanup`,{method:"POST"})}async function Aw(e,t){await Ae(`/api/repos/${e}/worktree`,{method:"PATCH",body:JSON.stringify({enabled:t})})}async function ww(e,t){await Ae(`/api/repos/${e}/runtime`,{method:"PATCH",body:JSON.stringify({runtimeType:t})})}async function Cw(e){return Pn(await Ae(`${Ge(e)}/sessions`),"sessions")}async function kw(e,t,a,s,o,u,d,f){return Ae(`${Ge(e)}/sessions`,{method:"POST",body:JSON.stringify({message:t,agent:a,model:s,variant:o,issueId:u,customAgentId:d,files:f})})}async function Rw(e,t){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Ow(e,t,a,s,o,u){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/prompt`,{method:"POST",body:JSON.stringify({content:a,agent:s,model:o,files:u})})}async function Iw(e,t){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/abort`,{method:"POST"})}async function Mw(e,t,a){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/questions/reply`,{method:"POST",body:JSON.stringify({answers:a})})}async function Dw(e,t){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/questions/reject`,{method:"POST"})}async function Lw(e,t,a){return Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/revert`,{method:"POST",body:JSON.stringify({messageID:a})})}function Tx(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 _x(e,t,a){const s=new URLSearchParams;a!=null&&a.limit&&s.set("limit",String(a.limit)),a!=null&&a.before&&s.set("before",a.before);const o=s.toString(),u=`${Ge(e)}/sessions/${encodeURIComponent(t)}/messages${o?`?${o}`:""}`,d=await Ae(u);if(Array.isArray(d)){const h=d.map(Tx);return{messages:h,total:h.length,hasMore:!1}}const f=d,m=Array.isArray(f.messages)?f.messages:[];return{messages:m.map(Tx),total:f.total??m.length,hasMore:f.hasMore??!1}}async function _y(e,t){return Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/status`)}async function jw(e,t){return Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/links`)}async function Bw(e,t){return Ae(`${Ge(e)}/sessions/snapshot/${encodeURIComponent(t)}`)}async function vx(e){return Ae(`${Ge(e)}/sessions/all-links`)}async function Pw(e,t,a,s){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/links`,{method:"POST",body:JSON.stringify({type:a,targetId:s})})}async function Uw(e,t,a,s){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}/links`,{method:"DELETE",body:JSON.stringify({type:a,targetId:s})})}async function Hw(e){return Pn(await Ae(`${Ge(e)}/agents`),"agents")}async function vy(){return Pn(await Ae("/api/custom-agents"))}async function Sy(e){return Ae("/api/custom-agents",{method:"POST",body:JSON.stringify(e)})}async function Ay(e,t){return Ae(`/api/custom-agents/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})}async function wy(e){await Ae(`/api/custom-agents/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Sx(e){return Ae(`/api/custom-agents/${encodeURIComponent(e)}/export`)}async function Fw(e){return Ae("/api/custom-agents/import",{method:"POST",body:JSON.stringify(e)})}async function zw(e,t){const a=new URLSearchParams;t!=null&&t.category&&a.set("category",t.category),t!=null&&t.includeSuperseded&&a.set("includeSuperseded","true");const s=a.toString();return Ae(`/api/custom-agents/${encodeURIComponent(e)}/memories${s?`?${s}`:""}`)}async function $w(e,t,a){return Ae(`/api/custom-agents/${encodeURIComponent(e)}/memories/${encodeURIComponent(t)}`,{method:"PUT",body:JSON.stringify(a)})}async function qw(e,t){await Ae(`/api/custom-agents/${encodeURIComponent(e)}/memories/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Yw(e,t){return Ae(`/api/custom-agents/${encodeURIComponent(e)}/memories/extract`,{method:"POST",body:JSON.stringify({sessionIds:t})})}async function Gw(e){return Ae(`/api/custom-agents/${encodeURIComponent(e)}/sessions`)}async function Kw(e){return Pn(await Ae(`${Ge(e)}/custom-agents`))}async function Vw(e,t){return Ae(`${Ge(e)}/custom-agents`,{method:"POST",body:JSON.stringify(t)})}async function Xc(e){return Pn(await Ae(`${Ge(e)}/models`))}async function Xw(){return Pn(await Ae("/api/prompt-fragments"))}async function Qw(e){return Ae("/api/prompt-fragments",{method:"POST",body:JSON.stringify(e)})}async function Ww(e,t){return Ae(`/api/prompt-fragments/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})}async function Zw(e){await Ae(`/api/prompt-fragments/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Ax(e){return Pn(await Ae(`${Ge(e)}/tags`))}async function wx(e,t){return Pn(await Ae(`${Ge(e)}/milestones`))}async function Cx(e,t="open"){return Pn(await Ae(`${Ge(e)}/issues?state=${encodeURIComponent(t)}`),"issues")}async function Jw(e,t="all"){return Ae(`${Ge(e)}/issues/sync`,{method:"POST",body:JSON.stringify({state:t})})}async function eC(e,t,a){return Ae(`${Ge(e)}/issues`,{method:"POST",body:JSON.stringify({title:t,body:a})})}async function tC(e,t,a){await Ae(`${Ge(e)}/issues/${t}/children`,{method:"POST",body:JSON.stringify({childNumber:a})})}async function Cy(e,t,a){return Ae(`${Ge(e)}/issues/${t}`,{method:"PATCH",body:JSON.stringify(a)})}async function kx(e,t){return Pn(await Ae(`${Ge(e)}/issues/${t}/pulls`))}async function nC(e,t,a,s=!1){await Ae(`${Ge(e)}/issues/${t}/pulls/${a}/merge`,{method:"POST",body:JSON.stringify({closeIssue:s})})}async function Rx(e,t="open"){return Pn(await Ae(`${Ge(e)}/pulls?state=${encodeURIComponent(t)}`))}async function aC(e,t="all"){return Ae(`${Ge(e)}/pulls/sync`,{method:"POST",body:JSON.stringify({state:t})})}async function rC(e,t){await Ae(`${Ge(e)}/pulls/${t}/merge`,{method:"POST"})}async function ky(e,t){return Pn(await Ae(`${Ge(e)}/pulls/${t}/issues`))}async function sC(e,t,a){await Ae(`${Ge(e)}/pulls/${t}/issues`,{method:"POST",body:JSON.stringify({issueNumber:a})})}async function iC(e,t,a){await Ae(`${Ge(e)}/pulls/${t}/issues/${a}`,{method:"DELETE"})}async function lC(e,t){return Ae(`${Ge(e)}/pulls/${t}/comments`)}async function oC(e,t){return Ae(`${Ge(e)}/issues/${t}/comments`)}async function Ox(e,t,a){return Ae(`${Ge(e)}/issues/${t}/comments`,{method:"POST",body:JSON.stringify({body:a})})}async function uC(e,t,a){return Ae(`${Ge(e)}/issues/${t}/polish`,{method:"POST",body:JSON.stringify({draft:a})})}async function Ix(e,t){return Ae(`${Ge(e)}/issues/${t}/draft`)}async function cC(e,t,a){return Ae(`${Ge(e)}/issues/polish-create`,{method:"POST",body:JSON.stringify({title:t,body:a})})}async function Mx(e){return Ae(`${Ge(e)}/issues/draft-create`)}async function Dx(e){await Ae(`${Ge(e)}/issues/draft-create`,{method:"DELETE"})}async function dC(e,t,a){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify({title:a})})}async function fC(e,t,a){await Ae(`${Ge(e)}/sessions/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify({completedAt:a})})}async function mC(){return Ae("/api/agents-md")}async function hC(e){await Ae("/api/agents-md",{method:"PUT",body:JSON.stringify({content:e})})}async function pC(e){return Ae(`/api/repos/${encodeURIComponent(e)}/agents-md`)}async function gC(e,t){await Ae(`/api/repos/${encodeURIComponent(e)}/agents-md`,{method:"PUT",body:JSON.stringify({content:t})})}function bC(e){return`${Ty()}${Ge(e)}/events`}async function xC(e){return Ae(`${Ge(e)}/sessions/status`)}async function Qc(){return Ae("/api/settings")}async function uh(e,t){await Ae(`/api/settings/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify({value:t})})}async function ch(){return Ae("/api/cloud/status")}async function EC(){return Ae("/api/cloud/reload",{method:"POST"})}async function yC(e){try{return(await Ae("/api/cloud/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:e})})).connected}catch{return!1}}async function NC(){return Pn(await Ae("/api/git-hosts"),"gitHosts")}async function TC(e,t,a,s="gitea"){return Ae("/api/git-hosts",{method:"POST",body:JSON.stringify({host:e,name:t,token:a,platform:s})})}async function _C(e){await Ae(`/api/git-hosts/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Ry(){return Ae("/api/usage")}async function Oy(e){return Ae("/api/usage/switch",{method:"POST",body:JSON.stringify({accountId:e})})}async function vC(e,t="ios"){await Ae("/api/push/register",{method:"POST",body:JSON.stringify({token:e,platform:t})})}const as="fs-active-repo",He=Za((e,t)=>({repos:[],activeRepoId:localStorage.getItem(as),loading:!1,loadError:null,loadRepos:async()=>{e({loading:!0,loadError:null});try{const a=await hw(),s=t().activeRepoId,o=s&&a.some(d=>d.id===s);e({repos:a,loading:!1,activeRepoId:o?s:a.length>0?a[0].id:null});const u=t().activeRepoId;u?localStorage.setItem(as,u):localStorage.removeItem(as)}catch(a){e({loading:!1,loadError:a instanceof Error?a.message:"Failed to load repos"})}},setActiveRepo:a=>{e({activeRepoId:a}),a?localStorage.setItem(as,a):localStorage.removeItem(as)},addRepo:async(a,s,o,u)=>{try{const d=await pw(a,s,o,u);return e(f=>({repos:[...f.repos,d],activeRepoId:d.id})),localStorage.setItem(as,d.id),d}catch(d){return e({loadError:d instanceof Error?d.message:"Failed to add repo"}),null}},removeRepo:async a=>{try{await bw(a)}catch{}e(s=>{const o=s.repos.filter(d=>d.id!==a),u=s.activeRepoId===a?o.length>0?o[0].id:null:s.activeRepoId;return u?localStorage.setItem(as,u):localStorage.removeItem(as),{repos:o,activeRepoId:u}})},updateRepoBranch:(a,s)=>{e(o=>({repos:o.repos.map(u=>u.id===a?{...u,branch:s}:u)}))}})),Ra=e=>{var t;return((t=e.repos.find(a=>a.id===e.activeRepoId))==null?void 0:t.name)??null},Tm="fs-nav-collapsed",_m="fs-session-panel-collapsed",_c=Za(e=>({navCollapsed:localStorage.getItem(Tm)==="true",sessionPanelCollapsed:localStorage.getItem(_m)==="true",toggleNav(){e(t=>{const a=!t.navCollapsed;return localStorage.setItem(Tm,String(a)),{navCollapsed:a}})},toggleSessionPanel(){e(t=>{const a=!t.sessionPanelCollapsed;return localStorage.setItem(_m,String(a)),{sessionPanelCollapsed:a}})},setNavCollapsed(t){localStorage.setItem(Tm,String(t)),e({navCollapsed:t})},setSessionPanelCollapsed(t){localStorage.setItem(_m,String(t)),e({sessionPanelCollapsed:t})}})),Iy=[{segment:"repos",icon:cy,label:"仓库管理",global:!0},{segment:"run",icon:Gc,label:"运行面板",global:!1},{segment:"issues",icon:bo,label:"Issues",global:!1},{segment:"pulls",icon:xo,label:"PRs",global:!1},{segment:"settings",icon:X3,label:"设置",global:!0}];function My(e,t,a){return t?`/${e}`:a?`/${encodeURIComponent(a)}/${e}`:`/${e}`}function SC(e){const t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function AC({repos:e,activeRepoId:t,onRepoChange:a}){const[s,o]=_.useState(!1),u=_.useRef(null),d=e.find(m=>m.id===t),f=_.useCallback(()=>o(!1),[]);return _.useEffect(()=>{if(!s)return;const m=h=>{u.current&&!u.current.contains(h.target)&&f()};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[s,f]),l.jsxs("div",{ref:u,className:"relative",children:[l.jsxs("button",{type:"button",onClick:()=>o(m=>!m),className:"flex max-w-[140px] items-center gap-1 rounded-md border border-line bg-base px-2 py-1 text-xs text-fg-2 transition-colors hover:border-blue-500 sm:max-w-[200px]",children:[l.jsx(cy,{className:"h-3 w-3 shrink-0 text-fg-4"}),l.jsxs("span",{className:"truncate",children:[l.jsx("span",{className:"sm:hidden",children:d?SC(d.name):""}),l.jsx("span",{className:"hidden sm:inline",children:(d==null?void 0:d.name)??""})]}),l.jsx(da,{className:oe("h-3 w-3 shrink-0 text-fg-4 transition-transform",s&&"rotate-180")})]}),s&&l.jsx("div",{className:"absolute left-0 top-full z-50 mt-1 w-64 overflow-hidden rounded-lg border border-line bg-surface shadow-lg",children:l.jsx("div",{className:"max-h-64 overflow-y-auto py-1",children:e.map(m=>l.jsxs("button",{type:"button",onClick:()=>{a(m.id),f()},className:oe("flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors",m.id===t?"font-medium text-blue-600":"text-fg-2 hover:bg-elevated"),children:[m.id===t?l.jsx(Bn,{className:"h-3 w-3 shrink-0"}):l.jsx("span",{className:"h-3 w-3 shrink-0"}),l.jsx("span",{className:"truncate",children:m.name})]},m.id))})})]})}function wC({repoId:e,currentBranch:t}){const a=He(A=>A.updateRepoBranch),[s,o]=_.useState(!1),[u,d]=_.useState(null),[f,m]=_.useState(!1),[h,b]=_.useState(null),[g,y]=_.useState(null),N=_.useRef(null),v=_.useCallback(()=>{o(!1),y(null)},[]);_.useEffect(()=>{if(!s)return;const A=R=>{N.current&&!N.current.contains(R.target)&&v()};return document.addEventListener("mousedown",A),()=>document.removeEventListener("mousedown",A)},[s,v]);const S=async()=>{if(s){v();return}o(!0),m(!0),y(null);try{d(await yw(e))}catch{y("加载分支失败")}finally{m(!1)}},w=async A=>{if(!(A===t||h)){b(A),y(null);try{const R=await Nw(e,A);a(e,R.branch),v()}catch(R){y(R instanceof Error?R.message:"切换失败")}finally{b(null)}}};return t?l.jsxs("div",{ref:N,className:"relative",children:[l.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:[l.jsx(qs,{className:"h-3 w-3"}),t,l.jsx(da,{className:oe("h-3 w-3 transition-transform",s&&"rotate-180")})]}),s&&l.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?l.jsx("div",{className:"flex items-center justify-center py-4",children:l.jsx(dn,{className:"h-4 w-4 animate-spin text-fg-4"})}):u?l.jsxs("div",{className:"max-h-64 overflow-y-auto py-1",children:[u.local.map(A=>l.jsxs("button",{type:"button",disabled:h!==null,onClick:()=>w(A),className:oe("flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors",A===t?"font-medium text-blue-600":"text-fg-2 hover:bg-elevated"),children:[A===t?l.jsx(Bn,{className:"h-3 w-3 shrink-0"}):h===A?l.jsx(dn,{className:"h-3 w-3 shrink-0 animate-spin"}):l.jsx("span",{className:"h-3 w-3 shrink-0"}),l.jsx("span",{className:"truncate",children:A})]},A)),u.remote.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mx-3 my-1 border-t border-line"}),l.jsx("div",{className:"px-3 py-1 text-[10px] font-medium uppercase tracking-wider text-fg-4",children:"Remote"}),u.remote.map(A=>l.jsxs("button",{type:"button",disabled:h!==null,onClick:()=>w(A),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===A?l.jsx(dn,{className:"h-3 w-3 shrink-0 animate-spin"}):l.jsx("span",{className:"h-3 w-3 shrink-0"}),l.jsx("span",{className:"truncate",children:A})]},`remote-${A}`))]})]}):null,g&&l.jsx("div",{className:"border-t border-line px-3 py-2 text-xs text-red-500",children:g})]})]}):null}function CC(){const[e,t]=_.useState(null);return _.useEffect(()=>{const a=()=>fetch("/api/health").then(u=>u.json()).then(u=>{u.latestVersion&&u.latestVersion!=="0.10.2"&&t(u.latestVersion)}).catch(()=>{});a();const s=setInterval(a,30*6e4),o=()=>a();return window.addEventListener("focus",o),()=>{clearInterval(s),window.removeEventListener("focus",o)}},[]),e}function kC(){const e=pa(),t=ha(),a=He(g=>g.repos),s=He(g=>g.activeRepoId),o=He(g=>g.setActiveRepo),u=lh(g=>g.preference),d=lh(g=>g.cycle),f=u==="light"?J3:u==="dark"?I3:R3,m=a.find(g=>g.id===s),h=CC(),b=g=>{var v;if(!g)return;o(g);const y=a.find(S=>S.id===g);if(!y)return;const N=((v=t.pathname.match(/\/(run|issues|pulls)/))==null?void 0:v[1])??"run";e(`/${encodeURIComponent(y.name)}/${N}`)};return l.jsxs("header",{className:"shrink-0 border-b border-line bg-surface pt-[var(--safe-top)]",children:[l.jsxs("div",{className:"flex h-12 items-center justify-between px-4",children:[l.jsxs("div",{className:"flex items-center gap-2.5",children:[l.jsx(Vc,{className:"h-5 w-5 text-blue-500"}),l.jsx("span",{className:"hidden text-sm font-bold tracking-tight text-fg sm:inline",children:"Fourth Spark"}),l.jsxs("span",{className:"hidden rounded bg-elevated px-1.5 py-0.5 text-[10px] font-medium tabular-nums text-fg-4 sm:inline",children:["v","0.10.2"]}),h&&l.jsxs("span",{className:"hidden text-[10px] text-amber-500 sm:inline",children:["→ v",h," 可用,运行 ",l.jsx("code",{className:"rounded bg-amber-500/10 px-1 font-mono",children:"fourth-spark upgrade"})," 更新"]})]}),l.jsxs("div",{className:"flex items-center gap-3",children:[a.length>0&&l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(AC,{repos:a,activeRepoId:s,onRepoChange:b}),m&&s&&l.jsx(wC,{repoId:s,currentBranch:m.branch})]}),l.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:l.jsx("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"currentColor",children:l.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"})})}),l.jsx("button",{type:"button",onClick:d,"aria-label":`主题: ${u}`,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:l.jsx(f,{className:"h-4 w-4"})})]})]}),h&&l.jsx("div",{className:"border-t border-line px-4 py-1.5 sm:hidden",children:l.jsxs("span",{className:"text-[10px] text-amber-500",children:["→ v",h," 可用,运行 ",l.jsx("code",{className:"rounded bg-amber-500/10 px-1 font-mono",children:"fourth-spark upgrade"})," 更新"]})})]})}function RC(){const e=He(Ra),t=_c(s=>s.navCollapsed),a=_c(s=>s.toggleNav);return l.jsxs("nav",{className:oe("hidden shrink-0 flex-col border-r border-line bg-surface py-2 transition-[width] duration-200 ease-in-out md:flex",t?"w-14":"w-48"),children:[l.jsx("div",{className:"flex flex-1 flex-col",children:Iy.map(s=>l.jsxs(qh,{to:My(s.segment,s.global,e),title:t?s.label:void 0,className:({isActive:o})=>oe("mx-2 flex items-center rounded-md py-2 text-sm transition-colors",t?"justify-center px-2":"gap-2.5 px-3",o?"bg-blue-500/10 font-medium text-blue-600":"text-fg-3 hover:bg-elevated hover:text-fg"),children:[l.jsx(s.icon,{className:"h-4 w-4 shrink-0"}),l.jsx("span",{className:oe("truncate transition-[opacity,max-width] duration-200 ease-in-out",t?"max-w-0 opacity-0":"max-w-[8rem] opacity-100"),children:s.label})]},s.segment))}),l.jsx("button",{type:"button",onClick:a,title:t?"展开导航":"收起导航",className:"mx-2 flex items-center justify-center rounded-md py-2 text-fg-4 transition-colors hover:bg-elevated hover:text-fg-2",children:t?l.jsx(RA,{className:"h-4 w-4"}):l.jsx(CA,{className:"h-4 w-4"})})]})}function OC(){const e=He(Ra);return l.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:l.jsx("div",{className:"flex h-14 items-center justify-around",children:Iy.map(t=>l.jsx(qh,{to:My(t.segment,t.global,e),"aria-label":t.label,className:({isActive:a})=>oe("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:l.jsx(t.icon,{className:"h-5 w-5 shrink-0"})},t.segment))})})}function IC(){return l.jsxs("div",{className:"flex h-full flex-col overflow-hidden bg-base text-fg",children:[l.jsx(kC,{}),l.jsxs("div",{className:"flex min-h-0 flex-1",children:[l.jsx(RC,{}),l.jsx("main",{className:"flex min-w-0 flex-1 flex-col overflow-hidden pb-[calc(3.5rem_+_var(--safe-bottom))] md:pb-0",children:l.jsx(yS,{})})]}),l.jsx(OC,{})]})}let MC=0;const Ut=Za(e=>({toasts:[],addToast:(t,a="info",s,o)=>{const u=(o==null?void 0:o.id)??`toast-${++MC}-${Date.now()}`;e(d=>d.toasts.some(f=>f.id===u)?d:{toasts:[...d.toasts,{id:u,message:t,variant:a,sessionId:s,persistent:o==null?void 0:o.persistent}]}),o!=null&&o.persistent||setTimeout(()=>{e(d=>({toasts:d.toasts.filter(f=>f.id!==u)}))},4e3)},removeToast:t=>{e(a=>({toasts:a.toasts.filter(s=>s.id!==t)}))}}));function DC({onClose:e}){const[t,a]=_.useState(""),[s,o]=_.useState(""),[u,d]=_.useState(""),[f,m]=_.useState("opencode"),[h,b]=_.useState(!1),[g,y]=_.useState(""),N=He(R=>R.addRepo),v=s.trim()!==""&&u.trim()!==""&&t.trim()!==""&&!h,S=async R=>{const I=R.trim();if(I){b(!0),y("");try{const Y=await gw(I);Y.name&&!s.trim()&&o(Y.name),Y.gitUrl&&!u.trim()&&d(Y.gitUrl)}catch(Y){const B=Y instanceof Error?Y.message:"无法解析路径";try{const C=JSON.parse(B);y(C.error??B)}catch{y(B)}}b(!1)}},w=_.useRef(S);w.current=S,_.useEffect(()=>{const R=t.trim();if(!R)return;const I=setTimeout(()=>{w.current(R)},500);return()=>clearTimeout(I)},[t]);const A=async()=>{if(!v)return;y(""),await N(s.trim(),u.trim(),t.trim(),f)&&e()};return l.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:e,children:l.jsxs("div",{className:"w-full max-w-md rounded-xl border border-line bg-surface p-6 shadow-2xl",onClick:R=>R.stopPropagation(),children:[l.jsxs("div",{className:"mb-5 flex items-center justify-between",children:[l.jsx("h2",{className:"text-base font-semibold text-fg",children:"添加仓库"}),l.jsx("button",{type:"button",onClick:e,className:"rounded-md p-1 text-fg-4 hover:bg-elevated hover:text-fg-2",children:l.jsx(xt,{className:"h-4 w-4"})})]}),l.jsxs("div",{className:"flex flex-col gap-4",children:[l.jsxs("div",{className:"flex flex-col gap-1.5",children:[l.jsx("label",{htmlFor:"m-path",className:"text-xs font-medium text-fg-3",children:"本地路径"}),l.jsx("input",{id:"m-path",value:t,onChange:R=>a(R.target.value),onBlur:R=>void S(R.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"}),l.jsx("span",{className:"text-[11px] text-fg-5",children:h?"正在读取 Git 信息…":"输入路径后自动读取仓库信息"})]}),l.jsxs("div",{className:"flex flex-col gap-1.5",children:[l.jsx("label",{htmlFor:"m-name",className:"text-xs font-medium text-fg-3",children:"名称"}),l.jsx("input",{id:"m-name",value:s,onChange:R=>o(R.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"})]}),l.jsxs("div",{className:"flex flex-col gap-1.5",children:[l.jsx("label",{htmlFor:"m-git",className:"text-xs font-medium text-fg-3",children:"Git 远程地址"}),l.jsx("input",{id:"m-git",value:u,onChange:R=>d(R.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"})]}),l.jsxs("div",{className:"flex flex-col gap-1.5",children:[l.jsx("label",{className:"text-xs font-medium text-fg-3",children:"运行时"}),l.jsx("div",{className:"flex gap-2",children:[{value:"opencode",label:"OpenCode"},{value:"claude-code",label:"Claude Code"}].map(R=>l.jsx("button",{type:"button",onClick:()=>m(R.value),className:`flex-1 rounded-lg border px-3 py-2 text-sm font-medium transition-colors ${f===R.value?"border-blue-500 bg-blue-500/10 text-blue-600":"border-line bg-base text-fg-4 hover:bg-elevated hover:text-fg-2"}`,children:R.label},R.value))}),l.jsx("span",{className:"text-[11px] text-fg-5",children:f==="claude-code"?"需要本地安装 Claude Code CLI":"需要本地安装 OpenCode CLI"})]}),g&&l.jsx("p",{className:"rounded-md bg-red-500/10 px-3 py-2 text-xs text-red-500",children:g}),l.jsxs("div",{className:"mt-1 flex items-center justify-end gap-2",children:[l.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:"取消"}),l.jsx("button",{type:"button",onClick:A,disabled:!v,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 LC({repoId:e,repoName:t,onClose:a}){const[s,o]=_.useState(""),[u,d]=_.useState(""),[f,m]=_.useState(!0),[h,b]=_.useState(!1),[g,y]=_.useState(null);_.useEffect(()=>{pC(e).then(S=>{o(S.content),d(S.content),m(!1)}).catch(S=>{y(S instanceof Error?S.message:String(S)),m(!1)})},[e]);const N=async()=>{b(!0),y(null);try{await gC(e,s),d(s)}catch(S){y(S instanceof Error?S.message:String(S))}b(!1)},v=s!==u;return l.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:a,children:l.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:[l.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsxs("h2",{className:"text-base font-semibold text-fg",children:[t," — AGENTS.md"]}),l.jsx("p",{className:"mt-0.5 text-xs text-fg-4",children:"仅对此仓库生效,修改后 opencode 热加载即时生效。"})]}),l.jsx("button",{type:"button",onClick:a,className:"shrink-0 rounded-md p-1 text-fg-4 hover:bg-elevated hover:text-fg-2",children:l.jsx(xt,{className:"h-4 w-4"})})]}),g&&l.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:[l.jsx(Cn,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),l.jsx("span",{className:"min-w-0 break-words",children:g})]}),f?l.jsxs("div",{className:"flex flex-col items-center gap-2.5 py-16 text-fg-5",children:[l.jsx(dn,{className:"h-5 w-5 fs-spin"}),l.jsx("p",{className:"text-xs",children:"加载中…"})]}):l.jsx("textarea",{value:s,onChange:S=>o(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
|
|
466
466
|
|
|
467
467
|
在此编写该仓库的 Agent 指令…`}),l.jsxs("div",{className:"mt-4 flex items-center justify-end gap-2",children:[l.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:"关闭"}),l.jsxs("button",{type:"button",onClick:()=>void N(),disabled:h||!v,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:[l.jsx(Kc,{className:"h-3.5 w-3.5"}),h?"保存中…":"保存"]})]})]})})}const dh=1024,fh=dh*1024,Lx=fh*1024;function jx(e){return!e||e<=0?"0 B":e<dh?`${e} B`:e<fh?`${(e/dh).toFixed(1)} KB`:e<Lx?`${(e/fh).toFixed(1)} MB`:`${(e/Lx).toFixed(2)} GB`}const vm="ws/";function jC({repoId:e}){const[t,a]=_.useState(!1),[s,o]=_.useState(null),[u,d]=_.useState(!1),[f,m]=_.useState(null),[h,b]=_.useState(null),[g,y]=_.useState(!1),N=async()=>{d(!0),m(null);try{const R=await _w(e);o(R)}catch(R){m(R instanceof Wa?R.message:"加载失败")}d(!1)};_.useEffect(()=>{t&&s===null&&N()},[t]);const v=async R=>{b(R);try{await vw(e,R),await N()}catch(I){m(I instanceof Wa?I.message:"删除失败")}b(null)},S=async()=>{y(!0);try{await Sw(e),await N()}catch(R){m(R instanceof Wa?R.message:"清理失败")}y(!1)},w=(s==null?void 0:s.length)??0,A=(s==null?void 0:s.reduce((R,I)=>R+(I.diskUsage||0),0))??0;return l.jsxs("div",{className:"mt-3 border-t border-line pt-3",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2",children:[l.jsxs("button",{type:"button",onClick:()=>a(R=>!R),className:"flex min-w-0 flex-1 items-center gap-1.5 text-left text-xs font-medium text-fg-3 transition-colors hover:text-fg-2",children:[t?l.jsx(AA,{className:"h-3 w-3 shrink-0"}):l.jsx(da,{className:"h-3 w-3 shrink-0"}),l.jsx(qs,{className:"h-3 w-3 shrink-0 text-fg-5"}),l.jsx("span",{children:"工作空间"}),s!==null&&l.jsxs("span",{className:"text-fg-5",children:["(",w,") · ",jx(A)]})]}),t&&w>0&&l.jsxs("button",{type:"button",onClick:()=>void S(),disabled:g,className:"flex h-6 shrink-0 items-center gap-1 rounded border border-line px-2 text-xs text-fg-4 transition-colors hover:bg-elevated hover:text-fg-2 disabled:opacity-50",children:[g?l.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-spin rounded-full border-2 border-current border-t-transparent"}):null,"清理已合并"]})]}),t&&l.jsxs("div",{className:"mt-2",children:[f&&l.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2 rounded border border-red-500/30 bg-red-500/5 px-2 py-1 text-xs text-red-600",children:[l.jsx("span",{className:"truncate",children:f}),l.jsx("button",{type:"button",onClick:()=>m(null),className:"shrink-0 rounded p-0.5 transition-colors hover:bg-red-500/10",children:l.jsx(xt,{className:"h-3 w-3"})})]}),u&&s===null?l.jsx("div",{className:"flex justify-center py-3",children:l.jsx("span",{className:"inline-block h-3.5 w-3.5 animate-spin rounded-full border-2 border-fg-5 border-t-transparent"})}):w===0?l.jsx("p",{className:"py-2 text-center text-xs text-fg-5",children:"暂无工作空间"}):l.jsx("ul",{className:"space-y-1",children:s==null?void 0:s.map(R=>{const I=R.branch.startsWith(vm),Y=I?R.branch.slice(vm.length):R.branch,B=R.status==="active"?"bg-emerald-500/10 text-emerald-600":R.status==="idle"?"bg-amber-500/10 text-amber-600":"bg-fg-6/30 text-fg-4",C=R.status==="active"?"活跃":R.status==="idle"?"空闲":R.status==="merged"?"已合并":R.status==="stale"?"陈旧":R.status,P=R.status!=="active";return l.jsxs("li",{className:"flex items-center gap-2 rounded-md border border-line bg-elevated/40 px-2 py-1.5 text-xs",children:[l.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[R.running&&R.port&&l.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-emerald-500",title:`运行中 :${R.port}`}),l.jsxs("span",{className:"min-w-0 truncate font-mono",children:[I&&l.jsx("span",{className:"text-fg-5",children:vm}),l.jsx("span",{className:"text-fg-2",children:Y})]})]}),l.jsx("span",{className:oe("shrink-0 rounded-full px-1.5 py-0.5 text-[10px] font-medium",B),children:C}),l.jsxs("span",{className:"flex shrink-0 items-center gap-0.5 text-fg-5",children:[l.jsx(l3,{className:"h-2.5 w-2.5"}),jx(R.diskUsage)]}),l.jsx("button",{type:"button",onClick:()=>void v(R.id),disabled:!P||h===R.id,title:P?"删除工作空间":"活跃工作空间无法删除",className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-fg-5 transition-colors hover:bg-red-500/10 hover:text-red-500 disabled:cursor-not-allowed disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-fg-5",children:h===R.id?l.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-spin rounded-full border-2 border-current border-t-transparent"}):l.jsx(ds,{className:"h-3 w-3"})})]},R.id)})})]})]})}function BC(){const e=He(B=>B.repos),t=He(B=>B.activeRepoId),a=He(B=>B.setActiveRepo),s=He(B=>B.removeRepo),o=He(B=>B.loadRepos),[u,d]=_.useState(!1),[f,m]=_.useState(null),[h,b]=_.useState(null),[g,y]=_.useState(null),N=Ut(B=>B.addToast),[v,S]=_.useState(null),[w,A]=_.useState(null),R=_.useRef(null);_.useEffect(()=>{if(!w)return;const B=C=>{R.current&&!R.current.contains(C.target)&&A(null)};return document.addEventListener("mousedown",B),()=>document.removeEventListener("mousedown",B)},[w]);const I=async(B,C)=>{b(B);try{C?await Ew(B):await xw(B),await o()}catch{}b(null)},Y=async B=>{y(B);try{const C=await Tw(B);await o();const P=C.alreadyUpToDate?"info":"success";N(C.summary,P,void 0,{persistent:!0})}catch(C){let P="拉取失败";if(C instanceof Wa)try{P=JSON.parse(C.message).error??C.message}catch{P=C.message}N(P,"error",void 0,{persistent:!0})}y(null)};return l.jsxs("div",{className:"flex-1 overflow-y-auto p-6",children:[l.jsxs("div",{className:"mx-auto max-w-4xl",children:[l.jsxs("div",{className:"mb-6 flex items-center justify-between gap-3",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("h1",{className:"text-lg font-semibold text-fg",children:"仓库管理"}),l.jsx("p",{className:"mt-0.5 text-sm text-fg-4",children:"管理代码仓库,每个仓库对应一个独立的 Agent 运行环境"})]}),l.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:[l.jsx(ka,{className:"h-4 w-4"}),l.jsx("span",{className:"hidden md:inline",children:"添加仓库"})]})]}),e.length===0?l.jsxs("div",{className:"flex flex-col items-center gap-3 rounded-xl border border-dashed border-line-hard py-16 text-center",children:[l.jsx("div",{className:"rounded-full bg-elevated p-3",children:l.jsx(ka,{className:"h-6 w-6 text-fg-4"})}),l.jsx("p",{className:"text-sm font-medium text-fg-3",children:"暂无代码仓库"}),l.jsx("p",{className:"text-xs text-fg-5",children:"添加一个本地仓库开始使用"}),l.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:"添加仓库"})]}):l.jsx(l.Fragment,{children:l.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:e.map(B=>{const C=B.id===t;return l.jsxs("div",{className:oe("rounded-xl border p-4 transition-colors",C?"border-blue-500/40 bg-blue-500/5":"border-line"),children:[l.jsxs("div",{className:"flex items-center justify-between gap-2",children:[l.jsxs("button",{type:"button",onClick:()=>a(B.id),className:"flex min-w-0 items-center gap-2 text-left",children:[C?l.jsx(bo,{className:"h-4 w-4 shrink-0 text-blue-500"}):l.jsx(LA,{className:"h-4 w-4 shrink-0 text-fg-5"}),l.jsx("span",{className:oe("truncate font-medium",C?"text-fg":"text-fg-2"),children:B.name})]}),l.jsxs("span",{className:oe("inline-flex shrink-0 items-center gap-1.5 rounded-full px-2 py-0.5 text-xs font-medium",B.running?"bg-emerald-500/10 text-emerald-600":"bg-fg-6/30 text-fg-4"),children:[l.jsx("span",{className:oe("h-1.5 w-1.5 rounded-full",B.running?"bg-emerald-500":"bg-fg-5")}),B.running?"运行中":"已停止"]})]}),l.jsxs("dl",{className:"mt-3 space-y-1 font-mono text-xs text-fg-4",children:[l.jsxs("div",{className:"flex gap-2",children:[l.jsx("dt",{className:"shrink-0 text-fg-5",children:"Git"}),l.jsx("dd",{className:"min-w-0 truncate",children:B.gitUrl})]}),l.jsxs("div",{className:"flex gap-2",children:[l.jsx("dt",{className:"shrink-0 text-fg-5",children:"路径"}),l.jsxs("dd",{className:"flex min-w-0 items-center gap-1.5",children:[l.jsx("span",{className:"truncate",children:B.localPath}),l.jsx("button",{type:"button",onClick:()=>void navigator.clipboard.writeText(B.localPath),title:"复制路径",className:"shrink-0 rounded p-0.5 text-fg-5 transition-colors hover:text-fg-3",children:l.jsx(Ec,{className:"h-3 w-3"})})]})]}),B.running&&B.port&&l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("dt",{className:"shrink-0 text-fg-5",children:"直连"}),l.jsxs("dd",{className:"flex min-w-0 items-center gap-1.5",children:[l.jsxs("a",{href:`http://127.0.0.1:${B.port}`,target:"_blank",rel:"noopener noreferrer",className:"truncate text-blue-500 hover:underline",children:["127.0.0.1:",B.port]}),l.jsx("button",{type:"button",onClick:()=>void navigator.clipboard.writeText(`http://127.0.0.1:${B.port}`),title:"复制链接",className:"shrink-0 rounded p-0.5 text-fg-5 transition-colors hover:text-fg-3",children:l.jsx(Ec,{className:"h-3 w-3"})})]})]})]}),l.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[l.jsx("button",{type:"button",onClick:()=>void Y(B.id),disabled:g===B.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:g===B.id?l.jsx("span",{className:"inline-block h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-t-transparent"}):l.jsxs(l.Fragment,{children:[l.jsx(cA,{className:"h-3 w-3"}),"拉取"]})}),l.jsx("button",{type:"button",onClick:()=>void I(B.id,B.running),disabled:h===B.id,className:oe("flex h-8 flex-1 items-center justify-center gap-1.5 rounded-md border text-xs font-medium transition-colors disabled:opacity-50",B.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===B.id?l.jsx("span",{className:"inline-block h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-t-transparent"}):B.running?l.jsxs(l.Fragment,{children:[l.jsx(ih,{className:"h-3 w-3 fill-current"}),"停止"]}):l.jsxs(l.Fragment,{children:[l.jsx(Gc,{className:"h-3 w-3 fill-current"}),"启动"]})}),l.jsxs("div",{className:"relative",ref:w===B.id?R:void 0,children:[l.jsx("button",{type:"button",onClick:()=>A(w===B.id?null:B.id),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 hover:text-fg-2",children:l.jsx(YA,{className:"h-4 w-4"})}),w===B.id&&l.jsxs("div",{className:"absolute right-0 top-full z-20 mt-1 min-w-[160px] overflow-hidden rounded-lg border border-line bg-elevated shadow-lg",children:[l.jsx("button",{type:"button",className:oe("flex w-full items-center gap-2 px-3 py-2 text-left text-xs transition-colors hover:bg-base/60",B.runtimeType==="claude-code"?"text-orange-500":"text-sky-500"),onClick:async()=>{A(null);const P=B.runtimeType==="claude-code"?"opencode":"claude-code";await ww(B.id,P),o()},children:B.runtimeType==="claude-code"?"Claude → OpenCode":"OpenCode → Claude"}),l.jsxs("button",{type:"button",className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs text-fg-3 transition-colors hover:bg-base/60",onClick:async()=>{A(null),await Aw(B.id,!B.worktreeEnabled),o()},children:[l.jsx(qs,{className:"h-3 w-3"}),l.jsx("span",{children:"Worktree"}),l.jsx("span",{className:oe("ml-auto text-[10px]",B.worktreeEnabled?"text-violet-500":"text-fg-5"),children:B.worktreeEnabled?"已开启":"已关闭"})]}),l.jsxs("button",{type:"button",className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs text-fg-3 transition-colors hover:bg-base/60",onClick:()=>{A(null),S({id:B.id,name:B.name})},children:[l.jsx(Gh,{className:"h-3 w-3"}),"配置"]}),l.jsx("div",{className:"my-0.5 border-t border-line"}),l.jsxs("button",{type:"button",className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs text-red-500 transition-colors hover:bg-red-500/10",onClick:()=>{A(null),m(B.id)},children:[l.jsx(ds,{className:"h-3 w-3"}),"删除仓库"]})]})]})]}),f===B.id&&l.jsxs("div",{className:"mt-2 flex items-center justify-between rounded-md border border-red-500/20 bg-red-500/5 px-3 py-2",children:[l.jsx("span",{className:"text-xs text-red-500",children:"确认删除此仓库?"}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("button",{type:"button",onClick:()=>{s(B.id),m(null)},className:"flex h-6 items-center gap-1 rounded border border-red-500/30 px-2 text-xs text-red-500 transition-colors hover:bg-red-500/10",children:[l.jsx(Bn,{className:"h-3 w-3"}),"确认"]}),l.jsx("button",{type:"button",onClick:()=>m(null),className:"flex h-6 items-center gap-1 rounded border border-line px-2 text-xs text-fg-4 transition-colors hover:bg-elevated",children:"取消"})]})]}),B.worktreeEnabled&&l.jsx(jC,{repoId:B.id})]},B.id)})})}),l.jsxs("p",{className:"mt-3 text-xs text-fg-5",children:[e.length," 个仓库"]})]}),u&&l.jsx(DC,{onClose:()=>d(!1)}),v&&l.jsx(LC,{repoId:v.id,repoName:v.name,onClose:()=>S(null)})]})}const PC=new Set(["tool","tool-use","tool_use","tool-call","tool_call","tool-result","tool_result"]),UC=new Set(["thinking","reasoning","reason"]),HC=new Set(["text","output_text","message"]),FC=new Set(["file","image"]);function vc(e){var a;const t=((a=e.type)==null?void 0:a.toLowerCase())??"";return PC.has(t)||e.toolName!=null||e.tool!=null?"tool":FC.has(t)?"file":UC.has(t)?"thinking":HC.has(t)||e.content!=null||e.text!=null?"text":"other"}function Sc(e){return e.content??e.text??""}function Dy(e){return e.toolName??e.tool??"tool"}function Wc(e){var t;return e.input??((t=e.state)==null?void 0:t.input)}function Xh(e){var t;return e.output??((t=e.state)==null?void 0:t.output)}function Qh(e){var a,s,o;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"||((o=e.state)==null?void 0:o.error)!=null?"error":t==="pending"||t==="queued"?"pending":t==="running"||t==="in_progress"?"running":Xh(e)!=null?"completed":"running"}function Bx(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Fi(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 zC(e){return e.filter(t=>Fi(t.status)==="completed").length}function Eo(e){const t=Dy(e).toLowerCase();return t==="question"||t==="mcp_question"}function $C(e){const t=Wc(e);if(!t||typeof t!="object")return null;const a=t;return Array.isArray(a.questions)?a.questions:null}function Ac(e){if(!Eo(e))return!1;const t=Qh(e);return t==="pending"||t==="running"}const qC=/\bses_[a-zA-Z0-9]+/;function YC(e){var o;const t=Wc(e);if(t&&typeof t=="object"){const u=t;if(typeof u.task_id=="string"&&u.task_id.startsWith("ses_"))return u.task_id}const a=(o=e.state)==null?void 0:o.metadata;if(a){const u=a.session_id??a.sessionId;if(typeof u=="string"&&u.startsWith("ses_"))return u}const s=Xh(e);if(typeof s=="string"){const u=qC.exec(s);if(u)return u[0]}if(s&&typeof s=="object"){const u=s,d=u.session_id??u.sessionId??u.task_id;if(typeof d=="string"&&d.startsWith("ses_"))return d}return null}const GC=["Sisyphus","Prometheus","Atlas"];function KC(e){const t=(e.name||e.id||"").toLowerCase();return GC.some(a=>t.startsWith(a.toLowerCase()))}const VC=Za(e=>({agents:[],loaded:!1,loadAgents:async()=>{const t=He.getState().activeRepoId;if(!t){e({agents:[],loaded:!0});return}try{const a=await Hw(t);e({agents:a.filter(KC),loaded:!0})}catch{e({loaded:!0})}}}));function Ly(e){return`question-${e}`}function Sm(e,t){const a=t.find(o=>o.id===e),s=(a==null?void 0:a.title)||e.slice(-8);Ut.getState().addToast(`${s} — 等待回复`,"warning",e,{id:Ly(e),persistent:!0})}function XC(e){var t;for(const a of e)if((t=a.parts)!=null&&t.some(s=>Eo(s)&&Ac(s)))return!0;return!1}const yo=[],wc=[],Px=[],Ls={};function Ux(e){return e.id??e.callID}function An(){return He.getState().activeRepoId}const Hx=20,Ie=Za((e,t)=>({sessions:[],activeSessionId:null,messages:{},messagesMeta:{},todos:{},sessionStatuses:{},errorReasons:{},queuedMessageIds:{},sessionLinks:{},allSessionLinks:{},sessionFilter:"active",loadingSessions:!1,loadError:null,sendError:null,setSessionFilter:a=>e({sessionFilter:a}),toggleSessionComplete:async a=>{const s=An();if(!s)return;const o=t().sessions.find(d=>d.id===a);if(!o)return;const u=o.completedAt?null:Date.now();e(d=>({sessions:d.sessions.map(f=>f.id===a?{...f,completedAt:u??void 0}:f)}));try{await fC(s,a,u)}catch{await t().loadSessions()}},loadSessions:async()=>{const a=An();if(!a){e({sessions:[],loadingSessions:!1});return}e({loadingSessions:!0,loadError:null});try{const[s,o]=await Promise.all([Cw(a),vx(a).catch(()=>null)]),u={sessions:s,loadingSessions:!1};o&&(u.allSessionLinks=o),e(u)}catch(s){e({loadingSessions:!1,loadError:s instanceof Error?s.message:"Failed to load sessions"})}},createSession:async(a,s,o,u,d,f,m)=>{const h=An();if(!h)return null;e({sendError:null});try{const b=await kw(h,a,s,o,u,d,f,m);return e(g=>({sessions:[b,...g.sessions.filter(y=>y.id!==b.id)],activeSessionId:b.id,messages:{...g.messages,[b.id]:[]}})),t().setSessionStatus(b.id,"busy"),b}catch(b){return e({sendError:b instanceof Error?b.message:"Failed to create session"}),null}},setActiveSession:async a=>{An()&&(e({activeSessionId:a,sendError:null}),await t().refreshSessionData(a))},refreshSessionData:async a=>{var b,g;const s=An();if(!s)return;const u=!t().messages[a]||t().messages[a].length===0?{limit:Hx}:void 0,[d,f]=await Promise.allSettled([Bw(s,a),_x(s,a,u)]),m=d.status==="fulfilled"?d.value:null,h=(g=(b=m==null?void 0:m.session)==null?void 0:b.revert)==null?void 0:g.messageID;e(y=>{const N={};if(m&&(m.status&&(N.sessionStatuses={...y.sessionStatuses,[a]:m.status.type}),m.todos&&(N.todos={...y.todos,[a]:m.todos}),m.links&&(N.sessionLinks={...y.sessionLinks,[a]:m.links}),m.session&&(N.sessions=y.sessions.map(v=>v.id===a?{...v,...m.session}:v))),f.status==="fulfilled"){let v=f.value.messages;if(h){const w=v.findIndex(A=>A.id===h);w>=0&&(v=v.slice(0,w+1))}const S=y.messages[a]??[];v.length>=S.length&&(N.messages={...y.messages,[a]:v}),N.messagesMeta={...y.messagesMeta,[a]:{total:Math.max(f.value.total,S.length),hasMore:f.value.hasMore,loading:!1}}}return N}),f.status==="fulfilled"&&XC(f.value.messages)&&Sm(a,t().sessions)},loadMoreMessages:async a=>{var f;const s=An();if(!s)return;const o=t().messagesMeta[a];if(!(o!=null&&o.hasMore)||o.loading)return;const d=(f=(t().messages[a]??[])[0])==null?void 0:f.id;e(m=>({messagesMeta:{...m.messagesMeta,[a]:{...o,loading:!0}}}));try{const m=await _x(s,a,{limit:Hx,before:d});e(h=>{const b=h.messages[a]??[];return{messages:{...h.messages,[a]:[...m.messages,...b]},messagesMeta:{...h.messagesMeta,[a]:{total:m.total,hasMore:m.hasMore,loading:!1}}}})}catch{e(m=>({messagesMeta:{...m.messagesMeta,[a]:{...o,loading:!1}}}))}},refreshSessionLinks:async a=>{const s=An();if(s)try{const[o,u]=await Promise.all([jw(s,a),vx(s).catch(()=>null)]);e(d=>{const f={sessionLinks:{...d.sessionLinks,[a]:o}};return u&&(f.allSessionLinks=u),f})}catch{}},addLink:async(a,s,o)=>{const u=An();if(!u)return!1;try{return await Pw(u,a,s,o),await t().refreshSessionLinks(a),!0}catch{return!1}},removeLink:async(a,s,o)=>{const u=An();if(!u)return!1;try{return await Uw(u,a,s,o),await t().refreshSessionLinks(a),!0}catch{return!1}},deleteSession:async a=>{const s=An();if(s)try{await Rw(s,a)}catch{}delete Ls[a],e(o=>{const{[a]:u,...d}=o.messages,{[a]:f,...m}=o.messagesMeta,{[a]:h,...b}=o.todos,{[a]:g,...y}=o.sessionStatuses,{[a]:N,...v}=o.errorReasons,{[a]:S,...w}=o.queuedMessageIds,{[a]:A,...R}=o.sessionLinks,{[a]:I,...Y}=o.allSessionLinks;return{sessions:o.sessions.filter(B=>B.id!==a),messages:d,messagesMeta:m,todos:b,sessionStatuses:y,errorReasons:v,queuedMessageIds:w,sessionLinks:R,allSessionLinks:Y,activeSessionId:o.activeSessionId===a?null:o.activeSessionId}})},sendMessage:async(a,s,o)=>{const u=An(),d=t().activeSessionId;if(!u||!d)return!1;const f=t().sessions.find(h=>h.id===d),m=t().sessionStatuses[d]==="busy";e({sendError:null}),m||t().setSessionStatus(d,"busy");try{const h=VC.getState(),b=f!=null&&f.agent&&h.loaded&&h.agents.some(g=>g.name===f.agent||g.id===f.agent)?f.agent:void 0;return await Ow(u,d,a,b,s,o),m&&(Ls[d]=(Ls[d]||0)+1),!0}catch(h){return e({sendError:h instanceof Error?h.message:"Failed to send message"}),m||t().setSessionStatus(d,"idle"),!1}},replyQuestion:async a=>{const s=An(),o=t().activeSessionId;if(!(!s||!o))try{await Mw(s,o,a)}catch(u){e({sendError:u instanceof Error?u.message:"Failed to reply to question"})}},rejectQuestion:async()=>{const a=An(),s=t().activeSessionId;if(!(!a||!s))try{await Dw(a,s)}catch{}},abortSession:async()=>{const a=An(),s=t().activeSessionId;if(!(!a||!s)){try{await Iw(a,s)}catch{}t().setSessionStatus(s,"idle")}},clearSessions:()=>{for(const a of Object.keys(Ls))delete Ls[a];e({sessions:[],activeSessionId:null,messages:{},messagesMeta:{},todos:{},sessionStatuses:{},errorReasons:{},queuedMessageIds:{},sessionLinks:{},allSessionLinks:{},loadError:null,sendError:null})},updateMessage:(a,s)=>{var o;e(u=>{const d=u.messages[a]??[],f=d.findIndex(g=>g.id===s.id);let m,h=u.queuedMessageIds,b=u.messagesMeta;if(f>=0){const g={...d[f],...s};(!s.parts||s.parts.length===0)&&d[f].parts&&(g.parts=d[f].parts),m=[...d],m[f]=g}else{m=[...d,s];const g=b[a];g&&(b={...b,[a]:{...g,total:g.total+1}});const y=Ls[a]||0;if(s.role==="user"&&y>0){const N=[...h[a]??[]];N.push(s.id),h={...h,[a]:N},Ls[a]=y-1}else if(s.role==="assistant"){const N=h[a];N&&N.length>0&&(h={...h,[a]:N.slice(1)})}}return{messages:{...u.messages,[a]:m},messagesMeta:b,queuedMessageIds:h}}),(o=s.parts)!=null&&o.some(u=>Eo(u)&&Ac(u))&&Sm(a,t().sessions)},updateMessagePart:(a,s,o)=>{e(u=>{const d=u.messages[a]??[],f=d.findIndex(v=>v.id===s),m=f>=0?d[f]:{id:s,role:"assistant"},h=m.parts?[...m.parts]:[],b=Ux(o),g=b!=null?h.findIndex(v=>Ux(v)===b):-1;g>=0?h[g]={...h[g],...o}:h.push(o);const y={...m,parts:h},N=f>=0?[...d]:[...d,y];return f>=0&&(N[f]=y),{messages:{...u.messages,[a]:N}}}),Eo(o)&&Ac(o)&&Sm(a,t().sessions)},appendMessagePartDelta:(a,s,o,u)=>{e(d=>{const f=d.messages[a]??[],m=f.findIndex(v=>v.id===s),h=m>=0?f[m]:{id:s,role:"assistant"},b=h.parts?[...h.parts]:[],g=b.findIndex(v=>v.id===o);if(g>=0){const v=b[g],S=Sc(v)+u;b[g]=v.content!=null?{...v,content:S}:{...v,text:S}}else b.push({id:o,type:"text",text:u});const y={...h,parts:b},N=m>=0?[...f]:[...f,y];return m>=0&&(N[m]=y),{messages:{...d.messages,[a]:N}}})},updateTodos:(a,s)=>{e(o=>({todos:{...o.todos,[a]:s}}))},updateSessionInfo:a=>{e(s=>s.sessions.some(u=>u.id===a.id)?{sessions:s.sessions.map(u=>u.id===a.id?{...u,...a}:u)}:{sessions:[a,...s.sessions]})},setSessionStatus:(a,s,o)=>{const u=t().sessionStatuses[a];if(u!==s){const d=t().sessions.find(m=>m.id===a),f=(d==null?void 0:d.title)||a.slice(-8);if(s==="idle"&&u!==void 0&&u!=="idle")Ut.getState().removeToast(Ly(a)),Ut.getState().addToast(`${f} — 完成`,"success",a);else if(s==="busy"&&(u===void 0||u==="idle"))Ut.getState().addToast(`${f} — 开始运行`,"info",a);else if(s==="retry")Ut.getState().addToast(`${f} — 进入重试`,"warning",a);else if(s==="error"){const m=o?`${f} — 错误: ${o}`:`${f} — 发生错误`;Ut.getState().addToast(m,"error",a)}}e(d=>{const f=o?{...d.errorReasons,[a]:o}: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 o=An();if(o){e(u=>({sessions:u.sessions.map(d=>d.id===a?{...d,title:s}:d)}));try{await dC(o,a,s)}catch{await t().loadSessions()}}},revertToMessage:async(a,s)=>{const o=An();if(!o)return!1;try{return await Lw(o,a,s),await t().refreshSessionData(a),!0}catch{return!1}}})),Ve=Za((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 u;const o=He.getState().activeRepoId;if(!o)return!1;try{await tC(o,a,s);const d=(u=t().issues.find(f=>f.number===a))==null?void 0:u.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 o=He.getState().activeRepoId;if(!o)return!1;try{const u=await Cy(o,a,{state:s});return e(d=>({issues:d.issues.map(f=>f.number===a?{...f,state:u.state}:f)})),!0}catch{return!1}},loadIssues:async()=>{const a=He.getState().activeRepoId;if(!a){e({issues:[],loaded:!0});return}try{const s=await Cx(a,"all");e({issues:s,loaded:!0})}catch{e({loaded:!0})}},syncIssues:async()=>{const a=He.getState().activeRepoId;if(a){e({syncing:!0});try{await Jw(a,"open");const[s,o,u]=await Promise.all([Cx(a,"all"),Ax(a),wx(a)]);e({issues:s,tags:o,milestones:u,syncing:!1})}catch(s){e({syncing:!1});let o="同步 Issue 失败";if(s instanceof Wa)try{const u=JSON.parse(s.message);u.error&&(o=u.error)}catch{s.message&&(o=s.message)}Ut.getState().addToast(o,"error")}}},createIssue:async(a,s)=>{const o=He.getState().activeRepoId;if(!o)return null;try{const u=await eC(o,a,s);return e(d=>({issues:[u,...d.issues]})),u}catch{return null}},loadTags:async()=>{const a=He.getState().activeRepoId;if(!a){e({tags:[]});return}try{const s=await Ax(a);e({tags:s})}catch{}},cycleTagFilter:a=>{e(s=>{const o=new Map(s.tagFilterMode),u=o.get(a);return u?u==="include"?o.set(a,"exclude"):o.delete(a):o.set(a,"include"),{tagFilterMode:o}})},clearTagFilter:()=>e({tagFilterMode:new Map}),loadMilestones:async()=>{const a=He.getState().activeRepoId;if(!a){e({milestones:[]});return}try{const s=await wx(a);e({milestones:s})}catch{}},setMilestoneFilter:a=>e({selectedMilestoneId:a})})),mc=Za(e=>({drafts:{},setDraft:(t,a)=>e(s=>{if(!a.trim()){const{[t]:o,...u}=s.drafts;return{drafts:u}}return{drafts:{...s.drafts,[t]:a}}}),clearDraft:t=>e(a=>{const{[t]:s,...o}=a.drafts;return{drafts:o}})}));function Fx(e){const t=[],a=String(e||"");let s=a.indexOf(","),o=0,u=!1;for(;!u;){s===-1&&(s=a.length,u=!0);const d=a.slice(o,s).trim();(d||!u)&&t.push(d),o=s+1,s=a.indexOf(",",o)}return t}function jy(e,t){const a={};return(e[e.length-1]===""?[...e,""]:e).join((a.padRight?" ":"")+","+(a.padLeft===!1?"":" ")).trim()}const QC=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,WC=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,ZC={};function zx(e,t){return(ZC.jsx?WC:QC).test(e)}const JC=/[ \t\n\f\r]/g;function e5(e){return typeof e=="object"?e.type==="text"?$x(e.value):!1:$x(e)}function $x(e){return e.replace(JC,"")===""}class wo{constructor(t,a,s){this.normal=a,this.property=t,s&&(this.space=s)}}wo.prototype.normal={};wo.prototype.property={};wo.prototype.space=void 0;function By(e,t){const a={},s={};for(const o of e)Object.assign(a,o.property),Object.assign(s,o.normal);return new wo(a,s,t)}function No(e){return e.toLowerCase()}class Jn{constructor(t,a){this.attribute=a,this.property=t}}Jn.prototype.attribute="";Jn.prototype.booleanish=!1;Jn.prototype.boolean=!1;Jn.prototype.commaOrSpaceSeparated=!1;Jn.prototype.commaSeparated=!1;Jn.prototype.defined=!1;Jn.prototype.mustUseProperty=!1;Jn.prototype.number=!1;Jn.prototype.overloadedBoolean=!1;Jn.prototype.property="";Jn.prototype.spaceSeparated=!1;Jn.prototype.space=void 0;let t5=0;const Xe=Ys(),on=Ys(),mh=Ys(),ve=Ys(),It=Ys(),Hs=Ys(),ca=Ys();function Ys(){return 2**++t5}const hh=Object.freeze(Object.defineProperty({__proto__:null,boolean:Xe,booleanish:on,commaOrSpaceSeparated:ca,commaSeparated:Hs,number:ve,overloadedBoolean:mh,spaceSeparated:It},Symbol.toStringTag,{value:"Module"})),Am=Object.keys(hh);class Wh extends Jn{constructor(t,a,s,o){let u=-1;if(super(t,a),qx(this,"space",o),typeof s=="number")for(;++u<Am.length;){const d=Am[u];qx(this,Am[u],(s&hh[d])===hh[d])}}}Wh.prototype.defined=!0;function qx(e,t,a){a&&(e[t]=a)}function Xi(e){const t={},a={};for(const[s,o]of Object.entries(e.properties)){const u=new Wh(s,e.transform(e.attributes||{},s),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(s)&&(u.mustUseProperty=!0),t[s]=u,a[No(s)]=s,a[No(u.attribute)]=s}return new wo(t,a,e.space)}const Py=Xi({properties:{ariaActiveDescendant:null,ariaAtomic:on,ariaAutoComplete:null,ariaBusy:on,ariaChecked:on,ariaColCount:ve,ariaColIndex:ve,ariaColSpan:ve,ariaControls:It,ariaCurrent:null,ariaDescribedBy:It,ariaDetails:null,ariaDisabled:on,ariaDropEffect:It,ariaErrorMessage:null,ariaExpanded:on,ariaFlowTo:It,ariaGrabbed:on,ariaHasPopup:null,ariaHidden:on,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:It,ariaLevel:ve,ariaLive:null,ariaModal:on,ariaMultiLine:on,ariaMultiSelectable:on,ariaOrientation:null,ariaOwns:It,ariaPlaceholder:null,ariaPosInSet:ve,ariaPressed:on,ariaReadOnly:on,ariaRelevant:null,ariaRequired:on,ariaRoleDescription:It,ariaRowCount:ve,ariaRowIndex:ve,ariaRowSpan:ve,ariaSelected:on,ariaSetSize:ve,ariaSort:null,ariaValueMax:ve,ariaValueMin:ve,ariaValueNow:ve,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function Uy(e,t){return t in e?e[t]:t}function Hy(e,t){return Uy(e,t.toLowerCase())}const n5=Xi({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Hs,acceptCharset:It,accessKey:It,action:null,allow:null,allowFullScreen:Xe,allowPaymentRequest:Xe,allowUserMedia:Xe,alpha:Xe,alt:null,as:null,async:Xe,autoCapitalize:null,autoComplete:It,autoFocus:Xe,autoPlay:Xe,blocking:It,capture:null,charSet:null,checked:Xe,cite:null,className:It,closedBy:null,colorSpace:null,cols:ve,colSpan:ve,command:null,commandFor:null,content:null,contentEditable:on,controls:Xe,controlsList:It,coords:ve|Hs,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Xe,defer:Xe,dir:null,dirName:null,disabled:Xe,download:mh,draggable:on,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Xe,formTarget:null,headers:It,height:ve,hidden:mh,high:ve,href:null,hrefLang:null,htmlFor:It,httpEquiv:It,id:null,imageSizes:null,imageSrcSet:null,inert:Xe,inputMode:null,integrity:null,is:null,isMap:Xe,itemId:null,itemProp:It,itemRef:It,itemScope:Xe,itemType:It,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Xe,low:ve,manifest:null,max:null,maxLength:ve,media:null,method:null,min:null,minLength:ve,multiple:Xe,muted:Xe,name:null,nonce:null,noModule:Xe,noValidate:Xe,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:Xe,optimum:ve,pattern:null,ping:It,placeholder:null,playsInline:Xe,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Xe,referrerPolicy:null,rel:It,required:Xe,reversed:Xe,rows:ve,rowSpan:ve,sandbox:It,scope:null,scoped:Xe,seamless:Xe,selected:Xe,shadowRootClonable:Xe,shadowRootCustomElementRegistry:Xe,shadowRootDelegatesFocus:Xe,shadowRootMode:null,shadowRootSerializable:Xe,shape:null,size:ve,sizes:null,slot:null,span:ve,spellCheck:on,src:null,srcDoc:null,srcLang:null,srcSet:null,start:ve,step:null,style:null,tabIndex:ve,target:null,title:null,translate:null,type:null,typeMustMatch:Xe,useMap:null,value:on,width:ve,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:It,axis:null,background:null,bgColor:null,border:ve,borderColor:null,bottomMargin:ve,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Xe,declare:Xe,event:null,face:null,frame:null,frameBorder:null,hSpace:ve,leftMargin:ve,link:null,longDesc:null,lowSrc:null,marginHeight:ve,marginWidth:ve,noResize:Xe,noHref:Xe,noShade:Xe,noWrap:Xe,object:null,profile:null,prompt:null,rev:null,rightMargin:ve,rules:null,scheme:null,scrolling:on,standby:null,summary:null,text:null,topMargin:ve,valueType:null,version:null,vAlign:null,vLink:null,vSpace:ve,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Xe,disablePictureInPicture:Xe,disableRemotePlayback:Xe,exportParts:Hs,part:It,prefix:null,property:null,results:ve,security:null,unselectable:null},space:"html",transform:Hy}),a5=Xi({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:ca,accentHeight:ve,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:ve,amplitude:ve,arabicForm:null,ascent:ve,attributeName:null,attributeType:null,azimuth:ve,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:ve,by:null,calcMode:null,capHeight:ve,className:It,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:ve,diffuseConstant:ve,direction:null,display:null,dur:null,divisor:ve,dominantBaseline:null,download:Xe,dx:null,dy:null,edgeMode:null,editable:null,elevation:ve,enableBackground:null,end:null,event:null,exponent:ve,externalResourcesRequired:null,fill:null,fillOpacity:ve,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:Hs,g2:Hs,glyphName:Hs,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:ve,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:ve,horizOriginX:ve,horizOriginY:ve,id:null,ideographic:ve,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:ve,k:ve,k1:ve,k2:ve,k3:ve,k4:ve,kernelMatrix:ca,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:ve,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:ve,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:ve,overlineThickness:ve,paintOrder:null,panose1:null,path:null,pathLength:ve,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:It,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:ve,pointsAtY:ve,pointsAtZ:ve,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ca,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ca,rev:ca,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ca,requiredFeatures:ca,requiredFonts:ca,requiredFormats:ca,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:ve,specularExponent:ve,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:ve,strikethroughThickness:ve,string:null,stroke:null,strokeDashArray:ca,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:ve,strokeOpacity:ve,strokeWidth:null,style:null,surfaceScale:ve,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ca,tabIndex:ve,tableValues:null,target:null,targetX:ve,targetY:ve,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ca,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:ve,underlineThickness:ve,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:ve,values:null,vAlphabetic:ve,vMathematical:ve,vectorEffect:null,vHanging:ve,vIdeographic:ve,version:null,vertAdvY:ve,vertOriginX:ve,vertOriginY:ve,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:ve,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Uy}),Fy=Xi({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()}}),zy=Xi({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Hy}),$y=Xi({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),r5={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"},s5=/[A-Z]/g,Yx=/-[a-z]/g,i5=/^data[-\w.:]+$/i;function Zc(e,t){const a=No(t);let s=t,o=Jn;if(a in e.normal)return e.property[e.normal[a]];if(a.length>4&&a.slice(0,4)==="data"&&i5.test(t)){if(t.charAt(4)==="-"){const u=t.slice(5).replace(Yx,o5);s="data"+u.charAt(0).toUpperCase()+u.slice(1)}else{const u=t.slice(4);if(!Yx.test(u)){let d=u.replace(s5,l5);d.charAt(0)!=="-"&&(d="-"+d),t="data"+d}}o=Wh}return new o(s,t)}function l5(e){return"-"+e.toLowerCase()}function o5(e){return e.charAt(1).toUpperCase()}const Co=By([Py,n5,Fy,zy,$y],"html"),fs=By([Py,a5,Fy,zy,$y],"svg");function Gx(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function qy(e){return e.join(" ").trim()}var Ii={},wm,Kx;function u5(){if(Kx)return wm;Kx=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,a=/^\s*/,s=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,u=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,d=/^[;\s]*/,f=/^\s+|\s+$/g,m=`
|
|
468
468
|
`,h="/",b="*",g="",y="comment",N="declaration";function v(w,A){if(typeof w!="string")throw new TypeError("First argument must be a string");if(!w)return[];A=A||{};var R=1,I=1;function Y(Z){var te=Z.match(t);te&&(R+=te.length);var H=Z.lastIndexOf(m);I=~H?Z.length-H:I+Z.length}function B(){var Z={line:R,column:I};return function(te){return te.position=new C(Z),Q(),te}}function C(Z){this.start=Z,this.end={line:R,column:I},this.source=A.source}C.prototype.content=w;function P(Z){var te=new Error(A.source+":"+R+":"+I+": "+Z);if(te.reason=Z,te.filename=A.source,te.line=R,te.column=I,te.source=w,!A.silent)throw te}function X(Z){var te=Z.exec(w);if(te){var H=te[0];return Y(H),w=w.slice(H.length),te}}function Q(){X(a)}function L(Z){var te;for(Z=Z||[];te=$();)te!==!1&&Z.push(te);return Z}function $(){var Z=B();if(!(h!=w.charAt(0)||b!=w.charAt(1))){for(var te=2;g!=w.charAt(te)&&(b!=w.charAt(te)||h!=w.charAt(te+1));)++te;if(te+=2,g===w.charAt(te-1))return P("End of comment missing");var H=w.slice(2,te-2);return I+=2,Y(H),w=w.slice(te),I+=2,Z({type:y,comment:H})}}function ee(){var Z=B(),te=X(s);if(te){if($(),!X(o))return P("property missing ':'");var H=X(u),z=Z({type:N,property:S(te[0].replace(e,g)),value:H?S(H[0].replace(e,g)):g});return X(d),z}}function ie(){var Z=[];L(Z);for(var te;te=ee();)te!==!1&&(Z.push(te),L(Z));return Z}return Q(),ie()}function S(w){return w?w.replace(f,g):g}return wm=v,wm}var Vx;function c5(){if(Vx)return Ii;Vx=1;var e=Ii&&Ii.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ii,"__esModule",{value:!0}),Ii.default=a;const t=e(u5());function a(s,o){let u=null;if(!s||typeof s!="string")return u;const d=(0,t.default)(s),f=typeof o=="function";return d.forEach(m=>{if(m.type!=="declaration")return;const{property:h,value:b}=m;f?o(h,b,m):b&&(u=u||{},u[h]=b)}),u}return Ii}var Ql={},Xx;function d5(){if(Xx)return Ql;Xx=1,Object.defineProperty(Ql,"__esModule",{value:!0}),Ql.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,a=/^[^-]+$/,s=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,u=function(h){return!h||a.test(h)||e.test(h)},d=function(h,b){return b.toUpperCase()},f=function(h,b){return"".concat(b,"-")},m=function(h,b){return b===void 0&&(b={}),u(h)?h:(h=h.toLowerCase(),b.reactCompat?h=h.replace(o,f):h=h.replace(s,f),h.replace(t,d))};return Ql.camelCase=m,Ql}var Wl,Qx;function f5(){if(Qx)return Wl;Qx=1;var e=Wl&&Wl.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},t=e(c5()),a=d5();function s(o,u){var d={};return!o||typeof o!="string"||(0,t.default)(o,function(f,m){f&&m&&(d[(0,a.camelCase)(f,u)]=m)}),d}return s.default=s,Wl=s,Wl}var m5=f5();const h5=Pc(m5),Jc=Yy("end"),Ja=Yy("start");function Yy(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 p5(e){const t=Ja(e),a=Jc(e);if(t&&a)return{start:t,end:a}}function so(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Wx(e.position):"start"in e||"end"in e?Wx(e):"line"in e||"column"in e?ph(e):""}function ph(e){return Zx(e&&e.line)+":"+Zx(e&&e.column)}function Wx(e){return ph(e&&e.start)+"-"+ph(e&&e.end)}function Zx(e){return e&&typeof e=="number"?e:1}class kn extends Error{constructor(t,a,s){super(),typeof a=="string"&&(s=a,a=void 0);let o="",u={},d=!1;if(a&&("line"in a&&"column"in a?u={place:a}:"start"in a&&"end"in a?u={place:a}:"type"in a?u={ancestors:[a],place:a.position}:u={...a}),typeof t=="string"?o=t:!u.cause&&t&&(d=!0,o=t.message,u.cause=t),!u.ruleId&&!u.source&&typeof s=="string"){const m=s.indexOf(":");m===-1?u.ruleId=s:(u.source=s.slice(0,m),u.ruleId=s.slice(m+1))}if(!u.place&&u.ancestors&&u.ancestors){const m=u.ancestors[u.ancestors.length-1];m&&(u.place=m.position)}const f=u.place&&"start"in u.place?u.place.start:u.place;this.ancestors=u.ancestors||void 0,this.cause=u.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=so(u.place)||"1:1",this.place=u.place||void 0,this.reason=this.message,this.ruleId=u.ruleId||void 0,this.source=u.source||void 0,this.stack=d&&u.cause&&typeof u.cause.stack=="string"?u.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}kn.prototype.file="";kn.prototype.name="";kn.prototype.reason="";kn.prototype.message="";kn.prototype.stack="";kn.prototype.column=void 0;kn.prototype.line=void 0;kn.prototype.ancestors=void 0;kn.prototype.cause=void 0;kn.prototype.fatal=void 0;kn.prototype.place=void 0;kn.prototype.ruleId=void 0;kn.prototype.source=void 0;const Zh={}.hasOwnProperty,g5=new Map,b5=/[A-Z]/g,x5=new Set(["table","tbody","thead","tfoot","tr"]),E5=new Set(["td","th"]),Gy="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function y5(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=C5(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=w5(a,t.jsx,t.jsxs)}const o={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"?fs:Co,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},u=Ky(o,e,void 0);return u&&typeof u!="string"?u:o.create(e,o.Fragment,{children:u||void 0},void 0)}function Ky(e,t,a){if(t.type==="element")return N5(e,t,a);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return T5(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return v5(e,t,a);if(t.type==="mdxjsEsm")return _5(e,t);if(t.type==="root")return S5(e,t,a);if(t.type==="text")return A5(e,t)}function N5(e,t,a){const s=e.schema;let o=s;t.tagName.toLowerCase()==="svg"&&s.space==="html"&&(o=fs,e.schema=o),e.ancestors.push(t);const u=Xy(e,t.tagName,!1),d=k5(e,t);let f=ep(e,t);return x5.has(t.tagName)&&(f=f.filter(function(m){return typeof m=="string"?!e5(m):!0})),Vy(e,d,u,t),Jh(d,f),e.ancestors.pop(),e.schema=s,e.create(t,u,d,a)}function T5(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)}To(e,t.position)}function _5(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);To(e,t.position)}function v5(e,t,a){const s=e.schema;let o=s;t.name==="svg"&&s.space==="html"&&(o=fs,e.schema=o),e.ancestors.push(t);const u=t.name===null?e.Fragment:Xy(e,t.name,!0),d=R5(e,t),f=ep(e,t);return Vy(e,d,u,t),Jh(d,f),e.ancestors.pop(),e.schema=s,e.create(t,u,d,a)}function S5(e,t,a){const s={};return Jh(s,ep(e,t)),e.create(t,e.Fragment,s,a)}function A5(e,t){return t.value}function Vy(e,t,a,s){typeof a!="string"&&a!==e.Fragment&&e.passNode&&(t.node=s)}function Jh(e,t){if(t.length>0){const a=t.length>1?t:t[0];a&&(e.children=a)}}function w5(e,t,a){return s;function s(o,u,d,f){const h=Array.isArray(d.children)?a:t;return f?h(u,d,f):h(u,d)}}function C5(e,t){return a;function a(s,o,u,d){const f=Array.isArray(u.children),m=Ja(s);return t(o,u,d,f,{columnNumber:m?m.column-1:void 0,fileName:e,lineNumber:m?m.line:void 0},void 0)}}function k5(e,t){const a={};let s,o;for(o in t.properties)if(o!=="children"&&Zh.call(t.properties,o)){const u=O5(e,o,t.properties[o]);if(u){const[d,f]=u;e.tableCellAlignToStyle&&d==="align"&&typeof f=="string"&&E5.has(t.tagName)?s=f:a[d]=f}}if(s){const u=a.style||(a.style={});u[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=s}return a}function R5(e,t){const a={};for(const s of t.attributes)if(s.type==="mdxJsxExpressionAttribute")if(s.data&&s.data.estree&&e.evaluater){const u=s.data.estree.body[0];u.type;const d=u.expression;d.type;const f=d.properties[0];f.type,Object.assign(a,e.evaluater.evaluateExpression(f.argument))}else To(e,t.position);else{const o=s.name;let u;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,u=e.evaluater.evaluateExpression(f.expression)}else To(e,t.position);else u=s.value===null?!0:s.value;a[o]=u}return a}function ep(e,t){const a=[];let s=-1;const o=e.passKeys?new Map:g5;for(;++s<t.children.length;){const u=t.children[s];let d;if(e.passKeys){const m=u.type==="element"?u.tagName:u.type==="mdxJsxFlowElement"||u.type==="mdxJsxTextElement"?u.name:void 0;if(m){const h=o.get(m)||0;d=m+"-"+h,o.set(m,h+1)}}const f=Ky(e,u,d);f!==void 0&&a.push(f)}return a}function O5(e,t,a){const s=Zc(e.schema,t);if(!(a==null||typeof a=="number"&&Number.isNaN(a))){if(Array.isArray(a)&&(a=s.commaSeparated?jy(a):qy(a)),s.property==="style"){let o=typeof a=="object"?a:I5(e,String(a));return e.stylePropertyNameCase==="css"&&(o=M5(o)),["style",o]}return[e.elementAttributeNameCase==="react"&&s.space?r5[s.property]||s.property:s.attribute,a]}}function I5(e,t){try{return h5(t,{reactCompat:!0})}catch(a){if(e.ignoreInvalidStyle)return{};const s=a,o=new kn("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:s,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=e.filePath||void 0,o.url=Gy+"#cannot-parse-style-attribute",o}}function Xy(e,t,a){let s;if(!a)s={type:"Literal",value:t};else if(t.includes(".")){const o=t.split(".");let u=-1,d;for(;++u<o.length;){const f=zx(o[u])?{type:"Identifier",name:o[u]}:{type:"Literal",value:o[u]};d=d?{type:"MemberExpression",object:d,property:f,computed:!!(u&&f.type==="Literal"),optional:!1}:f}s=d}else s=zx(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(s.type==="Literal"){const o=s.value;return Zh.call(e.components,o)?e.components[o]:o}if(e.evaluater)return e.evaluater.evaluateExpression(s);To(e)}function To(e,t){const a=new kn("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=Gy+"#cannot-handle-mdx-estrees-without-createevaluater",a}function M5(e){const t={};let a;for(a in e)Zh.call(e,a)&&(t[D5(a)]=e[a]);return t}function D5(e){let t=e.replace(b5,L5);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function L5(e){return"-"+e.toLowerCase()}const Cm={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"]},j5={};function tp(e,t){const a=j5,s=typeof a.includeImageAlt=="boolean"?a.includeImageAlt:!0,o=typeof a.includeHtml=="boolean"?a.includeHtml:!0;return Qy(e,s,o)}function Qy(e,t,a){if(B5(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 Jx(e.children,t,a)}return Array.isArray(e)?Jx(e,t,a):""}function Jx(e,t,a){const s=[];let o=-1;for(;++o<e.length;)s[o]=Qy(e[o],t,a);return s.join("")}function B5(e){return!!(e&&typeof e=="object")}const e1=document.createElement("i");function np(e){const t="&"+e+";";e1.innerHTML=t;const a=e1.textContent;return a.charCodeAt(a.length-1)===59&&e!=="semi"||a===t?!1:a}function fa(e,t,a,s){const o=e.length;let u=0,d;if(t<0?t=-t>o?0:o+t:t=t>o?o: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);u<s.length;)d=s.slice(u,u+1e4),d.unshift(t,0),e.splice(...d),u+=1e4,t+=1e4}function Aa(e,t){return e.length>0?(fa(e,e.length,0,t),e):t}const t1={}.hasOwnProperty;function Wy(e){const t={};let a=-1;for(;++a<e.length;)P5(t,e[a]);return t}function P5(e,t){let a;for(a in t){const o=(t1.call(e,a)?e[a]:void 0)||(e[a]={}),u=t[a];let d;if(u)for(d in u){t1.call(o,d)||(o[d]=[]);const f=u[d];U5(o[d],Array.isArray(f)?f:f?[f]:[])}}}function U5(e,t){let a=-1;const s=[];for(;++a<t.length;)(t[a].add==="after"?e:s).push(t[a]);fa(e,0,0,s)}function Zy(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 ja(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const jn=ms(/[A-Za-z]/),wn=ms(/[\dA-Za-z]/),H5=ms(/[#-'*+\--9=?A-Z^-~]/);function Cc(e){return e!==null&&(e<32||e===127)}const gh=ms(/\d/),F5=ms(/[\dA-Fa-f]/),z5=ms(/[!-/:-@[-`{-~]/);function ze(e){return e!==null&&e<-2}function Mt(e){return e!==null&&(e<0||e===32)}function lt(e){return e===-2||e===-1||e===32}const ed=ms(new RegExp("\\p{P}|\\p{S}","u")),$s=ms(/\s/);function ms(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCharCode(a))}}function Qi(e){const t=[];let a=-1,s=0,o=0;for(;++a<e.length;){const u=e.charCodeAt(a);let d="";if(u===37&&wn(e.charCodeAt(a+1))&&wn(e.charCodeAt(a+2)))o=2;else if(u<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(u))||(d=String.fromCharCode(u));else if(u>55295&&u<57344){const f=e.charCodeAt(a+1);u<56320&&f>56319&&f<57344?(d=String.fromCharCode(u,f),o=1):d="�"}else d=String.fromCharCode(u);d&&(t.push(e.slice(s,a),encodeURIComponent(d)),s=a+o+1,d=""),o&&(a+=o,o=0)}return t.join("")+e.slice(s)}function ft(e,t,a,s){const o=s?s-1:Number.POSITIVE_INFINITY;let u=0;return d;function d(m){return lt(m)?(e.enter(a),f(m)):t(m)}function f(m){return lt(m)&&u++<o?(e.consume(m),f):(e.exit(a),t(m))}}const $5={tokenize:q5};function q5(e){const t=e.attempt(this.parser.constructs.contentInitial,s,o);let a;return t;function s(f){if(f===null){e.consume(f);return}return e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),ft(e,t,"linePrefix")}function o(f){return e.enter("paragraph"),u(f)}function u(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 ze(f)?(e.consume(f),e.exit("chunkText"),u):(e.consume(f),d)}}const Y5={tokenize:G5},n1={tokenize:K5};function G5(e){const t=this,a=[];let s=0,o,u,d;return f;function f(I){if(s<a.length){const Y=a[s];return t.containerState=Y[1],e.attempt(Y[0].continuation,m,h)(I)}return h(I)}function m(I){if(s++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,o&&R();const Y=t.events.length;let B=Y,C;for(;B--;)if(t.events[B][0]==="exit"&&t.events[B][1].type==="chunkFlow"){C=t.events[B][1].end;break}A(s);let P=Y;for(;P<t.events.length;)t.events[P][1].end={...C},P++;return fa(t.events,B+1,0,t.events.slice(Y)),t.events.length=P,h(I)}return f(I)}function h(I){if(s===a.length){if(!o)return y(I);if(o.currentConstruct&&o.currentConstruct.concrete)return v(I);t.interrupt=!!(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(n1,b,g)(I)}function b(I){return o&&R(),A(s),y(I)}function g(I){return t.parser.lazy[t.now().line]=s!==a.length,d=t.now().offset,v(I)}function y(I){return t.containerState={},e.attempt(n1,N,v)(I)}function N(I){return s++,a.push([t.currentConstruct,t.containerState]),y(I)}function v(I){if(I===null){o&&R(),A(0),e.consume(I);return}return o=o||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:o,contentType:"flow",previous:u}),S(I)}function S(I){if(I===null){w(e.exit("chunkFlow"),!0),A(0),e.consume(I);return}return ze(I)?(e.consume(I),w(e.exit("chunkFlow")),s=0,t.interrupt=void 0,f):(e.consume(I),S)}function w(I,Y){const B=t.sliceStream(I);if(Y&&B.push(null),I.previous=u,u&&(u.next=I),u=I,o.defineSkip(I.start),o.write(B),t.parser.lazy[I.start.line]){let C=o.events.length;for(;C--;)if(o.events[C][1].start.offset<d&&(!o.events[C][1].end||o.events[C][1].end.offset>d))return;const P=t.events.length;let X=P,Q,L;for(;X--;)if(t.events[X][0]==="exit"&&t.events[X][1].type==="chunkFlow"){if(Q){L=t.events[X][1].end;break}Q=!0}for(A(s),C=P;C<t.events.length;)t.events[C][1].end={...L},C++;fa(t.events,X+1,0,t.events.slice(P)),t.events.length=C}}function A(I){let Y=a.length;for(;Y-- >I;){const B=a[Y];t.containerState=B[1],B[0].exit.call(t,e)}a.length=I}function R(){o.write([null]),u=void 0,o=void 0,t.containerState._closeFlow=void 0}}function K5(e,t,a){return ft(e,e.attempt(this.parser.constructs.document,t,a),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function zi(e){if(e===null||Mt(e)||$s(e))return 1;if(ed(e))return 2}function td(e,t,a){const s=[];let o=-1;for(;++o<e.length;){const u=e[o].resolveAll;u&&!s.includes(u)&&(t=u(t,a),s.push(u))}return t}const bh={name:"attention",resolveAll:V5,tokenize:X5};function V5(e,t){let a=-1,s,o,u,d,f,m,h,b;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 g={...e[s][1].end},y={...e[a][1].start};a1(g,-m),a1(y,m),d={type:m>1?"strongSequence":"emphasisSequence",start:g,end:{...e[s][1].end}},f={type:m>1?"strongSequence":"emphasisSequence",start:{...e[a][1].start},end:y},u={type:m>1?"strongText":"emphasisText",start:{...e[s][1].end},end:{...e[a][1].start}},o={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=Aa(h,[["enter",e[s][1],t],["exit",e[s][1],t]])),h=Aa(h,[["enter",o,t],["enter",d,t],["exit",d,t],["enter",u,t]]),h=Aa(h,td(t.parser.constructs.insideSpan.null,e.slice(s+1,a),t)),h=Aa(h,[["exit",u,t],["enter",f,t],["exit",f,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(b=2,h=Aa(h,[["enter",e[a][1],t],["exit",e[a][1],t]])):b=0,fa(e,s-1,a-s+3,h),a=s+h.length-b-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function X5(e,t){const a=this.parser.constructs.attentionMarkers.null,s=this.previous,o=zi(s);let u;return d;function d(m){return u=m,e.enter("attentionSequence"),f(m)}function f(m){if(m===u)return e.consume(m),f;const h=e.exit("attentionSequence"),b=zi(m),g=!b||b===2&&o||a.includes(m),y=!o||o===2&&b||a.includes(s);return h._open=!!(u===42?g:g&&(o||!y)),h._close=!!(u===42?y:y&&(b||!g)),t(m)}}function a1(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const Q5={name:"autolink",tokenize:W5};function W5(e,t,a){let s=0;return o;function o(N){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(N),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),u}function u(N){return jn(N)?(e.consume(N),d):N===64?a(N):h(N)}function d(N){return N===43||N===45||N===46||wn(N)?(s=1,f(N)):h(N)}function f(N){return N===58?(e.consume(N),s=0,m):(N===43||N===45||N===46||wn(N))&&s++<32?(e.consume(N),f):(s=0,h(N))}function m(N){return N===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(N),e.exit("autolinkMarker"),e.exit("autolink"),t):N===null||N===32||N===60||Cc(N)?a(N):(e.consume(N),m)}function h(N){return N===64?(e.consume(N),b):H5(N)?(e.consume(N),h):a(N)}function b(N){return wn(N)?g(N):a(N)}function g(N){return N===46?(e.consume(N),s=0,b):N===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(N),e.exit("autolinkMarker"),e.exit("autolink"),t):y(N)}function y(N){if((N===45||wn(N))&&s++<63){const v=N===45?y:g;return e.consume(N),v}return a(N)}}const ko={partial:!0,tokenize:Z5};function Z5(e,t,a){return s;function s(u){return lt(u)?ft(e,o,"linePrefix")(u):o(u)}function o(u){return u===null||ze(u)?t(u):a(u)}}const Jy={continuation:{tokenize:ek},exit:tk,name:"blockQuote",tokenize:J5};function J5(e,t,a){const s=this;return o;function o(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"),u}return a(d)}function u(d){return lt(d)?(e.enter("blockQuotePrefixWhitespace"),e.consume(d),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(d))}}function ek(e,t,a){const s=this;return o;function o(d){return lt(d)?ft(e,u,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d):u(d)}function u(d){return e.attempt(Jy,t,a)(d)}}function tk(e){e.exit("blockQuote")}const eN={name:"characterEscape",tokenize:nk};function nk(e,t,a){return s;function s(u){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(u),e.exit("escapeMarker"),o}function o(u){return z5(u)?(e.enter("characterEscapeValue"),e.consume(u),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):a(u)}}const tN={name:"characterReference",tokenize:ak};function ak(e,t,a){const s=this;let o=0,u,d;return f;function f(g){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(g),e.exit("characterReferenceMarker"),m}function m(g){return g===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(g),e.exit("characterReferenceMarkerNumeric"),h):(e.enter("characterReferenceValue"),u=31,d=wn,b(g))}function h(g){return g===88||g===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(g),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),u=6,d=F5,b):(e.enter("characterReferenceValue"),u=7,d=gh,b(g))}function b(g){if(g===59&&o){const y=e.exit("characterReferenceValue");return d===wn&&!np(s.sliceSerialize(y))?a(g):(e.enter("characterReferenceMarker"),e.consume(g),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return d(g)&&o++<u?(e.consume(g),b):a(g)}}const r1={partial:!0,tokenize:sk},s1={concrete:!0,name:"codeFenced",tokenize:rk};function rk(e,t,a){const s=this,o={partial:!0,tokenize:B};let u=0,d=0,f;return m;function m(C){return h(C)}function h(C){const P=s.events[s.events.length-1];return u=P&&P[1].type==="linePrefix"?P[2].sliceSerialize(P[1],!0).length:0,f=C,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),b(C)}function b(C){return C===f?(d++,e.consume(C),b):d<3?a(C):(e.exit("codeFencedFenceSequence"),lt(C)?ft(e,g,"whitespace")(C):g(C))}function g(C){return C===null||ze(C)?(e.exit("codeFencedFence"),s.interrupt?t(C):e.check(r1,S,Y)(C)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),y(C))}function y(C){return C===null||ze(C)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),g(C)):lt(C)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ft(e,N,"whitespace")(C)):C===96&&C===f?a(C):(e.consume(C),y)}function N(C){return C===null||ze(C)?g(C):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),v(C))}function v(C){return C===null||ze(C)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),g(C)):C===96&&C===f?a(C):(e.consume(C),v)}function S(C){return e.attempt(o,Y,w)(C)}function w(C){return e.enter("lineEnding"),e.consume(C),e.exit("lineEnding"),A}function A(C){return u>0&<(C)?ft(e,R,"linePrefix",u+1)(C):R(C)}function R(C){return C===null||ze(C)?e.check(r1,S,Y)(C):(e.enter("codeFlowValue"),I(C))}function I(C){return C===null||ze(C)?(e.exit("codeFlowValue"),R(C)):(e.consume(C),I)}function Y(C){return e.exit("codeFenced"),t(C)}function B(C,P,X){let Q=0;return L;function L(te){return C.enter("lineEnding"),C.consume(te),C.exit("lineEnding"),$}function $(te){return C.enter("codeFencedFence"),lt(te)?ft(C,ee,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(te):ee(te)}function ee(te){return te===f?(C.enter("codeFencedFenceSequence"),ie(te)):X(te)}function ie(te){return te===f?(Q++,C.consume(te),ie):Q>=d?(C.exit("codeFencedFenceSequence"),lt(te)?ft(C,Z,"whitespace")(te):Z(te)):X(te)}function Z(te){return te===null||ze(te)?(C.exit("codeFencedFence"),P(te)):X(te)}}}function sk(e,t,a){const s=this;return o;function o(d){return d===null?a(d):(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),u)}function u(d){return s.parser.lazy[s.now().line]?a(d):t(d)}}const km={name:"codeIndented",tokenize:lk},ik={partial:!0,tokenize:ok};function lk(e,t,a){const s=this;return o;function o(h){return e.enter("codeIndented"),ft(e,u,"linePrefix",5)(h)}function u(h){const b=s.events[s.events.length-1];return b&&b[1].type==="linePrefix"&&b[2].sliceSerialize(b[1],!0).length>=4?d(h):a(h)}function d(h){return h===null?m(h):ze(h)?e.attempt(ik,d,m)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||ze(h)?(e.exit("codeFlowValue"),d(h)):(e.consume(h),f)}function m(h){return e.exit("codeIndented"),t(h)}}function ok(e,t,a){const s=this;return o;function o(d){return s.parser.lazy[s.now().line]?a(d):ze(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),o):ft(e,u,"linePrefix",5)(d)}function u(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):ze(d)?o(d):a(d)}}const uk={name:"codeText",previous:dk,resolve:ck,tokenize:fk};function ck(e){let t=e.length-4,a=3,s,o;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;)o===void 0?s!==t&&e[s][1].type!=="lineEnding"&&(o=s):(s===t||e[s][1].type==="lineEnding")&&(e[o][1].type="codeTextData",s!==o+2&&(e[o][1].end=e[s-1][1].end,e.splice(o+2,s-o-2),t-=s-o-2,s=o+2),o=void 0);return e}function dk(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function fk(e,t,a){let s=0,o,u;return d;function d(g){return e.enter("codeText"),e.enter("codeTextSequence"),f(g)}function f(g){return g===96?(e.consume(g),s++,f):(e.exit("codeTextSequence"),m(g))}function m(g){return g===null?a(g):g===32?(e.enter("space"),e.consume(g),e.exit("space"),m):g===96?(u=e.enter("codeTextSequence"),o=0,b(g)):ze(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),m):(e.enter("codeTextData"),h(g))}function h(g){return g===null||g===32||g===96||ze(g)?(e.exit("codeTextData"),m(g)):(e.consume(g),h)}function b(g){return g===96?(e.consume(g),o++,b):o===s?(e.exit("codeTextSequence"),e.exit("codeText"),t(g)):(u.type="codeTextData",h(g))}}class mk{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 o=a||0;this.setCursor(Math.trunc(t));const u=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return s&&Zl(this.left,s),u.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),Zl(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Zl(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);Zl(this.right,a.reverse())}else{const a=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);Zl(this.left,a.reverse())}}}function Zl(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 nN(e){const t={};let a=-1,s,o,u,d,f,m,h;const b=new mk(e);for(;++a<b.length;){for(;a in t;)a=t[a];if(s=b.get(a),a&&s[1].type==="chunkFlow"&&b.get(a-1)[1].type==="listItemPrefix"&&(m=s[1]._tokenizer.events,u=0,u<m.length&&m[u][1].type==="lineEndingBlank"&&(u+=2),u<m.length&&m[u][1].type==="content"))for(;++u<m.length&&m[u][1].type!=="content";)m[u][1].type==="chunkText"&&(m[u][1]._isInFirstContentOfListItem=!0,u++);if(s[0]==="enter")s[1].contentType&&(Object.assign(t,hk(b,a)),a=t[a],h=!0);else if(s[1]._container){for(u=a,o=void 0;u--;)if(d=b.get(u),d[1].type==="lineEnding"||d[1].type==="lineEndingBlank")d[0]==="enter"&&(o&&(b.get(o)[1].type="lineEndingBlank"),d[1].type="lineEnding",o=u);else if(!(d[1].type==="linePrefix"||d[1].type==="listItemIndent"))break;o&&(s[1].end={...b.get(o)[1].start},f=b.slice(o,a),f.unshift(s),b.splice(o,a-o+1,f))}}return fa(e,0,Number.POSITIVE_INFINITY,b.slice(0)),!h}function hk(e,t){const a=e.get(t)[1],s=e.get(t)[2];let o=t-1;const u=[];let d=a._tokenizer;d||(d=s.parser[a.contentType](a.start),a._contentTypeTextTrailing&&(d._contentTypeTextTrailing=!0));const f=d.events,m=[],h={};let b,g,y=-1,N=a,v=0,S=0;const w=[S];for(;N;){for(;e.get(++o)[1]!==N;);u.push(o),N._tokenizer||(b=s.sliceStream(N),N.next||b.push(null),g&&d.defineSkip(N.start),N._isInFirstContentOfListItem&&(d._gfmTasklistFirstContentOfListItem=!0),d.write(b),N._isInFirstContentOfListItem&&(d._gfmTasklistFirstContentOfListItem=void 0)),g=N,N=N.next}for(N=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,w.push(S),N._tokenizer=void 0,N.previous=void 0,N=N.next);for(d.events=[],N?(N._tokenizer=void 0,N.previous=void 0):w.pop(),y=w.length;y--;){const A=f.slice(w[y],w[y+1]),R=u.pop();m.push([R,R+A.length-1]),e.splice(R,2,A)}for(m.reverse(),y=-1;++y<m.length;)h[v+m[y][0]]=v+m[y][1],v+=m[y][1]-m[y][0]-1;return h}const pk={resolve:bk,tokenize:xk},gk={partial:!0,tokenize:Ek};function bk(e){return nN(e),e}function xk(e,t){let a;return s;function s(f){return e.enter("content"),a=e.enter("chunkContent",{contentType:"content"}),o(f)}function o(f){return f===null?u(f):ze(f)?e.check(gk,d,u)(f):(e.consume(f),o)}function u(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,o}}function Ek(e,t,a){const s=this;return o;function o(d){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),ft(e,u,"linePrefix")}function u(d){if(d===null||ze(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 aN(e,t,a,s,o,u,d,f,m){const h=m||Number.POSITIVE_INFINITY;let b=0;return g;function g(A){return A===60?(e.enter(s),e.enter(o),e.enter(u),e.consume(A),e.exit(u),y):A===null||A===32||A===41||Cc(A)?a(A):(e.enter(s),e.enter(d),e.enter(f),e.enter("chunkString",{contentType:"string"}),S(A))}function y(A){return A===62?(e.enter(u),e.consume(A),e.exit(u),e.exit(o),e.exit(s),t):(e.enter(f),e.enter("chunkString",{contentType:"string"}),N(A))}function N(A){return A===62?(e.exit("chunkString"),e.exit(f),y(A)):A===null||A===60||ze(A)?a(A):(e.consume(A),A===92?v:N)}function v(A){return A===60||A===62||A===92?(e.consume(A),N):N(A)}function S(A){return!b&&(A===null||A===41||Mt(A))?(e.exit("chunkString"),e.exit(f),e.exit(d),e.exit(s),t(A)):b<h&&A===40?(e.consume(A),b++,S):A===41?(e.consume(A),b--,S):A===null||A===32||A===40||Cc(A)?a(A):(e.consume(A),A===92?w:S)}function w(A){return A===40||A===41||A===92?(e.consume(A),S):S(A)}}function rN(e,t,a,s,o,u){const d=this;let f=0,m;return h;function h(N){return e.enter(s),e.enter(o),e.consume(N),e.exit(o),e.enter(u),b}function b(N){return f>999||N===null||N===91||N===93&&!m||N===94&&!f&&"_hiddenFootnoteSupport"in d.parser.constructs?a(N):N===93?(e.exit(u),e.enter(o),e.consume(N),e.exit(o),e.exit(s),t):ze(N)?(e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),b):(e.enter("chunkString",{contentType:"string"}),g(N))}function g(N){return N===null||N===91||N===93||ze(N)||f++>999?(e.exit("chunkString"),b(N)):(e.consume(N),m||(m=!lt(N)),N===92?y:g)}function y(N){return N===91||N===92||N===93?(e.consume(N),f++,g):g(N)}}function sN(e,t,a,s,o,u){let d;return f;function f(y){return y===34||y===39||y===40?(e.enter(s),e.enter(o),e.consume(y),e.exit(o),d=y===40?41:y,m):a(y)}function m(y){return y===d?(e.enter(o),e.consume(y),e.exit(o),e.exit(s),t):(e.enter(u),h(y))}function h(y){return y===d?(e.exit(u),m(d)):y===null?a(y):ze(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ft(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),b(y))}function b(y){return y===d||y===null||ze(y)?(e.exit("chunkString"),h(y)):(e.consume(y),y===92?g:b)}function g(y){return y===d||y===92?(e.consume(y),b):b(y)}}function io(e,t){let a;return s;function s(o){return ze(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a=!0,s):lt(o)?ft(e,s,a?"linePrefix":"lineSuffix")(o):t(o)}}const yk={name:"definition",tokenize:Tk},Nk={partial:!0,tokenize:_k};function Tk(e,t,a){const s=this;let o;return u;function u(N){return e.enter("definition"),d(N)}function d(N){return rN.call(s,e,f,a,"definitionLabel","definitionLabelMarker","definitionLabelString")(N)}function f(N){return o=ja(s.sliceSerialize(s.events[s.events.length-1][1]).slice(1,-1)),N===58?(e.enter("definitionMarker"),e.consume(N),e.exit("definitionMarker"),m):a(N)}function m(N){return Mt(N)?io(e,h)(N):h(N)}function h(N){return aN(e,b,a,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(N)}function b(N){return e.attempt(Nk,g,g)(N)}function g(N){return lt(N)?ft(e,y,"whitespace")(N):y(N)}function y(N){return N===null||ze(N)?(e.exit("definition"),s.parser.defined.push(o),t(N)):a(N)}}function _k(e,t,a){return s;function s(f){return Mt(f)?io(e,o)(f):a(f)}function o(f){return sN(e,u,a,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function u(f){return lt(f)?ft(e,d,"whitespace")(f):d(f)}function d(f){return f===null||ze(f)?t(f):a(f)}}const vk={name:"hardBreakEscape",tokenize:Sk};function Sk(e,t,a){return s;function s(u){return e.enter("hardBreakEscape"),e.consume(u),o}function o(u){return ze(u)?(e.exit("hardBreakEscape"),t(u)):a(u)}}const Ak={name:"headingAtx",resolve:wk,tokenize:Ck};function wk(e,t){let a=e.length-2,s=3,o,u;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&&(o={type:"atxHeadingText",start:e[s][1].start,end:e[a][1].end},u={type:"chunkText",start:e[s][1].start,end:e[a][1].end,contentType:"text"},fa(e,s,a-s+1,[["enter",o,t],["enter",u,t],["exit",u,t],["exit",o,t]])),e}function Ck(e,t,a){let s=0;return o;function o(b){return e.enter("atxHeading"),u(b)}function u(b){return e.enter("atxHeadingSequence"),d(b)}function d(b){return b===35&&s++<6?(e.consume(b),d):b===null||Mt(b)?(e.exit("atxHeadingSequence"),f(b)):a(b)}function f(b){return b===35?(e.enter("atxHeadingSequence"),m(b)):b===null||ze(b)?(e.exit("atxHeading"),t(b)):lt(b)?ft(e,f,"whitespace")(b):(e.enter("atxHeadingText"),h(b))}function m(b){return b===35?(e.consume(b),m):(e.exit("atxHeadingSequence"),f(b))}function h(b){return b===null||b===35||Mt(b)?(e.exit("atxHeadingText"),f(b)):(e.consume(b),h)}}const kk=["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"],i1=["pre","script","style","textarea"],Rk={concrete:!0,name:"htmlFlow",resolveTo:Mk,tokenize:Dk},Ok={partial:!0,tokenize:jk},Ik={partial:!0,tokenize:Lk};function Mk(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 Dk(e,t,a){const s=this;let o,u,d,f,m;return h;function h(M){return b(M)}function b(M){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(M),g}function g(M){return M===33?(e.consume(M),y):M===47?(e.consume(M),u=!0,S):M===63?(e.consume(M),o=3,s.interrupt?t:k):jn(M)?(e.consume(M),d=String.fromCharCode(M),w):a(M)}function y(M){return M===45?(e.consume(M),o=2,N):M===91?(e.consume(M),o=5,f=0,v):jn(M)?(e.consume(M),o=4,s.interrupt?t:k):a(M)}function N(M){return M===45?(e.consume(M),s.interrupt?t:k):a(M)}function v(M){const ye="CDATA[";return M===ye.charCodeAt(f++)?(e.consume(M),f===ye.length?s.interrupt?t:ee:v):a(M)}function S(M){return jn(M)?(e.consume(M),d=String.fromCharCode(M),w):a(M)}function w(M){if(M===null||M===47||M===62||Mt(M)){const ye=M===47,re=d.toLowerCase();return!ye&&!u&&i1.includes(re)?(o=1,s.interrupt?t(M):ee(M)):kk.includes(d.toLowerCase())?(o=6,ye?(e.consume(M),A):s.interrupt?t(M):ee(M)):(o=7,s.interrupt&&!s.parser.lazy[s.now().line]?a(M):u?R(M):I(M))}return M===45||wn(M)?(e.consume(M),d+=String.fromCharCode(M),w):a(M)}function A(M){return M===62?(e.consume(M),s.interrupt?t:ee):a(M)}function R(M){return lt(M)?(e.consume(M),R):L(M)}function I(M){return M===47?(e.consume(M),L):M===58||M===95||jn(M)?(e.consume(M),Y):lt(M)?(e.consume(M),I):L(M)}function Y(M){return M===45||M===46||M===58||M===95||wn(M)?(e.consume(M),Y):B(M)}function B(M){return M===61?(e.consume(M),C):lt(M)?(e.consume(M),B):I(M)}function C(M){return M===null||M===60||M===61||M===62||M===96?a(M):M===34||M===39?(e.consume(M),m=M,P):lt(M)?(e.consume(M),C):X(M)}function P(M){return M===m?(e.consume(M),m=null,Q):M===null||ze(M)?a(M):(e.consume(M),P)}function X(M){return M===null||M===34||M===39||M===47||M===60||M===61||M===62||M===96||Mt(M)?B(M):(e.consume(M),X)}function Q(M){return M===47||M===62||lt(M)?I(M):a(M)}function L(M){return M===62?(e.consume(M),$):a(M)}function $(M){return M===null||ze(M)?ee(M):lt(M)?(e.consume(M),$):a(M)}function ee(M){return M===45&&o===2?(e.consume(M),H):M===60&&o===1?(e.consume(M),z):M===62&&o===4?(e.consume(M),j):M===63&&o===3?(e.consume(M),k):M===93&&o===5?(e.consume(M),K):ze(M)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(Ok,ae,ie)(M)):M===null||ze(M)?(e.exit("htmlFlowData"),ie(M)):(e.consume(M),ee)}function ie(M){return e.check(Ik,Z,ae)(M)}function Z(M){return e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),te}function te(M){return M===null||ze(M)?ie(M):(e.enter("htmlFlowData"),ee(M))}function H(M){return M===45?(e.consume(M),k):ee(M)}function z(M){return M===47?(e.consume(M),d="",ce):ee(M)}function ce(M){if(M===62){const ye=d.toLowerCase();return i1.includes(ye)?(e.consume(M),j):ee(M)}return jn(M)&&d.length<8?(e.consume(M),d+=String.fromCharCode(M),ce):ee(M)}function K(M){return M===93?(e.consume(M),k):ee(M)}function k(M){return M===62?(e.consume(M),j):M===45&&o===2?(e.consume(M),k):ee(M)}function j(M){return M===null||ze(M)?(e.exit("htmlFlowData"),ae(M)):(e.consume(M),j)}function ae(M){return e.exit("htmlFlow"),t(M)}}function Lk(e,t,a){const s=this;return o;function o(d){return ze(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),u):a(d)}function u(d){return s.parser.lazy[s.now().line]?a(d):t(d)}}function jk(e,t,a){return s;function s(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(ko,t,a)}}const Bk={name:"htmlText",tokenize:Pk};function Pk(e,t,a){const s=this;let o,u,d;return f;function f(k){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(k),m}function m(k){return k===33?(e.consume(k),h):k===47?(e.consume(k),B):k===63?(e.consume(k),I):jn(k)?(e.consume(k),X):a(k)}function h(k){return k===45?(e.consume(k),b):k===91?(e.consume(k),u=0,v):jn(k)?(e.consume(k),R):a(k)}function b(k){return k===45?(e.consume(k),N):a(k)}function g(k){return k===null?a(k):k===45?(e.consume(k),y):ze(k)?(d=g,z(k)):(e.consume(k),g)}function y(k){return k===45?(e.consume(k),N):g(k)}function N(k){return k===62?H(k):k===45?y(k):g(k)}function v(k){const j="CDATA[";return k===j.charCodeAt(u++)?(e.consume(k),u===j.length?S:v):a(k)}function S(k){return k===null?a(k):k===93?(e.consume(k),w):ze(k)?(d=S,z(k)):(e.consume(k),S)}function w(k){return k===93?(e.consume(k),A):S(k)}function A(k){return k===62?H(k):k===93?(e.consume(k),A):S(k)}function R(k){return k===null||k===62?H(k):ze(k)?(d=R,z(k)):(e.consume(k),R)}function I(k){return k===null?a(k):k===63?(e.consume(k),Y):ze(k)?(d=I,z(k)):(e.consume(k),I)}function Y(k){return k===62?H(k):I(k)}function B(k){return jn(k)?(e.consume(k),C):a(k)}function C(k){return k===45||wn(k)?(e.consume(k),C):P(k)}function P(k){return ze(k)?(d=P,z(k)):lt(k)?(e.consume(k),P):H(k)}function X(k){return k===45||wn(k)?(e.consume(k),X):k===47||k===62||Mt(k)?Q(k):a(k)}function Q(k){return k===47?(e.consume(k),H):k===58||k===95||jn(k)?(e.consume(k),L):ze(k)?(d=Q,z(k)):lt(k)?(e.consume(k),Q):H(k)}function L(k){return k===45||k===46||k===58||k===95||wn(k)?(e.consume(k),L):$(k)}function $(k){return k===61?(e.consume(k),ee):ze(k)?(d=$,z(k)):lt(k)?(e.consume(k),$):Q(k)}function ee(k){return k===null||k===60||k===61||k===62||k===96?a(k):k===34||k===39?(e.consume(k),o=k,ie):ze(k)?(d=ee,z(k)):lt(k)?(e.consume(k),ee):(e.consume(k),Z)}function ie(k){return k===o?(e.consume(k),o=void 0,te):k===null?a(k):ze(k)?(d=ie,z(k)):(e.consume(k),ie)}function Z(k){return k===null||k===34||k===39||k===60||k===61||k===96?a(k):k===47||k===62||Mt(k)?Q(k):(e.consume(k),Z)}function te(k){return k===47||k===62||Mt(k)?Q(k):a(k)}function H(k){return k===62?(e.consume(k),e.exit("htmlTextData"),e.exit("htmlText"),t):a(k)}function z(k){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),ce}function ce(k){return lt(k)?ft(e,K,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(k):K(k)}function K(k){return e.enter("htmlTextData"),d(k)}}const ap={name:"labelEnd",resolveAll:zk,resolveTo:$k,tokenize:qk},Uk={tokenize:Yk},Hk={tokenize:Gk},Fk={tokenize:Kk};function zk(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 o=s.type==="labelImage"?4:2;s.type="data",t+=o}}return e.length!==a.length&&fa(e,0,e.length,a),e}function $k(e,t){let a=e.length,s=0,o,u,d,f;for(;a--;)if(o=e[a][1],u){if(o.type==="link"||o.type==="labelLink"&&o._inactive)break;e[a][0]==="enter"&&o.type==="labelLink"&&(o._inactive=!0)}else if(d){if(e[a][0]==="enter"&&(o.type==="labelImage"||o.type==="labelLink")&&!o._balanced&&(u=a,o.type!=="labelLink")){s=2;break}}else o.type==="labelEnd"&&(d=a);const m={type:e[u][1].type==="labelLink"?"link":"image",start:{...e[u][1].start},end:{...e[e.length-1][1].end}},h={type:"label",start:{...e[u][1].start},end:{...e[d][1].end}},b={type:"labelText",start:{...e[u+s+2][1].end},end:{...e[d-2][1].start}};return f=[["enter",m,t],["enter",h,t]],f=Aa(f,e.slice(u+1,u+s+3)),f=Aa(f,[["enter",b,t]]),f=Aa(f,td(t.parser.constructs.insideSpan.null,e.slice(u+s+4,d-3),t)),f=Aa(f,[["exit",b,t],e[d-2],e[d-1],["exit",h,t]]),f=Aa(f,e.slice(d+1)),f=Aa(f,[["exit",m,t]]),fa(e,u,e.length,f),e}function qk(e,t,a){const s=this;let o=s.events.length,u,d;for(;o--;)if((s.events[o][1].type==="labelImage"||s.events[o][1].type==="labelLink")&&!s.events[o][1]._balanced){u=s.events[o][1];break}return f;function f(y){return u?u._inactive?g(y):(d=s.parser.defined.includes(ja(s.sliceSerialize({start:u.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(Uk,b,d?b:g)(y):y===91?e.attempt(Hk,b,d?h:g)(y):d?b(y):g(y)}function h(y){return e.attempt(Fk,b,g)(y)}function b(y){return t(y)}function g(y){return u._balanced=!0,a(y)}}function Yk(e,t,a){return s;function s(g){return e.enter("resource"),e.enter("resourceMarker"),e.consume(g),e.exit("resourceMarker"),o}function o(g){return Mt(g)?io(e,u)(g):u(g)}function u(g){return g===41?b(g):aN(e,d,f,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(g)}function d(g){return Mt(g)?io(e,m)(g):b(g)}function f(g){return a(g)}function m(g){return g===34||g===39||g===40?sN(e,h,a,"resourceTitle","resourceTitleMarker","resourceTitleString")(g):b(g)}function h(g){return Mt(g)?io(e,b)(g):b(g)}function b(g){return g===41?(e.enter("resourceMarker"),e.consume(g),e.exit("resourceMarker"),e.exit("resource"),t):a(g)}}function Gk(e,t,a){const s=this;return o;function o(f){return rN.call(s,e,u,d,"reference","referenceMarker","referenceString")(f)}function u(f){return s.parser.defined.includes(ja(s.sliceSerialize(s.events[s.events.length-1][1]).slice(1,-1)))?t(f):a(f)}function d(f){return a(f)}}function Kk(e,t,a){return s;function s(u){return e.enter("reference"),e.enter("referenceMarker"),e.consume(u),e.exit("referenceMarker"),o}function o(u){return u===93?(e.enter("referenceMarker"),e.consume(u),e.exit("referenceMarker"),e.exit("reference"),t):a(u)}}const Vk={name:"labelStartImage",resolveAll:ap.resolveAll,tokenize:Xk};function Xk(e,t,a){const s=this;return o;function o(f){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(f),e.exit("labelImageMarker"),u}function u(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 Qk={name:"labelStartLink",resolveAll:ap.resolveAll,tokenize:Wk};function Wk(e,t,a){const s=this;return o;function o(d){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(d),e.exit("labelMarker"),e.exit("labelLink"),u}function u(d){return d===94&&"_hiddenFootnoteSupport"in s.parser.constructs?a(d):t(d)}}const Rm={name:"lineEnding",tokenize:Zk};function Zk(e,t){return a;function a(s){return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),ft(e,t,"linePrefix")}}const hc={name:"thematicBreak",tokenize:Jk};function Jk(e,t,a){let s=0,o;return u;function u(h){return e.enter("thematicBreak"),d(h)}function d(h){return o=h,f(h)}function f(h){return h===o?(e.enter("thematicBreakSequence"),m(h)):s>=3&&(h===null||ze(h))?(e.exit("thematicBreak"),t(h)):a(h)}function m(h){return h===o?(e.consume(h),s++,m):(e.exit("thematicBreakSequence"),lt(h)?ft(e,f,"whitespace")(h):f(h))}}const Wn={continuation:{tokenize:aR},exit:sR,name:"list",tokenize:nR},eR={partial:!0,tokenize:iR},tR={partial:!0,tokenize:rR};function nR(e,t,a){const s=this,o=s.events[s.events.length-1];let u=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,d=0;return f;function f(N){const v=s.containerState.type||(N===42||N===43||N===45?"listUnordered":"listOrdered");if(v==="listUnordered"?!s.containerState.marker||N===s.containerState.marker:gh(N)){if(s.containerState.type||(s.containerState.type=v,e.enter(v,{_container:!0})),v==="listUnordered")return e.enter("listItemPrefix"),N===42||N===45?e.check(hc,a,h)(N):h(N);if(!s.interrupt||N===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),m(N)}return a(N)}function m(N){return gh(N)&&++d<10?(e.consume(N),m):(!s.interrupt||d<2)&&(s.containerState.marker?N===s.containerState.marker:N===41||N===46)?(e.exit("listItemValue"),h(N)):a(N)}function h(N){return e.enter("listItemMarker"),e.consume(N),e.exit("listItemMarker"),s.containerState.marker=s.containerState.marker||N,e.check(ko,s.interrupt?a:b,e.attempt(eR,y,g))}function b(N){return s.containerState.initialBlankLine=!0,u++,y(N)}function g(N){return lt(N)?(e.enter("listItemPrefixWhitespace"),e.consume(N),e.exit("listItemPrefixWhitespace"),y):a(N)}function y(N){return s.containerState.size=u+s.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(N)}}function aR(e,t,a){const s=this;return s.containerState._closeFlow=void 0,e.check(ko,o,u);function o(f){return s.containerState.furtherBlankLines=s.containerState.furtherBlankLines||s.containerState.initialBlankLine,ft(e,t,"listItemIndent",s.containerState.size+1)(f)}function u(f){return s.containerState.furtherBlankLines||!lt(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(tR,t,d)(f))}function d(f){return s.containerState._closeFlow=!0,s.interrupt=void 0,ft(e,e.attempt(Wn,t,a),"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function rR(e,t,a){const s=this;return ft(e,o,"listItemIndent",s.containerState.size+1);function o(u){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(u):a(u)}}function sR(e){e.exit(this.containerState.type)}function iR(e,t,a){const s=this;return ft(e,o,"listItemPrefixWhitespace",s.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(u){const d=s.events[s.events.length-1];return!lt(u)&&d&&d[1].type==="listItemPrefixWhitespace"?t(u):a(u)}}const l1={name:"setextUnderline",resolveTo:lR,tokenize:oR};function lR(e,t){let a=e.length,s,o,u;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){s=a;break}e[a][1].type==="paragraph"&&(o=a)}else e[a][1].type==="content"&&e.splice(a,1),!u&&e[a][1].type==="definition"&&(u=a);const d={type:"setextHeading",start:{...e[s][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",u?(e.splice(o,0,["enter",d,t]),e.splice(u+1,0,["exit",e[s][1],t]),e[s][1].end={...e[u][1].end}):e[s][1]=d,e.push(["exit",d,t]),e}function oR(e,t,a){const s=this;let o;return u;function u(h){let b=s.events.length,g;for(;b--;)if(s.events[b][1].type!=="lineEnding"&&s.events[b][1].type!=="linePrefix"&&s.events[b][1].type!=="content"){g=s.events[b][1].type==="paragraph";break}return!s.parser.lazy[s.now().line]&&(s.interrupt||g)?(e.enter("setextHeadingLine"),o=h,d(h)):a(h)}function d(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),lt(h)?ft(e,m,"lineSuffix")(h):m(h))}function m(h){return h===null||ze(h)?(e.exit("setextHeadingLine"),t(h)):a(h)}}const uR={tokenize:cR};function cR(e){const t=this,a=e.attempt(ko,s,e.attempt(this.parser.constructs.flowInitial,o,ft(e,e.attempt(this.parser.constructs.flow,o,e.attempt(pk,o)),"linePrefix")));return a;function s(u){if(u===null){e.consume(u);return}return e.enter("lineEndingBlank"),e.consume(u),e.exit("lineEndingBlank"),t.currentConstruct=void 0,a}function o(u){if(u===null){e.consume(u);return}return e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),t.currentConstruct=void 0,a}}const dR={resolveAll:lN()},fR=iN("string"),mR=iN("text");function iN(e){return{resolveAll:lN(e==="text"?hR:void 0),tokenize:t};function t(a){const s=this,o=this.parser.constructs[e],u=a.attempt(o,d,f);return d;function d(b){return h(b)?u(b):f(b)}function f(b){if(b===null){a.consume(b);return}return a.enter("data"),a.consume(b),m}function m(b){return h(b)?(a.exit("data"),u(b)):(a.consume(b),m)}function h(b){if(b===null)return!0;const g=o[b];let y=-1;if(g)for(;++y<g.length;){const N=g[y];if(!N.previous||N.previous.call(s,s.previous))return!0}return!1}}}function lN(e){return t;function t(a,s){let o=-1,u;for(;++o<=a.length;)u===void 0?a[o]&&a[o][1].type==="data"&&(u=o,o++):(!a[o]||a[o][1].type!=="data")&&(o!==u+2&&(a[u][1].end=a[o-1][1].end,a.splice(u+2,o-u-2),o=u+2),u=void 0);return e?e(a,s):a}}function hR(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],o=t.sliceStream(s);let u=o.length,d=-1,f=0,m;for(;u--;){const h=o[u];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){u++;break}}if(t._contentTypeTextTrailing&&a===e.length&&(f=0),f){const h={type:a===e.length||m||f<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:u?d:s.start._bufferIndex+d,_index:s.start._index+u,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 pR={42:Wn,43:Wn,45:Wn,48:Wn,49:Wn,50:Wn,51:Wn,52:Wn,53:Wn,54:Wn,55:Wn,56:Wn,57:Wn,62:Jy},gR={91:yk},bR={[-2]:km,[-1]:km,32:km},xR={35:Ak,42:hc,45:[l1,hc],60:Rk,61:l1,95:hc,96:s1,126:s1},ER={38:tN,92:eN},yR={[-5]:Rm,[-4]:Rm,[-3]:Rm,33:Vk,38:tN,42:bh,60:[Q5,Bk],91:Qk,92:[vk,eN],93:ap,95:bh,96:uk},NR={null:[bh,dR]},TR={null:[42,95]},_R={null:[]},vR=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:TR,contentInitial:gR,disable:_R,document:pR,flow:xR,flowInitial:bR,insideSpan:NR,string:ER,text:yR},Symbol.toStringTag,{value:"Module"}));function SR(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 o={},u=[];let d=[],f=[];const m={attempt:P(B),check:P(C),consume:R,enter:I,exit:Y,interrupt:P(C,{interrupt:!0})},h={code:null,containerState:{},defineSkip:S,events:[],now:v,parser:e,previous:null,sliceSerialize:y,sliceStream:N,write:g};let b=t.tokenize.call(h,m);return t.resolveAll&&u.push(t),h;function g($){return d=Aa(d,$),w(),d[d.length-1]!==null?[]:(X(t,0),h.events=td(u,h.events,h),h.events)}function y($,ee){return wR(N($),ee)}function N($){return AR(d,$)}function v(){const{_bufferIndex:$,_index:ee,line:ie,column:Z,offset:te}=s;return{_bufferIndex:$,_index:ee,line:ie,column:Z,offset:te}}function S($){o[$.line]=$.column,L()}function w(){let $;for(;s._index<d.length;){const ee=d[s._index];if(typeof ee=="string")for($=s._index,s._bufferIndex<0&&(s._bufferIndex=0);s._index===$&&s._bufferIndex<ee.length;)A(ee.charCodeAt(s._bufferIndex));else A(ee)}}function A($){b=b($)}function R($){ze($)?(s.line++,s.column=1,s.offset+=$===-3?2:1,L()):$!==-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=$}function I($,ee){const ie=ee||{};return ie.type=$,ie.start=v(),h.events.push(["enter",ie,h]),f.push(ie),ie}function Y($){const ee=f.pop();return ee.end=v(),h.events.push(["exit",ee,h]),ee}function B($,ee){X($,ee.from)}function C($,ee){ee.restore()}function P($,ee){return ie;function ie(Z,te,H){let z,ce,K,k;return Array.isArray(Z)?ae(Z):"tokenize"in Z?ae([Z]):j(Z);function j(Ne){return Be;function Be(rt){const Je=rt!==null&&Ne[rt],vt=rt!==null&&Ne.null,fn=[...Array.isArray(Je)?Je:Je?[Je]:[],...Array.isArray(vt)?vt:vt?[vt]:[]];return ae(fn)(rt)}}function ae(Ne){return z=Ne,ce=0,Ne.length===0?H:M(Ne[ce])}function M(Ne){return Be;function Be(rt){return k=Q(),K=Ne,Ne.partial||(h.currentConstruct=Ne),Ne.name&&h.parser.constructs.disable.null.includes(Ne.name)?re():Ne.tokenize.call(ee?Object.assign(Object.create(h),ee):h,m,ye,re)(rt)}}function ye(Ne){return $(K,k),te}function re(Ne){return k.restore(),++ce<z.length?M(z[ce]):H}}}function X($,ee){$.resolveAll&&!u.includes($)&&u.push($),$.resolve&&fa(h.events,ee,h.events.length-ee,$.resolve(h.events.slice(ee),h)),$.resolveTo&&(h.events=$.resolveTo(h.events,h))}function Q(){const $=v(),ee=h.previous,ie=h.currentConstruct,Z=h.events.length,te=Array.from(f);return{from:Z,restore:H};function H(){s=$,h.previous=ee,h.currentConstruct=ie,h.events.length=Z,f=te,L()}}function L(){s.line in o&&s.column<2&&(s.column=o[s.line],s.offset+=o[s.line]-1)}}function AR(e,t){const a=t.start._index,s=t.start._bufferIndex,o=t.end._index,u=t.end._bufferIndex;let d;if(a===o)d=[e[a].slice(s,u)];else{if(d=e.slice(a,o),s>-1){const f=d[0];typeof f=="string"?d[0]=f.slice(s):d.shift()}u>0&&d.push(e[o].slice(0,u))}return d}function wR(e,t){let a=-1;const s=[];let o;for(;++a<e.length;){const u=e[a];let d;if(typeof u=="string")d=u;else switch(u){case-5:{d="\r";break}case-4:{d=`
|
|
@@ -492,7 +492,7 @@ Please change the parent <Route path="${A}"> to <Route path="${A==="/"?"*":`${A}
|
|
|
492
492
|
`))+1))}const d="#".repeat(o),f=a.enter("headingAtx"),m=a.enter("phrasing");u.move(d+" ");let h=a.containerPhrasing(e,{before:"# ",after:`
|
|
493
493
|
`,...u.current()});return/^[\t ]/.test(h)&&(h=_o(h.charCodeAt(0))+h.slice(1)),h=h?d+" "+h:d,a.options.closeAtx&&(h+=" "+d),m(),f(),h}SN.peek=aI;function SN(e){return e.value||""}function aI(){return"<"}AN.peek=rI;function AN(e,t,a,s){const o=up(a),u=o==='"'?"Quote":"Apostrophe",d=a.enter("image");let f=a.enter("label");const m=a.createTracker(s);let h=m.move("![");return h+=m.move(a.safe(e.alt,{before:h,after:"]",...m.current()})),h+=m.move("]("),f(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(f=a.enter("destinationLiteral"),h+=m.move("<"),h+=m.move(a.safe(e.url,{before:h,after:">",...m.current()})),h+=m.move(">")):(f=a.enter("destinationRaw"),h+=m.move(a.safe(e.url,{before:h,after:e.title?" ":")",...m.current()}))),f(),e.title&&(f=a.enter(`title${u}`),h+=m.move(" "+o),h+=m.move(a.safe(e.title,{before:h,after:o,...m.current()})),h+=m.move(o),f()),h+=m.move(")"),d(),h}function rI(){return"!"}wN.peek=sI;function wN(e,t,a,s){const o=e.referenceType,u=a.enter("imageReference");let d=a.enter("label");const f=a.createTracker(s);let m=f.move("![");const h=a.safe(e.alt,{before:m,after:"]",...f.current()});m+=f.move(h+"]["),d();const b=a.stack;a.stack=[],d=a.enter("reference");const g=a.safe(a.associationId(e),{before:m,after:"]",...f.current()});return d(),a.stack=b,u(),o==="full"||!h||h!==g?m+=f.move(g+"]"):o==="shortcut"?m=m.slice(0,-1):m+=f.move("]"),m}function sI(){return"!"}CN.peek=iI;function CN(e,t,a){let s=e.value||"",o="`",u=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(s);)o+="`";for(/[^ \r\n]/.test(s)&&(/^[ \r\n]/.test(s)&&/[ \r\n]$/.test(s)||/^`|`$/.test(s))&&(s=" "+s+" ");++u<a.unsafe.length;){const d=a.unsafe[u],f=a.compilePattern(d);let m;if(d.atBreak)for(;m=f.exec(s);){let h=m.index;s.charCodeAt(h)===10&&s.charCodeAt(h-1)===13&&h--,s=s.slice(0,h)+" "+s.slice(m.index+1)}}return o+s+o}function iI(){return"`"}function kN(e,t){const a=tp(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(a===e.url||"mailto:"+a===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}RN.peek=lI;function RN(e,t,a,s){const o=up(a),u=o==='"'?"Quote":"Apostrophe",d=a.createTracker(s);let f,m;if(kN(e,a)){const b=a.stack;a.stack=[],f=a.enter("autolink");let g=d.move("<");return g+=d.move(a.containerPhrasing(e,{before:g,after:">",...d.current()})),g+=d.move(">"),f(),a.stack=b,g}f=a.enter("link"),m=a.enter("label");let h=d.move("[");return h+=d.move(a.containerPhrasing(e,{before:h,after:"](",...d.current()})),h+=d.move("]("),m(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(m=a.enter("destinationLiteral"),h+=d.move("<"),h+=d.move(a.safe(e.url,{before:h,after:">",...d.current()})),h+=d.move(">")):(m=a.enter("destinationRaw"),h+=d.move(a.safe(e.url,{before:h,after:e.title?" ":")",...d.current()}))),m(),e.title&&(m=a.enter(`title${u}`),h+=d.move(" "+o),h+=d.move(a.safe(e.title,{before:h,after:o,...d.current()})),h+=d.move(o),m()),h+=d.move(")"),f(),h}function lI(e,t,a){return kN(e,a)?"<":"["}ON.peek=oI;function ON(e,t,a,s){const o=e.referenceType,u=a.enter("linkReference");let d=a.enter("label");const f=a.createTracker(s);let m=f.move("[");const h=a.containerPhrasing(e,{before:m,after:"]",...f.current()});m+=f.move(h+"]["),d();const b=a.stack;a.stack=[],d=a.enter("reference");const g=a.safe(a.associationId(e),{before:m,after:"]",...f.current()});return d(),a.stack=b,u(),o==="full"||!h||h!==g?m+=f.move(g+"]"):o==="shortcut"?m=m.slice(0,-1):m+=f.move("]"),m}function oI(){return"["}function cp(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function uI(e){const t=cp(e),a=e.options.bulletOther;if(!a)return t==="*"?"-":"*";if(a!=="*"&&a!=="+"&&a!=="-")throw new Error("Cannot serialize items with `"+a+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(a===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+a+"`) to be different");return a}function cI(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function IN(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function dI(e,t,a,s){const o=a.enter("list"),u=a.bulletCurrent;let d=e.ordered?cI(a):cp(a);const f=e.ordered?d==="."?")":".":uI(a);let m=t&&a.bulletLastUsed?d===a.bulletLastUsed:!1;if(!e.ordered){const b=e.children?e.children[0]:void 0;if((d==="*"||d==="-")&&b&&(!b.children||!b.children[0])&&a.stack[a.stack.length-1]==="list"&&a.stack[a.stack.length-2]==="listItem"&&a.stack[a.stack.length-3]==="list"&&a.stack[a.stack.length-4]==="listItem"&&a.indexStack[a.indexStack.length-1]===0&&a.indexStack[a.indexStack.length-2]===0&&a.indexStack[a.indexStack.length-3]===0&&(m=!0),IN(a)===d&&b){let g=-1;for(;++g<e.children.length;){const y=e.children[g];if(y&&y.type==="listItem"&&y.children&&y.children[0]&&y.children[0].type==="thematicBreak"){m=!0;break}}}}m&&(d=f),a.bulletCurrent=d;const h=a.containerFlow(e,s);return a.bulletLastUsed=d,a.bulletCurrent=u,o(),h}function fI(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function mI(e,t,a,s){const o=fI(a);let u=a.bulletCurrent||cp(a);t&&t.type==="list"&&t.ordered&&(u=(typeof t.start=="number"&&t.start>-1?t.start:1)+(a.options.incrementListMarker===!1?0:t.children.indexOf(e))+u);let d=u.length+1;(o==="tab"||o==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(d=Math.ceil(d/4)*4);const f=a.createTracker(s);f.move(u+" ".repeat(d-u.length)),f.shift(d);const m=a.enter("listItem"),h=a.indentLines(a.containerFlow(e,f.current()),b);return m(),h;function b(g,y,N){return y?(N?"":" ".repeat(d))+g:(N?u:u+" ".repeat(d-u.length))+g}}function hI(e,t,a,s){const o=a.enter("paragraph"),u=a.enter("phrasing"),d=a.containerPhrasing(e,s);return u(),o(),d}const pI=Ro(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function gI(e,t,a,s){return(e.children.some(function(d){return pI(d)})?a.containerPhrasing:a.containerFlow).call(a,e,s)}function bI(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}MN.peek=xI;function MN(e,t,a,s){const o=bI(a),u=a.enter("strong"),d=a.createTracker(s),f=d.move(o+o);let m=d.move(a.containerPhrasing(e,{after:o,before:f,...d.current()}));const h=m.charCodeAt(0),b=Rc(s.before.charCodeAt(s.before.length-1),h,o);b.inside&&(m=_o(h)+m.slice(1));const g=m.charCodeAt(m.length-1),y=Rc(s.after.charCodeAt(0),g,o);y.inside&&(m=m.slice(0,-1)+_o(g));const N=d.move(o+o);return u(),a.attentionEncodeSurroundingInfo={after:y.outside,before:b.outside},f+m+N}function xI(e,t,a){return a.options.strong||"*"}function EI(e,t,a,s){return a.safe(e.value,s)}function yI(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function NI(e,t,a){const s=(IN(a)+(a.options.ruleSpaces?" ":"")).repeat(yI(a));return a.options.ruleSpaces?s.slice(0,-1):s}const DN={blockquote:qO,break:k1,code:QO,definition:ZO,emphasis:vN,hardBreak:k1,heading:nI,html:SN,image:AN,imageReference:wN,inlineCode:CN,link:RN,linkReference:ON,list:dI,listItem:mI,paragraph:hI,root:gI,strong:MN,text:EI,thematicBreak:NI};function TI(){return{enter:{table:_I,tableData:R1,tableHeader:R1,tableRow:SI},exit:{codeText:AI,table:vI,tableData:zm,tableHeader:zm,tableRow:zm}}}function _I(e){const t=e._align;this.enter({type:"table",align:t.map(function(a){return a==="none"?null:a}),children:[]},e),this.data.inTable=!0}function vI(e){this.exit(e),this.data.inTable=void 0}function SI(e){this.enter({type:"tableRow",children:[]},e)}function zm(e){this.exit(e)}function R1(e){this.enter({type:"tableCell",children:[]},e)}function AI(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,wI));const a=this.stack[this.stack.length-1];a.type,a.value=t,this.exit(e)}function wI(e,t){return t==="|"?t:e}function CI(e){const t=e||{},a=t.tableCellPadding,s=t.tablePipeAlign,o=t.stringLength,u=a?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
494
494
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:y,table:d,tableCell:m,tableRow:f}};function d(N,v,S,w){return h(b(N,S,w),N.align)}function f(N,v,S,w){const A=g(N,S,w),R=h([A]);return R.slice(0,R.indexOf(`
|
|
495
|
-
`))}function m(N,v,S,w){const A=S.enter("tableCell"),R=S.enter("phrasing"),I=S.containerPhrasing(N,{...w,before:u,after:u});return R(),A(),I}function h(N,v){return zO(N,{align:v,alignDelimiters:s,padding:a,stringLength:o})}function b(N,v,S){const w=N.children;let A=-1;const R=[],I=v.enter("table");for(;++A<w.length;)R[A]=g(w[A],v,S);return I(),R}function g(N,v,S){const w=N.children;let A=-1;const R=[],I=v.enter("tableRow");for(;++A<w.length;)R[A]=m(w[A],N,v,S);return I(),R}function y(N,v,S){let w=DN.inlineCode(N,v,S);return S.stack.includes("tableCell")&&(w=w.replace(/\|/g,"\\$&")),w}}function kI(){return{exit:{taskListCheckValueChecked:O1,taskListCheckValueUnchecked:O1,paragraph:OI}}}function RI(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:II}}}function O1(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function OI(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const a=this.stack[this.stack.length-1];a.type;const s=a.children[0];if(s&&s.type==="text"){const o=t.children;let u=-1,d;for(;++u<o.length;){const f=o[u];if(f.type==="paragraph"){d=f;break}}d===a&&(s.value=s.value.slice(1),s.value.length===0?a.children.shift():a.position&&s.position&&typeof s.position.start.offset=="number"&&(s.position.start.column++,s.position.start.offset++,a.position.start=Object.assign({},s.position.start)))}}this.exit(e)}function II(e,t,a,s){const o=e.children[0],u=typeof e.checked=="boolean"&&o&&o.type==="paragraph",d="["+(e.checked?"x":" ")+"] ",f=a.createTracker(s);u&&f.move(d);let m=DN.listItem(e,t,a,{...s,...f.current()});return u&&(m=m.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,h)),m;function h(b){return b+d}}function MI(){return[dO(),IO(),jO(),TI(),kI()]}function DI(e){return{extensions:[fO(),MO(e),BO(),CI(e),RI()]}}const LI={tokenize:FI,partial:!0},LN={tokenize:zI,partial:!0},jN={tokenize:$I,partial:!0},BN={tokenize:qI,partial:!0},jI={tokenize:YI,partial:!0},PN={name:"wwwAutolink",tokenize:UI,previous:HN},UN={name:"protocolAutolink",tokenize:HI,previous:FN},wr={name:"emailAutolink",tokenize:PI,previous:zN},er={};function BI(){return{text:er}}let js=48;for(;js<123;)er[js]=wr,js++,js===58?js=65:js===91&&(js=97);er[43]=wr;er[45]=wr;er[46]=wr;er[95]=wr;er[72]=[wr,UN];er[104]=[wr,UN];er[87]=[wr,PN];er[119]=[wr,PN];function PI(e,t,a){const s=this;let o,u;return d;function d(g){return!Th(g)||!zN.call(s,s.previous)||dp(s.events)?a(g):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),f(g))}function f(g){return Th(g)?(e.consume(g),f):g===64?(e.consume(g),m):a(g)}function m(g){return g===46?e.check(jI,b,h)(g):g===45||g===95||wn(g)?(u=!0,e.consume(g),m):b(g)}function h(g){return e.consume(g),o=!0,m}function b(g){return u&&o&&jn(s.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(g)):a(g)}}function UI(e,t,a){const s=this;return o;function o(d){return d!==87&&d!==119||!HN.call(s,s.previous)||dp(s.events)?a(d):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(LI,e.attempt(LN,e.attempt(jN,u),a),a)(d))}function u(d){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(d)}}function HI(e,t,a){const s=this;let o="",u=!1;return d;function d(g){return(g===72||g===104)&&FN.call(s,s.previous)&&!dp(s.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(g),e.consume(g),f):a(g)}function f(g){if(jn(g)&&o.length<5)return o+=String.fromCodePoint(g),e.consume(g),f;if(g===58){const y=o.toLowerCase();if(y==="http"||y==="https")return e.consume(g),m}return a(g)}function m(g){return g===47?(e.consume(g),u?h:(u=!0,m)):a(g)}function h(g){return g===null||Cc(g)||Mt(g)||$s(g)||ed(g)?a(g):e.attempt(LN,e.attempt(jN,b),a)(g)}function b(g){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(g)}}function FI(e,t,a){let s=0;return o;function o(d){return(d===87||d===119)&&s<3?(s++,e.consume(d),o):d===46&&s===3?(e.consume(d),u):a(d)}function u(d){return d===null?a(d):t(d)}}function zI(e,t,a){let s,o,u;return d;function d(h){return h===46||h===95?e.check(BN,m,f)(h):h===null||Mt(h)||$s(h)||h!==45&&ed(h)?m(h):(u=!0,e.consume(h),d)}function f(h){return h===95?s=!0:(o=s,s=void 0),e.consume(h),d}function m(h){return o||s||!u?a(h):t(h)}}function $I(e,t){let a=0,s=0;return o;function o(d){return d===40?(a++,e.consume(d),o):d===41&&s<a?u(d):d===33||d===34||d===38||d===39||d===41||d===42||d===44||d===46||d===58||d===59||d===60||d===63||d===93||d===95||d===126?e.check(BN,t,u)(d):d===null||Mt(d)||$s(d)?t(d):(e.consume(d),o)}function u(d){return d===41&&s++,e.consume(d),o}}function qI(e,t,a){return s;function s(f){return f===33||f===34||f===39||f===41||f===42||f===44||f===46||f===58||f===59||f===63||f===95||f===126?(e.consume(f),s):f===38?(e.consume(f),u):f===93?(e.consume(f),o):f===60||f===null||Mt(f)||$s(f)?t(f):a(f)}function o(f){return f===null||f===40||f===91||Mt(f)||$s(f)?t(f):s(f)}function u(f){return jn(f)?d(f):a(f)}function d(f){return f===59?(e.consume(f),s):jn(f)?(e.consume(f),d):a(f)}}function YI(e,t,a){return s;function s(u){return e.consume(u),o}function o(u){return wn(u)?a(u):t(u)}}function HN(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Mt(e)}function FN(e){return!jn(e)}function zN(e){return!(e===47||Th(e))}function Th(e){return e===43||e===45||e===46||e===95||wn(e)}function dp(e){let t=e.length,a=!1;for(;t--;){const s=e[t][1];if((s.type==="labelLink"||s.type==="labelImage")&&!s._balanced){a=!0;break}if(s._gfmAutolinkLiteralWalkedInto){a=!1;break}}return e.length>0&&!a&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),a}const GI={tokenize:e6,partial:!0};function KI(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:WI,continuation:{tokenize:ZI},exit:JI}},text:{91:{name:"gfmFootnoteCall",tokenize:QI},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:VI,resolveTo:XI}}}}function VI(e,t,a){const s=this;let o=s.events.length;const u=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let d;for(;o--;){const m=s.events[o][1];if(m.type==="labelImage"){d=m;break}if(m.type==="gfmFootnoteCall"||m.type==="labelLink"||m.type==="label"||m.type==="image"||m.type==="link")break}return f;function f(m){if(!d||!d._balanced)return a(m);const h=ja(s.sliceSerialize({start:d.end,end:s.now()}));return h.codePointAt(0)!==94||!u.includes(h.slice(1))?a(m):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),t(m))}}function XI(e,t){let a=e.length;for(;a--;)if(e[a][1].type==="labelImage"&&e[a][0]==="enter"){e[a][1];break}e[a+1][1].type="data",e[a+3][1].type="gfmFootnoteCallLabelMarker";const s={type:"gfmFootnoteCall",start:Object.assign({},e[a+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[a+3][1].end),end:Object.assign({},e[a+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const u={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},d={type:"chunkString",contentType:"string",start:Object.assign({},u.start),end:Object.assign({},u.end)},f=[e[a+1],e[a+2],["enter",s,t],e[a+3],e[a+4],["enter",o,t],["exit",o,t],["enter",u,t],["enter",d,t],["exit",d,t],["exit",u,t],e[e.length-2],e[e.length-1],["exit",s,t]];return e.splice(a,e.length-a+1,...f),e}function QI(e,t,a){const s=this,o=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let u=0,d;return f;function f(g){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),m}function m(g){return g!==94?a(g):(e.enter("gfmFootnoteCallMarker"),e.consume(g),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",h)}function h(g){if(u>999||g===93&&!d||g===null||g===91||Mt(g))return a(g);if(g===93){e.exit("chunkString");const y=e.exit("gfmFootnoteCallString");return o.includes(ja(s.sliceSerialize(y)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):a(g)}return Mt(g)||(d=!0),u++,e.consume(g),g===92?b:h}function b(g){return g===91||g===92||g===93?(e.consume(g),u++,h):h(g)}}function WI(e,t,a){const s=this,o=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let u,d=0,f;return m;function m(v){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(v){return v===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",b):a(v)}function b(v){if(d>999||v===93&&!f||v===null||v===91||Mt(v))return a(v);if(v===93){e.exit("chunkString");const S=e.exit("gfmFootnoteDefinitionLabelString");return u=ja(s.sliceSerialize(S)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),y}return Mt(v)||(f=!0),d++,e.consume(v),v===92?g:b}function g(v){return v===91||v===92||v===93?(e.consume(v),d++,b):b(v)}function y(v){return v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),o.includes(u)||o.push(u),ft(e,N,"gfmFootnoteDefinitionWhitespace")):a(v)}function N(v){return t(v)}}function ZI(e,t,a){return e.check(ko,t,e.attempt(GI,t,a))}function JI(e){e.exit("gfmFootnoteDefinition")}function e6(e,t,a){const s=this;return ft(e,o,"gfmFootnoteDefinitionIndent",5);function o(u){const d=s.events[s.events.length-1];return d&&d[1].type==="gfmFootnoteDefinitionIndent"&&d[2].sliceSerialize(d[1],!0).length===4?t(u):a(u)}}function t6(e){let a=(e||{}).singleTilde;const s={name:"strikethrough",tokenize:u,resolveAll:o};return a==null&&(a=!0),{text:{126:s},insideSpan:{null:[s]},attentionMarkers:{null:[126]}};function o(d,f){let m=-1;for(;++m<d.length;)if(d[m][0]==="enter"&&d[m][1].type==="strikethroughSequenceTemporary"&&d[m][1]._close){let h=m;for(;h--;)if(d[h][0]==="exit"&&d[h][1].type==="strikethroughSequenceTemporary"&&d[h][1]._open&&d[m][1].end.offset-d[m][1].start.offset===d[h][1].end.offset-d[h][1].start.offset){d[m][1].type="strikethroughSequence",d[h][1].type="strikethroughSequence";const b={type:"strikethrough",start:Object.assign({},d[h][1].start),end:Object.assign({},d[m][1].end)},g={type:"strikethroughText",start:Object.assign({},d[h][1].end),end:Object.assign({},d[m][1].start)},y=[["enter",b,f],["enter",d[h][1],f],["exit",d[h][1],f],["enter",g,f]],N=f.parser.constructs.insideSpan.null;N&&fa(y,y.length,0,td(N,d.slice(h+1,m),f)),fa(y,y.length,0,[["exit",g,f],["enter",d[m][1],f],["exit",d[m][1],f],["exit",b,f]]),fa(d,h-1,m-h+3,y),m=h+y.length-2;break}}for(m=-1;++m<d.length;)d[m][1].type==="strikethroughSequenceTemporary"&&(d[m][1].type="data");return d}function u(d,f,m){const h=this.previous,b=this.events;let g=0;return y;function y(v){return h===126&&b[b.length-1][1].type!=="characterEscape"?m(v):(d.enter("strikethroughSequenceTemporary"),N(v))}function N(v){const S=zi(h);if(v===126)return g>1?m(v):(d.consume(v),g++,N);if(g<2&&!a)return m(v);const w=d.exit("strikethroughSequenceTemporary"),A=zi(v);return w._open=!A||A===2&&!!S,w._close=!S||S===2&&!!A,f(v)}}}class n6{constructor(){this.map=[]}add(t,a,s){a6(this,t,a,s)}consume(t){if(this.map.sort(function(u,d){return u[0]-d[0]}),this.map.length===0)return;let a=this.map.length;const s=[];for(;a>0;)a-=1,s.push(t.slice(this.map[a][0]+this.map[a][1]),this.map[a][2]),t.length=this.map[a][0];s.push(t.slice()),t.length=0;let o=s.pop();for(;o;){for(const u of o)t.push(u);o=s.pop()}this.map.length=0}}function a6(e,t,a,s){let o=0;if(!(a===0&&s.length===0)){for(;o<e.map.length;){if(e.map[o][0]===t){e.map[o][1]+=a,e.map[o][2].push(...s);return}o+=1}e.map.push([t,a,s])}}function r6(e,t){let a=!1;const s=[];for(;t<e.length;){const o=e[t];if(a){if(o[0]==="enter")o[1].type==="tableContent"&&s.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const u=s.length-1;s[u]=s[u]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(a=!0);t+=1}return s}function s6(){return{flow:{null:{name:"table",tokenize:i6,resolveAll:l6}}}}function i6(e,t,a){const s=this;let o=0,u=0,d;return f;function f(L){let $=s.events.length-1;for(;$>-1;){const Z=s.events[$][1].type;if(Z==="lineEnding"||Z==="linePrefix")$--;else break}const ee=$>-1?s.events[$][1].type:null,ie=ee==="tableHead"||ee==="tableRow"?C:m;return ie===C&&s.parser.lazy[s.now().line]?a(L):ie(L)}function m(L){return e.enter("tableHead"),e.enter("tableRow"),h(L)}function h(L){return L===124||(d=!0,u+=1),b(L)}function b(L){return L===null?a(L):ze(L)?u>1?(u=0,s.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(L),e.exit("lineEnding"),N):a(L):lt(L)?ft(e,b,"whitespace")(L):(u+=1,d&&(d=!1,o+=1),L===124?(e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),d=!0,b):(e.enter("data"),g(L)))}function g(L){return L===null||L===124||Mt(L)?(e.exit("data"),b(L)):(e.consume(L),L===92?y:g)}function y(L){return L===92||L===124?(e.consume(L),g):g(L)}function N(L){return s.interrupt=!1,s.parser.lazy[s.now().line]?a(L):(e.enter("tableDelimiterRow"),d=!1,lt(L)?ft(e,v,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(L):v(L))}function v(L){return L===45||L===58?w(L):L===124?(d=!0,e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),S):B(L)}function S(L){return lt(L)?ft(e,w,"whitespace")(L):w(L)}function w(L){return L===58?(u+=1,d=!0,e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),A):L===45?(u+=1,A(L)):L===null||ze(L)?Y(L):B(L)}function A(L){return L===45?(e.enter("tableDelimiterFiller"),R(L)):B(L)}function R(L){return L===45?(e.consume(L),R):L===58?(d=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),I):(e.exit("tableDelimiterFiller"),I(L))}function I(L){return lt(L)?ft(e,Y,"whitespace")(L):Y(L)}function Y(L){return L===124?v(L):L===null||ze(L)?!d||o!==u?B(L):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(L)):B(L)}function B(L){return a(L)}function C(L){return e.enter("tableRow"),P(L)}function P(L){return L===124?(e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),P):L===null||ze(L)?(e.exit("tableRow"),t(L)):lt(L)?ft(e,P,"whitespace")(L):(e.enter("data"),X(L))}function X(L){return L===null||L===124||Mt(L)?(e.exit("data"),P(L)):(e.consume(L),L===92?Q:X)}function Q(L){return L===92||L===124?(e.consume(L),X):X(L)}}function l6(e,t){let a=-1,s=!0,o=0,u=[0,0,0,0],d=[0,0,0,0],f=!1,m=0,h,b,g;const y=new n6;for(;++a<e.length;){const N=e[a],v=N[1];N[0]==="enter"?v.type==="tableHead"?(f=!1,m!==0&&(I1(y,t,m,h,b),b=void 0,m=0),h={type:"table",start:Object.assign({},v.start),end:Object.assign({},v.end)},y.add(a,0,[["enter",h,t]])):v.type==="tableRow"||v.type==="tableDelimiterRow"?(s=!0,g=void 0,u=[0,0,0,0],d=[0,a+1,0,0],f&&(f=!1,b={type:"tableBody",start:Object.assign({},v.start),end:Object.assign({},v.end)},y.add(a,0,[["enter",b,t]])),o=v.type==="tableDelimiterRow"?2:b?3:1):o&&(v.type==="data"||v.type==="tableDelimiterMarker"||v.type==="tableDelimiterFiller")?(s=!1,d[2]===0&&(u[1]!==0&&(d[0]=d[1],g=ac(y,t,u,o,void 0,g),u=[0,0,0,0]),d[2]=a)):v.type==="tableCellDivider"&&(s?s=!1:(u[1]!==0&&(d[0]=d[1],g=ac(y,t,u,o,void 0,g)),u=d,d=[u[1],a,0,0])):v.type==="tableHead"?(f=!0,m=a):v.type==="tableRow"||v.type==="tableDelimiterRow"?(m=a,u[1]!==0?(d[0]=d[1],g=ac(y,t,u,o,a,g)):d[1]!==0&&(g=ac(y,t,d,o,a,g)),o=0):o&&(v.type==="data"||v.type==="tableDelimiterMarker"||v.type==="tableDelimiterFiller")&&(d[3]=a)}for(m!==0&&I1(y,t,m,h,b),y.consume(t.events),a=-1;++a<t.events.length;){const N=t.events[a];N[0]==="enter"&&N[1].type==="table"&&(N[1]._align=r6(t.events,a))}return e}function ac(e,t,a,s,o,u){const d=s===1?"tableHeader":s===2?"tableDelimiter":"tableData",f="tableContent";a[0]!==0&&(u.end=Object.assign({},Di(t.events,a[0])),e.add(a[0],0,[["exit",u,t]]));const m=Di(t.events,a[1]);if(u={type:d,start:Object.assign({},m),end:Object.assign({},m)},e.add(a[1],0,[["enter",u,t]]),a[2]!==0){const h=Di(t.events,a[2]),b=Di(t.events,a[3]),g={type:f,start:Object.assign({},h),end:Object.assign({},b)};if(e.add(a[2],0,[["enter",g,t]]),s!==2){const y=t.events[a[2]],N=t.events[a[3]];if(y[1].end=Object.assign({},N[1].end),y[1].type="chunkText",y[1].contentType="text",a[3]>a[2]+1){const v=a[2]+1,S=a[3]-a[2]-1;e.add(v,S,[])}}e.add(a[3]+1,0,[["exit",g,t]])}return o!==void 0&&(u.end=Object.assign({},Di(t.events,o)),e.add(o,0,[["exit",u,t]]),u=void 0),u}function I1(e,t,a,s,o){const u=[],d=Di(t.events,a);o&&(o.end=Object.assign({},d),u.push(["exit",o,t])),s.end=Object.assign({},d),u.push(["exit",s,t]),e.add(a+1,0,u)}function Di(e,t){const a=e[t],s=a[0]==="enter"?"start":"end";return a[1][s]}const o6={name:"tasklistCheck",tokenize:c6};function u6(){return{text:{91:o6}}}function c6(e,t,a){const s=this;return o;function o(m){return s.previous!==null||!s._gfmTasklistFirstContentOfListItem?a(m):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(m),e.exit("taskListCheckMarker"),u)}function u(m){return Mt(m)?(e.enter("taskListCheckValueUnchecked"),e.consume(m),e.exit("taskListCheckValueUnchecked"),d):m===88||m===120?(e.enter("taskListCheckValueChecked"),e.consume(m),e.exit("taskListCheckValueChecked"),d):a(m)}function d(m){return m===93?(e.enter("taskListCheckMarker"),e.consume(m),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),f):a(m)}function f(m){return ze(m)?t(m):lt(m)?e.check({tokenize:d6},t,a)(m):a(m)}}function d6(e,t,a){return ft(e,s,"whitespace");function s(o){return o===null?a(o):t(o)}}function f6(e){return Wy([BI(),KI(),t6(e),s6(),u6()])}const m6={};function cs(e){const t=this,a=e||m6,s=t.data(),o=s.micromarkExtensions||(s.micromarkExtensions=[]),u=s.fromMarkdownExtensions||(s.fromMarkdownExtensions=[]),d=s.toMarkdownExtensions||(s.toMarkdownExtensions=[]);o.push(f6(a)),u.push(MI()),d.push(DI(a))}const h6=5*1024*1024,M1=10,$N=["image/png","image/jpeg","image/gif","image/webp"];let p6=0;function g6(e){return new Promise((t,a)=>{const s=new FileReader;s.onload=()=>t(String(s.result)),s.onerror=()=>a(s.error),s.readAsDataURL(e)})}function b6({url:e,label:t,onClose:a}){return _.useEffect(()=>{const s=o=>{o.key==="Escape"&&(o.preventDefault(),a())};return window.addEventListener("keydown",s,!0),()=>window.removeEventListener("keydown",s,!0)},[a]),l.jsx("div",{role:"dialog","aria-modal":"true","aria-label":t,onClick:a,className:"fixed inset-0 z-50 flex cursor-zoom-out items-center justify-center bg-black/80 p-8 backdrop-blur-sm",children:l.jsx("img",{src:e,alt:t,className:"max-h-full max-w-full object-contain"})})}function qN({url:e,label:t,className:a}){const[s,o]=_.useState(!1);return l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",onClick:()=>o(!0),"aria-label":`预览 ${t}`,className:"block cursor-zoom-in rounded-md transition-opacity duration-150 hover:opacity-80",children:l.jsx("img",{src:e,alt:t,className:oe("rounded-md border border-line",a)})}),s&&l.jsx(b6,{url:e,label:t,onClose:()=>o(!1)})]})}function YN(e=!0){const[t,a]=_.useState([]),[s,o]=_.useState(null);_.useEffect(()=>{o(null),e||a([])},[e]);const u=async b=>{const g=[],y=[],N=t.length;let v=M1-N;for(const S of b){if(v<=0){y.push(`最多 ${M1} 张图片`);break}if(!$N.includes(S.type)){y.push(`${S.name||"文件"}:格式不支持`);continue}if(S.size>h6){y.push(`${S.name}:超过 5MB`);continue}g.push({_id:`att-${++p6}`,mime:S.type,url:await g6(S),filename:S.name}),v--}g.length>0&&a(S=>[...S,...g]),o(y.length>0?y.join(";"):null)},d=b=>{const g=Array.from(b.clipboardData.files);if(g.length!==0){if(b.preventDefault(),!e){o("当前模型不支持图片");return}u(g)}},f=b=>a(g=>g.filter(y=>y._id!==b)),m=_.useCallback(()=>{a([]),o(null)},[]),h=t.map(({mime:b,url:g,filename:y})=>({mime:b,url:g,filename:y}));return{attachments:t,promptFiles:h,error:s,setError:o,addFiles:u,onPaste:d,remove:f,clear:m}}function GN({onFiles:e,disabled:t,allowed:a}){const s=_.useRef(null);return l.jsxs(l.Fragment,{children:[l.jsx("input",{ref:s,type:"file",accept:$N.join(","),multiple:!0,hidden:!0,onChange:o=>{e(Array.from(o.target.files??[])),o.target.value=""}}),l.jsx("button",{type:"button",onClick:()=>{var o;return(o=s.current)==null?void 0:o.click()},disabled:t||!a,"aria-label":"Attach image",title:a?"附加图片":"当前模型不支持图片",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-fg-5 transition-colors duration-150 hover:text-fg-3 disabled:cursor-not-allowed disabled:text-fg-6/40",children:l.jsx(u3,{className:"h-4 w-4"})})]})}function KN({attachments:e,error:t,onRemove:a,className:s}){return e.length===0&&!t?null:l.jsxs("div",{className:s,children:[e.length>0&&l.jsx("div",{className:"mb-2 flex flex-wrap gap-2",children:e.map(o=>l.jsxs("div",{className:"group relative",children:[l.jsx(qN,{url:o.url,label:o.filename??"attachment",className:"h-16 w-16 object-cover"}),l.jsx("button",{type:"button",onClick:()=>a(o._id),"aria-label":"Remove attachment",className:"absolute -right-1.5 -top-1.5 flex h-4 w-4 items-center justify-center rounded-full border border-line bg-term text-fg-4 opacity-0 transition-opacity duration-150 hover:text-fg-2 group-hover:opacity-100",children:l.jsx(xt,{className:"h-2.5 w-2.5",strokeWidth:2.5})})]},o._id))}),t&&l.jsx("div",{className:"mb-2 font-mono text-[11px] text-red-400",children:t})]})}function VN({isListening:e,disabled:t,onStart:a,onStop:s}){const o=_.useRef(!1),u=f=>{if(t)return;f.preventDefault(),o.current=!0,a();const m=()=>{document.removeEventListener("touchend",m),document.removeEventListener("touchcancel",m),o.current=!1,s()};document.addEventListener("touchend",m,{once:!0}),document.addEventListener("touchcancel",m,{once:!0})},d=()=>{if(t||o.current)return;a();const f=()=>{document.removeEventListener("mouseup",f),s()};document.addEventListener("mouseup",f,{once:!0})};return l.jsx("button",{type:"button",disabled:t,onTouchStart:u,onMouseDown:d,onContextMenu:f=>f.preventDefault(),"aria-label":"按住说话",title:"按住说话",style:{WebkitTouchCallout:"none"},className:oe("flex shrink-0 select-none touch-none items-center justify-center transition-colors duration-150 disabled:cursor-not-allowed disabled:text-fg-6/40","order-first self-stretch w-12 rounded-xl sm:order-none sm:self-auto sm:h-7 sm:w-7 sm:rounded-md",e?"bg-red-500/15 text-red-400 hover:bg-red-500/25":"text-fg-5 hover:text-fg-3"),children:l.jsx(v3,{className:oe("h-6 w-6 sm:h-4 sm:w-4",e&&"animate-pulse")})})}/*! Capacitor: https://capacitorjs.com/ - MIT License */var qi;(function(e){e.Unimplemented="UNIMPLEMENTED",e.Unavailable="UNAVAILABLE"})(qi||(qi={}));class $m extends Error{constructor(t,a,s){super(t),this.message=t,this.code=a,this.data=s}}const x6=e=>{var t,a;return e!=null&&e.androidBridge?"android":!((a=(t=e==null?void 0:e.webkit)===null||t===void 0?void 0:t.messageHandlers)===null||a===void 0)&&a.bridge?"ios":"web"},E6=e=>{const t=e.CapacitorCustomPlatform||null,a=e.Capacitor||{},s=a.Plugins=a.Plugins||{},o=()=>t!==null?t.name:x6(e),u=()=>o()!=="web",d=g=>{const y=h.get(g);return!!(y!=null&&y.platforms.has(o())||f(g))},f=g=>{var y;return(y=a.PluginHeaders)===null||y===void 0?void 0:y.find(N=>N.name===g)},m=g=>e.console.error(g),h=new Map,b=(g,y={})=>{const N=h.get(g);if(N)return console.warn(`Capacitor plugin "${g}" already registered. Cannot register plugins twice.`),N.proxy;const v=o(),S=f(g);let w;const A=async()=>(!w&&v in y?w=typeof y[v]=="function"?w=await y[v]():w=y[v]:t!==null&&!w&&"web"in y&&(w=typeof y.web=="function"?w=await y.web():w=y.web),w),R=(X,Q)=>{var L,$;if(S){const ee=S==null?void 0:S.methods.find(ie=>Q===ie.name);if(ee)return ee.rtype==="promise"?ie=>a.nativePromise(g,Q.toString(),ie):(ie,Z)=>a.nativeCallback(g,Q.toString(),ie,Z);if(X)return(L=X[Q])===null||L===void 0?void 0:L.bind(X)}else{if(X)return($=X[Q])===null||$===void 0?void 0:$.bind(X);throw new $m(`"${g}" plugin is not implemented on ${v}`,qi.Unimplemented)}},I=X=>{let Q;const L=(...$)=>{const ee=A().then(ie=>{const Z=R(ie,X);if(Z){const te=Z(...$);return Q=te==null?void 0:te.remove,te}else throw new $m(`"${g}.${X}()" is not implemented on ${v}`,qi.Unimplemented)});return X==="addListener"&&(ee.remove=async()=>Q()),ee};return L.toString=()=>`${X.toString()}() { [capacitor code] }`,Object.defineProperty(L,"name",{value:X,writable:!1,configurable:!1}),L},Y=I("addListener"),B=I("removeListener"),C=(X,Q)=>{const L=Y({eventName:X},Q),$=async()=>{const ie=await L;B({eventName:X,callbackId:ie},Q)},ee=new Promise(ie=>L.then(()=>ie({remove:$})));return ee.remove=async()=>{console.warn("Using addListener() without 'await' is deprecated."),await $()},ee},P=new Proxy({},{get(X,Q){switch(Q){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return S?C:Y;case"removeListener":return B;default:return I(Q)}}});return s[g]=P,h.set(g,{name:g,proxy:P,platforms:new Set([...Object.keys(y),...S?[v]:[]])}),P};return a.convertFileSrc||(a.convertFileSrc=g=>g),a.getPlatform=o,a.handleError=m,a.isNativePlatform=u,a.isPluginAvailable=d,a.registerPlugin=b,a.Exception=$m,a.DEBUG=!!a.DEBUG,a.isLoggingEnabled=!!a.isLoggingEnabled,a},y6=e=>e.Capacitor=E6(e),Oc=y6(typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),Mo=Oc.registerPlugin;class fp{constructor(){this.listeners={},this.retainedEventArguments={},this.windowListeners={}}addListener(t,a){let s=!1;this.listeners[t]||(this.listeners[t]=[],s=!0),this.listeners[t].push(a);const u=this.windowListeners[t];u&&!u.registered&&this.addWindowListener(u),s&&this.sendRetainedArgumentsForEvent(t);const d=async()=>this.removeListener(t,a);return Promise.resolve({remove:d})}async removeAllListeners(){this.listeners={};for(const t in this.windowListeners)this.removeWindowListener(this.windowListeners[t]);this.windowListeners={}}notifyListeners(t,a,s){const o=this.listeners[t];if(!o){if(s){let u=this.retainedEventArguments[t];u||(u=[]),u.push(a),this.retainedEventArguments[t]=u}return}o.forEach(u=>u(a))}hasListeners(t){var a;return!!(!((a=this.listeners[t])===null||a===void 0)&&a.length)}registerWindowListener(t,a){this.windowListeners[a]={registered:!1,windowEventName:t,pluginEventName:a,handler:s=>{this.notifyListeners(a,s)}}}unimplemented(t="not implemented"){return new Oc.Exception(t,qi.Unimplemented)}unavailable(t="not available"){return new Oc.Exception(t,qi.Unavailable)}async removeListener(t,a){const s=this.listeners[t];if(!s)return;const o=s.indexOf(a);this.listeners[t].splice(o,1),this.listeners[t].length||this.removeWindowListener(this.windowListeners[t])}addWindowListener(t){window.addEventListener(t.windowEventName,t.handler),t.registered=!0}removeWindowListener(t){t&&(window.removeEventListener(t.windowEventName,t.handler),t.registered=!1)}sendRetainedArgumentsForEvent(t){const a=this.retainedEventArguments[t];a&&(delete this.retainedEventArguments[t],a.forEach(s=>{this.notifyListeners(t,s)}))}}const D1=e=>encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),L1=e=>e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent);class N6 extends fp{async getCookies(){const t=document.cookie,a={};return t.split(";").forEach(s=>{if(s.length<=0)return;let[o,u]=s.replace(/=/,"CAP_COOKIE").split("CAP_COOKIE");o=L1(o).trim(),u=L1(u).trim(),a[o]=u}),a}async setCookie(t){try{const a=D1(t.key),s=D1(t.value),o=t.expires?`; expires=${t.expires.replace("expires=","")}`:"",u=(t.path||"/").replace("path=",""),d=t.url!=null&&t.url.length>0?`domain=${t.url}`:"";document.cookie=`${a}=${s||""}${o}; path=${u}; ${d};`}catch(a){return Promise.reject(a)}}async deleteCookie(t){try{document.cookie=`${t.key}=; Max-Age=0`}catch(a){return Promise.reject(a)}}async clearCookies(){try{const t=document.cookie.split(";")||[];for(const a of t)document.cookie=a.replace(/^ +/,"").replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}catch(t){return Promise.reject(t)}}async clearAllCookies(){try{await this.clearCookies()}catch(t){return Promise.reject(t)}}}Mo("CapacitorCookies",{web:()=>new N6});const T6=async e=>new Promise((t,a)=>{const s=new FileReader;s.onload=()=>{const o=s.result;t(o.indexOf(",")>=0?o.split(",")[1]:o)},s.onerror=o=>a(o),s.readAsDataURL(e)}),_6=(e={})=>{const t=Object.keys(e);return Object.keys(e).map(o=>o.toLocaleLowerCase()).reduce((o,u,d)=>(o[u]=e[t[d]],o),{})},v6=(e,t=!0)=>e?Object.entries(e).reduce((s,o)=>{const[u,d]=o;let f,m;return Array.isArray(d)?(m="",d.forEach(h=>{f=t?encodeURIComponent(h):h,m+=`${u}=${f}&`}),m.slice(0,-1)):(f=t?encodeURIComponent(d):d,m=`${u}=${f}`),`${s}&${m}`},"").substr(1):null,S6=(e,t={})=>{const a=Object.assign({method:e.method||"GET",headers:e.headers},t),o=_6(e.headers)["content-type"]||"";if(typeof e.data=="string")a.body=e.data;else if(o.includes("application/x-www-form-urlencoded")){const u=new URLSearchParams;for(const[d,f]of Object.entries(e.data||{}))u.set(d,f);a.body=u.toString()}else if(o.includes("multipart/form-data")||e.data instanceof FormData){const u=new FormData;if(e.data instanceof FormData)e.data.forEach((f,m)=>{u.append(m,f)});else for(const f of Object.keys(e.data))u.append(f,e.data[f]);a.body=u;const d=new Headers(a.headers);d.delete("content-type"),a.headers=d}else(o.includes("application/json")||typeof e.data=="object")&&(a.body=JSON.stringify(e.data));return a};class A6 extends fp{async request(t){const a=S6(t,t.webFetchExtra),s=v6(t.params,t.shouldEncodeUrlParams),o=s?`${t.url}?${s}`:t.url,u=await fetch(o,a),d=u.headers.get("content-type")||"";let{responseType:f="text"}=u.ok?t:{};d.includes("application/json")&&(f="json");let m,h;switch(f){case"arraybuffer":case"blob":h=await u.blob(),m=await T6(h);break;case"json":m=await u.json();break;case"document":case"text":default:m=await u.text()}const b={};return u.headers.forEach((g,y)=>{b[y]=g}),{data:m,headers:b,status:u.status,url:u.url}}async get(t){return this.request(Object.assign(Object.assign({},t),{method:"GET"}))}async post(t){return this.request(Object.assign(Object.assign({},t),{method:"POST"}))}async put(t){return this.request(Object.assign(Object.assign({},t),{method:"PUT"}))}async patch(t){return this.request(Object.assign(Object.assign({},t),{method:"PATCH"}))}async delete(t){return this.request(Object.assign(Object.assign({},t),{method:"DELETE"}))}}Mo("CapacitorHttp",{web:()=>new A6});var j1;(function(e){e.Dark="DARK",e.Light="LIGHT",e.Default="DEFAULT"})(j1||(j1={}));var B1;(function(e){e.StatusBar="StatusBar",e.NavigationBar="NavigationBar"})(B1||(B1={}));class w6 extends fp{async setStyle(){this.unavailable("not available for web")}async setAnimation(){this.unavailable("not available for web")}async show(){this.unavailable("not available for web")}async hide(){this.unavailable("not available for web")}}Mo("SystemBars",{web:()=>new w6});const C6="modulepreload",k6=function(e){return"/"+e},P1={},R6=function(t,a,s){let o=Promise.resolve();if(a&&a.length>0){let d=function(h){return Promise.all(h.map(b=>Promise.resolve(b).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),m=(f==null?void 0:f.nonce)||(f==null?void 0:f.getAttribute("nonce"));o=d(a.map(h=>{if(h=k6(h),h in P1)return;P1[h]=!0;const b=h.endsWith(".css"),g=b?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const y=document.createElement("link");if(y.rel=b?"stylesheet":C6,b||(y.as="script"),y.crossOrigin="",y.href=h,m&&y.setAttribute("nonce",m),document.head.appendChild(y),b)return new Promise((N,v)=>{y.addEventListener("load",N),y.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function u(d){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=d,window.dispatchEvent(f),!f.defaultPrevented)throw d}return o.then(d=>{for(const f of d||[])f.status==="rejected"&&u(f.reason);return t().catch(u)})},Mi=Mo("SpeechRecognition",{web:()=>R6(()=>import("./web-CB_HG4N1.js"),[]).then(e=>new e.SpeechRecognitionWeb)});function O6(e,t){const a=e.length,s=new ArrayBuffer(44+a*2),o=new DataView(s),u=(d,f)=>{for(let m=0;m<f.length;m++)o.setUint8(d+m,f.charCodeAt(m))};u(0,"RIFF"),o.setUint32(4,36+a*2,!0),u(8,"WAVE"),u(12,"fmt "),o.setUint32(16,16,!0),o.setUint16(20,1,!0),o.setUint16(22,1,!0),o.setUint32(24,t,!0),o.setUint32(28,t*2,!0),o.setUint16(32,2,!0),o.setUint16(34,16,!0),u(36,"data"),o.setUint32(40,a*2,!0);for(let d=0;d<a;d++){const f=Math.max(-1,Math.min(1,e[d]));o.setInt16(44+d*2,f<0?f*32768:f*32767,!0)}return new Blob([s],{type:"audio/wav"})}const _h=Oc.isNativePlatform(),qm=!_h&&typeof window<"u"?window.SpeechRecognition??window.webkitSpeechRecognition:void 0,Ym=16e3;function XN(e="zh-CN"){const[t,a]=_.useState(!1),[s,o]=_.useState(""),[u,d]=_.useState(""),[f,m]=_.useState(null),[h,b]=_.useState(0),[g,y]=_.useState("idle"),N=_.useRef(null),v=_.useRef(!1),S=_.useRef([]),w=_.useRef(!1),A=_.useRef(null),R=_.useRef(!1),I=_.useRef(null),Y=_.useRef(null),B=_.useRef(null),C=_.useRef([]),P=_.useRef(!1),X=!0,Q=_.useCallback(async()=>{var ae,M,ye;(ae=B.current)==null||ae.disconnect(),(M=Y.current)==null||M.getTracks().forEach(re=>re.stop()),await((ye=I.current)==null?void 0:ye.close().catch(()=>{}));const H=C.current;if(C.current=[],B.current=null,Y.current=null,I.current=null,H.length===0||P.current){a(!1),y("idle");return}d("识别中…"),y("recognizing");const z=H.reduce((re,Ne)=>re+Ne.length,0),ce=new Float32Array(z);let K=0;for(const re of H)ce.set(re,K),K+=re.length;const k=O6(ce,Ym),j=new FormData;j.append("audio",k,"recording.wav");try{const re=await fetch("/api/transcribe",{method:"POST",body:j});if(P.current)return;if(re.ok){const{text:Ne}=await re.json();Ne?(o(Ne),y("done")):y("idle")}else{const Ne=await re.json().catch(()=>({error:`HTTP ${re.status}`}));m(Ne.error??`HTTP ${re.status}`),y("idle")}}catch(re){m(`语音识别失败:${re instanceof Error?re.message:String(re)}`),y("idle")}finally{d(""),a(!1)}},[]),L=_.useCallback(async()=>{if(v.current=!0,A.current&&(clearTimeout(A.current),A.current=null),_h){await Mi.stop().catch(()=>{});for(const H of S.current)await H.remove().catch(()=>{});S.current=[],a(!1),d("")}else N.current?N.current.stop():I.current?await Q():(a(!1),y("idle"))},[Q]),$=_.useCallback(async()=>{var K;P.current=!1,o(""),d(""),m(null),y("idle");const{available:H}=await Mi.available();if(!H){m("当前设备不支持语音识别");return}if((await Mi.requestPermissions()).speechRecognition!=="granted"){m("请允许语音识别权限");return}const ce=[];ce.push(await Mi.addListener("partialResults",k=>{d(k.matches[0]??"")})),ce.push(await Mi.addListener("listeningState",k=>{const j=k.status==="started";a(j),j&&y("recording"),j||d("")})),S.current=ce;try{const k=await Mi.start({language:e,partialResults:!0,maxResults:1});(K=k.matches)!=null&&K.length&&o(j=>j+k.matches.join(""))}catch(k){m(`语音识别错误:${k instanceof Error?k.message:String(k)}`);for(const j of ce)await j.remove().catch(()=>{});S.current=[]}},[e]),ee=_.useCallback(()=>{if(!qm)return!1;P.current=!1,o(""),d(""),m(null),y("idle"),v.current=!1;const H=new qm;H.lang=e,H.continuous=!0,H.interimResults=!0,H.maxAlternatives=1,H.onstart=()=>{a(!0),y("recording"),w.current=!1,A.current=setTimeout(()=>{!w.current&&!v.current&&(R.current=!0,v.current=!0,H.stop(),m("语音识别服务不可用(Chrome/Edge 需连接 Google 服务器),下次将使用服务端识别"))},5e3)},H.onresult=z=>{w.current=!0,A.current&&(clearTimeout(A.current),A.current=null);let ce="",K="";for(let k=z.resultIndex;k<z.results.length;k++){const j=z.results[k][0].transcript;z.results[k].isFinal?ce+=j:K+=j}ce&&o(k=>k+ce),d(K)},H.onerror=z=>{switch(z.error!=="no-speech"&&z.error!=="aborted"&&(v.current=!0),z.error){case"not-allowed":m("请允许麦克风权限");break;case"network":m("网络错误,请检查连接");break;case"no-speech":case"aborted":return;default:m(`语音识别错误:${z.error}`)}},H.onend=()=>{if(d(""),!v.current)try{H.start();return}catch{}a(!1),N.current=null},N.current=H;try{return H.start(),!0}catch{return!1}},[e]),ie=_.useCallback(async()=>{P.current=!1,o(""),d(""),m(null),y("idle");try{const k=await fetch("/api/transcribe/status"),{available:j}=await k.json();if(!j){m("语音识别服务未就绪,请稍后重试");return}}catch{m("无法连接语音识别服务");return}let H;try{H=await navigator.mediaDevices.getUserMedia({audio:{sampleRate:Ym,channelCount:1}})}catch{m("请允许麦克风权限");return}const z=new AudioContext({sampleRate:Ym}),ce=z.createMediaStreamSource(H),K=z.createScriptProcessor(4096,1,1);C.current=[],K.onaudioprocess=k=>{C.current.push(new Float32Array(k.inputBuffer.getChannelData(0)))},ce.connect(K),K.connect(z.destination),I.current=z,Y.current=H,B.current=K,a(!0),y("recording")},[]),Z=_.useCallback(()=>{_h?$():qm&&!R.current&&ee()||ie()},[$,ee,ie]);_.useEffect(()=>{if(!t){b(0);return}if(N.current)return;let H=!1,z=null,ce=null,K=0;return(async()=>{try{if(z=await navigator.mediaDevices.getUserMedia({audio:!0}),H){z.getTracks().forEach(re=>re.stop());return}ce=new AudioContext;const k=ce.createMediaStreamSource(z),j=ce.createAnalyser();j.fftSize=256,k.connect(j);const ae=new Uint8Array(j.frequencyBinCount);let M=0;const ye=()=>{if(H)return;j.getByteFrequencyData(ae);const re=performance.now();if(re-M>80){let Ne=0;for(let Be=0;Be<ae.length;Be++)Ne+=ae[Be];b(Ne/(ae.length*255)),M=re}K=requestAnimationFrame(ye)};K=requestAnimationFrame(ye)}catch{}})(),()=>{H=!0,cancelAnimationFrame(K),z==null||z.getTracks().forEach(k=>k.stop()),ce==null||ce.close().catch(()=>{}),b(0)}},[t]),_.useEffect(()=>{!t&&g==="recording"&&y(s?"done":"idle")},[t,g,s]),_.useEffect(()=>()=>{var H,z,ce,K;v.current=!0,(H=N.current)==null||H.stop(),(z=B.current)==null||z.disconnect(),(ce=Y.current)==null||ce.getTracks().forEach(k=>k.stop()),(K=I.current)==null||K.close().catch(()=>{});for(const k of S.current)k.remove().catch(()=>{})},[]);const te=_.useCallback(()=>{P.current=!0,o(""),d(""),y("idle")},[]);return{isSupported:X,isListening:t,phase:g,transcript:s,interimTranscript:u,error:f,volumeLevel:h,start:Z,stop:L,resetTranscript:te}}function mp(e){const[t,a]=_.useState("fit"),s=t==="wide";return l.jsxs("div",{className:`md-table-wrap ${s?"md-table-wide":"md-table-fit"}`,children:[l.jsxs("button",{type:"button",className:"md-table-toggle",title:s?"适应屏幕":"超宽展开",onClick:()=>a(s?"fit":"wide"),children:[s?l.jsx(A3,{className:"h-3 w-3"}):l.jsx(p3,{className:"h-3 w-3"}),l.jsx("span",{children:s?"适应屏幕":"超宽展开"})]}),l.jsx("div",{className:"md-table-scroll",children:l.jsx("table",{...e})})]})}const Bi=Za(e=>({agents:[],loaded:!1,loadAgents:async()=>{const t=He.getState().activeRepoId;try{const a=t?await Kw(t):await vy();e({agents:a,loaded:!0})}catch{e({loaded:!0})}},createAgent:async(t,a)=>{const s=a?await Vw(a,t):await Sy(t);return e(o=>({agents:[...o.agents,s]})),s},updateAgent:async(t,a)=>{const s=await Ay(t,a);e(o=>({agents:o.agents.map(u=>u.id===t?s:u)}))},deleteAgent:async t=>{await wy(t),e(a=>({agents:a.agents.filter(s=>s.id!==t)}))}}));function I6(e){if(typeof e!="string")return e;const t=e.trim();if(t)try{return JSON.parse(t)}catch{return t}}function bn(e){return e&&typeof e=="object"?e:null}function Gs(e){const t=bn(e);return t&&"properties"in t?t.properties:e}function M6(e){const t=bn(e);return typeof(t==null?void 0:t.type)=="string"?t.type:void 0}function D6(e){const t=bn(Gs(e));if(!t)return null;const a=bn(t.info);if(a&&typeof a.id=="string"){const o=Array.isArray(t.parts)?t.parts:void 0;return{...a,...o?{parts:o}:{}}}if(typeof t.id=="string"&&typeof t.role=="string")return t;const s=bn(t.message);return s&&typeof s.id=="string"?s:null}function L6(e){const t=bn(Gs(e));if(!t)return{};const a=bn(t.part)??t;return typeof a.type!="string"?{}:{messageId:typeof a.messageID=="string"&&a.messageID||typeof a.messageId=="string"&&a.messageId||typeof t.messageID=="string"&&t.messageID||typeof t.messageId=="string"&&t.messageId||void 0,part:a}}function j6(e){const t=bn(Gs(e));if(!t||t.field!=="text")return null;const a=typeof t.messageID=="string"?t.messageID:null,s=typeof t.partID=="string"?t.partID:null,o=typeof t.delta=="string"?t.delta:null;return!a||!s||o===null?null:{messageId:a,partId:s,delta:o}}function B6(e){const t=Gs(e);if(Array.isArray(t))return t;const a=bn(t);return a&&Array.isArray(a.todos)?a.todos:[]}function Ga(e){return typeof e=="number"?e:0}function P6(e){const t=bn(Gs(e));if(!t||typeof t.id!="string")return null;const a={id:t.id};typeof t.title=="string"&&(a.title=t.title),typeof t.agent=="string"&&(a.agent=t.agent),typeof t.cost=="number"&&(a.cost=t.cost);const s=typeof t.parentID=="string"?t.parentID:typeof t.parent_id=="string"?t.parent_id:void 0;s&&(a.parentID=s);const o=bn(t.tokens),u=typeof t.tokens_input=="number"||typeof t.tokens_output=="number";if(o||u){const f=o?bn(o.cache):null;a.tokens={input:Ga(o==null?void 0:o.input)||Ga(t.tokens_input),output:Ga(o==null?void 0:o.output)||Ga(t.tokens_output),reasoning:Ga(o==null?void 0:o.reasoning)||Ga(t.tokens_reasoning),cache:{read:Ga(f==null?void 0:f.read)||Ga(t.tokens_cache_read),write:Ga(f==null?void 0:f.write)||Ga(t.tokens_cache_write)}}}const d=bn(t.model);return d&&(a.model={providerID:typeof d.providerID=="string"?d.providerID:void 0,modelID:typeof d.modelID=="string"?d.modelID:void 0,variant:typeof d.variant=="string"?d.variant:void 0}),a}function U6(e){const t=bn(Gs(e));if(!t)return null;if(typeof t.message=="string")return t.message;const a=bn(t.error);if(a){const s=bn(a.data);if(typeof(s==null?void 0:s.message)=="string")return`${a.name??"Error"}: ${s.message}`;if(typeof a.message=="string")return`${a.name??"Error"}: ${a.message}`;if(typeof a.name=="string")return String(a.name)}return typeof t.reason=="string"?t.reason:null}function H6(e){const t=Gs(e);if(typeof t=="string")return t;const a=bn(t);if(typeof(a==null?void 0:a.status)=="string")return a.status;const s=bn(a==null?void 0:a.status);return typeof(s==null?void 0:s.type)=="string"?s.type:typeof(a==null?void 0:a.type)=="string"?a.type:null}function F6(e,t,a,s){switch(e==="message"||e===""?M6(t)??e:e){case"message.updated":{const u=D6(t);u&&s.updateMessage(a,u);break}case"session.updated":{const u=P6(t);u&&s.updateSessionInfo(u);break}case"message.part.updated":{const{messageId:u,part:d}=L6(t);d&&u&&s.updateMessagePart(a,u,d);break}case"message.part.delta":{const u=j6(t);u&&s.appendMessagePartDelta(a,u.messageId,u.partId,u.delta);break}case"todo.updated":{s.updateTodos(a,B6(t));break}case"session.status":{const u=H6(t);u&&s.setSessionStatus(a,u);break}case"session.idle":{s.setSessionStatus(a,"idle");break}case"session.error":{const u=U6(t);s.setSessionStatus(a,"error",u??void 0);break}}}const z6=600*1e3;class $6{constructor(t,a){ln(this,"sessionId");ln(this,"idleTimer",null);ln(this,"active",!1);ln(this,"alive",!0);ln(this,"callbacks");this.sessionId=t,this.callbacks=a,this.resetIdleTimer()}dispatch(t,a){if(!this.alive)return;this.resetIdleTimer();const s=Ie.getState();F6(t,a,this.sessionId,s)}activate(){this.active=!0,this.clearIdleTimer()}deactivate(){this.active=!1,this.resetIdleTimer()}refreshOnIdle(){Ie.getState().refreshSessionData(this.sessionId)}stop(){this.alive=!1,this.clearIdleTimer()}resetIdleTimer(){this.clearIdleTimer(),!this.active&&(this.idleTimer=setTimeout(()=>{this.callbacks.onWorkerIdle(this.sessionId)},z6))}clearIdleTimer(){this.idleTimer&&(clearTimeout(this.idleTimer),this.idleTimer=null)}}const q6=1e3,Y6=3e4;class G6{constructor(t,a){ln(this,"source",null);ln(this,"reconnectTimer",null);ln(this,"attempts",0);ln(this,"disposed",!1);ln(this,"repoId");ln(this,"onEvent");this.repoId=t,this.onEvent=a}start(){this.connect()}stop(){var t;this.disposed=!0,this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),(t=this.source)==null||t.close(),this.source=null}connect(){if(this.disposed)return;const t=bC(this.repoId),a=new EventSource(t);this.source=a,a.onopen=()=>{this.attempts=0},a.onmessage=o=>{this.handleRaw("message",o)};const s=["message.updated","message.part.updated","message.part.delta","message.removed","todo.updated","session.status","session.idle","session.error","session.updated"];for(const o of s)a.addEventListener(o,u=>{this.handleRaw(o,u)});a.onerror=()=>{if(!(this.disposed||!this.source)&&this.source.readyState===EventSource.CLOSED){this.source.close(),this.source=null;const o=Math.min(q6*2**this.attempts,Y6);this.attempts++,this.reconnectTimer=setTimeout(()=>this.connect(),o)}}}handleRaw(t,a){if(!(a instanceof MessageEvent))return;const s=I6(a.data);if(s===void 0)return;const o=this.extractSessionId(s);if(!o)return;let u=t;if(t==="message"||t===""){const d=s&&typeof s=="object"?s:null;typeof(d==null?void 0:d.type)=="string"&&(u=d.type)}this.onEvent(o,u,s)}extractSessionId(t){if(!t||typeof t!="object")return null;const a=t;if(a.properties&&typeof a.properties=="object"){const s=a.properties;if(typeof s.sessionID=="string")return s.sessionID;if(typeof s.id=="string")return s.id}return typeof a.sessionID=="string"?a.sessionID:typeof a.sessionId=="string"?a.sessionId:null}}const K6=6e4;class V6{constructor(t){ln(this,"timer",null);ln(this,"paused",!1);ln(this,"callbacks");this.callbacks=t}start(){this.tick(),this.timer=setInterval(()=>{this.paused||this.tick()},K6)}stop(){this.timer&&(clearInterval(this.timer),this.timer=null)}pause(){this.paused=!0}resume(){this.paused=!1,this.tick()}tick(){const t=He.getState().activeRepoId;t&&(Ie.getState().loadSessions(),xC(t).then(a=>{const s={};for(const[o,u]of Object.entries(a))s[o]=u.type??"idle";Ie.getState().bulkSetStatuses(s);for(const[o,u]of Object.entries(s))(u==="busy"||u==="retry")&&this.callbacks.ensureWorker(o)}).catch(()=>{}))}}class X6{constructor(){ln(this,"workers",new Map);ln(this,"dispatcher",null);ln(this,"supervisor",null);ln(this,"visibilityHandler",null)}start(t){this.stop();const a={onWorkerIdle:s=>this.removeWorker(s)};this.dispatcher=new G6(t,(s,o,u)=>{const d=this.ensureWorker(s,a);if(o==="session.idle"||o==="session.status"){const f=Ie.getState().sessionStatuses[s];d.dispatch(o,u);const m=Ie.getState().sessionStatuses[s];f&&f!=="idle"&&m==="idle"&&d.refreshOnIdle()}else d.dispatch(o,u)}),this.dispatcher.start(),this.supervisor=new V6({ensureWorker:s=>this.ensureWorker(s,a)}),this.supervisor.start(),this.visibilityHandler=()=>{var s,o;document.hidden?(s=this.supervisor)==null||s.pause():(o=this.supervisor)==null||o.resume()},document.addEventListener("visibilitychange",this.visibilityHandler)}stop(){var t,a;(t=this.dispatcher)==null||t.stop(),this.dispatcher=null,(a=this.supervisor)==null||a.stop(),this.supervisor=null;for(const s of this.workers.values())s.stop();this.workers.clear(),this.visibilityHandler&&(document.removeEventListener("visibilitychange",this.visibilityHandler),this.visibilityHandler=null)}activateSession(t){for(const o of this.workers.values())o.sessionId!==t&&o.deactivate();if(!t)return;const a={onWorkerIdle:o=>this.removeWorker(o)};this.ensureWorker(t,a).activate(),Ie.getState().refreshSessionData(t)}deactivateSession(t){var a;(a=this.workers.get(t))==null||a.deactivate()}ensureWorker(t,a){let s=this.workers.get(t);return s||(s=new $6(t,a),this.workers.set(t,s)),s}removeWorker(t){const a=Ie.getState().activeSessionId;if(t===a)return;const s=this.workers.get(t);s&&(s.stop(),this.workers.delete(t))}}const Ic=new X6,U1=(function(e,t,a){const s=Ro(a);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++t<e.children.length;)if(s(e.children[t],t,e))return e.children[t]}),Ks=(function(e){if(e==null)return Z6;if(typeof e=="string")return W6(e);if(typeof e=="object")return Q6(e);if(typeof e=="function")return hp(e);throw new Error("Expected function, string, or array as `test`")});function Q6(e){const t=[];let a=-1;for(;++a<e.length;)t[a]=Ks(e[a]);return hp(s);function s(...o){let u=-1;for(;++u<t.length;)if(t[u].apply(this,o))return!0;return!1}}function W6(e){return hp(t);function t(a){return a.tagName===e}}function hp(e){return t;function t(a,s,o){return!!(J6(a)&&e.call(this,a,typeof s=="number"?s:void 0,o||void 0))}}function Z6(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function J6(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}const H1=/\n/g,F1=/[\t ]+/g,vh=Ks("br"),z1=Ks(lM),eM=Ks("p"),$1=Ks("tr"),tM=Ks(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",iM,oM]),QN=Ks(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function nM(e,t){const a=t||{},s="children"in e?e.children:[],o=QN(e),u=JN(e,{whitespace:a.whitespace||"normal"}),d=[];(e.type==="text"||e.type==="comment")&&d.push(...ZN(e,{breakBefore:!0,breakAfter:!0}));let f=-1;for(;++f<s.length;)d.push(...WN(s[f],e,{whitespace:u,breakBefore:f?void 0:o,breakAfter:f<s.length-1?vh(s[f+1]):o}));const m=[];let h;for(f=-1;++f<d.length;){const b=d[f];typeof b=="number"?h!==void 0&&b>h&&(h=b):b&&(h!==void 0&&h>-1&&m.push(`
|
|
495
|
+
`))}function m(N,v,S,w){const A=S.enter("tableCell"),R=S.enter("phrasing"),I=S.containerPhrasing(N,{...w,before:u,after:u});return R(),A(),I}function h(N,v){return zO(N,{align:v,alignDelimiters:s,padding:a,stringLength:o})}function b(N,v,S){const w=N.children;let A=-1;const R=[],I=v.enter("table");for(;++A<w.length;)R[A]=g(w[A],v,S);return I(),R}function g(N,v,S){const w=N.children;let A=-1;const R=[],I=v.enter("tableRow");for(;++A<w.length;)R[A]=m(w[A],N,v,S);return I(),R}function y(N,v,S){let w=DN.inlineCode(N,v,S);return S.stack.includes("tableCell")&&(w=w.replace(/\|/g,"\\$&")),w}}function kI(){return{exit:{taskListCheckValueChecked:O1,taskListCheckValueUnchecked:O1,paragraph:OI}}}function RI(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:II}}}function O1(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function OI(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const a=this.stack[this.stack.length-1];a.type;const s=a.children[0];if(s&&s.type==="text"){const o=t.children;let u=-1,d;for(;++u<o.length;){const f=o[u];if(f.type==="paragraph"){d=f;break}}d===a&&(s.value=s.value.slice(1),s.value.length===0?a.children.shift():a.position&&s.position&&typeof s.position.start.offset=="number"&&(s.position.start.column++,s.position.start.offset++,a.position.start=Object.assign({},s.position.start)))}}this.exit(e)}function II(e,t,a,s){const o=e.children[0],u=typeof e.checked=="boolean"&&o&&o.type==="paragraph",d="["+(e.checked?"x":" ")+"] ",f=a.createTracker(s);u&&f.move(d);let m=DN.listItem(e,t,a,{...s,...f.current()});return u&&(m=m.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,h)),m;function h(b){return b+d}}function MI(){return[dO(),IO(),jO(),TI(),kI()]}function DI(e){return{extensions:[fO(),MO(e),BO(),CI(e),RI()]}}const LI={tokenize:FI,partial:!0},LN={tokenize:zI,partial:!0},jN={tokenize:$I,partial:!0},BN={tokenize:qI,partial:!0},jI={tokenize:YI,partial:!0},PN={name:"wwwAutolink",tokenize:UI,previous:HN},UN={name:"protocolAutolink",tokenize:HI,previous:FN},wr={name:"emailAutolink",tokenize:PI,previous:zN},er={};function BI(){return{text:er}}let js=48;for(;js<123;)er[js]=wr,js++,js===58?js=65:js===91&&(js=97);er[43]=wr;er[45]=wr;er[46]=wr;er[95]=wr;er[72]=[wr,UN];er[104]=[wr,UN];er[87]=[wr,PN];er[119]=[wr,PN];function PI(e,t,a){const s=this;let o,u;return d;function d(g){return!Th(g)||!zN.call(s,s.previous)||dp(s.events)?a(g):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),f(g))}function f(g){return Th(g)?(e.consume(g),f):g===64?(e.consume(g),m):a(g)}function m(g){return g===46?e.check(jI,b,h)(g):g===45||g===95||wn(g)?(u=!0,e.consume(g),m):b(g)}function h(g){return e.consume(g),o=!0,m}function b(g){return u&&o&&jn(s.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(g)):a(g)}}function UI(e,t,a){const s=this;return o;function o(d){return d!==87&&d!==119||!HN.call(s,s.previous)||dp(s.events)?a(d):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(LI,e.attempt(LN,e.attempt(jN,u),a),a)(d))}function u(d){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(d)}}function HI(e,t,a){const s=this;let o="",u=!1;return d;function d(g){return(g===72||g===104)&&FN.call(s,s.previous)&&!dp(s.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(g),e.consume(g),f):a(g)}function f(g){if(jn(g)&&o.length<5)return o+=String.fromCodePoint(g),e.consume(g),f;if(g===58){const y=o.toLowerCase();if(y==="http"||y==="https")return e.consume(g),m}return a(g)}function m(g){return g===47?(e.consume(g),u?h:(u=!0,m)):a(g)}function h(g){return g===null||Cc(g)||Mt(g)||$s(g)||ed(g)?a(g):e.attempt(LN,e.attempt(jN,b),a)(g)}function b(g){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(g)}}function FI(e,t,a){let s=0;return o;function o(d){return(d===87||d===119)&&s<3?(s++,e.consume(d),o):d===46&&s===3?(e.consume(d),u):a(d)}function u(d){return d===null?a(d):t(d)}}function zI(e,t,a){let s,o,u;return d;function d(h){return h===46||h===95?e.check(BN,m,f)(h):h===null||Mt(h)||$s(h)||h!==45&&ed(h)?m(h):(u=!0,e.consume(h),d)}function f(h){return h===95?s=!0:(o=s,s=void 0),e.consume(h),d}function m(h){return o||s||!u?a(h):t(h)}}function $I(e,t){let a=0,s=0;return o;function o(d){return d===40?(a++,e.consume(d),o):d===41&&s<a?u(d):d===33||d===34||d===38||d===39||d===41||d===42||d===44||d===46||d===58||d===59||d===60||d===63||d===93||d===95||d===126?e.check(BN,t,u)(d):d===null||Mt(d)||$s(d)?t(d):(e.consume(d),o)}function u(d){return d===41&&s++,e.consume(d),o}}function qI(e,t,a){return s;function s(f){return f===33||f===34||f===39||f===41||f===42||f===44||f===46||f===58||f===59||f===63||f===95||f===126?(e.consume(f),s):f===38?(e.consume(f),u):f===93?(e.consume(f),o):f===60||f===null||Mt(f)||$s(f)?t(f):a(f)}function o(f){return f===null||f===40||f===91||Mt(f)||$s(f)?t(f):s(f)}function u(f){return jn(f)?d(f):a(f)}function d(f){return f===59?(e.consume(f),s):jn(f)?(e.consume(f),d):a(f)}}function YI(e,t,a){return s;function s(u){return e.consume(u),o}function o(u){return wn(u)?a(u):t(u)}}function HN(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Mt(e)}function FN(e){return!jn(e)}function zN(e){return!(e===47||Th(e))}function Th(e){return e===43||e===45||e===46||e===95||wn(e)}function dp(e){let t=e.length,a=!1;for(;t--;){const s=e[t][1];if((s.type==="labelLink"||s.type==="labelImage")&&!s._balanced){a=!0;break}if(s._gfmAutolinkLiteralWalkedInto){a=!1;break}}return e.length>0&&!a&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),a}const GI={tokenize:e6,partial:!0};function KI(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:WI,continuation:{tokenize:ZI},exit:JI}},text:{91:{name:"gfmFootnoteCall",tokenize:QI},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:VI,resolveTo:XI}}}}function VI(e,t,a){const s=this;let o=s.events.length;const u=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let d;for(;o--;){const m=s.events[o][1];if(m.type==="labelImage"){d=m;break}if(m.type==="gfmFootnoteCall"||m.type==="labelLink"||m.type==="label"||m.type==="image"||m.type==="link")break}return f;function f(m){if(!d||!d._balanced)return a(m);const h=ja(s.sliceSerialize({start:d.end,end:s.now()}));return h.codePointAt(0)!==94||!u.includes(h.slice(1))?a(m):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),t(m))}}function XI(e,t){let a=e.length;for(;a--;)if(e[a][1].type==="labelImage"&&e[a][0]==="enter"){e[a][1];break}e[a+1][1].type="data",e[a+3][1].type="gfmFootnoteCallLabelMarker";const s={type:"gfmFootnoteCall",start:Object.assign({},e[a+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[a+3][1].end),end:Object.assign({},e[a+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const u={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},d={type:"chunkString",contentType:"string",start:Object.assign({},u.start),end:Object.assign({},u.end)},f=[e[a+1],e[a+2],["enter",s,t],e[a+3],e[a+4],["enter",o,t],["exit",o,t],["enter",u,t],["enter",d,t],["exit",d,t],["exit",u,t],e[e.length-2],e[e.length-1],["exit",s,t]];return e.splice(a,e.length-a+1,...f),e}function QI(e,t,a){const s=this,o=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let u=0,d;return f;function f(g){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),m}function m(g){return g!==94?a(g):(e.enter("gfmFootnoteCallMarker"),e.consume(g),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",h)}function h(g){if(u>999||g===93&&!d||g===null||g===91||Mt(g))return a(g);if(g===93){e.exit("chunkString");const y=e.exit("gfmFootnoteCallString");return o.includes(ja(s.sliceSerialize(y)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):a(g)}return Mt(g)||(d=!0),u++,e.consume(g),g===92?b:h}function b(g){return g===91||g===92||g===93?(e.consume(g),u++,h):h(g)}}function WI(e,t,a){const s=this,o=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let u,d=0,f;return m;function m(v){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(v){return v===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",b):a(v)}function b(v){if(d>999||v===93&&!f||v===null||v===91||Mt(v))return a(v);if(v===93){e.exit("chunkString");const S=e.exit("gfmFootnoteDefinitionLabelString");return u=ja(s.sliceSerialize(S)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),y}return Mt(v)||(f=!0),d++,e.consume(v),v===92?g:b}function g(v){return v===91||v===92||v===93?(e.consume(v),d++,b):b(v)}function y(v){return v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),o.includes(u)||o.push(u),ft(e,N,"gfmFootnoteDefinitionWhitespace")):a(v)}function N(v){return t(v)}}function ZI(e,t,a){return e.check(ko,t,e.attempt(GI,t,a))}function JI(e){e.exit("gfmFootnoteDefinition")}function e6(e,t,a){const s=this;return ft(e,o,"gfmFootnoteDefinitionIndent",5);function o(u){const d=s.events[s.events.length-1];return d&&d[1].type==="gfmFootnoteDefinitionIndent"&&d[2].sliceSerialize(d[1],!0).length===4?t(u):a(u)}}function t6(e){let a=(e||{}).singleTilde;const s={name:"strikethrough",tokenize:u,resolveAll:o};return a==null&&(a=!0),{text:{126:s},insideSpan:{null:[s]},attentionMarkers:{null:[126]}};function o(d,f){let m=-1;for(;++m<d.length;)if(d[m][0]==="enter"&&d[m][1].type==="strikethroughSequenceTemporary"&&d[m][1]._close){let h=m;for(;h--;)if(d[h][0]==="exit"&&d[h][1].type==="strikethroughSequenceTemporary"&&d[h][1]._open&&d[m][1].end.offset-d[m][1].start.offset===d[h][1].end.offset-d[h][1].start.offset){d[m][1].type="strikethroughSequence",d[h][1].type="strikethroughSequence";const b={type:"strikethrough",start:Object.assign({},d[h][1].start),end:Object.assign({},d[m][1].end)},g={type:"strikethroughText",start:Object.assign({},d[h][1].end),end:Object.assign({},d[m][1].start)},y=[["enter",b,f],["enter",d[h][1],f],["exit",d[h][1],f],["enter",g,f]],N=f.parser.constructs.insideSpan.null;N&&fa(y,y.length,0,td(N,d.slice(h+1,m),f)),fa(y,y.length,0,[["exit",g,f],["enter",d[m][1],f],["exit",d[m][1],f],["exit",b,f]]),fa(d,h-1,m-h+3,y),m=h+y.length-2;break}}for(m=-1;++m<d.length;)d[m][1].type==="strikethroughSequenceTemporary"&&(d[m][1].type="data");return d}function u(d,f,m){const h=this.previous,b=this.events;let g=0;return y;function y(v){return h===126&&b[b.length-1][1].type!=="characterEscape"?m(v):(d.enter("strikethroughSequenceTemporary"),N(v))}function N(v){const S=zi(h);if(v===126)return g>1?m(v):(d.consume(v),g++,N);if(g<2&&!a)return m(v);const w=d.exit("strikethroughSequenceTemporary"),A=zi(v);return w._open=!A||A===2&&!!S,w._close=!S||S===2&&!!A,f(v)}}}class n6{constructor(){this.map=[]}add(t,a,s){a6(this,t,a,s)}consume(t){if(this.map.sort(function(u,d){return u[0]-d[0]}),this.map.length===0)return;let a=this.map.length;const s=[];for(;a>0;)a-=1,s.push(t.slice(this.map[a][0]+this.map[a][1]),this.map[a][2]),t.length=this.map[a][0];s.push(t.slice()),t.length=0;let o=s.pop();for(;o;){for(const u of o)t.push(u);o=s.pop()}this.map.length=0}}function a6(e,t,a,s){let o=0;if(!(a===0&&s.length===0)){for(;o<e.map.length;){if(e.map[o][0]===t){e.map[o][1]+=a,e.map[o][2].push(...s);return}o+=1}e.map.push([t,a,s])}}function r6(e,t){let a=!1;const s=[];for(;t<e.length;){const o=e[t];if(a){if(o[0]==="enter")o[1].type==="tableContent"&&s.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const u=s.length-1;s[u]=s[u]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(a=!0);t+=1}return s}function s6(){return{flow:{null:{name:"table",tokenize:i6,resolveAll:l6}}}}function i6(e,t,a){const s=this;let o=0,u=0,d;return f;function f(L){let $=s.events.length-1;for(;$>-1;){const Z=s.events[$][1].type;if(Z==="lineEnding"||Z==="linePrefix")$--;else break}const ee=$>-1?s.events[$][1].type:null,ie=ee==="tableHead"||ee==="tableRow"?C:m;return ie===C&&s.parser.lazy[s.now().line]?a(L):ie(L)}function m(L){return e.enter("tableHead"),e.enter("tableRow"),h(L)}function h(L){return L===124||(d=!0,u+=1),b(L)}function b(L){return L===null?a(L):ze(L)?u>1?(u=0,s.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(L),e.exit("lineEnding"),N):a(L):lt(L)?ft(e,b,"whitespace")(L):(u+=1,d&&(d=!1,o+=1),L===124?(e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),d=!0,b):(e.enter("data"),g(L)))}function g(L){return L===null||L===124||Mt(L)?(e.exit("data"),b(L)):(e.consume(L),L===92?y:g)}function y(L){return L===92||L===124?(e.consume(L),g):g(L)}function N(L){return s.interrupt=!1,s.parser.lazy[s.now().line]?a(L):(e.enter("tableDelimiterRow"),d=!1,lt(L)?ft(e,v,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(L):v(L))}function v(L){return L===45||L===58?w(L):L===124?(d=!0,e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),S):B(L)}function S(L){return lt(L)?ft(e,w,"whitespace")(L):w(L)}function w(L){return L===58?(u+=1,d=!0,e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),A):L===45?(u+=1,A(L)):L===null||ze(L)?Y(L):B(L)}function A(L){return L===45?(e.enter("tableDelimiterFiller"),R(L)):B(L)}function R(L){return L===45?(e.consume(L),R):L===58?(d=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),I):(e.exit("tableDelimiterFiller"),I(L))}function I(L){return lt(L)?ft(e,Y,"whitespace")(L):Y(L)}function Y(L){return L===124?v(L):L===null||ze(L)?!d||o!==u?B(L):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(L)):B(L)}function B(L){return a(L)}function C(L){return e.enter("tableRow"),P(L)}function P(L){return L===124?(e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),P):L===null||ze(L)?(e.exit("tableRow"),t(L)):lt(L)?ft(e,P,"whitespace")(L):(e.enter("data"),X(L))}function X(L){return L===null||L===124||Mt(L)?(e.exit("data"),P(L)):(e.consume(L),L===92?Q:X)}function Q(L){return L===92||L===124?(e.consume(L),X):X(L)}}function l6(e,t){let a=-1,s=!0,o=0,u=[0,0,0,0],d=[0,0,0,0],f=!1,m=0,h,b,g;const y=new n6;for(;++a<e.length;){const N=e[a],v=N[1];N[0]==="enter"?v.type==="tableHead"?(f=!1,m!==0&&(I1(y,t,m,h,b),b=void 0,m=0),h={type:"table",start:Object.assign({},v.start),end:Object.assign({},v.end)},y.add(a,0,[["enter",h,t]])):v.type==="tableRow"||v.type==="tableDelimiterRow"?(s=!0,g=void 0,u=[0,0,0,0],d=[0,a+1,0,0],f&&(f=!1,b={type:"tableBody",start:Object.assign({},v.start),end:Object.assign({},v.end)},y.add(a,0,[["enter",b,t]])),o=v.type==="tableDelimiterRow"?2:b?3:1):o&&(v.type==="data"||v.type==="tableDelimiterMarker"||v.type==="tableDelimiterFiller")?(s=!1,d[2]===0&&(u[1]!==0&&(d[0]=d[1],g=ac(y,t,u,o,void 0,g),u=[0,0,0,0]),d[2]=a)):v.type==="tableCellDivider"&&(s?s=!1:(u[1]!==0&&(d[0]=d[1],g=ac(y,t,u,o,void 0,g)),u=d,d=[u[1],a,0,0])):v.type==="tableHead"?(f=!0,m=a):v.type==="tableRow"||v.type==="tableDelimiterRow"?(m=a,u[1]!==0?(d[0]=d[1],g=ac(y,t,u,o,a,g)):d[1]!==0&&(g=ac(y,t,d,o,a,g)),o=0):o&&(v.type==="data"||v.type==="tableDelimiterMarker"||v.type==="tableDelimiterFiller")&&(d[3]=a)}for(m!==0&&I1(y,t,m,h,b),y.consume(t.events),a=-1;++a<t.events.length;){const N=t.events[a];N[0]==="enter"&&N[1].type==="table"&&(N[1]._align=r6(t.events,a))}return e}function ac(e,t,a,s,o,u){const d=s===1?"tableHeader":s===2?"tableDelimiter":"tableData",f="tableContent";a[0]!==0&&(u.end=Object.assign({},Di(t.events,a[0])),e.add(a[0],0,[["exit",u,t]]));const m=Di(t.events,a[1]);if(u={type:d,start:Object.assign({},m),end:Object.assign({},m)},e.add(a[1],0,[["enter",u,t]]),a[2]!==0){const h=Di(t.events,a[2]),b=Di(t.events,a[3]),g={type:f,start:Object.assign({},h),end:Object.assign({},b)};if(e.add(a[2],0,[["enter",g,t]]),s!==2){const y=t.events[a[2]],N=t.events[a[3]];if(y[1].end=Object.assign({},N[1].end),y[1].type="chunkText",y[1].contentType="text",a[3]>a[2]+1){const v=a[2]+1,S=a[3]-a[2]-1;e.add(v,S,[])}}e.add(a[3]+1,0,[["exit",g,t]])}return o!==void 0&&(u.end=Object.assign({},Di(t.events,o)),e.add(o,0,[["exit",u,t]]),u=void 0),u}function I1(e,t,a,s,o){const u=[],d=Di(t.events,a);o&&(o.end=Object.assign({},d),u.push(["exit",o,t])),s.end=Object.assign({},d),u.push(["exit",s,t]),e.add(a+1,0,u)}function Di(e,t){const a=e[t],s=a[0]==="enter"?"start":"end";return a[1][s]}const o6={name:"tasklistCheck",tokenize:c6};function u6(){return{text:{91:o6}}}function c6(e,t,a){const s=this;return o;function o(m){return s.previous!==null||!s._gfmTasklistFirstContentOfListItem?a(m):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(m),e.exit("taskListCheckMarker"),u)}function u(m){return Mt(m)?(e.enter("taskListCheckValueUnchecked"),e.consume(m),e.exit("taskListCheckValueUnchecked"),d):m===88||m===120?(e.enter("taskListCheckValueChecked"),e.consume(m),e.exit("taskListCheckValueChecked"),d):a(m)}function d(m){return m===93?(e.enter("taskListCheckMarker"),e.consume(m),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),f):a(m)}function f(m){return ze(m)?t(m):lt(m)?e.check({tokenize:d6},t,a)(m):a(m)}}function d6(e,t,a){return ft(e,s,"whitespace");function s(o){return o===null?a(o):t(o)}}function f6(e){return Wy([BI(),KI(),t6(e),s6(),u6()])}const m6={};function cs(e){const t=this,a=e||m6,s=t.data(),o=s.micromarkExtensions||(s.micromarkExtensions=[]),u=s.fromMarkdownExtensions||(s.fromMarkdownExtensions=[]),d=s.toMarkdownExtensions||(s.toMarkdownExtensions=[]);o.push(f6(a)),u.push(MI()),d.push(DI(a))}const h6=5*1024*1024,M1=10,$N=["image/png","image/jpeg","image/gif","image/webp"];let p6=0;function g6(e){return new Promise((t,a)=>{const s=new FileReader;s.onload=()=>t(String(s.result)),s.onerror=()=>a(s.error),s.readAsDataURL(e)})}function b6({url:e,label:t,onClose:a}){return _.useEffect(()=>{const s=o=>{o.key==="Escape"&&(o.preventDefault(),a())};return window.addEventListener("keydown",s,!0),()=>window.removeEventListener("keydown",s,!0)},[a]),l.jsx("div",{role:"dialog","aria-modal":"true","aria-label":t,onClick:a,className:"fixed inset-0 z-50 flex cursor-zoom-out items-center justify-center bg-black/80 p-8 backdrop-blur-sm",children:l.jsx("img",{src:e,alt:t,className:"max-h-full max-w-full object-contain"})})}function qN({url:e,label:t,className:a}){const[s,o]=_.useState(!1);return l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",onClick:()=>o(!0),"aria-label":`预览 ${t}`,className:"block cursor-zoom-in rounded-md transition-opacity duration-150 hover:opacity-80",children:l.jsx("img",{src:e,alt:t,className:oe("rounded-md border border-line",a)})}),s&&l.jsx(b6,{url:e,label:t,onClose:()=>o(!1)})]})}function YN(e=!0){const[t,a]=_.useState([]),[s,o]=_.useState(null);_.useEffect(()=>{o(null),e||a([])},[e]);const u=async b=>{const g=[],y=[],N=t.length;let v=M1-N;for(const S of b){if(v<=0){y.push(`最多 ${M1} 张图片`);break}if(!$N.includes(S.type)){y.push(`${S.name||"文件"}:格式不支持`);continue}if(S.size>h6){y.push(`${S.name}:超过 5MB`);continue}g.push({_id:`att-${++p6}`,mime:S.type,url:await g6(S),filename:S.name}),v--}g.length>0&&a(S=>[...S,...g]),o(y.length>0?y.join(";"):null)},d=b=>{const g=Array.from(b.clipboardData.files);if(g.length!==0){if(b.preventDefault(),!e){o("当前模型不支持图片");return}u(g)}},f=b=>a(g=>g.filter(y=>y._id!==b)),m=_.useCallback(()=>{a([]),o(null)},[]),h=t.map(({mime:b,url:g,filename:y})=>({mime:b,url:g,filename:y}));return{attachments:t,promptFiles:h,error:s,setError:o,addFiles:u,onPaste:d,remove:f,clear:m}}function GN({onFiles:e,disabled:t,allowed:a}){const s=_.useRef(null);return l.jsxs(l.Fragment,{children:[l.jsx("input",{ref:s,type:"file",accept:$N.join(","),multiple:!0,hidden:!0,onChange:o=>{e(Array.from(o.target.files??[])),o.target.value=""}}),l.jsx("button",{type:"button",onClick:()=>{var o;return(o=s.current)==null?void 0:o.click()},disabled:t||!a,"aria-label":"Attach image",title:a?"附加图片":"当前模型不支持图片",className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-fg-5 transition-colors duration-150 hover:text-fg-3 disabled:cursor-not-allowed disabled:text-fg-6/40",children:l.jsx(u3,{className:"h-4 w-4"})})]})}function KN({attachments:e,error:t,onRemove:a,className:s}){return e.length===0&&!t?null:l.jsxs("div",{className:s,children:[e.length>0&&l.jsx("div",{className:"mb-2 flex flex-wrap gap-2",children:e.map(o=>l.jsxs("div",{className:"group relative",children:[l.jsx(qN,{url:o.url,label:o.filename??"attachment",className:"h-16 w-16 object-cover"}),l.jsx("button",{type:"button",onClick:()=>a(o._id),"aria-label":"Remove attachment",className:"absolute -right-1.5 -top-1.5 flex h-4 w-4 items-center justify-center rounded-full border border-line bg-term text-fg-4 opacity-0 transition-opacity duration-150 hover:text-fg-2 group-hover:opacity-100",children:l.jsx(xt,{className:"h-2.5 w-2.5",strokeWidth:2.5})})]},o._id))}),t&&l.jsx("div",{className:"mb-2 font-mono text-[11px] text-red-400",children:t})]})}function VN({isListening:e,disabled:t,onStart:a,onStop:s}){const o=_.useRef(!1),u=f=>{if(t)return;f.preventDefault(),o.current=!0,a();const m=()=>{document.removeEventListener("touchend",m),document.removeEventListener("touchcancel",m),o.current=!1,s()};document.addEventListener("touchend",m,{once:!0}),document.addEventListener("touchcancel",m,{once:!0})},d=()=>{if(t||o.current)return;a();const f=()=>{document.removeEventListener("mouseup",f),s()};document.addEventListener("mouseup",f,{once:!0})};return l.jsx("button",{type:"button",disabled:t,onTouchStart:u,onMouseDown:d,onContextMenu:f=>f.preventDefault(),"aria-label":"按住说话",title:"按住说话",style:{WebkitTouchCallout:"none"},className:oe("flex shrink-0 select-none touch-none items-center justify-center transition-colors duration-150 disabled:cursor-not-allowed disabled:text-fg-6/40","order-first self-stretch w-12 rounded-xl sm:order-none sm:self-auto sm:h-7 sm:w-7 sm:rounded-md",e?"bg-red-500/15 text-red-400 hover:bg-red-500/25":"text-fg-5 hover:text-fg-3"),children:l.jsx(v3,{className:oe("h-6 w-6 sm:h-4 sm:w-4",e&&"animate-pulse")})})}/*! Capacitor: https://capacitorjs.com/ - MIT License */var qi;(function(e){e.Unimplemented="UNIMPLEMENTED",e.Unavailable="UNAVAILABLE"})(qi||(qi={}));class $m extends Error{constructor(t,a,s){super(t),this.message=t,this.code=a,this.data=s}}const x6=e=>{var t,a;return e!=null&&e.androidBridge?"android":!((a=(t=e==null?void 0:e.webkit)===null||t===void 0?void 0:t.messageHandlers)===null||a===void 0)&&a.bridge?"ios":"web"},E6=e=>{const t=e.CapacitorCustomPlatform||null,a=e.Capacitor||{},s=a.Plugins=a.Plugins||{},o=()=>t!==null?t.name:x6(e),u=()=>o()!=="web",d=g=>{const y=h.get(g);return!!(y!=null&&y.platforms.has(o())||f(g))},f=g=>{var y;return(y=a.PluginHeaders)===null||y===void 0?void 0:y.find(N=>N.name===g)},m=g=>e.console.error(g),h=new Map,b=(g,y={})=>{const N=h.get(g);if(N)return console.warn(`Capacitor plugin "${g}" already registered. Cannot register plugins twice.`),N.proxy;const v=o(),S=f(g);let w;const A=async()=>(!w&&v in y?w=typeof y[v]=="function"?w=await y[v]():w=y[v]:t!==null&&!w&&"web"in y&&(w=typeof y.web=="function"?w=await y.web():w=y.web),w),R=(X,Q)=>{var L,$;if(S){const ee=S==null?void 0:S.methods.find(ie=>Q===ie.name);if(ee)return ee.rtype==="promise"?ie=>a.nativePromise(g,Q.toString(),ie):(ie,Z)=>a.nativeCallback(g,Q.toString(),ie,Z);if(X)return(L=X[Q])===null||L===void 0?void 0:L.bind(X)}else{if(X)return($=X[Q])===null||$===void 0?void 0:$.bind(X);throw new $m(`"${g}" plugin is not implemented on ${v}`,qi.Unimplemented)}},I=X=>{let Q;const L=(...$)=>{const ee=A().then(ie=>{const Z=R(ie,X);if(Z){const te=Z(...$);return Q=te==null?void 0:te.remove,te}else throw new $m(`"${g}.${X}()" is not implemented on ${v}`,qi.Unimplemented)});return X==="addListener"&&(ee.remove=async()=>Q()),ee};return L.toString=()=>`${X.toString()}() { [capacitor code] }`,Object.defineProperty(L,"name",{value:X,writable:!1,configurable:!1}),L},Y=I("addListener"),B=I("removeListener"),C=(X,Q)=>{const L=Y({eventName:X},Q),$=async()=>{const ie=await L;B({eventName:X,callbackId:ie},Q)},ee=new Promise(ie=>L.then(()=>ie({remove:$})));return ee.remove=async()=>{console.warn("Using addListener() without 'await' is deprecated."),await $()},ee},P=new Proxy({},{get(X,Q){switch(Q){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return S?C:Y;case"removeListener":return B;default:return I(Q)}}});return s[g]=P,h.set(g,{name:g,proxy:P,platforms:new Set([...Object.keys(y),...S?[v]:[]])}),P};return a.convertFileSrc||(a.convertFileSrc=g=>g),a.getPlatform=o,a.handleError=m,a.isNativePlatform=u,a.isPluginAvailable=d,a.registerPlugin=b,a.Exception=$m,a.DEBUG=!!a.DEBUG,a.isLoggingEnabled=!!a.isLoggingEnabled,a},y6=e=>e.Capacitor=E6(e),Oc=y6(typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),Mo=Oc.registerPlugin;class fp{constructor(){this.listeners={},this.retainedEventArguments={},this.windowListeners={}}addListener(t,a){let s=!1;this.listeners[t]||(this.listeners[t]=[],s=!0),this.listeners[t].push(a);const u=this.windowListeners[t];u&&!u.registered&&this.addWindowListener(u),s&&this.sendRetainedArgumentsForEvent(t);const d=async()=>this.removeListener(t,a);return Promise.resolve({remove:d})}async removeAllListeners(){this.listeners={};for(const t in this.windowListeners)this.removeWindowListener(this.windowListeners[t]);this.windowListeners={}}notifyListeners(t,a,s){const o=this.listeners[t];if(!o){if(s){let u=this.retainedEventArguments[t];u||(u=[]),u.push(a),this.retainedEventArguments[t]=u}return}o.forEach(u=>u(a))}hasListeners(t){var a;return!!(!((a=this.listeners[t])===null||a===void 0)&&a.length)}registerWindowListener(t,a){this.windowListeners[a]={registered:!1,windowEventName:t,pluginEventName:a,handler:s=>{this.notifyListeners(a,s)}}}unimplemented(t="not implemented"){return new Oc.Exception(t,qi.Unimplemented)}unavailable(t="not available"){return new Oc.Exception(t,qi.Unavailable)}async removeListener(t,a){const s=this.listeners[t];if(!s)return;const o=s.indexOf(a);this.listeners[t].splice(o,1),this.listeners[t].length||this.removeWindowListener(this.windowListeners[t])}addWindowListener(t){window.addEventListener(t.windowEventName,t.handler),t.registered=!0}removeWindowListener(t){t&&(window.removeEventListener(t.windowEventName,t.handler),t.registered=!1)}sendRetainedArgumentsForEvent(t){const a=this.retainedEventArguments[t];a&&(delete this.retainedEventArguments[t],a.forEach(s=>{this.notifyListeners(t,s)}))}}const D1=e=>encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),L1=e=>e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent);class N6 extends fp{async getCookies(){const t=document.cookie,a={};return t.split(";").forEach(s=>{if(s.length<=0)return;let[o,u]=s.replace(/=/,"CAP_COOKIE").split("CAP_COOKIE");o=L1(o).trim(),u=L1(u).trim(),a[o]=u}),a}async setCookie(t){try{const a=D1(t.key),s=D1(t.value),o=t.expires?`; expires=${t.expires.replace("expires=","")}`:"",u=(t.path||"/").replace("path=",""),d=t.url!=null&&t.url.length>0?`domain=${t.url}`:"";document.cookie=`${a}=${s||""}${o}; path=${u}; ${d};`}catch(a){return Promise.reject(a)}}async deleteCookie(t){try{document.cookie=`${t.key}=; Max-Age=0`}catch(a){return Promise.reject(a)}}async clearCookies(){try{const t=document.cookie.split(";")||[];for(const a of t)document.cookie=a.replace(/^ +/,"").replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}catch(t){return Promise.reject(t)}}async clearAllCookies(){try{await this.clearCookies()}catch(t){return Promise.reject(t)}}}Mo("CapacitorCookies",{web:()=>new N6});const T6=async e=>new Promise((t,a)=>{const s=new FileReader;s.onload=()=>{const o=s.result;t(o.indexOf(",")>=0?o.split(",")[1]:o)},s.onerror=o=>a(o),s.readAsDataURL(e)}),_6=(e={})=>{const t=Object.keys(e);return Object.keys(e).map(o=>o.toLocaleLowerCase()).reduce((o,u,d)=>(o[u]=e[t[d]],o),{})},v6=(e,t=!0)=>e?Object.entries(e).reduce((s,o)=>{const[u,d]=o;let f,m;return Array.isArray(d)?(m="",d.forEach(h=>{f=t?encodeURIComponent(h):h,m+=`${u}=${f}&`}),m.slice(0,-1)):(f=t?encodeURIComponent(d):d,m=`${u}=${f}`),`${s}&${m}`},"").substr(1):null,S6=(e,t={})=>{const a=Object.assign({method:e.method||"GET",headers:e.headers},t),o=_6(e.headers)["content-type"]||"";if(typeof e.data=="string")a.body=e.data;else if(o.includes("application/x-www-form-urlencoded")){const u=new URLSearchParams;for(const[d,f]of Object.entries(e.data||{}))u.set(d,f);a.body=u.toString()}else if(o.includes("multipart/form-data")||e.data instanceof FormData){const u=new FormData;if(e.data instanceof FormData)e.data.forEach((f,m)=>{u.append(m,f)});else for(const f of Object.keys(e.data))u.append(f,e.data[f]);a.body=u;const d=new Headers(a.headers);d.delete("content-type"),a.headers=d}else(o.includes("application/json")||typeof e.data=="object")&&(a.body=JSON.stringify(e.data));return a};class A6 extends fp{async request(t){const a=S6(t,t.webFetchExtra),s=v6(t.params,t.shouldEncodeUrlParams),o=s?`${t.url}?${s}`:t.url,u=await fetch(o,a),d=u.headers.get("content-type")||"";let{responseType:f="text"}=u.ok?t:{};d.includes("application/json")&&(f="json");let m,h;switch(f){case"arraybuffer":case"blob":h=await u.blob(),m=await T6(h);break;case"json":m=await u.json();break;case"document":case"text":default:m=await u.text()}const b={};return u.headers.forEach((g,y)=>{b[y]=g}),{data:m,headers:b,status:u.status,url:u.url}}async get(t){return this.request(Object.assign(Object.assign({},t),{method:"GET"}))}async post(t){return this.request(Object.assign(Object.assign({},t),{method:"POST"}))}async put(t){return this.request(Object.assign(Object.assign({},t),{method:"PUT"}))}async patch(t){return this.request(Object.assign(Object.assign({},t),{method:"PATCH"}))}async delete(t){return this.request(Object.assign(Object.assign({},t),{method:"DELETE"}))}}Mo("CapacitorHttp",{web:()=>new A6});var j1;(function(e){e.Dark="DARK",e.Light="LIGHT",e.Default="DEFAULT"})(j1||(j1={}));var B1;(function(e){e.StatusBar="StatusBar",e.NavigationBar="NavigationBar"})(B1||(B1={}));class w6 extends fp{async setStyle(){this.unavailable("not available for web")}async setAnimation(){this.unavailable("not available for web")}async show(){this.unavailable("not available for web")}async hide(){this.unavailable("not available for web")}}Mo("SystemBars",{web:()=>new w6});const C6="modulepreload",k6=function(e){return"/"+e},P1={},R6=function(t,a,s){let o=Promise.resolve();if(a&&a.length>0){let d=function(h){return Promise.all(h.map(b=>Promise.resolve(b).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),m=(f==null?void 0:f.nonce)||(f==null?void 0:f.getAttribute("nonce"));o=d(a.map(h=>{if(h=k6(h),h in P1)return;P1[h]=!0;const b=h.endsWith(".css"),g=b?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const y=document.createElement("link");if(y.rel=b?"stylesheet":C6,b||(y.as="script"),y.crossOrigin="",y.href=h,m&&y.setAttribute("nonce",m),document.head.appendChild(y),b)return new Promise((N,v)=>{y.addEventListener("load",N),y.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${h}`)))})}))}function u(d){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=d,window.dispatchEvent(f),!f.defaultPrevented)throw d}return o.then(d=>{for(const f of d||[])f.status==="rejected"&&u(f.reason);return t().catch(u)})},Mi=Mo("SpeechRecognition",{web:()=>R6(()=>import("./web-DXif1FH9.js"),[]).then(e=>new e.SpeechRecognitionWeb)});function O6(e,t){const a=e.length,s=new ArrayBuffer(44+a*2),o=new DataView(s),u=(d,f)=>{for(let m=0;m<f.length;m++)o.setUint8(d+m,f.charCodeAt(m))};u(0,"RIFF"),o.setUint32(4,36+a*2,!0),u(8,"WAVE"),u(12,"fmt "),o.setUint32(16,16,!0),o.setUint16(20,1,!0),o.setUint16(22,1,!0),o.setUint32(24,t,!0),o.setUint32(28,t*2,!0),o.setUint16(32,2,!0),o.setUint16(34,16,!0),u(36,"data"),o.setUint32(40,a*2,!0);for(let d=0;d<a;d++){const f=Math.max(-1,Math.min(1,e[d]));o.setInt16(44+d*2,f<0?f*32768:f*32767,!0)}return new Blob([s],{type:"audio/wav"})}const _h=Oc.isNativePlatform(),qm=!_h&&typeof window<"u"?window.SpeechRecognition??window.webkitSpeechRecognition:void 0,Ym=16e3;function XN(e="zh-CN"){const[t,a]=_.useState(!1),[s,o]=_.useState(""),[u,d]=_.useState(""),[f,m]=_.useState(null),[h,b]=_.useState(0),[g,y]=_.useState("idle"),N=_.useRef(null),v=_.useRef(!1),S=_.useRef([]),w=_.useRef(!1),A=_.useRef(null),R=_.useRef(!1),I=_.useRef(null),Y=_.useRef(null),B=_.useRef(null),C=_.useRef([]),P=_.useRef(!1),X=!0,Q=_.useCallback(async()=>{var ae,M,ye;(ae=B.current)==null||ae.disconnect(),(M=Y.current)==null||M.getTracks().forEach(re=>re.stop()),await((ye=I.current)==null?void 0:ye.close().catch(()=>{}));const H=C.current;if(C.current=[],B.current=null,Y.current=null,I.current=null,H.length===0||P.current){a(!1),y("idle");return}d("识别中…"),y("recognizing");const z=H.reduce((re,Ne)=>re+Ne.length,0),ce=new Float32Array(z);let K=0;for(const re of H)ce.set(re,K),K+=re.length;const k=O6(ce,Ym),j=new FormData;j.append("audio",k,"recording.wav");try{const re=await fetch("/api/transcribe",{method:"POST",body:j});if(P.current)return;if(re.ok){const{text:Ne}=await re.json();Ne?(o(Ne),y("done")):y("idle")}else{const Ne=await re.json().catch(()=>({error:`HTTP ${re.status}`}));m(Ne.error??`HTTP ${re.status}`),y("idle")}}catch(re){m(`语音识别失败:${re instanceof Error?re.message:String(re)}`),y("idle")}finally{d(""),a(!1)}},[]),L=_.useCallback(async()=>{if(v.current=!0,A.current&&(clearTimeout(A.current),A.current=null),_h){await Mi.stop().catch(()=>{});for(const H of S.current)await H.remove().catch(()=>{});S.current=[],a(!1),d("")}else N.current?N.current.stop():I.current?await Q():(a(!1),y("idle"))},[Q]),$=_.useCallback(async()=>{var K;P.current=!1,o(""),d(""),m(null),y("idle");const{available:H}=await Mi.available();if(!H){m("当前设备不支持语音识别");return}if((await Mi.requestPermissions()).speechRecognition!=="granted"){m("请允许语音识别权限");return}const ce=[];ce.push(await Mi.addListener("partialResults",k=>{d(k.matches[0]??"")})),ce.push(await Mi.addListener("listeningState",k=>{const j=k.status==="started";a(j),j&&y("recording"),j||d("")})),S.current=ce;try{const k=await Mi.start({language:e,partialResults:!0,maxResults:1});(K=k.matches)!=null&&K.length&&o(j=>j+k.matches.join(""))}catch(k){m(`语音识别错误:${k instanceof Error?k.message:String(k)}`);for(const j of ce)await j.remove().catch(()=>{});S.current=[]}},[e]),ee=_.useCallback(()=>{if(!qm)return!1;P.current=!1,o(""),d(""),m(null),y("idle"),v.current=!1;const H=new qm;H.lang=e,H.continuous=!0,H.interimResults=!0,H.maxAlternatives=1,H.onstart=()=>{a(!0),y("recording"),w.current=!1,A.current=setTimeout(()=>{!w.current&&!v.current&&(R.current=!0,v.current=!0,H.stop(),m("语音识别服务不可用(Chrome/Edge 需连接 Google 服务器),下次将使用服务端识别"))},5e3)},H.onresult=z=>{w.current=!0,A.current&&(clearTimeout(A.current),A.current=null);let ce="",K="";for(let k=z.resultIndex;k<z.results.length;k++){const j=z.results[k][0].transcript;z.results[k].isFinal?ce+=j:K+=j}ce&&o(k=>k+ce),d(K)},H.onerror=z=>{switch(z.error!=="no-speech"&&z.error!=="aborted"&&(v.current=!0),z.error){case"not-allowed":m("请允许麦克风权限");break;case"network":m("网络错误,请检查连接");break;case"no-speech":case"aborted":return;default:m(`语音识别错误:${z.error}`)}},H.onend=()=>{if(d(""),!v.current)try{H.start();return}catch{}a(!1),N.current=null},N.current=H;try{return H.start(),!0}catch{return!1}},[e]),ie=_.useCallback(async()=>{P.current=!1,o(""),d(""),m(null),y("idle");try{const k=await fetch("/api/transcribe/status"),{available:j}=await k.json();if(!j){m("语音识别服务未就绪,请稍后重试");return}}catch{m("无法连接语音识别服务");return}let H;try{H=await navigator.mediaDevices.getUserMedia({audio:{sampleRate:Ym,channelCount:1}})}catch{m("请允许麦克风权限");return}const z=new AudioContext({sampleRate:Ym}),ce=z.createMediaStreamSource(H),K=z.createScriptProcessor(4096,1,1);C.current=[],K.onaudioprocess=k=>{C.current.push(new Float32Array(k.inputBuffer.getChannelData(0)))},ce.connect(K),K.connect(z.destination),I.current=z,Y.current=H,B.current=K,a(!0),y("recording")},[]),Z=_.useCallback(()=>{_h?$():qm&&!R.current&&ee()||ie()},[$,ee,ie]);_.useEffect(()=>{if(!t){b(0);return}if(N.current)return;let H=!1,z=null,ce=null,K=0;return(async()=>{try{if(z=await navigator.mediaDevices.getUserMedia({audio:!0}),H){z.getTracks().forEach(re=>re.stop());return}ce=new AudioContext;const k=ce.createMediaStreamSource(z),j=ce.createAnalyser();j.fftSize=256,k.connect(j);const ae=new Uint8Array(j.frequencyBinCount);let M=0;const ye=()=>{if(H)return;j.getByteFrequencyData(ae);const re=performance.now();if(re-M>80){let Ne=0;for(let Be=0;Be<ae.length;Be++)Ne+=ae[Be];b(Ne/(ae.length*255)),M=re}K=requestAnimationFrame(ye)};K=requestAnimationFrame(ye)}catch{}})(),()=>{H=!0,cancelAnimationFrame(K),z==null||z.getTracks().forEach(k=>k.stop()),ce==null||ce.close().catch(()=>{}),b(0)}},[t]),_.useEffect(()=>{!t&&g==="recording"&&y(s?"done":"idle")},[t,g,s]),_.useEffect(()=>()=>{var H,z,ce,K;v.current=!0,(H=N.current)==null||H.stop(),(z=B.current)==null||z.disconnect(),(ce=Y.current)==null||ce.getTracks().forEach(k=>k.stop()),(K=I.current)==null||K.close().catch(()=>{});for(const k of S.current)k.remove().catch(()=>{})},[]);const te=_.useCallback(()=>{P.current=!0,o(""),d(""),y("idle")},[]);return{isSupported:X,isListening:t,phase:g,transcript:s,interimTranscript:u,error:f,volumeLevel:h,start:Z,stop:L,resetTranscript:te}}function mp(e){const[t,a]=_.useState("fit"),s=t==="wide";return l.jsxs("div",{className:`md-table-wrap ${s?"md-table-wide":"md-table-fit"}`,children:[l.jsxs("button",{type:"button",className:"md-table-toggle",title:s?"适应屏幕":"超宽展开",onClick:()=>a(s?"fit":"wide"),children:[s?l.jsx(A3,{className:"h-3 w-3"}):l.jsx(p3,{className:"h-3 w-3"}),l.jsx("span",{children:s?"适应屏幕":"超宽展开"})]}),l.jsx("div",{className:"md-table-scroll",children:l.jsx("table",{...e})})]})}const Bi=Za(e=>({agents:[],loaded:!1,loadAgents:async()=>{const t=He.getState().activeRepoId;try{const a=t?await Kw(t):await vy();e({agents:a,loaded:!0})}catch{e({loaded:!0})}},createAgent:async(t,a)=>{const s=a?await Vw(a,t):await Sy(t);return e(o=>({agents:[...o.agents,s]})),s},updateAgent:async(t,a)=>{const s=await Ay(t,a);e(o=>({agents:o.agents.map(u=>u.id===t?s:u)}))},deleteAgent:async t=>{await wy(t),e(a=>({agents:a.agents.filter(s=>s.id!==t)}))}}));function I6(e){if(typeof e!="string")return e;const t=e.trim();if(t)try{return JSON.parse(t)}catch{return t}}function bn(e){return e&&typeof e=="object"?e:null}function Gs(e){const t=bn(e);return t&&"properties"in t?t.properties:e}function M6(e){const t=bn(e);return typeof(t==null?void 0:t.type)=="string"?t.type:void 0}function D6(e){const t=bn(Gs(e));if(!t)return null;const a=bn(t.info);if(a&&typeof a.id=="string"){const o=Array.isArray(t.parts)?t.parts:void 0;return{...a,...o?{parts:o}:{}}}if(typeof t.id=="string"&&typeof t.role=="string")return t;const s=bn(t.message);return s&&typeof s.id=="string"?s:null}function L6(e){const t=bn(Gs(e));if(!t)return{};const a=bn(t.part)??t;return typeof a.type!="string"?{}:{messageId:typeof a.messageID=="string"&&a.messageID||typeof a.messageId=="string"&&a.messageId||typeof t.messageID=="string"&&t.messageID||typeof t.messageId=="string"&&t.messageId||void 0,part:a}}function j6(e){const t=bn(Gs(e));if(!t||t.field!=="text")return null;const a=typeof t.messageID=="string"?t.messageID:null,s=typeof t.partID=="string"?t.partID:null,o=typeof t.delta=="string"?t.delta:null;return!a||!s||o===null?null:{messageId:a,partId:s,delta:o}}function B6(e){const t=Gs(e);if(Array.isArray(t))return t;const a=bn(t);return a&&Array.isArray(a.todos)?a.todos:[]}function Ga(e){return typeof e=="number"?e:0}function P6(e){const t=bn(Gs(e));if(!t||typeof t.id!="string")return null;const a={id:t.id};typeof t.title=="string"&&(a.title=t.title),typeof t.agent=="string"&&(a.agent=t.agent),typeof t.cost=="number"&&(a.cost=t.cost);const s=typeof t.parentID=="string"?t.parentID:typeof t.parent_id=="string"?t.parent_id:void 0;s&&(a.parentID=s);const o=bn(t.tokens),u=typeof t.tokens_input=="number"||typeof t.tokens_output=="number";if(o||u){const f=o?bn(o.cache):null;a.tokens={input:Ga(o==null?void 0:o.input)||Ga(t.tokens_input),output:Ga(o==null?void 0:o.output)||Ga(t.tokens_output),reasoning:Ga(o==null?void 0:o.reasoning)||Ga(t.tokens_reasoning),cache:{read:Ga(f==null?void 0:f.read)||Ga(t.tokens_cache_read),write:Ga(f==null?void 0:f.write)||Ga(t.tokens_cache_write)}}}const d=bn(t.model);return d&&(a.model={providerID:typeof d.providerID=="string"?d.providerID:void 0,modelID:typeof d.modelID=="string"?d.modelID:void 0,variant:typeof d.variant=="string"?d.variant:void 0}),a}function U6(e){const t=bn(Gs(e));if(!t)return null;if(typeof t.message=="string")return t.message;const a=bn(t.error);if(a){const s=bn(a.data);if(typeof(s==null?void 0:s.message)=="string")return`${a.name??"Error"}: ${s.message}`;if(typeof a.message=="string")return`${a.name??"Error"}: ${a.message}`;if(typeof a.name=="string")return String(a.name)}return typeof t.reason=="string"?t.reason:null}function H6(e){const t=Gs(e);if(typeof t=="string")return t;const a=bn(t);if(typeof(a==null?void 0:a.status)=="string")return a.status;const s=bn(a==null?void 0:a.status);return typeof(s==null?void 0:s.type)=="string"?s.type:typeof(a==null?void 0:a.type)=="string"?a.type:null}function F6(e,t,a,s){switch(e==="message"||e===""?M6(t)??e:e){case"message.updated":{const u=D6(t);u&&s.updateMessage(a,u);break}case"session.updated":{const u=P6(t);u&&s.updateSessionInfo(u);break}case"message.part.updated":{const{messageId:u,part:d}=L6(t);d&&u&&s.updateMessagePart(a,u,d);break}case"message.part.delta":{const u=j6(t);u&&s.appendMessagePartDelta(a,u.messageId,u.partId,u.delta);break}case"todo.updated":{s.updateTodos(a,B6(t));break}case"session.status":{const u=H6(t);u&&s.setSessionStatus(a,u);break}case"session.idle":{s.setSessionStatus(a,"idle");break}case"session.error":{const u=U6(t);s.setSessionStatus(a,"error",u??void 0);break}}}const z6=600*1e3;class $6{constructor(t,a){ln(this,"sessionId");ln(this,"idleTimer",null);ln(this,"active",!1);ln(this,"alive",!0);ln(this,"callbacks");this.sessionId=t,this.callbacks=a,this.resetIdleTimer()}dispatch(t,a){if(!this.alive)return;this.resetIdleTimer();const s=Ie.getState();F6(t,a,this.sessionId,s)}activate(){this.active=!0,this.clearIdleTimer()}deactivate(){this.active=!1,this.resetIdleTimer()}refreshOnIdle(){Ie.getState().refreshSessionData(this.sessionId)}stop(){this.alive=!1,this.clearIdleTimer()}resetIdleTimer(){this.clearIdleTimer(),!this.active&&(this.idleTimer=setTimeout(()=>{this.callbacks.onWorkerIdle(this.sessionId)},z6))}clearIdleTimer(){this.idleTimer&&(clearTimeout(this.idleTimer),this.idleTimer=null)}}const q6=1e3,Y6=3e4;class G6{constructor(t,a){ln(this,"source",null);ln(this,"reconnectTimer",null);ln(this,"attempts",0);ln(this,"disposed",!1);ln(this,"repoId");ln(this,"onEvent");this.repoId=t,this.onEvent=a}start(){this.connect()}stop(){var t;this.disposed=!0,this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),(t=this.source)==null||t.close(),this.source=null}connect(){if(this.disposed)return;const t=bC(this.repoId),a=new EventSource(t);this.source=a,a.onopen=()=>{this.attempts=0},a.onmessage=o=>{this.handleRaw("message",o)};const s=["message.updated","message.part.updated","message.part.delta","message.removed","todo.updated","session.status","session.idle","session.error","session.updated"];for(const o of s)a.addEventListener(o,u=>{this.handleRaw(o,u)});a.onerror=()=>{if(!(this.disposed||!this.source)&&this.source.readyState===EventSource.CLOSED){this.source.close(),this.source=null;const o=Math.min(q6*2**this.attempts,Y6);this.attempts++,this.reconnectTimer=setTimeout(()=>this.connect(),o)}}}handleRaw(t,a){if(!(a instanceof MessageEvent))return;const s=I6(a.data);if(s===void 0)return;const o=this.extractSessionId(s);if(!o)return;let u=t;if(t==="message"||t===""){const d=s&&typeof s=="object"?s:null;typeof(d==null?void 0:d.type)=="string"&&(u=d.type)}this.onEvent(o,u,s)}extractSessionId(t){if(!t||typeof t!="object")return null;const a=t;if(a.properties&&typeof a.properties=="object"){const s=a.properties;if(typeof s.sessionID=="string")return s.sessionID;if(typeof s.id=="string")return s.id}return typeof a.sessionID=="string"?a.sessionID:typeof a.sessionId=="string"?a.sessionId:null}}const K6=6e4;class V6{constructor(t){ln(this,"timer",null);ln(this,"paused",!1);ln(this,"callbacks");this.callbacks=t}start(){this.tick(),this.timer=setInterval(()=>{this.paused||this.tick()},K6)}stop(){this.timer&&(clearInterval(this.timer),this.timer=null)}pause(){this.paused=!0}resume(){this.paused=!1,this.tick()}tick(){const t=He.getState().activeRepoId;t&&(Ie.getState().loadSessions(),xC(t).then(a=>{const s={};for(const[o,u]of Object.entries(a))s[o]=u.type??"idle";Ie.getState().bulkSetStatuses(s);for(const[o,u]of Object.entries(s))(u==="busy"||u==="retry")&&this.callbacks.ensureWorker(o)}).catch(()=>{}))}}class X6{constructor(){ln(this,"workers",new Map);ln(this,"dispatcher",null);ln(this,"supervisor",null);ln(this,"visibilityHandler",null)}start(t){this.stop();const a={onWorkerIdle:s=>this.removeWorker(s)};this.dispatcher=new G6(t,(s,o,u)=>{const d=this.ensureWorker(s,a);if(o==="session.idle"||o==="session.status"){const f=Ie.getState().sessionStatuses[s];d.dispatch(o,u);const m=Ie.getState().sessionStatuses[s];f&&f!=="idle"&&m==="idle"&&d.refreshOnIdle()}else d.dispatch(o,u)}),this.dispatcher.start(),this.supervisor=new V6({ensureWorker:s=>this.ensureWorker(s,a)}),this.supervisor.start(),this.visibilityHandler=()=>{var s,o;document.hidden?(s=this.supervisor)==null||s.pause():(o=this.supervisor)==null||o.resume()},document.addEventListener("visibilitychange",this.visibilityHandler)}stop(){var t,a;(t=this.dispatcher)==null||t.stop(),this.dispatcher=null,(a=this.supervisor)==null||a.stop(),this.supervisor=null;for(const s of this.workers.values())s.stop();this.workers.clear(),this.visibilityHandler&&(document.removeEventListener("visibilitychange",this.visibilityHandler),this.visibilityHandler=null)}activateSession(t){for(const o of this.workers.values())o.sessionId!==t&&o.deactivate();if(!t)return;const a={onWorkerIdle:o=>this.removeWorker(o)};this.ensureWorker(t,a).activate(),Ie.getState().refreshSessionData(t)}deactivateSession(t){var a;(a=this.workers.get(t))==null||a.deactivate()}ensureWorker(t,a){let s=this.workers.get(t);return s||(s=new $6(t,a),this.workers.set(t,s)),s}removeWorker(t){const a=Ie.getState().activeSessionId;if(t===a)return;const s=this.workers.get(t);s&&(s.stop(),this.workers.delete(t))}}const Ic=new X6,U1=(function(e,t,a){const s=Ro(a);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++t<e.children.length;)if(s(e.children[t],t,e))return e.children[t]}),Ks=(function(e){if(e==null)return Z6;if(typeof e=="string")return W6(e);if(typeof e=="object")return Q6(e);if(typeof e=="function")return hp(e);throw new Error("Expected function, string, or array as `test`")});function Q6(e){const t=[];let a=-1;for(;++a<e.length;)t[a]=Ks(e[a]);return hp(s);function s(...o){let u=-1;for(;++u<t.length;)if(t[u].apply(this,o))return!0;return!1}}function W6(e){return hp(t);function t(a){return a.tagName===e}}function hp(e){return t;function t(a,s,o){return!!(J6(a)&&e.call(this,a,typeof s=="number"?s:void 0,o||void 0))}}function Z6(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function J6(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}const H1=/\n/g,F1=/[\t ]+/g,vh=Ks("br"),z1=Ks(lM),eM=Ks("p"),$1=Ks("tr"),tM=Ks(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",iM,oM]),QN=Ks(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function nM(e,t){const a=t||{},s="children"in e?e.children:[],o=QN(e),u=JN(e,{whitespace:a.whitespace||"normal"}),d=[];(e.type==="text"||e.type==="comment")&&d.push(...ZN(e,{breakBefore:!0,breakAfter:!0}));let f=-1;for(;++f<s.length;)d.push(...WN(s[f],e,{whitespace:u,breakBefore:f?void 0:o,breakAfter:f<s.length-1?vh(s[f+1]):o}));const m=[];let h;for(f=-1;++f<d.length;){const b=d[f];typeof b=="number"?h!==void 0&&b>h&&(h=b):b&&(h!==void 0&&h>-1&&m.push(`
|
|
496
496
|
`.repeat(h)||" "),h=-1,m.push(b))}return m.join("")}function WN(e,t,a){return e.type==="element"?aM(e,t,a):e.type==="text"?a.whitespace==="normal"?ZN(e,a):rM(e):[]}function aM(e,t,a){const s=JN(e,a),o=e.children||[];let u=-1,d=[];if(tM(e))return d;let f,m;for(vh(e)||$1(e)&&U1(t,e,$1)?m=`
|
|
497
497
|
`:eM(e)?(f=2,m=2):QN(e)&&(f=1,m=1);++u<o.length;)d=d.concat(WN(o[u],e,{whitespace:s,breakBefore:u?void 0:f,breakAfter:u<o.length-1?vh(o[u+1]):m}));return z1(e)&&U1(t,e,z1)&&d.push(" "),f&&d.unshift(f),m&&d.push(m),d}function ZN(e,t){const a=String(e.value),s=[],o=[];let u=0;for(;u<=a.length;){H1.lastIndex=u;const m=H1.exec(a),h=m&&"index"in m?m.index:a.length;s.push(sM(a.slice(u,h).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),u===0?t.breakBefore:!0,h===a.length?t.breakAfter:!0)),u=h+1}let d=-1,f;for(;++d<s.length;)s[d].charCodeAt(s[d].length-1)===8203||d<s.length-1&&s[d+1].charCodeAt(0)===8203?(o.push(s[d]),f=void 0):s[d]?(typeof f=="number"&&o.push(f),o.push(s[d]),f=0):(d===0||d===s.length-1)&&o.push(0);return o}function rM(e){return[String(e.value)]}function sM(e,t,a){const s=[];let o=0,u;for(;o<e.length;){F1.lastIndex=o;const d=F1.exec(e);u=d?d.index:e.length,!o&&!u&&d&&!t&&s.push(""),o!==u&&s.push(e.slice(o,u)),o=d?u+d[0].length:u}return o!==u&&!a&&s.push(""),s.join(" ")}function JN(e,t){if(e.type==="element"){const a=e.properties||{};switch(e.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return a.wrap?"pre-wrap":"pre";case"td":case"th":return a.noWrap?"nowrap":t.whitespace;case"textarea":return"pre-wrap"}}return t.whitespace}function iM(e){return!!(e.properties||{}).hidden}function lM(e){return e.tagName==="td"||e.tagName==="th"}function oM(e){return e.tagName==="dialog"&&!(e.properties||{}).open}function uM(e){const t=e.regex,a=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="(?!struct)("+s+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",f={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},b={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},y={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},N=t.optional(o)+e.IDENT_RE+"\\s*\\(",v=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],S=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],w=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],A=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],Y={type:S,keyword:v,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:w},B={className:"function.dispatch",relevance:0,keywords:{_hint:A},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},C=[B,g,f,a,e.C_BLOCK_COMMENT_MODE,b,h],P={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:Y,contains:C.concat([{begin:/\(/,end:/\)/,keywords:Y,contains:C.concat(["self"]),relevance:0}]),relevance:0},X={className:"function",begin:"("+d+"[\\*&\\s]+)+"+N,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:Y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:Y,relevance:0},{begin:N,returnBegin:!0,contains:[y],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,b]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:Y,relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,h,b,f,{begin:/\(/,end:/\)/,keywords:Y,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,h,b,f]}]},f,a,e.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:Y,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(P,X,B,C,[g,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:Y,contains:["self",f]},{begin:e.IDENT_RE+"::",keywords:Y},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function cM(e){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},a=uM(e),s=a.keywords;return s.type=[...s.type,...t.type],s.literal=[...s.literal,...t.literal],s.built_in=[...s.built_in,...t.built_in],s._hints=t._hints,a.name="Arduino",a.aliases=["ino"],a.supersetOf="cpp",a}function dM(e){const t=e.regex,a={},s={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[a]}]};Object.assign(a,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},s]});const o={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},u=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),d={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},f={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,a,o]};o.contains.push(f);const m={match:/\\"/},h={className:"string",begin:/'/,end:/'/},b={match:/\\'/},g={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,a]},y=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],N=e.SHEBANG({binary:`(${y.join("|")})`,relevance:10}),v={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},S=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],w=["true","false"],A={match:/(\/[a-z._-]+)+/},R=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],I=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],Y=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],B=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:S,literal:w,built_in:[...R,...I,"set","shopt",...Y,...B]},contains:[N,e.SHEBANG(),v,g,u,d,A,f,m,h,b,a]}}function fM(e){const t=e.regex,a=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="("+s+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",f={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},b={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},y={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},N=t.optional(o)+e.IDENT_RE+"\\s*\\(",w={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},A=[g,f,a,e.C_BLOCK_COMMENT_MODE,b,h],R={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:A.concat([{begin:/\(/,end:/\)/,keywords:w,contains:A.concat(["self"]),relevance:0}]),relevance:0},I={begin:"("+d+"[\\*&\\s]+)+"+N,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:w,relevance:0},{begin:N,returnBegin:!0,contains:[e.inherit(y,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,h,b,f,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,h,b,f]}]},f,a,e.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:w,disableAutodetect:!0,illegal:"</",contains:[].concat(R,I,A,[g,{begin:e.IDENT_RE+"::",keywords:w},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:g,strings:h,keywords:w}}}function mM(e){const t=e.regex,a=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",d="(?!struct)("+s+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",f={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},b={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(h,{className:"string"}),{className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},y={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},N=t.optional(o)+e.IDENT_RE+"\\s*\\(",v=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],S=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],w=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],A=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],Y={type:S,keyword:v,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:w},B={className:"function.dispatch",relevance:0,keywords:{_hint:A},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},C=[B,g,f,a,e.C_BLOCK_COMMENT_MODE,b,h],P={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:Y,contains:C.concat([{begin:/\(/,end:/\)/,keywords:Y,contains:C.concat(["self"]),relevance:0}]),relevance:0},X={className:"function",begin:"("+d+"[\\*&\\s]+)+"+N,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:Y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:Y,relevance:0},{begin:N,returnBegin:!0,contains:[y],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,b]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:Y,relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,h,b,f,{begin:/\(/,end:/\)/,keywords:Y,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,h,b,f]}]},f,a,e.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:Y,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(P,X,B,C,[g,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:Y,contains:["self",f]},{begin:e.IDENT_RE+"::",keywords:Y},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function hM(e){const t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],a=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],s=["default","false","null","true"],o=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],u=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],d={keyword:o.concat(u),built_in:t,literal:s},f=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),m={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},h={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},b={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},g=e.inherit(b,{illegal:/\n/}),y={className:"subst",begin:/\{/,end:/\}/,keywords:d},N=e.inherit(y,{illegal:/\n/}),v={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,N]},S={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]},w=e.inherit(S,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},N]});y.contains=[S,v,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,e.C_BLOCK_COMMENT_MODE],N.contains=[w,v,g,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const A={variants:[h,S,v,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},R={begin:"<",end:">",contains:[{beginKeywords:"in out"},f]},I=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",Y={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:d,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},A,m,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},f,R,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[f,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[f,R,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+I+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:d,contains:[{beginKeywords:a.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,R],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,relevance:0,contains:[A,m,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},Y]}}const pM=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),gM=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],bM=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],xM=[...gM,...bM],EM=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),yM=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),NM=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),TM=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function _M(e){const t=e.regex,a=pM(e),s={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},o="and or not only",u=/@-?\w[\w]*(-\w+)*/,d="[a-zA-Z-][a-zA-Z0-9_-]*",f=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[a.BLOCK_COMMENT,s,a.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+d,relevance:0},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+yM.join("|")+")"},{begin:":(:)?("+NM.join("|")+")"}]},a.CSS_VARIABLE,{className:"attribute",begin:"\\b("+TM.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[a.BLOCK_COMMENT,a.HEXCOLOR,a.IMPORTANT,a.CSS_NUMBER_MODE,...f,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...f,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},a.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:u},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:EM.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...f,a.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+xM.join("|")+")\\b"}]}}function vM(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function SM(e){const u={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:u,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:u,illegal:/["']/}]}]}}function AM(e){const t=e.regex,a=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:t.concat(a,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}function wM(e){const t=e.regex,a={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},s=e.COMMENT();s.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const o={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},u={className:"literal",begin:/\bon|off|true|false|yes|no\b/},d={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},f={begin:/\[/,end:/\]/,contains:[s,u,o,d,a,"self"],relevance:0},m=/[A-Za-z0-9_-]+/,h=/"(\\"|[^"])*"/,b=/'[^']*'/,g=t.either(m,h,b),y=t.concat(g,"(\\s*\\.\\s*",g,")*",t.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[s,{className:"section",begin:/\[+/,end:/\]+/},{begin:y,className:"attr",starts:{end:/$/,contains:[s,f,u,o,d,a]}}]}}var Li="[0-9](_*[0-9])*",rc=`\\.(${Li})`,sc="[0-9a-fA-F](_*[0-9a-fA-F])*",q1={className:"number",variants:[{begin:`(\\b(${Li})((${rc})|\\.)?|(${rc}))[eE][+-]?(${Li})[fFdD]?\\b`},{begin:`\\b(${Li})((${rc})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${rc})[fFdD]?\\b`},{begin:`\\b(${Li})[fFdD]\\b`},{begin:`\\b0[xX]((${sc})\\.?|(${sc})?\\.(${sc}))[pP][+-]?(${Li})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${sc})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function eT(e,t,a){return a===-1?"":e.replace(t,s=>eT(e,t,a-1))}function CM(e){const t=e.regex,a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",s=a+eT("(?:<"+a+"~~~(?:\\s*,\\s*"+a+"~~~)*>)?",/~~~/g,2),m={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},h={className:"meta",begin:"@"+a,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},b={className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:m,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,a),/\s+/,a,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,a],className:{1:"keyword",3:"title.class"},contains:[b,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+s+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:m,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[h,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,q1,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},q1,h]}}const Y1="[A-Za-z$_][0-9A-Za-z$_]*",kM=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],RM=["true","false","null","undefined","NaN","Infinity"],tT=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],nT=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],aT=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],OM=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],IM=[].concat(aT,tT,nT);function MM(e){const t=e.regex,a=(ce,{after:K})=>{const k="</"+ce[0].slice(1);return ce.input.indexOf(k,K)!==-1},s=Y1,o={begin:"<>",end:"</>"},u=/<[A-Za-z0-9\\._:-]+\s*\/>/,d={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ce,K)=>{const k=ce[0].length+ce.index,j=ce.input[k];if(j==="<"||j===","){K.ignoreMatch();return}j===">"&&(a(ce,{after:k})||K.ignoreMatch());let ae;const M=ce.input.substring(k);if(ae=M.match(/^\s*=/)){K.ignoreMatch();return}if((ae=M.match(/^\s+extends\s+/))&&ae.index===0){K.ignoreMatch();return}}},f={$pattern:Y1,keyword:kM,literal:RM,built_in:IM,"variable.language":OM},m="[0-9](_?[0-9])*",h=`\\.(${m})`,b="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${b})((${h})|\\.)?|(${h}))[eE][+-]?(${m})\\b`},{begin:`\\b(${b})\\b((${h})\\b|\\.)?|(${h})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},y={className:"subst",begin:"\\$\\{",end:"\\}",keywords:f,contains:[]},N={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,y],subLanguage:"xml"}},v={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,y],subLanguage:"css"}},S={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,y],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,y]},R={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:s+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},I=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,N,v,S,w,{match:/\$\d+/},g];y.contains=I.concat({begin:/\{/,end:/\}/,keywords:f,contains:["self"].concat(I)});const Y=[].concat(R,y.contains),B=Y.concat([{begin:/(\s*)\(/,end:/\)/,keywords:f,contains:["self"].concat(Y)}]),C={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:f,contains:B},P={variants:[{match:[/class/,/\s+/,s,/\s+/,/extends/,/\s+/,t.concat(s,"(",t.concat(/\./,s),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,s],scope:{1:"keyword",3:"title.class"}}]},X={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...tT,...nT]}},Q={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},L={variants:[{match:[/function/,/\s+/,s,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[C],illegal:/%/},$={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ee(ce){return t.concat("(?!",ce.join("|"),")")}const ie={match:t.concat(/\b/,ee([...aT,"super","import"].map(ce=>`${ce}\\s*\\(`)),s,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},Z={begin:t.concat(/\./,t.lookahead(t.concat(s,/(?![0-9A-Za-z$_(])/))),end:s,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},te={match:[/get|set/,/\s+/,s,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},C]},H="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",z={match:[/const|var|let/,/\s+/,s,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(H)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[C]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:f,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:X},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),Q,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,N,v,S,w,R,{match:/\$\d+/},g,X,{scope:"attr",match:s+t.lookahead(":"),relevance:0},z,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[R,e.REGEXP_MODE,{className:"function",begin:H,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:f,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o.begin,end:o.end},{match:u},{begin:d.begin,"on:begin":d.isTrulyOpeningTag,end:d.end}],subLanguage:"xml",contains:[{begin:d.begin,end:d.end,skip:!0,contains:["self"]}]}]},L,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[C,e.inherit(e.TITLE_MODE,{begin:s,className:"title.function"})]},{match:/\.\.\./,relevance:0},Z,{match:"\\$"+s,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[C]},ie,$,P,te,{match:/\$[(.]/}]}}function DM(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},a={match:/[{}[\],:]/,className:"punctuation",relevance:0},s=["true","false","null"],o={scope:"literal",beginKeywords:s.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:s},contains:[t,a,e.QUOTE_STRING_MODE,o,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var ji="[0-9](_*[0-9])*",ic=`\\.(${ji})`,lc="[0-9a-fA-F](_*[0-9a-fA-F])*",LM={className:"number",variants:[{begin:`(\\b(${ji})((${ic})|\\.)?|(${ic}))[eE][+-]?(${ji})[fFdD]?\\b`},{begin:`\\b(${ji})((${ic})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${ic})[fFdD]?\\b`},{begin:`\\b(${ji})[fFdD]\\b`},{begin:`\\b0[xX]((${lc})\\.?|(${lc})?\\.(${lc}))[pP][+-]?(${ji})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${lc})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function jM(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},s={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},o={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},u={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},d={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[u,o]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,u,o]}]};o.contains.push(d);const f={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},m={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(d,{className:"string"}),"self"]}]},h=LM,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},y=g;return y.variants[1].contains=[g],g.variants[1].contains=[y],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,a,s,f,m,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,e.C_LINE_COMMENT_MODE,b],relevance:0},e.C_LINE_COMMENT_MODE,b,f,m,d,e.C_NUMBER_MODE]},b]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},f,m]},d,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
498
498
|
`},h]}}const BM=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),PM=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],UM=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],HM=[...PM,...UM],FM=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),rT=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),sT=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),zM=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),$M=rT.concat(sT).sort().reverse();function qM(e){const t=BM(e),a=$M,s="and or not only",o="[\\w-]+",u="("+o+"|@\\{"+o+"\\})",d=[],f=[],m=function(I){return{className:"string",begin:"~?"+I+".*?"+I}},h=function(I,Y,B){return{className:I,begin:Y,relevance:B}},b={$pattern:/[a-z-]+/,keyword:s,attribute:FM.join(" ")},g={begin:"\\(",end:"\\)",contains:f,keywords:b,relevance:0};f.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m("'"),m('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,g,h("variable","@@?"+o,10),h("variable","@\\{"+o+"\\}"),h("built_in","~?`[^`]*?`"),{className:"attribute",begin:o+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const y=f.concat({begin:/\{/,end:/\}/,contains:d}),N={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(f)},v={begin:u+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+zM.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:f}}]},S={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:b,returnEnd:!0,contains:f,relevance:0}},w={className:"variable",variants:[{begin:"@"+o+"\\s*:",relevance:15},{begin:"@"+o}],starts:{end:"[;}]",returnEnd:!0,contains:y}},A={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:u,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,N,h("keyword","all\\b"),h("variable","@\\{"+o+"\\}"),{begin:"\\b("+HM.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,h("selector-tag",u,0),h("selector-id","#"+u),h("selector-class","\\."+u,0),h("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+rT.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+sT.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:y},{begin:"!important"},t.FUNCTION_DISPATCH]},R={begin:o+`:(:)?(${a.join("|")})`,returnBegin:!0,contains:[A]};return d.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,S,w,R,v,A,N,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:d}}function YM(e){const t="\\[=*\\[",a="\\]=*\\]",s={begin:t,end:a,contains:["self"]},o=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,a,{contains:[s],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:o}].concat(o)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:a,contains:[s],relevance:5}])}}function GM(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},a={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},s={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t,a]},o={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},u={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},d={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,t,a,s,o,u,d]}}function KM(e){const t=e.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},s={begin:"^[-\\*]{3,}",end:"$"},o={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},u={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},d={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},f=/[A-Za-z][A-Za-z0-9+.-]*/,m={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,f,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},h={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},b={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=e.inherit(h,{contains:[]}),y=e.inherit(b,{contains:[]});h.contains.push(y),b.contains.push(g);let N=[a,m];return[h,b,g,y].forEach(A=>{A.contains=A.contains.concat(N)}),N=N.concat(h,b),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:N},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:N}]}]},a,u,h,b,{className:"quote",begin:"^>\\s+",contains:N,end:"$"},o,s,m,d,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function VM(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,f={"variable.language":["this","super"],$pattern:a,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},m={$pattern:a,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:f,illegal:"</",contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+m.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:m,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function XM(e){const t=e.regex,a=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],s=/[dualxmsipngr]{0,12}/,o={$pattern:/[\w.]+/,keyword:a.join(" ")},u={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:o},d={begin:/->\{/,end:/\}/},f={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},m={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[f]},h={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},b=[e.BACKSLASH_ESCAPE,u,m],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],y=(S,w,A="\\1")=>{const R=A==="\\1"?A:t.concat(A,w);return t.concat(t.concat("(?:",S,")"),w,/(?:\\.|[^\\\/])*?/,R,/(?:\\.|[^\\\/])*?/,A,s)},N=(S,w,A)=>t.concat(t.concat("(?:",S,")"),w,/(?:\\.|[^\\\/])*?/,A,s),v=[m,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),d,{className:"string",contains:b,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},h,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:y("s|tr|y",t.either(...g,{capture:!0}))},{begin:y("s|tr|y","\\(","\\)")},{begin:y("s|tr|y","\\[","\\]")},{begin:y("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:N("(?:m|qr)?",/\//,/\//)},{begin:N("m|qr",t.either(...g,{capture:!0}),/\1/)},{begin:N("m|qr",/\(/,/\)/)},{begin:N("m|qr",/\[/,/\]/)},{begin:N("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,f]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,f,h]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return u.contains=v,d.contains=v,{name:"Perl",aliases:["pl","pm"],keywords:o,contains:v}}function QM(e){const t=e.regex,a=/(?![A-Za-z0-9])(?![$])/,s=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,a),o=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,a),u=t.concat(/[A-Z]+/,a),d={scope:"variable",match:"\\$+"+s},f={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},m={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},h=e.inherit(e.APOS_STRING_MODE,{illegal:null}),b=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(m)}),g={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(m),"on:begin":(Z,te)=>{te.data._beginMatch=Z[1]||Z[2]},"on:end":(Z,te)=>{te.data._beginMatch!==Z[1]&&te.ignoreMatch()}},y=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),N=`[
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{W as e}from"./index-
|
|
1
|
+
import{W as e}from"./index-DyLPe9Lg.js";class t extends e{available(){throw this.unimplemented("Method not implemented on web.")}start(o){throw this.unimplemented("Method not implemented on web.")}stop(){throw this.unimplemented("Method not implemented on web.")}getSupportedLanguages(){throw this.unimplemented("Method not implemented on web.")}hasPermission(){throw this.unimplemented("Method not implemented on web.")}isListening(){throw this.unimplemented("Method not implemented on web.")}requestPermission(){throw this.unimplemented("Method not implemented on web.")}checkPermissions(){throw this.unimplemented("Method not implemented on web.")}requestPermissions(){throw this.unimplemented("Method not implemented on web.")}}const m=new t;export{m as SpeechRecognition,t as SpeechRecognitionWeb};
|
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-DyLPe9Lg.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-DsC2XAg9.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
File without changes
|