claudekit-cli 3.35.0-dev.29 → 3.35.0-dev.30

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.
@@ -1,4 +1,4 @@
1
- var y1=Object.defineProperty;var x1=(n,e,t)=>e in n?y1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var kd=(n,e,t)=>x1(n,typeof e!="symbol"?e+"":e,t);import{r as b,a as Kp,R as v1,b as w1}from"./vendor-DNUgy55u.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=t(i);fetch(i.href,s)}})();var Gp={exports:{}},ja={};/**
1
+ var j1=Object.defineProperty;var O1=(n,e,t)=>e in n?j1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Od=(n,e,t)=>O1(n,typeof e!="symbol"?e+"":e,t);import{r as g,a as em,R as P1,b as A1}from"./vendor-DNUgy55u.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=t(i);fetch(i.href,s)}})();var tm={exports:{}},Ma={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,7 +6,7 @@ var y1=Object.defineProperty;var x1=(n,e,t)=>e in n?y1(n,e,{enumerable:!0,config
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var k1=b,S1=Symbol.for("react.element"),C1=Symbol.for("react.fragment"),j1=Object.prototype.hasOwnProperty,O1=k1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,P1={key:!0,ref:!0,__self:!0,__source:!0};function qp(n,e,t){var r,i={},s=null,o=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)j1.call(e,r)&&!P1.hasOwnProperty(r)&&(i[r]=e[r]);if(n&&n.defaultProps)for(r in e=n.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:S1,type:n,key:s,ref:o,props:i,_owner:O1.current}}ja.Fragment=C1;ja.jsx=qp;ja.jsxs=qp;Gp.exports=ja;var d=Gp.exports,oc={},Sd=Kp;oc.createRoot=Sd.createRoot,oc.hydrateRoot=Sd.hydrateRoot;/**
9
+ */var N1=g,M1=Symbol.for("react.element"),T1=Symbol.for("react.fragment"),D1=Object.prototype.hasOwnProperty,E1=N1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,R1={key:!0,ref:!0,__self:!0,__source:!0};function nm(n,e,t){var r,i={},s=null,o=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)D1.call(e,r)&&!R1.hasOwnProperty(r)&&(i[r]=e[r]);if(n&&n.defaultProps)for(r in e=n.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:M1,type:n,key:s,ref:o,props:i,_owner:E1.current}}Ma.Fragment=T1;Ma.jsx=nm;Ma.jsxs=nm;tm.exports=Ma;var d=tm.exports,hc={},Pd=em;hc.createRoot=Pd.createRoot,hc.hydrateRoot=Pd.hydrateRoot;/**
10
10
  * react-router v7.11.0
11
11
  *
12
12
  * Copyright (c) Remix Software Inc.
@@ -15,10 +15,10 @@ var y1=Object.defineProperty;var x1=(n,e,t)=>e in n?y1(n,e,{enumerable:!0,config
15
15
  * LICENSE.md file in the root directory of this source tree.
16
16
  *
17
17
  * @license MIT
18
- */var Jp=n=>{throw TypeError(n)},A1=(n,e,t)=>e.has(n)||Jp("Cannot "+t),Xa=(n,e,t)=>(A1(n,e,"read from private field"),t?t.call(n):e.get(n)),M1=(n,e,t)=>e.has(n)?Jp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Cd="popstate";function N1(n={}){function e(r,i){let{pathname:s,search:o,hash:a}=r.location;return Mi("",{pathname:s,search:o,hash:a},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function t(r,i){return typeof i=="string"?i:tn(i)}return T1(e,t,null,n)}function de(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Re(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function D1(){return Math.random().toString(36).substring(2,10)}function jd(n,e){return{usr:n.state,key:n.key,idx:e}}function Mi(n,e,t=null,r){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof e=="string"?Fn(e):e,state:t,key:e&&e.key||r||D1()}}function tn({pathname:n="/",search:e="",hash:t=""}){return e&&e!=="?"&&(n+=e.charAt(0)==="?"?e:"?"+e),t&&t!=="#"&&(n+=t.charAt(0)==="#"?t:"#"+t),n}function Fn(n){let e={};if(n){let t=n.indexOf("#");t>=0&&(e.hash=n.substring(t),n=n.substring(0,t));let r=n.indexOf("?");r>=0&&(e.search=n.substring(r),n=n.substring(0,r)),n&&(e.pathname=n)}return e}function T1(n,e,t,r={}){let{window:i=document.defaultView,v5Compat:s=!1}=r,o=i.history,a="POP",l=null,c=h();c==null&&(c=0,o.replaceState({...o.state,idx:c},""));function h(){return(o.state||{idx:null}).idx}function u(){a="POP";let y=h(),v=y==null?null:y-c;c=y,l&&l({action:a,location:g.location,delta:v})}function f(y,v){a="PUSH";let w=Mi(g.location,y,v);c=h()+1;let S=jd(w,c),O=g.createHref(w);try{o.pushState(S,"",O)}catch(C){if(C instanceof DOMException&&C.name==="DataCloneError")throw C;i.location.assign(O)}s&&l&&l({action:a,location:g.location,delta:1})}function p(y,v){a="REPLACE";let w=Mi(g.location,y,v);c=h();let S=jd(w,c),O=g.createHref(w);o.replaceState(S,"",O),s&&l&&l({action:a,location:g.location,delta:0})}function m(y){return Yp(y)}let g={get action(){return a},get location(){return n(i,o)},listen(y){if(l)throw new Error("A history only accepts one active listener");return i.addEventListener(Cd,u),l=y,()=>{i.removeEventListener(Cd,u),l=null}},createHref(y){return e(i,y)},createURL:m,encodeLocation(y){let v=m(y);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:f,replace:p,go(y){return o.go(y)}};return g}function Yp(n,e=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),de(t,"No window.location.(origin|href) available to create URL");let r=typeof n=="string"?n:tn(n);return r=r.replace(/ $/,"%20"),!e&&r.startsWith("//")&&(r=t+r),new URL(r,t)}var pi,Od=class{constructor(n){if(M1(this,pi,new Map),n)for(let[e,t]of n)this.set(e,t)}get(n){if(Xa(this,pi).has(n))return Xa(this,pi).get(n);if(n.defaultValue!==void 0)return n.defaultValue;throw new Error("No value found for context")}set(n,e){Xa(this,pi).set(n,e)}};pi=new WeakMap;var E1=new Set(["lazy","caseSensitive","path","id","index","children"]);function R1(n){return E1.has(n)}var L1=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function I1(n){return L1.has(n)}function B1(n){return n.index===!0}function Ni(n,e,t=[],r={},i=!1){return n.map((s,o)=>{let a=[...t,String(o)],l=typeof s.id=="string"?s.id:a.join("-");if(de(s.index!==!0||!s.children,"Cannot specify children on an index route"),de(i||!r[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),B1(s)){let c={...s,id:l};return r[l]=Pd(c,e(c)),c}else{let c={...s,id:l,children:void 0};return r[l]=Pd(c,e(c)),s.children&&(c.children=Ni(s.children,e,a,r,i)),c}})}function Pd(n,e){return Object.assign(n,{...e,...typeof e.lazy=="object"&&e.lazy!=null?{lazy:{...n.lazy,...e.lazy}}:{}})}function Cn(n,e,t="/"){return mi(n,e,t,!1)}function mi(n,e,t,r){let i=typeof e=="string"?Fn(e):e,s=Nt(i.pathname||"/",t);if(s==null)return null;let o=Qp(n);F1(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let c=Y1(s);a=q1(o[l],c,r)}return a}function $1(n,e){let{route:t,pathname:r,params:i}=n;return{id:t.id,pathname:r,params:i,data:e[t.id],loaderData:e[t.id],handle:t.handle}}function Qp(n,e=[],t=[],r="",i=!1){let s=(o,a,l=i,c)=>{let h={relativePath:c===void 0?o.path||"":c,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};if(h.relativePath.startsWith("/")){if(!h.relativePath.startsWith(r)&&l)return;de(h.relativePath.startsWith(r),`Absolute route path "${h.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),h.relativePath=h.relativePath.slice(r.length)}let u=Zt([r,h.relativePath]),f=t.concat(h);o.children&&o.children.length>0&&(de(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${u}".`),Qp(o.children,e,f,u,l)),!(o.path==null&&!o.index)&&e.push({path:u,score:K1(u,o.index),routesMeta:f})};return n.forEach((o,a)=>{if(o.path===""||!o.path?.includes("?"))s(o,a);else for(let l of Xp(o.path))s(o,a,!0,l)}),e}function Xp(n){let e=n.split("/");if(e.length===0)return[];let[t,...r]=e,i=t.endsWith("?"),s=t.replace(/\?$/,"");if(r.length===0)return i?[s,""]:[s];let o=Xp(r.join("/")),a=[];return a.push(...o.map(l=>l===""?s:[s,l].join("/"))),i&&a.push(...o),a.map(l=>n.startsWith("/")&&l===""?"/":l)}function F1(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:G1(e.routesMeta.map(r=>r.childrenIndex),t.routesMeta.map(r=>r.childrenIndex)))}var V1=/^:[\w-]+$/,z1=3,H1=2,_1=1,W1=10,U1=-2,Ad=n=>n==="*";function K1(n,e){let t=n.split("/"),r=t.length;return t.some(Ad)&&(r+=U1),e&&(r+=H1),t.filter(i=>!Ad(i)).reduce((i,s)=>i+(V1.test(s)?z1:s===""?_1:W1),r)}function G1(n,e){return n.length===e.length&&n.slice(0,-1).every((r,i)=>r===e[i])?n[n.length-1]-e[e.length-1]:0}function q1(n,e,t=!1){let{routesMeta:r}=n,i={},s="/",o=[];for(let a=0;a<r.length;++a){let l=r[a],c=a===r.length-1,h=s==="/"?e:e.slice(s.length)||"/",u=Qo({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},h),f=l.route;if(!u&&c&&t&&!r[r.length-1].route.index&&(u=Qo({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},h)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:Zt([s,u.pathname]),pathnameBase:Z1(Zt([s,u.pathnameBase])),route:f}),u.pathnameBase!=="/"&&(s=Zt([s,u.pathnameBase]))}return o}function Qo(n,e){typeof n=="string"&&(n={path:n,caseSensitive:!1,end:!0});let[t,r]=J1(n.path,n.caseSensitive,n.end),i=e.match(t);if(!i)return null;let s=i[0],o=s.replace(/(.)\/+$/,"$1"),a=i.slice(1);return{params:r.reduce((c,{paramName:h,isOptional:u},f)=>{if(h==="*"){let m=a[f]||"";o=s.slice(0,s.length-m.length).replace(/(.)\/+$/,"$1")}const p=a[f];return u&&!p?c[h]=void 0:c[h]=(p||"").replace(/%2F/g,"/"),c},{}),pathname:s,pathnameBase:o,pattern:n}}function J1(n,e=!1,t=!0){Re(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let r=[],i="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,a,l)=>(r.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(r.push({paramName:"*"}),i+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?i+="\\/*$":n!==""&&n!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),r]}function Y1(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Re(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),n}}function Nt(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,r=n.charAt(t);return r&&r!=="/"?null:n.slice(t)||"/"}function Q1({basename:n,pathname:e}){return e==="/"?n:Zt([n,e])}var Zp=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Oa=n=>Zp.test(n);function X1(n,e="/"){let{pathname:t,search:r="",hash:i=""}=typeof n=="string"?Fn(n):n,s;if(t)if(Oa(t))s=t;else{if(t.includes("//")){let o=t;t=t.replace(/\/\/+/g,"/"),Re(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${t}`)}t.startsWith("/")?s=Md(t.substring(1),"/"):s=Md(t,e)}else s=e;return{pathname:s,search:ey(r),hash:ty(i)}}function Md(n,e){let t=e.replace(/\/+$/,"").split("/");return n.split("/").forEach(i=>{i===".."?t.length>1&&t.pop():i!=="."&&t.push(i)}),t.length>1?t.join("/"):"/"}function Za(n,e,t,r){return`Cannot include a '${n}' character in a manually specified \`to.${e}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function em(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Pa(n){let e=em(n);return e.map((t,r)=>r===e.length-1?t.pathname:t.pathnameBase)}function Aa(n,e,t,r=!1){let i;typeof n=="string"?i=Fn(n):(i={...n},de(!i.pathname||!i.pathname.includes("?"),Za("?","pathname","search",i)),de(!i.pathname||!i.pathname.includes("#"),Za("#","pathname","hash",i)),de(!i.search||!i.search.includes("#"),Za("#","search","hash",i)));let s=n===""||i.pathname==="",o=s?"/":i.pathname,a;if(o==null)a=t;else{let u=e.length-1;if(!r&&o.startsWith("..")){let f=o.split("/");for(;f[0]==="..";)f.shift(),u-=1;i.pathname=f.join("/")}a=u>=0?e[u]:"/"}let l=X1(i,a),c=o&&o!=="/"&&o.endsWith("/"),h=(s||o===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(c||h)&&(l.pathname+="/"),l}var Zt=n=>n.join("/").replace(/\/\/+/g,"/"),Z1=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),ey=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,ty=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Rs=class{constructor(n,e,t,r=!1){this.status=n,this.statusText=e||"",this.internal=r,t instanceof Error?(this.data=t.toString(),this.error=t):this.data=t}};function Di(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function Ls(n){return n.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var tm=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function nm(n,e){let t=n;if(typeof t!="string"||!Zp.test(t))return{absoluteURL:void 0,isExternal:!1,to:t};let r=t,i=!1;if(tm)try{let s=new URL(window.location.href),o=t.startsWith("//")?new URL(s.protocol+t):new URL(t),a=Nt(o.pathname,e);o.origin===s.origin&&a!=null?t=a+o.search+o.hash:i=!0}catch{Re(!1,`<Link to="${t}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:t}}var An=Symbol("Uninstrumented");function ny(n,e){let t={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};n.forEach(i=>i({id:e.id,index:e.index,path:e.path,instrument(s){let o=Object.keys(t);for(let a of o)s[a]&&t[a].push(s[a])}}));let r={};if(typeof e.lazy=="function"&&t.lazy.length>0){let i=yr(t.lazy,e.lazy,()=>{});i&&(r.lazy=i)}if(typeof e.lazy=="object"){let i=e.lazy;["middleware","loader","action"].forEach(s=>{let o=i[s],a=t[`lazy.${s}`];if(typeof o=="function"&&a.length>0){let l=yr(a,o,()=>{});l&&(r.lazy=Object.assign(r.lazy||{},{[s]:l}))}})}return["loader","action"].forEach(i=>{let s=e[i];if(typeof s=="function"&&t[i].length>0){let o=s[An]??s,a=yr(t[i],o,(...l)=>Nd(l[0]));a&&(a[An]=o,r[i]=a)}}),e.middleware&&e.middleware.length>0&&t.middleware.length>0&&(r.middleware=e.middleware.map(i=>{let s=i[An]??i,o=yr(t.middleware,s,(...a)=>Nd(a[0]));return o?(o[An]=s,o):i})),r}function ry(n,e){let t={navigate:[],fetch:[]};if(e.forEach(r=>r({instrument(i){let s=Object.keys(i);for(let o of s)i[o]&&t[o].push(i[o])}})),t.navigate.length>0){let r=n.navigate[An]??n.navigate,i=yr(t.navigate,r,(...s)=>{let[o,a]=s;return{to:typeof o=="number"||typeof o=="string"?o:o?tn(o):".",...Dd(n,a??{})}});i&&(i[An]=r,n.navigate=i)}if(t.fetch.length>0){let r=n.fetch[An]??n.fetch,i=yr(t.fetch,r,(...s)=>{let[o,,a,l]=s;return{href:a??".",fetcherKey:o,...Dd(n,l??{})}});i&&(i[An]=r,n.fetch=i)}return n}function yr(n,e,t){return n.length===0?null:async(...r)=>{let i=await rm(n,t(...r),()=>e(...r),n.length-1);if(i.type==="error")throw i.value;return i.value}}async function rm(n,e,t,r){let i=n[r],s;if(i){let o,a=async()=>(o?console.error("You cannot call instrumented handlers more than once"):o=rm(n,e,t,r-1),s=await o,de(s,"Expected a result"),s.type==="error"&&s.value instanceof Error?{status:"error",error:s.value}:{status:"success",error:void 0});try{await i(a,e)}catch(l){console.error("An instrumentation function threw an error:",l)}o||await a(),await o}else try{s={type:"success",value:await t()}}catch(o){s={type:"error",value:o}}return s||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function Nd(n){let{request:e,context:t,params:r,unstable_pattern:i}=n;return{request:iy(e),params:{...r},unstable_pattern:i,context:sy(t)}}function Dd(n,e){return{currentUrl:tn(n.state.location),..."formMethod"in e?{formMethod:e.formMethod}:{},..."formEncType"in e?{formEncType:e.formEncType}:{},..."formData"in e?{formData:e.formData}:{},..."body"in e?{body:e.body}:{}}}function iy(n){return{method:n.method,url:n.url,headers:{get:(...e)=>n.headers.get(...e)}}}function sy(n){if(ay(n)){let e={...n};return Object.freeze(e),e}else return{get:e=>n.get(e)}}var oy=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function ay(n){if(n===null||typeof n!="object")return!1;const e=Object.getPrototypeOf(n);return e===Object.prototype||e===null||Object.getOwnPropertyNames(e).sort().join("\0")===oy}var im=["POST","PUT","PATCH","DELETE"],ly=new Set(im),cy=["GET",...im],hy=new Set(cy),sm=new Set([301,302,303,307,308]),dy=new Set([307,308]),el={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},uy={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ni={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},fy=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),om="remix-router-transitions",am=Symbol("ResetLoaderData");function py(n){const e=n.window?n.window:typeof window<"u"?window:void 0,t=typeof e<"u"&&typeof e.document<"u"&&typeof e.document.createElement<"u";de(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let r=n.hydrationRouteProperties||[],i=n.mapRouteProperties||fy,s=i;if(n.unstable_instrumentations){let k=n.unstable_instrumentations;s=j=>({...i(j),...ny(k.map(N=>N.route).filter(Boolean),j)})}let o={},a=Ni(n.routes,s,void 0,o),l,c=n.basename||"/";c.startsWith("/")||(c=`/${c}`);let h=n.dataStrategy||xy,u={...n.future},f=null,p=new Set,m=null,g=null,y=null,v=n.hydrationData!=null,w=Cn(a,n.history.location,c),S=!1,O=null,C;if(w==null&&!n.patchRoutesOnNavigation){let k=Ct(404,{pathname:n.history.location.pathname}),{matches:j,route:N}=so(a);C=!0,w=j,O={[N.id]:k}}else if(w&&!n.hydrationData&&eo(w,a,n.history.location.pathname).active&&(w=null),w)if(w.some(k=>k.route.lazy))C=!1;else if(!w.some(k=>lh(k.route)))C=!0;else{let k=n.hydrationData?n.hydrationData.loaderData:null,j=n.hydrationData?n.hydrationData.errors:null;if(j){let N=w.findIndex(B=>j[B.route.id]!==void 0);C=w.slice(0,N+1).every(B=>!lc(B.route,k,j))}else C=w.every(N=>!lc(N.route,k,j))}else{C=!1,w=[];let k=eo(null,a,n.history.location.pathname);k.active&&k.matches&&(S=!0,w=k.matches)}let P,x={historyAction:n.history.action,location:n.history.location,matches:w,initialized:C,navigation:el,restoreScrollPosition:n.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:n.hydrationData&&n.hydrationData.loaderData||{},actionData:n.hydrationData&&n.hydrationData.actionData||null,errors:n.hydrationData&&n.hydrationData.errors||O,fetchers:new Map,blockers:new Map},D="POP",M=null,L=!1,A,I=!1,W=new Map,V=null,$=!1,q=!1,he=new Set,_=new Map,J=0,se=-1,le=new Map,oe=new Set,we=new Map,Me=new Map,Se=new Set,Qe=new Map,Lt,Y=null;function Ae(){if(f=n.history.listen(({action:k,location:j,delta:N})=>{if(Lt){Lt(),Lt=void 0;return}Re(Qe.size===0||N!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let B=bd({currentLocation:x.location,nextLocation:j,historyAction:k});if(B&&N!=null){let F=new Promise(Z=>{Lt=Z});n.history.go(N*-1),Zs(B,{state:"blocked",location:j,proceed(){Zs(B,{state:"proceeding",proceed:void 0,reset:void 0,location:j}),F.then(()=>n.history.go(N))},reset(){let Z=new Map(x.blockers);Z.set(B,ni),R({blockers:Z})}}),M?.resolve(),M=null;return}return pt(k,j)}),t){By(e,W);let k=()=>$y(e,W);e.addEventListener("pagehide",k),V=()=>e.removeEventListener("pagehide",k)}return x.initialized||pt("POP",x.location,{initialHydration:!0}),P}function ve(){f&&f(),V&&V(),p.clear(),A&&A.abort(),x.fetchers.forEach((k,j)=>Ja(j)),x.blockers.forEach((k,j)=>gd(j))}function Le(k){return p.add(k),()=>p.delete(k)}function R(k,j={}){k.matches&&(k.matches=k.matches.map(F=>{let Z=o[F.route.id],Q=F.route;return Q.element!==Z.element||Q.errorElement!==Z.errorElement||Q.hydrateFallbackElement!==Z.hydrateFallbackElement?{...F,route:Z}:F})),x={...x,...k};let N=[],B=[];x.fetchers.forEach((F,Z)=>{F.state==="idle"&&(Se.has(Z)?N.push(Z):B.push(Z))}),Se.forEach(F=>{!x.fetchers.has(F)&&!_.has(F)&&N.push(F)}),[...p].forEach(F=>F(x,{deletedFetchers:N,newErrors:k.errors??null,viewTransitionOpts:j.viewTransitionOpts,flushSync:j.flushSync===!0})),N.forEach(F=>Ja(F)),B.forEach(F=>x.fetchers.delete(F))}function G(k,j,{flushSync:N}={}){let B=x.actionData!=null&&x.navigation.formMethod!=null&&Ze(x.navigation.formMethod)&&x.navigation.state==="loading"&&k.state?._isRedirect!==!0,F;j.actionData?Object.keys(j.actionData).length>0?F=j.actionData:F=null:B?F=x.actionData:F=null;let Z=j.loaderData?zd(x.loaderData,j.loaderData,j.matches||[],j.errors):x.loaderData,Q=x.blockers;Q.size>0&&(Q=new Map(Q),Q.forEach((ie,te)=>Q.set(te,ni)));let X=$?!1:xd(k,j.matches||x.matches),ee=L===!0||x.navigation.formMethod!=null&&Ze(x.navigation.formMethod)&&k.state?._isRedirect!==!0;l&&(a=l,l=void 0),$||D==="POP"||(D==="PUSH"?n.history.push(k,k.state):D==="REPLACE"&&n.history.replace(k,k.state));let re;if(D==="POP"){let ie=W.get(x.location.pathname);ie&&ie.has(k.pathname)?re={currentLocation:x.location,nextLocation:k}:W.has(k.pathname)&&(re={currentLocation:k,nextLocation:x.location})}else if(I){let ie=W.get(x.location.pathname);ie?ie.add(k.pathname):(ie=new Set([k.pathname]),W.set(x.location.pathname,ie)),re={currentLocation:x.location,nextLocation:k}}R({...j,actionData:F,loaderData:Z,historyAction:D,location:k,initialized:!0,navigation:el,revalidation:"idle",restoreScrollPosition:X,preventScrollReset:ee,blockers:Q},{viewTransitionOpts:re,flushSync:N===!0}),D="POP",L=!1,I=!1,$=!1,q=!1,M?.resolve(),M=null,Y?.resolve(),Y=null}async function ce(k,j){if(M?.resolve(),M=null,typeof k=="number"){M||(M=Ud());let ye=M.promise;return n.history.go(k),ye}let N=ac(x.location,x.matches,c,k,j?.fromRouteId,j?.relative),{path:B,submission:F,error:Z}=Td(!1,N,j),Q=x.location,X=Mi(x.location,B,j&&j.state);X={...X,...n.history.encodeLocation(X)};let ee=j&&j.replace!=null?j.replace:void 0,re="PUSH";ee===!0?re="REPLACE":ee===!1||F!=null&&Ze(F.formMethod)&&F.formAction===x.location.pathname+x.location.search&&(re="REPLACE");let ie=j&&"preventScrollReset"in j?j.preventScrollReset===!0:void 0,te=(j&&j.flushSync)===!0,be=bd({currentLocation:Q,nextLocation:X,historyAction:re});if(be){Zs(be,{state:"blocked",location:X,proceed(){Zs(be,{state:"proceeding",proceed:void 0,reset:void 0,location:X}),ce(k,j)},reset(){let ye=new Map(x.blockers);ye.set(be,ni),R({blockers:ye})}});return}await pt(re,X,{submission:F,pendingError:Z,preventScrollReset:ie,replace:j&&j.replace,enableViewTransition:j&&j.viewTransition,flushSync:te,callSiteDefaultShouldRevalidate:j&&j.unstable_defaultShouldRevalidate})}function De(){Y||(Y=Ud()),qa(),R({revalidation:"loading"});let k=Y.promise;return x.navigation.state==="submitting"?k:x.navigation.state==="idle"?(pt(x.historyAction,x.location,{startUninterruptedRevalidation:!0}),k):(pt(D||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation,enableViewTransition:I===!0}),k)}async function pt(k,j,N){A&&A.abort(),A=null,D=k,$=(N&&N.startUninterruptedRevalidation)===!0,p1(x.location,x.matches),L=(N&&N.preventScrollReset)===!0,I=(N&&N.enableViewTransition)===!0;let B=l||a,F=N&&N.overrideNavigation,Z=N?.initialHydration&&x.matches&&x.matches.length>0&&!S?x.matches:Cn(B,j,c),Q=(N&&N.flushSync)===!0;if(Z&&x.initialized&&!q&&Py(x.location,j)&&!(N&&N.submission&&Ze(N.submission.formMethod))){G(j,{matches:Z},{flushSync:Q});return}let X=eo(Z,B,j.pathname);if(X.active&&X.matches&&(Z=X.matches),!Z){let{error:We,notFoundMatches:rt,route:ke}=Ya(j.pathname);G(j,{matches:rt,loaderData:{},errors:{[ke.id]:We}},{flushSync:Q});return}A=new AbortController;let ee=mr(n.history,j,A.signal,N&&N.submission),re=n.getContext?await n.getContext():new Od,ie;if(N&&N.pendingError)ie=[jn(Z).route.id,{type:"error",error:N.pendingError}];else if(N&&N.submission&&Ze(N.submission.formMethod)){let We=await Ga(ee,j,N.submission,Z,re,X.active,N&&N.initialHydration===!0,{replace:N.replace,flushSync:Q});if(We.shortCircuited)return;if(We.pendingActionResult){let[rt,ke]=We.pendingActionResult;if(yt(ke)&&Di(ke.error)&&ke.error.status===404){A=null,G(j,{matches:We.matches,loaderData:{},errors:{[rt]:ke.error}});return}}Z=We.matches||Z,ie=We.pendingActionResult,F=tl(j,N.submission),Q=!1,X.active=!1,ee=mr(n.history,ee.url,ee.signal)}let{shortCircuited:te,matches:be,loaderData:ye,errors:Ke}=await Qs(ee,j,Z,re,X.active,F,N&&N.submission,N&&N.fetcherSubmission,N&&N.replace,N&&N.initialHydration===!0,Q,ie,N&&N.callSiteDefaultShouldRevalidate);te||(A=null,G(j,{matches:be||Z,...Hd(ie),loaderData:ye,errors:Ke}))}async function Ga(k,j,N,B,F,Z,Q,X={}){qa();let ee=Ly(j,N);if(R({navigation:ee},{flushSync:X.flushSync===!0}),Z){let te=await to(B,j.pathname,k.signal);if(te.type==="aborted")return{shortCircuited:!0};if(te.type==="error"){if(te.partialMatches.length===0){let{matches:ye,route:Ke}=so(a);return{matches:ye,pendingActionResult:[Ke.id,{type:"error",error:te.error}]}}let be=jn(te.partialMatches).route.id;return{matches:te.partialMatches,pendingActionResult:[be,{type:"error",error:te.error}]}}else if(te.matches)B=te.matches;else{let{notFoundMatches:be,error:ye,route:Ke}=Ya(j.pathname);return{matches:be,pendingActionResult:[Ke.id,{type:"error",error:ye}]}}}let re,ie=$o(B,j);if(!ie.route.action&&!ie.route.lazy)re={type:"error",error:Ct(405,{method:k.method,pathname:j.pathname,routeId:ie.route.id})};else{let te=Cr(s,o,k,B,ie,Q?[]:r,F),be=await Zr(k,te,F,null);if(re=be[ie.route.id],!re){for(let ye of B)if(be[ye.route.id]){re=be[ye.route.id];break}}if(k.signal.aborted)return{shortCircuited:!0}}if(Xn(re)){let te;return X&&X.replace!=null?te=X.replace:te=$d(re.response.headers.get("Location"),new URL(k.url),c)===x.location.pathname+x.location.search,await _n(k,re,!0,{submission:N,replace:te}),{shortCircuited:!0}}if(yt(re)){let te=jn(B,ie.route.id);return(X&&X.replace)!==!0&&(D="PUSH"),{matches:B,pendingActionResult:[te.route.id,re,ie.route.id]}}return{matches:B,pendingActionResult:[ie.route.id,re]}}async function Qs(k,j,N,B,F,Z,Q,X,ee,re,ie,te,be){let ye=Z||tl(j,Q),Ke=Q||X||Wd(ye),We=!$&&!re;if(F){if(We){let Xe=Xr(te);R({navigation:ye,...Xe!==void 0?{actionData:Xe}:{}},{flushSync:ie})}let ge=await to(N,j.pathname,k.signal);if(ge.type==="aborted")return{shortCircuited:!0};if(ge.type==="error"){if(ge.partialMatches.length===0){let{matches:ur,route:Kn}=so(a);return{matches:ur,loaderData:{},errors:{[Kn.id]:ge.error}}}let Xe=jn(ge.partialMatches).route.id;return{matches:ge.partialMatches,loaderData:{},errors:{[Xe]:ge.error}}}else if(ge.matches)N=ge.matches;else{let{error:Xe,notFoundMatches:ur,route:Kn}=Ya(j.pathname);return{matches:ur,loaderData:{},errors:{[Kn.id]:Xe}}}}let rt=l||a,{dsMatches:ke,revalidatingFetchers:kt}=Ed(k,B,s,o,n.history,x,N,Ke,j,re?[]:r,re===!0,q,he,Se,we,oe,rt,c,n.patchRoutesOnNavigation!=null,te,be);if(se=++J,!n.dataStrategy&&!ke.some(ge=>ge.shouldLoad)&&!ke.some(ge=>ge.route.middleware&&ge.route.middleware.length>0)&&kt.length===0){let ge=pd();return G(j,{matches:N,loaderData:{},errors:te&&yt(te[1])?{[te[0]]:te[1].error}:null,...Hd(te),...ge?{fetchers:new Map(x.fetchers)}:{}},{flushSync:ie}),{shortCircuited:!0}}if(We){let ge={};if(!F){ge.navigation=ye;let Xe=Xr(te);Xe!==void 0&&(ge.actionData=Xe)}kt.length>0&&(ge.fetchers=Xs(kt)),R(ge,{flushSync:ie})}kt.forEach(ge=>{cn(ge.key),ge.controller&&_.set(ge.key,ge.controller)});let Wn=()=>kt.forEach(ge=>cn(ge.key));A&&A.signal.addEventListener("abort",Wn);let{loaderResults:ei,fetcherResults:xn}=await dd(ke,kt,k,B);if(k.signal.aborted)return{shortCircuited:!0};A&&A.signal.removeEventListener("abort",Wn),kt.forEach(ge=>_.delete(ge.key));let Ht=oo(ei);if(Ht)return await _n(k,Ht.result,!0,{replace:ee}),{shortCircuited:!0};if(Ht=oo(xn),Ht)return oe.add(Ht.key),await _n(k,Ht.result,!0,{replace:ee}),{shortCircuited:!0};let{loaderData:Qa,errors:ti}=Vd(x,N,ei,te,kt,xn);re&&x.errors&&(ti={...x.errors,...ti});let Un=pd(),no=md(se),ro=Un||no||kt.length>0;return{matches:N,loaderData:Qa,errors:ti,...ro?{fetchers:new Map(x.fetchers)}:{}}}function Xr(k){if(k&&!yt(k[1]))return{[k[0]]:k[1].data};if(x.actionData)return Object.keys(x.actionData).length===0?null:x.actionData}function Xs(k){return k.forEach(j=>{let N=x.fetchers.get(j.key),B=ri(void 0,N?N.data:void 0);x.fetchers.set(j.key,B)}),new Map(x.fetchers)}async function _e(k,j,N,B){cn(k);let F=(B&&B.flushSync)===!0,Z=l||a,Q=ac(x.location,x.matches,c,N,j,B?.relative),X=Cn(Z,Q,c),ee=eo(X,Z,Q);if(ee.active&&ee.matches&&(X=ee.matches),!X){ln(k,j,Ct(404,{pathname:Q}),{flushSync:F});return}let{path:re,submission:ie,error:te}=Td(!0,Q,B);if(te){ln(k,j,te,{flushSync:F});return}let be=n.getContext?await n.getContext():new Od,ye=(B&&B.preventScrollReset)===!0;if(ie&&Ze(ie.formMethod)){await l1(k,j,re,X,be,ee.active,F,ye,ie,B&&B.unstable_defaultShouldRevalidate);return}we.set(k,{routeId:j,path:re}),await c1(k,j,re,X,be,ee.active,F,ye,ie)}async function l1(k,j,N,B,F,Z,Q,X,ee,re){qa(),we.delete(k);let ie=x.fetchers.get(k);an(k,Iy(ee,ie),{flushSync:Q});let te=new AbortController,be=mr(n.history,N,te.signal,ee);if(Z){let Te=await to(B,new URL(be.url).pathname,be.signal,k);if(Te.type==="aborted")return;if(Te.type==="error"){ln(k,j,Te.error,{flushSync:Q});return}else if(Te.matches)B=Te.matches;else{ln(k,j,Ct(404,{pathname:N}),{flushSync:Q});return}}let ye=$o(B,N);if(!ye.route.action&&!ye.route.lazy){let Te=Ct(405,{method:ee.formMethod,pathname:N,routeId:j});ln(k,j,Te,{flushSync:Q});return}_.set(k,te);let Ke=J,We=Cr(s,o,be,B,ye,r,F),rt=await Zr(be,We,F,k),ke=rt[ye.route.id];if(!ke){for(let Te of We)if(rt[Te.route.id]){ke=rt[Te.route.id];break}}if(be.signal.aborted){_.get(k)===te&&_.delete(k);return}if(Se.has(k)){if(Xn(ke)||yt(ke)){an(k,hn(void 0));return}}else{if(Xn(ke))if(_.delete(k),se>Ke){an(k,hn(void 0));return}else return oe.add(k),an(k,ri(ee)),_n(be,ke,!1,{fetcherSubmission:ee,preventScrollReset:X});if(yt(ke)){ln(k,j,ke.error);return}}let kt=x.navigation.location||x.location,Wn=mr(n.history,kt,te.signal),ei=l||a,xn=x.navigation.state!=="idle"?Cn(ei,x.navigation.location,c):x.matches;de(xn,"Didn't find any matches after fetcher action");let Ht=++J;le.set(k,Ht);let Qa=ri(ee,ke.data);x.fetchers.set(k,Qa);let{dsMatches:ti,revalidatingFetchers:Un}=Ed(Wn,F,s,o,n.history,x,xn,ee,kt,r,!1,q,he,Se,we,oe,ei,c,n.patchRoutesOnNavigation!=null,[ye.route.id,ke],re);Un.filter(Te=>Te.key!==k).forEach(Te=>{let io=Te.key,wd=x.fetchers.get(io),b1=ri(void 0,wd?wd.data:void 0);x.fetchers.set(io,b1),cn(io),Te.controller&&_.set(io,Te.controller)}),R({fetchers:new Map(x.fetchers)});let no=()=>Un.forEach(Te=>cn(Te.key));te.signal.addEventListener("abort",no);let{loaderResults:ro,fetcherResults:ge}=await dd(ti,Un,Wn,F);if(te.signal.aborted)return;if(te.signal.removeEventListener("abort",no),le.delete(k),_.delete(k),Un.forEach(Te=>_.delete(Te.key)),x.fetchers.has(k)){let Te=hn(ke.data);x.fetchers.set(k,Te)}let Xe=oo(ro);if(Xe)return _n(Wn,Xe.result,!1,{preventScrollReset:X});if(Xe=oo(ge),Xe)return oe.add(Xe.key),_n(Wn,Xe.result,!1,{preventScrollReset:X});let{loaderData:ur,errors:Kn}=Vd(x,xn,ro,void 0,Un,ge);md(Ht),x.navigation.state==="loading"&&Ht>se?(de(D,"Expected pending action"),A&&A.abort(),G(x.navigation.location,{matches:xn,loaderData:ur,errors:Kn,fetchers:new Map(x.fetchers)})):(R({errors:Kn,loaderData:zd(x.loaderData,ur,xn,Kn),fetchers:new Map(x.fetchers)}),q=!1)}async function c1(k,j,N,B,F,Z,Q,X,ee){let re=x.fetchers.get(k);an(k,ri(ee,re?re.data:void 0),{flushSync:Q});let ie=new AbortController,te=mr(n.history,N,ie.signal);if(Z){let ke=await to(B,new URL(te.url).pathname,te.signal,k);if(ke.type==="aborted")return;if(ke.type==="error"){ln(k,j,ke.error,{flushSync:Q});return}else if(ke.matches)B=ke.matches;else{ln(k,j,Ct(404,{pathname:N}),{flushSync:Q});return}}let be=$o(B,N);_.set(k,ie);let ye=J,Ke=Cr(s,o,te,B,be,r,F),rt=(await Zr(te,Ke,F,k))[be.route.id];if(_.get(k)===ie&&_.delete(k),!te.signal.aborted){if(Se.has(k)){an(k,hn(void 0));return}if(Xn(rt))if(se>ye){an(k,hn(void 0));return}else{oe.add(k),await _n(te,rt,!1,{preventScrollReset:X});return}if(yt(rt)){ln(k,j,rt.error);return}an(k,hn(rt.data))}}async function _n(k,j,N,{submission:B,fetcherSubmission:F,preventScrollReset:Z,replace:Q}={}){N||(M?.resolve(),M=null),j.response.headers.has("X-Remix-Revalidate")&&(q=!0);let X=j.response.headers.get("Location");de(X,"Expected a Location header on the redirect Response"),X=$d(X,new URL(k.url),c);let ee=Mi(x.location,X,{_isRedirect:!0});if(t){let Ke=!1;if(j.response.headers.has("X-Remix-Reload-Document"))Ke=!0;else if(Oa(X)){const We=Yp(X,!0);Ke=We.origin!==e.location.origin||Nt(We.pathname,c)==null}if(Ke){Q?e.location.replace(X):e.location.assign(X);return}}A=null;let re=Q===!0||j.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:ie,formAction:te,formEncType:be}=x.navigation;!B&&!F&&ie&&te&&be&&(B=Wd(x.navigation));let ye=B||F;if(dy.has(j.response.status)&&ye&&Ze(ye.formMethod))await pt(re,ee,{submission:{...ye,formAction:X},preventScrollReset:Z||L,enableViewTransition:N?I:void 0});else{let Ke=tl(ee,B);await pt(re,ee,{overrideNavigation:Ke,fetcherSubmission:F,preventScrollReset:Z||L,enableViewTransition:N?I:void 0})}}async function Zr(k,j,N,B){let F,Z={};try{F=await wy(h,k,j,B,N,!1)}catch(Q){return j.filter(X=>X.shouldLoad).forEach(X=>{Z[X.route.id]={type:"error",error:Q}}),Z}if(k.signal.aborted)return Z;if(!Ze(k.method))for(let Q of j){if(F[Q.route.id]?.type==="error")break;!F.hasOwnProperty(Q.route.id)&&!x.loaderData.hasOwnProperty(Q.route.id)&&(!x.errors||!x.errors.hasOwnProperty(Q.route.id))&&Q.shouldCallHandler()&&(F[Q.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${Q.route.id}`)})}for(let[Q,X]of Object.entries(F))if(Dy(X)){let ee=X.result;Z[Q]={type:"redirect",response:jy(ee,k,Q,j,c)}}else Z[Q]=await Cy(X);return Z}async function dd(k,j,N,B){let F=Zr(N,k,B,null),Z=Promise.all(j.map(async ee=>{if(ee.matches&&ee.match&&ee.request&&ee.controller){let ie=(await Zr(ee.request,ee.matches,B,ee.key))[ee.match.route.id];return{[ee.key]:ie}}else return Promise.resolve({[ee.key]:{type:"error",error:Ct(404,{pathname:ee.path})}})})),Q=await F,X=(await Z).reduce((ee,re)=>Object.assign(ee,re),{});return{loaderResults:Q,fetcherResults:X}}function qa(){q=!0,we.forEach((k,j)=>{_.has(j)&&he.add(j),cn(j)})}function an(k,j,N={}){x.fetchers.set(k,j),R({fetchers:new Map(x.fetchers)},{flushSync:(N&&N.flushSync)===!0})}function ln(k,j,N,B={}){let F=jn(x.matches,j);Ja(k),R({errors:{[F.route.id]:N},fetchers:new Map(x.fetchers)},{flushSync:(B&&B.flushSync)===!0})}function ud(k){return Me.set(k,(Me.get(k)||0)+1),Se.has(k)&&Se.delete(k),x.fetchers.get(k)||uy}function h1(k,j){cn(k,j?.reason),an(k,hn(null))}function Ja(k){let j=x.fetchers.get(k);_.has(k)&&!(j&&j.state==="loading"&&le.has(k))&&cn(k),we.delete(k),le.delete(k),oe.delete(k),Se.delete(k),he.delete(k),x.fetchers.delete(k)}function d1(k){let j=(Me.get(k)||0)-1;j<=0?(Me.delete(k),Se.add(k)):Me.set(k,j),R({fetchers:new Map(x.fetchers)})}function cn(k,j){let N=_.get(k);N&&(N.abort(j),_.delete(k))}function fd(k){for(let j of k){let N=ud(j),B=hn(N.data);x.fetchers.set(j,B)}}function pd(){let k=[],j=!1;for(let N of oe){let B=x.fetchers.get(N);de(B,`Expected fetcher: ${N}`),B.state==="loading"&&(oe.delete(N),k.push(N),j=!0)}return fd(k),j}function md(k){let j=[];for(let[N,B]of le)if(B<k){let F=x.fetchers.get(N);de(F,`Expected fetcher: ${N}`),F.state==="loading"&&(cn(N),le.delete(N),j.push(N))}return fd(j),j.length>0}function u1(k,j){let N=x.blockers.get(k)||ni;return Qe.get(k)!==j&&Qe.set(k,j),N}function gd(k){x.blockers.delete(k),Qe.delete(k)}function Zs(k,j){let N=x.blockers.get(k)||ni;de(N.state==="unblocked"&&j.state==="blocked"||N.state==="blocked"&&j.state==="blocked"||N.state==="blocked"&&j.state==="proceeding"||N.state==="blocked"&&j.state==="unblocked"||N.state==="proceeding"&&j.state==="unblocked",`Invalid blocker state transition: ${N.state} -> ${j.state}`);let B=new Map(x.blockers);B.set(k,j),R({blockers:B})}function bd({currentLocation:k,nextLocation:j,historyAction:N}){if(Qe.size===0)return;Qe.size>1&&Re(!1,"A router only supports one blocker at a time");let B=Array.from(Qe.entries()),[F,Z]=B[B.length-1],Q=x.blockers.get(F);if(!(Q&&Q.state==="proceeding")&&Z({currentLocation:k,nextLocation:j,historyAction:N}))return F}function Ya(k){let j=Ct(404,{pathname:k}),N=l||a,{matches:B,route:F}=so(N);return{notFoundMatches:B,route:F,error:j}}function f1(k,j,N){if(m=k,y=j,g=N||null,!v&&x.navigation===el){v=!0;let B=xd(x.location,x.matches);B!=null&&R({restoreScrollPosition:B})}return()=>{m=null,y=null,g=null}}function yd(k,j){return g&&g(k,j.map(B=>$1(B,x.loaderData)))||k.key}function p1(k,j){if(m&&y){let N=yd(k,j);m[N]=y()}}function xd(k,j){if(m){let N=yd(k,j),B=m[N];if(typeof B=="number")return B}return null}function eo(k,j,N){if(n.patchRoutesOnNavigation)if(k){if(Object.keys(k[0].params).length>0)return{active:!0,matches:mi(j,N,c,!0)}}else return{active:!0,matches:mi(j,N,c,!0)||[]};return{active:!1,matches:null}}async function to(k,j,N,B){if(!n.patchRoutesOnNavigation)return{type:"success",matches:k};let F=k;for(;;){let Z=l==null,Q=l||a,X=o;try{await n.patchRoutesOnNavigation({signal:N,path:j,matches:F,fetcherKey:B,patch:(ie,te)=>{N.aborted||Rd(ie,te,Q,X,s,!1)}})}catch(ie){return{type:"error",error:ie,partialMatches:F}}finally{Z&&!N.aborted&&(a=[...a])}if(N.aborted)return{type:"aborted"};let ee=Cn(Q,j,c),re=null;if(ee){if(Object.keys(ee[0].params).length===0)return{type:"success",matches:ee};if(re=mi(Q,j,c,!0),!(re&&F.length<re.length&&vd(F,re.slice(0,F.length))))return{type:"success",matches:ee}}if(re||(re=mi(Q,j,c,!0)),!re||vd(F,re))return{type:"success",matches:null};F=re}}function vd(k,j){return k.length===j.length&&k.every((N,B)=>N.route.id===j[B].route.id)}function m1(k){o={},l=Ni(k,s,void 0,o)}function g1(k,j,N=!1){let B=l==null;Rd(k,j,l||a,o,s,N),B&&(a=[...a],R({}))}return P={get basename(){return c},get future(){return u},get state(){return x},get routes(){return a},get window(){return e},initialize:Ae,subscribe:Le,enableScrollRestoration:f1,navigate:ce,fetch:_e,revalidate:De,createHref:k=>n.history.createHref(k),encodeLocation:k=>n.history.encodeLocation(k),getFetcher:ud,resetFetcher:h1,deleteFetcher:d1,dispose:ve,getBlocker:u1,deleteBlocker:gd,patchRoutes:g1,_internalFetchControllers:_,_internalSetRoutes:m1,_internalSetStateDoNotUseOrYouWillBreakYourApp(k){R(k)}},n.unstable_instrumentations&&(P=ry(P,n.unstable_instrumentations.map(k=>k.router).filter(Boolean))),P}function my(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function ac(n,e,t,r,i,s){let o,a;if(i){o=[];for(let c of e)if(o.push(c),c.route.id===i){a=c;break}}else o=e,a=e[e.length-1];let l=Aa(r||".",Pa(o),Nt(n.pathname,t)||n.pathname,s==="path");if(r==null&&(l.search=n.search,l.hash=n.hash),(r==null||r===""||r===".")&&a){let c=hh(l.search);if(a.route.index&&!c)l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index";else if(!a.route.index&&c){let h=new URLSearchParams(l.search),u=h.getAll("index");h.delete("index"),u.filter(p=>p).forEach(p=>h.append("index",p));let f=h.toString();l.search=f?`?${f}`:""}}return t!=="/"&&(l.pathname=Q1({basename:t,pathname:l.pathname})),tn(l)}function Td(n,e,t){if(!t||!my(t))return{path:e};if(t.formMethod&&!Ry(t.formMethod))return{path:e,error:Ct(405,{method:t.formMethod})};let r=()=>({path:e,error:Ct(400,{type:"invalid-body"})}),s=(t.formMethod||"get").toUpperCase(),o=fm(e);if(t.body!==void 0){if(t.formEncType==="text/plain"){if(!Ze(s))return r();let u=typeof t.body=="string"?t.body:t.body instanceof FormData||t.body instanceof URLSearchParams?Array.from(t.body.entries()).reduce((f,[p,m])=>`${f}${p}=${m}
19
- `,""):String(t.body);return{path:e,submission:{formMethod:s,formAction:o,formEncType:t.formEncType,formData:void 0,json:void 0,text:u}}}else if(t.formEncType==="application/json"){if(!Ze(s))return r();try{let u=typeof t.body=="string"?JSON.parse(t.body):t.body;return{path:e,submission:{formMethod:s,formAction:o,formEncType:t.formEncType,formData:void 0,json:u,text:void 0}}}catch{return r()}}}de(typeof FormData=="function","FormData is not available in this environment");let a,l;if(t.formData)a=hc(t.formData),l=t.formData;else if(t.body instanceof FormData)a=hc(t.body),l=t.body;else if(t.body instanceof URLSearchParams)a=t.body,l=Fd(a);else if(t.body==null)a=new URLSearchParams,l=new FormData;else try{a=new URLSearchParams(t.body),l=Fd(a)}catch{return r()}let c={formMethod:s,formAction:o,formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(Ze(c.formMethod))return{path:e,submission:c};let h=Fn(e);return n&&h.search&&hh(h.search)&&a.append("index",""),h.search=`?${a}`,{path:tn(h),submission:c}}function Ed(n,e,t,r,i,s,o,a,l,c,h,u,f,p,m,g,y,v,w,S,O){let C=S?yt(S[1])?S[1].error:S[1].data:void 0,P=i.createURL(s.location),x=i.createURL(l),D;if(h&&s.errors){let $=Object.keys(s.errors)[0];D=o.findIndex(q=>q.route.id===$)}else if(S&&yt(S[1])){let $=S[0];D=o.findIndex(q=>q.route.id===$)-1}let M=S?S[1].statusCode:void 0,L=M&&M>=400,A={currentUrl:P,currentParams:s.matches[0]?.params||{},nextUrl:x,nextParams:o[0].params,...a,actionResult:C,actionStatus:M},I=Ls(o),W=o.map(($,q)=>{let{route:he}=$,_=null;if(D!=null&&q>D?_=!1:he.lazy?_=!0:lh(he)?h?_=lc(he,s.loaderData,s.errors):gy(s.loaderData,s.matches[q],$)&&(_=!0):_=!1,_!==null)return cc(t,r,n,I,$,c,e,_);let J=!1;typeof O=="boolean"?J=O:L?J=!1:(u||P.pathname+P.search===x.pathname+x.search||P.search!==x.search||by(s.matches[q],$))&&(J=!0);let se={...A,defaultShouldRevalidate:J},le=vi($,se);return cc(t,r,n,I,$,c,e,le,se,O)}),V=[];return m.forEach(($,q)=>{if(h||!o.some(Me=>Me.route.id===$.routeId)||p.has(q))return;let he=s.fetchers.get(q),_=he&&he.state!=="idle"&&he.data===void 0,J=Cn(y,$.path,v);if(!J){if(w&&_)return;V.push({key:q,routeId:$.routeId,path:$.path,matches:null,match:null,request:null,controller:null});return}if(g.has(q))return;let se=$o(J,$.path),le=new AbortController,oe=mr(i,$.path,le.signal),we=null;if(f.has(q))f.delete(q),we=Cr(t,r,oe,J,se,c,e);else if(_)u&&(we=Cr(t,r,oe,J,se,c,e));else{let Me;typeof O=="boolean"?Me=O:L?Me=!1:Me=u;let Se={...A,defaultShouldRevalidate:Me};vi(se,Se)&&(we=Cr(t,r,oe,J,se,c,e,Se))}we&&V.push({key:q,routeId:$.routeId,path:$.path,matches:we,match:se,request:oe,controller:le})}),{dsMatches:W,revalidatingFetchers:V}}function lh(n){return n.loader!=null||n.middleware!=null&&n.middleware.length>0}function lc(n,e,t){if(n.lazy)return!0;if(!lh(n))return!1;let r=e!=null&&n.id in e,i=t!=null&&t[n.id]!==void 0;return!r&&i?!1:typeof n.loader=="function"&&n.loader.hydrate===!0?!0:!r&&!i}function gy(n,e,t){let r=!e||t.route.id!==e.route.id,i=!n.hasOwnProperty(t.route.id);return r||i}function by(n,e){let t=n.route.path;return n.pathname!==e.pathname||t!=null&&t.endsWith("*")&&n.params["*"]!==e.params["*"]}function vi(n,e){if(n.route.shouldRevalidate){let t=n.route.shouldRevalidate(e);if(typeof t=="boolean")return t}return e.defaultShouldRevalidate}function Rd(n,e,t,r,i,s){let o;if(n){let c=r[n];de(c,`No route found to patch children into: routeId = ${n}`),c.children||(c.children=[]),o=c.children}else o=t;let a=[],l=[];if(e.forEach(c=>{let h=o.find(u=>lm(c,u));h?l.push({existingRoute:h,newRoute:c}):a.push(c)}),a.length>0){let c=Ni(a,i,[n||"_","patch",String(o?.length||"0")],r);o.push(...c)}if(s&&l.length>0)for(let c=0;c<l.length;c++){let{existingRoute:h,newRoute:u}=l[c],f=h,[p]=Ni([u],i,[],{},!0);Object.assign(f,{element:p.element?p.element:f.element,errorElement:p.errorElement?p.errorElement:f.errorElement,hydrateFallbackElement:p.hydrateFallbackElement?p.hydrateFallbackElement:f.hydrateFallbackElement})}}function lm(n,e){return"id"in n&&"id"in e&&n.id===e.id?!0:n.index===e.index&&n.path===e.path&&n.caseSensitive===e.caseSensitive?(!n.children||n.children.length===0)&&(!e.children||e.children.length===0)?!0:n.children.every((t,r)=>e.children?.some(i=>lm(t,i))):!1}var Ld=new WeakMap,cm=({key:n,route:e,manifest:t,mapRouteProperties:r})=>{let i=t[e.id];if(de(i,"No route found in manifest"),!i.lazy||typeof i.lazy!="object")return;let s=i.lazy[n];if(!s)return;let o=Ld.get(i);o||(o={},Ld.set(i,o));let a=o[n];if(a)return a;let l=(async()=>{let c=R1(n),u=i[n]!==void 0&&n!=="hasErrorBoundary";if(c)Re(!c,"Route property "+n+" is not a supported lazy route property. This property will be ignored."),o[n]=Promise.resolve();else if(u)Re(!1,`Route "${i.id}" has a static property "${n}" defined. The lazy property will be ignored.`);else{let f=await s();f!=null&&(Object.assign(i,{[n]:f}),Object.assign(i,r(i)))}typeof i.lazy=="object"&&(i.lazy[n]=void 0,Object.values(i.lazy).every(f=>f===void 0)&&(i.lazy=void 0))})();return o[n]=l,l},Id=new WeakMap;function yy(n,e,t,r,i){let s=t[n.id];if(de(s,"No route found in manifest"),!n.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof n.lazy=="function"){let h=Id.get(s);if(h)return{lazyRoutePromise:h,lazyHandlerPromise:h};let u=(async()=>{de(typeof n.lazy=="function","No lazy route function found");let f=await n.lazy(),p={};for(let m in f){let g=f[m];if(g===void 0)continue;let y=I1(m),w=s[m]!==void 0&&m!=="hasErrorBoundary";y?Re(!y,"Route property "+m+" is not a supported property to be returned from a lazy route function. This property will be ignored."):w?Re(!w,`Route "${s.id}" has a static property "${m}" defined but its lazy function is also returning a value for this property. The lazy route property "${m}" will be ignored.`):p[m]=g}Object.assign(s,p),Object.assign(s,{...r(s),lazy:void 0})})();return Id.set(s,u),u.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:u}}let o=Object.keys(n.lazy),a=[],l;for(let h of o){if(i&&i.includes(h))continue;let u=cm({key:h,route:n,manifest:t,mapRouteProperties:r});u&&(a.push(u),h===e&&(l=u))}let c=a.length>0?Promise.all(a).then(()=>{}):void 0;return c?.catch(()=>{}),l?.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:l}}async function Bd(n){let e=n.matches.filter(i=>i.shouldLoad),t={};return(await Promise.all(e.map(i=>i.resolve()))).forEach((i,s)=>{t[e[s].route.id]=i}),t}async function xy(n){return n.matches.some(e=>e.route.middleware)?hm(n,()=>Bd(n)):Bd(n)}function hm(n,e){return vy(n,e,r=>{if(Ey(r))throw r;return r},My,t);function t(r,i,s){if(s)return Promise.resolve(Object.assign(s.value,{[i]:{type:"error",result:r}}));{let{matches:o}=n,a=Math.min(Math.max(o.findIndex(c=>c.route.id===i),0),Math.max(o.findIndex(c=>c.shouldCallHandler()),0)),l=jn(o,o[a].route.id).route.id;return Promise.resolve({[l]:{type:"error",result:r}})}}}async function vy(n,e,t,r,i){let{matches:s,request:o,params:a,context:l,unstable_pattern:c}=n,h=s.flatMap(f=>f.route.middleware?f.route.middleware.map(p=>[f.route.id,p]):[]);return await dm({request:o,params:a,context:l,unstable_pattern:c},h,e,t,r,i)}async function dm(n,e,t,r,i,s,o=0){let{request:a}=n;if(a.signal.aborted)throw a.signal.reason??new Error(`Request aborted: ${a.method} ${a.url}`);let l=e[o];if(!l)return await t();let[c,h]=l,u,f=async()=>{if(u)throw new Error("You may only call `next()` once per middleware");try{return u={value:await dm(n,e,t,r,i,s,o+1)},u.value}catch(p){return u={value:await s(p,c,u)},u.value}};try{let p=await h(n,f),m=p!=null?r(p):void 0;return i(m)?m:u?m??u.value:(u={value:await f()},u.value)}catch(p){return await s(p,c,u)}}function um(n,e,t,r,i){let s=cm({key:"middleware",route:r.route,manifest:e,mapRouteProperties:n}),o=yy(r.route,Ze(t.method)?"action":"loader",e,n,i);return{middleware:s,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function cc(n,e,t,r,i,s,o,a,l=null,c){let h=!1,u=um(n,e,t,i,s);return{...i,_lazyPromises:u,shouldLoad:a,shouldRevalidateArgs:l,shouldCallHandler(f){return h=!0,l?typeof c=="boolean"?vi(i,{...l,defaultShouldRevalidate:c}):typeof f=="boolean"?vi(i,{...l,defaultShouldRevalidate:f}):vi(i,l):a},resolve(f){let{lazy:p,loader:m,middleware:g}=i.route,y=h||a||f&&!Ze(t.method)&&(p||m),v=g&&g.length>0&&!m&&!p;return y&&(Ze(t.method)||!v)?ky({request:t,unstable_pattern:r,match:i,lazyHandlerPromise:u?.handler,lazyRoutePromise:u?.route,handlerOverride:f,scopedContext:o}):Promise.resolve({type:"data",result:void 0})}}}function Cr(n,e,t,r,i,s,o,a=null){return r.map(l=>l.route.id!==i.route.id?{...l,shouldLoad:!1,shouldRevalidateArgs:a,shouldCallHandler:()=>!1,_lazyPromises:um(n,e,t,l,s),resolve:()=>Promise.resolve({type:"data",result:void 0})}:cc(n,e,t,Ls(r),l,s,o,!0,a))}async function wy(n,e,t,r,i,s){t.some(c=>c._lazyPromises?.middleware)&&await Promise.all(t.map(c=>c._lazyPromises?.middleware));let o={request:e,unstable_pattern:Ls(t),params:t[0].params,context:i,matches:t},l=await n({...o,fetcherKey:r,runClientMiddleware:c=>{let h=o;return hm(h,()=>c({...h,fetcherKey:r,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(t.flatMap(c=>[c._lazyPromises?.handler,c._lazyPromises?.route]))}catch{}return l}async function ky({request:n,unstable_pattern:e,match:t,lazyHandlerPromise:r,lazyRoutePromise:i,handlerOverride:s,scopedContext:o}){let a,l,c=Ze(n.method),h=c?"action":"loader",u=f=>{let p,m=new Promise((v,w)=>p=w);l=()=>p(),n.signal.addEventListener("abort",l);let g=v=>typeof f!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${h}" [routeId: ${t.route.id}]`)):f({request:n,unstable_pattern:e,params:t.params,context:o},...v!==void 0?[v]:[]),y=(async()=>{try{return{type:"data",result:await(s?s(w=>g(w)):g())}}catch(v){return{type:"error",result:v}}})();return Promise.race([y,m])};try{let f=c?t.route.action:t.route.loader;if(r||i)if(f){let p,[m]=await Promise.all([u(f).catch(g=>{p=g}),r,i]);if(p!==void 0)throw p;a=m}else{await r;let p=c?t.route.action:t.route.loader;if(p)[a]=await Promise.all([u(p),i]);else if(h==="action"){let m=new URL(n.url),g=m.pathname+m.search;throw Ct(405,{method:n.method,pathname:g,routeId:t.route.id})}else return{type:"data",result:void 0}}else if(f)a=await u(f);else{let p=new URL(n.url),m=p.pathname+p.search;throw Ct(404,{pathname:m})}}catch(f){return{type:"error",result:f}}finally{l&&n.signal.removeEventListener("abort",l)}return a}async function Sy(n){let e=n.headers.get("Content-Type");return e&&/\bapplication\/json\b/.test(e)?n.body==null?null:n.json():n.text()}async function Cy(n){let{result:e,type:t}=n;if(ch(e)){let r;try{r=await Sy(e)}catch(i){return{type:"error",error:i}}return t==="error"?{type:"error",error:new Rs(e.status,e.statusText,r),statusCode:e.status,headers:e.headers}:{type:"data",data:r,statusCode:e.status,headers:e.headers}}return t==="error"?_d(e)?e.data instanceof Error?{type:"error",error:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:Ay(e),statusCode:Di(e)?e.status:void 0,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:e,statusCode:Di(e)?e.status:void 0}:_d(e)?{type:"data",data:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"data",data:e}}function jy(n,e,t,r,i){let s=n.headers.get("Location");if(de(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!Oa(s)){let o=r.slice(0,r.findIndex(a=>a.route.id===t)+1);s=ac(new URL(e.url),o,i,s),n.headers.set("Location",s)}return n}function $d(n,e,t){if(Oa(n)){let r=n,i=r.startsWith("//")?new URL(e.protocol+r):new URL(r),s=Nt(i.pathname,t)!=null;if(i.origin===e.origin&&s)return i.pathname+i.search+i.hash}return n}function mr(n,e,t,r){let i=n.createURL(fm(e)).toString(),s={signal:t};if(r&&Ze(r.formMethod)){let{formMethod:o,formEncType:a}=r;s.method=o.toUpperCase(),a==="application/json"?(s.headers=new Headers({"Content-Type":a}),s.body=JSON.stringify(r.json)):a==="text/plain"?s.body=r.text:a==="application/x-www-form-urlencoded"&&r.formData?s.body=hc(r.formData):s.body=r.formData}return new Request(i,s)}function hc(n){let e=new URLSearchParams;for(let[t,r]of n.entries())e.append(t,typeof r=="string"?r:r.name);return e}function Fd(n){let e=new FormData;for(let[t,r]of n.entries())e.append(t,r);return e}function Oy(n,e,t,r=!1,i=!1){let s={},o=null,a,l=!1,c={},h=t&&yt(t[1])?t[1].error:void 0;return n.forEach(u=>{if(!(u.route.id in e))return;let f=u.route.id,p=e[f];if(de(!Xn(p),"Cannot handle redirect results in processLoaderData"),yt(p)){let m=p.error;if(h!==void 0&&(m=h,h=void 0),o=o||{},i)o[f]=m;else{let g=jn(n,f);o[g.route.id]==null&&(o[g.route.id]=m)}r||(s[f]=am),l||(l=!0,a=Di(p.error)?p.error.status:500),p.headers&&(c[f]=p.headers)}else s[f]=p.data,p.statusCode&&p.statusCode!==200&&!l&&(a=p.statusCode),p.headers&&(c[f]=p.headers)}),h!==void 0&&t&&(o={[t[0]]:h},t[2]&&(s[t[2]]=void 0)),{loaderData:s,errors:o,statusCode:a||200,loaderHeaders:c}}function Vd(n,e,t,r,i,s){let{loaderData:o,errors:a}=Oy(e,t,r);return i.filter(l=>!l.matches||l.matches.some(c=>c.shouldLoad)).forEach(l=>{let{key:c,match:h,controller:u}=l;if(u&&u.signal.aborted)return;let f=s[c];if(de(f,"Did not find corresponding fetcher result"),yt(f)){let p=jn(n.matches,h?.route.id);a&&a[p.route.id]||(a={...a,[p.route.id]:f.error}),n.fetchers.delete(c)}else if(Xn(f))de(!1,"Unhandled fetcher revalidation redirect");else{let p=hn(f.data);n.fetchers.set(c,p)}}),{loaderData:o,errors:a}}function zd(n,e,t,r){let i=Object.entries(e).filter(([,s])=>s!==am).reduce((s,[o,a])=>(s[o]=a,s),{});for(let s of t){let o=s.route.id;if(!e.hasOwnProperty(o)&&n.hasOwnProperty(o)&&s.route.loader&&(i[o]=n[o]),r&&r.hasOwnProperty(o))break}return i}function Hd(n){return n?yt(n[1])?{actionData:{}}:{actionData:{[n[0]]:n[1].data}}:{}}function jn(n,e){return(e?n.slice(0,n.findIndex(r=>r.route.id===e)+1):[...n]).reverse().find(r=>r.route.hasErrorBoundary===!0)||n[0]}function so(n){let e=n.length===1?n[0]:n.find(t=>t.index||!t.path||t.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:e}],route:e}}function Ct(n,{pathname:e,routeId:t,method:r,type:i,message:s}={}){let o="Unknown Server Error",a="Unknown @remix-run/router error";return n===400?(o="Bad Request",r&&e&&t?a=`You made a ${r} request to "${e}" but did not provide a \`loader\` for route "${t}", so there is no way to handle the request.`:i==="invalid-body"&&(a="Unable to encode submission body")):n===403?(o="Forbidden",a=`Route "${t}" does not match URL "${e}"`):n===404?(o="Not Found",a=`No route matches URL "${e}"`):n===405&&(o="Method Not Allowed",r&&e&&t?a=`You made a ${r.toUpperCase()} request to "${e}" but did not provide an \`action\` for route "${t}", so there is no way to handle the request.`:r&&(a=`Invalid request method "${r.toUpperCase()}"`)),new Rs(n||500,o,new Error(a),!0)}function oo(n){let e=Object.entries(n);for(let t=e.length-1;t>=0;t--){let[r,i]=e[t];if(Xn(i))return{key:r,result:i}}}function fm(n){let e=typeof n=="string"?Fn(n):n;return tn({...e,hash:""})}function Py(n,e){return n.pathname!==e.pathname||n.search!==e.search?!1:n.hash===""?e.hash!=="":n.hash===e.hash?!0:e.hash!==""}function Ay(n){return new Rs(n.init?.status??500,n.init?.statusText??"Internal Server Error",n.data)}function My(n){return n!=null&&typeof n=="object"&&Object.entries(n).every(([e,t])=>typeof e=="string"&&Ny(t))}function Ny(n){return n!=null&&typeof n=="object"&&"type"in n&&"result"in n&&(n.type==="data"||n.type==="error")}function Dy(n){return ch(n.result)&&sm.has(n.result.status)}function yt(n){return n.type==="error"}function Xn(n){return(n&&n.type)==="redirect"}function _d(n){return typeof n=="object"&&n!=null&&"type"in n&&"data"in n&&"init"in n&&n.type==="DataWithResponseInit"}function ch(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function Ty(n){return sm.has(n)}function Ey(n){return ch(n)&&Ty(n.status)&&n.headers.has("Location")}function Ry(n){return hy.has(n.toUpperCase())}function Ze(n){return ly.has(n.toUpperCase())}function hh(n){return new URLSearchParams(n).getAll("index").some(e=>e==="")}function $o(n,e){let t=typeof e=="string"?Fn(e).search:e.search;if(n[n.length-1].route.index&&hh(t||""))return n[n.length-1];let r=em(n);return r[r.length-1]}function Wd(n){let{formMethod:e,formAction:t,formEncType:r,text:i,formData:s,json:o}=n;if(!(!e||!t||!r)){if(i!=null)return{formMethod:e,formAction:t,formEncType:r,formData:void 0,json:void 0,text:i};if(s!=null)return{formMethod:e,formAction:t,formEncType:r,formData:s,json:void 0,text:void 0};if(o!==void 0)return{formMethod:e,formAction:t,formEncType:r,formData:void 0,json:o,text:void 0}}}function tl(n,e){return e?{state:"loading",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}:{state:"loading",location:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Ly(n,e){return{state:"submitting",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}}function ri(n,e){return n?{state:"loading",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Iy(n,e){return{state:"submitting",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e?e.data:void 0}}function hn(n){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function By(n,e){try{let t=n.sessionStorage.getItem(om);if(t){let r=JSON.parse(t);for(let[i,s]of Object.entries(r||{}))s&&Array.isArray(s)&&e.set(i,new Set(s||[]))}}catch{}}function $y(n,e){if(e.size>0){let t={};for(let[r,i]of e)t[r]=[...i];try{n.sessionStorage.setItem(om,JSON.stringify(t))}catch(r){Re(!1,`Failed to save applied view transitions in sessionStorage (${r}).`)}}}function Ud(){let n,e,t=new Promise((r,i)=>{n=async s=>{r(s);try{await t}catch{}},e=async s=>{i(s);try{await t}catch{}}});return{promise:t,resolve:n,reject:e}}var lr=b.createContext(null);lr.displayName="DataRouter";var Is=b.createContext(null);Is.displayName="DataRouterState";var pm=b.createContext(!1);function Fy(){return b.useContext(pm)}var dh=b.createContext({isTransitioning:!1});dh.displayName="ViewTransition";var mm=b.createContext(new Map);mm.displayName="Fetchers";var Vy=b.createContext(null);Vy.displayName="Await";var vt=b.createContext(null);vt.displayName="Navigation";var Ma=b.createContext(null);Ma.displayName="Location";var Tt=b.createContext({outlet:null,matches:[],isDataRoute:!1});Tt.displayName="Route";var uh=b.createContext(null);uh.displayName="RouteError";var gm="REACT_ROUTER_ERROR",zy="REDIRECT",Hy="ROUTE_ERROR_RESPONSE";function _y(n){if(n.startsWith(`${gm}:${zy}:{`))try{let e=JSON.parse(n.slice(28));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.location=="string"&&typeof e.reloadDocument=="boolean"&&typeof e.replace=="boolean")return e}catch{}}function Wy(n){if(n.startsWith(`${gm}:${Hy}:{`))try{let e=JSON.parse(n.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new Rs(e.status,e.statusText,e.data)}catch{}}function Uy(n,{relative:e}={}){de(zr(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:r}=b.useContext(vt),{hash:i,pathname:s,search:o}=Bs(n,{relative:e}),a=s;return t!=="/"&&(a=s==="/"?t:Zt([t,s])),r.createHref({pathname:a,search:o,hash:i})}function zr(){return b.useContext(Ma)!=null}function nn(){return de(zr(),"useLocation() may be used only in the context of a <Router> component."),b.useContext(Ma).location}var bm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function ym(n){b.useContext(vt).static||b.useLayoutEffect(n)}function yn(){let{isDataRoute:n}=b.useContext(Tt);return n?ox():Ky()}function Ky(){de(zr(),"useNavigate() may be used only in the context of a <Router> component.");let n=b.useContext(lr),{basename:e,navigator:t}=b.useContext(vt),{matches:r}=b.useContext(Tt),{pathname:i}=nn(),s=JSON.stringify(Pa(r)),o=b.useRef(!1);return ym(()=>{o.current=!0}),b.useCallback((l,c={})=>{if(Re(o.current,bm),!o.current)return;if(typeof l=="number"){t.go(l);return}let h=Aa(l,JSON.parse(s),i,c.relative==="path");n==null&&e!=="/"&&(h.pathname=h.pathname==="/"?e:Zt([e,h.pathname])),(c.replace?t.replace:t.push)(h,c.state,c)},[e,t,s,i,n])}var xm=b.createContext(null);function Gy(){return b.useContext(xm)}function qy(n){let e=b.useContext(Tt).outlet;return b.useMemo(()=>e&&b.createElement(xm.Provider,{value:n},e),[e,n])}function vm(){let{matches:n}=b.useContext(Tt),e=n[n.length-1];return e?e.params:{}}function Bs(n,{relative:e}={}){let{matches:t}=b.useContext(Tt),{pathname:r}=nn(),i=JSON.stringify(Pa(t));return b.useMemo(()=>Aa(n,JSON.parse(i),r,e==="path"),[n,i,r,e])}function Jy(n,e,t,r,i){de(zr(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=b.useContext(vt),{matches:o}=b.useContext(Tt),a=o[o.length-1],l=a?a.params:{},c=a?a.pathname:"/",h=a?a.pathnameBase:"/",u=a&&a.route;{let w=u&&u.path||"";km(c,!u||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${w}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
18
+ */var rm=n=>{throw TypeError(n)},L1=(n,e,t)=>e.has(n)||rm("Cannot "+t),nl=(n,e,t)=>(L1(n,e,"read from private field"),t?t.call(n):e.get(n)),I1=(n,e,t)=>e.has(n)?rm("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Ad="popstate";function B1(n={}){function e(r,i){let{pathname:s,search:o,hash:a}=r.location;return Di("",{pathname:s,search:o,hash:a},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function t(r,i){return typeof i=="string"?i:sn(i)}return F1(e,t,null,n)}function ce(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Le(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function $1(){return Math.random().toString(36).substring(2,10)}function Nd(n,e){return{usr:n.state,key:n.key,idx:e}}function Di(n,e,t=null,r){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof e=="string"?zn(e):e,state:t,key:e&&e.key||r||$1()}}function sn({pathname:n="/",search:e="",hash:t=""}){return e&&e!=="?"&&(n+=e.charAt(0)==="?"?e:"?"+e),t&&t!=="#"&&(n+=t.charAt(0)==="#"?t:"#"+t),n}function zn(n){let e={};if(n){let t=n.indexOf("#");t>=0&&(e.hash=n.substring(t),n=n.substring(0,t));let r=n.indexOf("?");r>=0&&(e.search=n.substring(r),n=n.substring(0,r)),n&&(e.pathname=n)}return e}function F1(n,e,t,r={}){let{window:i=document.defaultView,v5Compat:s=!1}=r,o=i.history,a="POP",l=null,c=h();c==null&&(c=0,o.replaceState({...o.state,idx:c},""));function h(){return(o.state||{idx:null}).idx}function u(){a="POP";let y=h(),v=y==null?null:y-c;c=y,l&&l({action:a,location:b.location,delta:v})}function f(y,v){a="PUSH";let w=Di(b.location,y,v);c=h()+1;let C=Nd(w,c),j=b.createHref(w);try{o.pushState(C,"",j)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;i.location.assign(j)}s&&l&&l({action:a,location:b.location,delta:1})}function p(y,v){a="REPLACE";let w=Di(b.location,y,v);c=h();let C=Nd(w,c),j=b.createHref(w);o.replaceState(C,"",j),s&&l&&l({action:a,location:b.location,delta:0})}function m(y){return im(y)}let b={get action(){return a},get location(){return n(i,o)},listen(y){if(l)throw new Error("A history only accepts one active listener");return i.addEventListener(Ad,u),l=y,()=>{i.removeEventListener(Ad,u),l=null}},createHref(y){return e(i,y)},createURL:m,encodeLocation(y){let v=m(y);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:f,replace:p,go(y){return o.go(y)}};return b}function im(n,e=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),ce(t,"No window.location.(origin|href) available to create URL");let r=typeof n=="string"?n:sn(n);return r=r.replace(/ $/,"%20"),!e&&r.startsWith("//")&&(r=t+r),new URL(r,t)}var bi,Md=class{constructor(n){if(I1(this,bi,new Map),n)for(let[e,t]of n)this.set(e,t)}get(n){if(nl(this,bi).has(n))return nl(this,bi).get(n);if(n.defaultValue!==void 0)return n.defaultValue;throw new Error("No value found for context")}set(n,e){nl(this,bi).set(n,e)}};bi=new WeakMap;var V1=new Set(["lazy","caseSensitive","path","id","index","children"]);function z1(n){return V1.has(n)}var _1=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function H1(n){return _1.has(n)}function W1(n){return n.index===!0}function Ei(n,e,t=[],r={},i=!1){return n.map((s,o)=>{let a=[...t,String(o)],l=typeof s.id=="string"?s.id:a.join("-");if(ce(s.index!==!0||!s.children,"Cannot specify children on an index route"),ce(i||!r[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),W1(s)){let c={...s,id:l};return r[l]=Td(c,e(c)),c}else{let c={...s,id:l,children:void 0};return r[l]=Td(c,e(c)),s.children&&(c.children=Ei(s.children,e,a,r,i)),c}})}function Td(n,e){return Object.assign(n,{...e,...typeof e.lazy=="object"&&e.lazy!=null?{lazy:{...n.lazy,...e.lazy}}:{}})}function On(n,e,t="/"){return yi(n,e,t,!1)}function yi(n,e,t,r){let i=typeof e=="string"?zn(e):e,s=Et(i.pathname||"/",t);if(s==null)return null;let o=sm(n);K1(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let c=ry(s);a=ty(o[l],c,r)}return a}function U1(n,e){let{route:t,pathname:r,params:i}=n;return{id:t.id,pathname:r,params:i,data:e[t.id],loaderData:e[t.id],handle:t.handle}}function sm(n,e=[],t=[],r="",i=!1){let s=(o,a,l=i,c)=>{let h={relativePath:c===void 0?o.path||"":c,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};if(h.relativePath.startsWith("/")){if(!h.relativePath.startsWith(r)&&l)return;ce(h.relativePath.startsWith(r),`Absolute route path "${h.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),h.relativePath=h.relativePath.slice(r.length)}let u=nn([r,h.relativePath]),f=t.concat(h);o.children&&o.children.length>0&&(ce(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${u}".`),sm(o.children,e,f,u,l)),!(o.path==null&&!o.index)&&e.push({path:u,score:Z1(u,o.index),routesMeta:f})};return n.forEach((o,a)=>{if(o.path===""||!o.path?.includes("?"))s(o,a);else for(let l of om(o.path))s(o,a,!0,l)}),e}function om(n){let e=n.split("/");if(e.length===0)return[];let[t,...r]=e,i=t.endsWith("?"),s=t.replace(/\?$/,"");if(r.length===0)return i?[s,""]:[s];let o=om(r.join("/")),a=[];return a.push(...o.map(l=>l===""?s:[s,l].join("/"))),i&&a.push(...o),a.map(l=>n.startsWith("/")&&l===""?"/":l)}function K1(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:ey(e.routesMeta.map(r=>r.childrenIndex),t.routesMeta.map(r=>r.childrenIndex)))}var G1=/^:[\w-]+$/,q1=3,J1=2,Y1=1,Q1=10,X1=-2,Dd=n=>n==="*";function Z1(n,e){let t=n.split("/"),r=t.length;return t.some(Dd)&&(r+=X1),e&&(r+=J1),t.filter(i=>!Dd(i)).reduce((i,s)=>i+(G1.test(s)?q1:s===""?Y1:Q1),r)}function ey(n,e){return n.length===e.length&&n.slice(0,-1).every((r,i)=>r===e[i])?n[n.length-1]-e[e.length-1]:0}function ty(n,e,t=!1){let{routesMeta:r}=n,i={},s="/",o=[];for(let a=0;a<r.length;++a){let l=r[a],c=a===r.length-1,h=s==="/"?e:e.slice(s.length)||"/",u=na({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},h),f=l.route;if(!u&&c&&t&&!r[r.length-1].route.index&&(u=na({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},h)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:nn([s,u.pathname]),pathnameBase:oy(nn([s,u.pathnameBase])),route:f}),u.pathnameBase!=="/"&&(s=nn([s,u.pathnameBase]))}return o}function na(n,e){typeof n=="string"&&(n={path:n,caseSensitive:!1,end:!0});let[t,r]=ny(n.path,n.caseSensitive,n.end),i=e.match(t);if(!i)return null;let s=i[0],o=s.replace(/(.)\/+$/,"$1"),a=i.slice(1);return{params:r.reduce((c,{paramName:h,isOptional:u},f)=>{if(h==="*"){let m=a[f]||"";o=s.slice(0,s.length-m.length).replace(/(.)\/+$/,"$1")}const p=a[f];return u&&!p?c[h]=void 0:c[h]=(p||"").replace(/%2F/g,"/"),c},{}),pathname:s,pathnameBase:o,pattern:n}}function ny(n,e=!1,t=!0){Le(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let r=[],i="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,a,l)=>(r.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(r.push({paramName:"*"}),i+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?i+="\\/*$":n!==""&&n!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),r]}function ry(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Le(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),n}}function Et(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,r=n.charAt(t);return r&&r!=="/"?null:n.slice(t)||"/"}function iy({basename:n,pathname:e}){return e==="/"?n:nn([n,e])}var am=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ta=n=>am.test(n);function sy(n,e="/"){let{pathname:t,search:r="",hash:i=""}=typeof n=="string"?zn(n):n,s;if(t)if(Ta(t))s=t;else{if(t.includes("//")){let o=t;t=t.replace(/\/\/+/g,"/"),Le(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${t}`)}t.startsWith("/")?s=Ed(t.substring(1),"/"):s=Ed(t,e)}else s=e;return{pathname:s,search:ay(r),hash:ly(i)}}function Ed(n,e){let t=e.replace(/\/+$/,"").split("/");return n.split("/").forEach(i=>{i===".."?t.length>1&&t.pop():i!=="."&&t.push(i)}),t.length>1?t.join("/"):"/"}function rl(n,e,t,r){return`Cannot include a '${n}' character in a manually specified \`to.${e}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function lm(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Da(n){let e=lm(n);return e.map((t,r)=>r===e.length-1?t.pathname:t.pathnameBase)}function Ea(n,e,t,r=!1){let i;typeof n=="string"?i=zn(n):(i={...n},ce(!i.pathname||!i.pathname.includes("?"),rl("?","pathname","search",i)),ce(!i.pathname||!i.pathname.includes("#"),rl("#","pathname","hash",i)),ce(!i.search||!i.search.includes("#"),rl("#","search","hash",i)));let s=n===""||i.pathname==="",o=s?"/":i.pathname,a;if(o==null)a=t;else{let u=e.length-1;if(!r&&o.startsWith("..")){let f=o.split("/");for(;f[0]==="..";)f.shift(),u-=1;i.pathname=f.join("/")}a=u>=0?e[u]:"/"}let l=sy(i,a),c=o&&o!=="/"&&o.endsWith("/"),h=(s||o===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(c||h)&&(l.pathname+="/"),l}var nn=n=>n.join("/").replace(/\/\/+/g,"/"),oy=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),ay=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,ly=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Bs=class{constructor(n,e,t,r=!1){this.status=n,this.statusText=e||"",this.internal=r,t instanceof Error?(this.data=t.toString(),this.error=t):this.data=t}};function Ri(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function $s(n){return n.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var cm=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function hm(n,e){let t=n;if(typeof t!="string"||!am.test(t))return{absoluteURL:void 0,isExternal:!1,to:t};let r=t,i=!1;if(cm)try{let s=new URL(window.location.href),o=t.startsWith("//")?new URL(s.protocol+t):new URL(t),a=Et(o.pathname,e);o.origin===s.origin&&a!=null?t=a+o.search+o.hash:i=!0}catch{Le(!1,`<Link to="${t}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:t}}var Mn=Symbol("Uninstrumented");function cy(n,e){let t={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};n.forEach(i=>i({id:e.id,index:e.index,path:e.path,instrument(s){let o=Object.keys(t);for(let a of o)s[a]&&t[a].push(s[a])}}));let r={};if(typeof e.lazy=="function"&&t.lazy.length>0){let i=wr(t.lazy,e.lazy,()=>{});i&&(r.lazy=i)}if(typeof e.lazy=="object"){let i=e.lazy;["middleware","loader","action"].forEach(s=>{let o=i[s],a=t[`lazy.${s}`];if(typeof o=="function"&&a.length>0){let l=wr(a,o,()=>{});l&&(r.lazy=Object.assign(r.lazy||{},{[s]:l}))}})}return["loader","action"].forEach(i=>{let s=e[i];if(typeof s=="function"&&t[i].length>0){let o=s[Mn]??s,a=wr(t[i],o,(...l)=>Rd(l[0]));a&&(a[Mn]=o,r[i]=a)}}),e.middleware&&e.middleware.length>0&&t.middleware.length>0&&(r.middleware=e.middleware.map(i=>{let s=i[Mn]??i,o=wr(t.middleware,s,(...a)=>Rd(a[0]));return o?(o[Mn]=s,o):i})),r}function hy(n,e){let t={navigate:[],fetch:[]};if(e.forEach(r=>r({instrument(i){let s=Object.keys(i);for(let o of s)i[o]&&t[o].push(i[o])}})),t.navigate.length>0){let r=n.navigate[Mn]??n.navigate,i=wr(t.navigate,r,(...s)=>{let[o,a]=s;return{to:typeof o=="number"||typeof o=="string"?o:o?sn(o):".",...Ld(n,a??{})}});i&&(i[Mn]=r,n.navigate=i)}if(t.fetch.length>0){let r=n.fetch[Mn]??n.fetch,i=wr(t.fetch,r,(...s)=>{let[o,,a,l]=s;return{href:a??".",fetcherKey:o,...Ld(n,l??{})}});i&&(i[Mn]=r,n.fetch=i)}return n}function wr(n,e,t){return n.length===0?null:async(...r)=>{let i=await dm(n,t(...r),()=>e(...r),n.length-1);if(i.type==="error")throw i.value;return i.value}}async function dm(n,e,t,r){let i=n[r],s;if(i){let o,a=async()=>(o?console.error("You cannot call instrumented handlers more than once"):o=dm(n,e,t,r-1),s=await o,ce(s,"Expected a result"),s.type==="error"&&s.value instanceof Error?{status:"error",error:s.value}:{status:"success",error:void 0});try{await i(a,e)}catch(l){console.error("An instrumentation function threw an error:",l)}o||await a(),await o}else try{s={type:"success",value:await t()}}catch(o){s={type:"error",value:o}}return s||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function Rd(n){let{request:e,context:t,params:r,unstable_pattern:i}=n;return{request:dy(e),params:{...r},unstable_pattern:i,context:uy(t)}}function Ld(n,e){return{currentUrl:sn(n.state.location),..."formMethod"in e?{formMethod:e.formMethod}:{},..."formEncType"in e?{formEncType:e.formEncType}:{},..."formData"in e?{formData:e.formData}:{},..."body"in e?{body:e.body}:{}}}function dy(n){return{method:n.method,url:n.url,headers:{get:(...e)=>n.headers.get(...e)}}}function uy(n){if(py(n)){let e={...n};return Object.freeze(e),e}else return{get:e=>n.get(e)}}var fy=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function py(n){if(n===null||typeof n!="object")return!1;const e=Object.getPrototypeOf(n);return e===Object.prototype||e===null||Object.getOwnPropertyNames(e).sort().join("\0")===fy}var um=["POST","PUT","PATCH","DELETE"],my=new Set(um),gy=["GET",...um],by=new Set(gy),fm=new Set([301,302,303,307,308]),yy=new Set([307,308]),il={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},xy={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},si={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},vy=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),pm="remix-router-transitions",mm=Symbol("ResetLoaderData");function wy(n){const e=n.window?n.window:typeof window<"u"?window:void 0,t=typeof e<"u"&&typeof e.document<"u"&&typeof e.document.createElement<"u";ce(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let r=n.hydrationRouteProperties||[],i=n.mapRouteProperties||vy,s=i;if(n.unstable_instrumentations){let k=n.unstable_instrumentations;s=P=>({...i(P),...cy(k.map(M=>M.route).filter(Boolean),P)})}let o={},a=Ei(n.routes,s,void 0,o),l,c=n.basename||"/";c.startsWith("/")||(c=`/${c}`);let h=n.dataStrategy||Oy,u={...n.future},f=null,p=new Set,m=null,b=null,y=null,v=n.hydrationData!=null,w=On(a,n.history.location,c),C=!1,j=null,S;if(w==null&&!n.patchRoutesOnNavigation){let k=Pt(404,{pathname:n.history.location.pathname}),{matches:P,route:M}=ho(a);S=!0,w=P,j={[M.id]:k}}else if(w&&!n.hydrationData&&so(w,a,n.history.location.pathname).active&&(w=null),w)if(w.some(k=>k.route.lazy))S=!1;else if(!w.some(k=>uh(k.route)))S=!0;else{let k=n.hydrationData?n.hydrationData.loaderData:null,P=n.hydrationData?n.hydrationData.errors:null;if(P){let M=w.findIndex(B=>P[B.route.id]!==void 0);S=w.slice(0,M+1).every(B=>!uc(B.route,k,P))}else S=w.every(M=>!uc(M.route,k,P))}else{S=!1,w=[];let k=so(null,a,n.history.location.pathname);k.active&&k.matches&&(C=!0,w=k.matches)}let O,x={historyAction:n.history.action,location:n.history.location,matches:w,initialized:S,navigation:il,restoreScrollPosition:n.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:n.hydrationData&&n.hydrationData.loaderData||{},actionData:n.hydrationData&&n.hydrationData.actionData||null,errors:n.hydrationData&&n.hydrationData.errors||j,fetchers:new Map,blockers:new Map},T="POP",N=null,R=!1,A,L=!1,W=new Map,F=null,$=!1,q=!1,he=new Set,z=new Map,J=0,ie=-1,le=new Map,ue=new Set,we=new Map,ke=new Map,Ne=new Set,Xe=new Map,gt,Y=null;function Me(){if(f=n.history.listen(({action:k,location:P,delta:M})=>{if(gt){gt(),gt=void 0;return}Le(Xe.size===0||M!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let B=wd({currentLocation:x.location,nextLocation:P,historyAction:k});if(B&&M!=null){let V=new Promise(Z=>{gt=Z});n.history.go(M*-1),io(B,{state:"blocked",location:P,proceed(){io(B,{state:"proceeding",proceed:void 0,reset:void 0,location:P}),V.then(()=>n.history.go(M))},reset(){let Z=new Map(x.blockers);Z.set(B,si),ve({blockers:Z})}}),N?.resolve(),N=null;return}return oe(k,P)}),t){Wy(e,W);let k=()=>Uy(e,W);e.addEventListener("pagehide",k),F=()=>e.removeEventListener("pagehide",k)}return x.initialized||oe("POP",x.location,{initialHydration:!0}),O}function Se(){f&&f(),F&&F(),p.clear(),A&&A.abort(),x.fetchers.forEach((k,P)=>Za(P)),x.blockers.forEach((k,P)=>vd(P))}function Ie(k){return p.add(k),()=>p.delete(k)}function ve(k,P={}){k.matches&&(k.matches=k.matches.map(V=>{let Z=o[V.route.id],Q=V.route;return Q.element!==Z.element||Q.errorElement!==Z.errorElement||Q.hydrateFallbackElement!==Z.hydrateFallbackElement?{...V,route:Z}:V})),x={...x,...k};let M=[],B=[];x.fetchers.forEach((V,Z)=>{V.state==="idle"&&(Ne.has(Z)?M.push(Z):B.push(Z))}),Ne.forEach(V=>{!x.fetchers.has(V)&&!z.has(V)&&M.push(V)}),[...p].forEach(V=>V(x,{deletedFetchers:M,newErrors:k.errors??null,viewTransitionOpts:P.viewTransitionOpts,flushSync:P.flushSync===!0})),M.forEach(V=>Za(V)),B.forEach(V=>x.fetchers.delete(V))}function bt(k,P,{flushSync:M}={}){let B=x.actionData!=null&&x.navigation.formMethod!=null&&et(x.navigation.formMethod)&&x.navigation.state==="loading"&&k.state?._isRedirect!==!0,V;P.actionData?Object.keys(P.actionData).length>0?V=P.actionData:V=null:B?V=x.actionData:V=null;let Z=P.loaderData?Ud(x.loaderData,P.loaderData,P.matches||[],P.errors):x.loaderData,Q=x.blockers;Q.size>0&&(Q=new Map(Q),Q.forEach((se,te)=>Q.set(te,si)));let X=$?!1:Sd(k,P.matches||x.matches),ee=R===!0||x.navigation.formMethod!=null&&et(x.navigation.formMethod)&&k.state?._isRedirect!==!0;l&&(a=l,l=void 0),$||T==="POP"||(T==="PUSH"?n.history.push(k,k.state):T==="REPLACE"&&n.history.replace(k,k.state));let re;if(T==="POP"){let se=W.get(x.location.pathname);se&&se.has(k.pathname)?re={currentLocation:x.location,nextLocation:k}:W.has(k.pathname)&&(re={currentLocation:k,nextLocation:x.location})}else if(L){let se=W.get(x.location.pathname);se?se.add(k.pathname):(se=new Set([k.pathname]),W.set(x.location.pathname,se)),re={currentLocation:x.location,nextLocation:k}}ve({...P,actionData:V,loaderData:Z,historyAction:T,location:k,initialized:!0,navigation:il,revalidation:"idle",restoreScrollPosition:X,preventScrollReset:ee,blockers:Q},{viewTransitionOpts:re,flushSync:M===!0}),T="POP",R=!1,L=!1,$=!1,q=!1,N?.resolve(),N=null,Y?.resolve(),Y=null}async function I(k,P){if(N?.resolve(),N=null,typeof k=="number"){N||(N=Jd());let ye=N.promise;return n.history.go(k),ye}let M=dc(x.location,x.matches,c,k,P?.fromRouteId,P?.relative),{path:B,submission:V,error:Z}=Id(!1,M,P),Q=x.location,X=Di(x.location,B,P&&P.state);X={...X,...n.history.encodeLocation(X)};let ee=P&&P.replace!=null?P.replace:void 0,re="PUSH";ee===!0?re="REPLACE":ee===!1||V!=null&&et(V.formMethod)&&V.formAction===x.location.pathname+x.location.search&&(re="REPLACE");let se=P&&"preventScrollReset"in P?P.preventScrollReset===!0:void 0,te=(P&&P.flushSync)===!0,be=wd({currentLocation:Q,nextLocation:X,historyAction:re});if(be){io(be,{state:"blocked",location:X,proceed(){io(be,{state:"proceeding",proceed:void 0,reset:void 0,location:X}),I(k,P)},reset(){let ye=new Map(x.blockers);ye.set(be,si),ve({blockers:ye})}});return}await oe(re,X,{submission:V,pendingError:Z,preventScrollReset:se,replace:P&&P.replace,enableViewTransition:P&&P.viewTransition,flushSync:te,callSiteDefaultShouldRevalidate:P&&P.unstable_defaultShouldRevalidate})}function G(){Y||(Y=Jd()),Xa(),ve({revalidation:"loading"});let k=Y.promise;return x.navigation.state==="submitting"?k:x.navigation.state==="idle"?(oe(x.historyAction,x.location,{startUninterruptedRevalidation:!0}),k):(oe(T||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation,enableViewTransition:L===!0}),k)}async function oe(k,P,M){A&&A.abort(),A=null,T=k,$=(M&&M.startUninterruptedRevalidation)===!0,w1(x.location,x.matches),R=(M&&M.preventScrollReset)===!0,L=(M&&M.enableViewTransition)===!0;let B=l||a,V=M&&M.overrideNavigation,Z=M?.initialHydration&&x.matches&&x.matches.length>0&&!C?x.matches:On(B,P,c),Q=(M&&M.flushSync)===!0;if(Z&&x.initialized&&!q&&Ry(x.location,P)&&!(M&&M.submission&&et(M.submission.formMethod))){bt(P,{matches:Z},{flushSync:Q});return}let X=so(Z,B,P.pathname);if(X.active&&X.matches&&(Z=X.matches),!Z){let{error:Ue,notFoundMatches:it,route:Ce}=el(P.pathname);bt(P,{matches:it,loaderData:{},errors:{[Ce.id]:Ue}},{flushSync:Q});return}A=new AbortController;let ee=yr(n.history,P,A.signal,M&&M.submission),re=n.getContext?await n.getContext():new Md,se;if(M&&M.pendingError)se=[Pn(Z).route.id,{type:"error",error:M.pendingError}];else if(M&&M.submission&&et(M.submission.formMethod)){let Ue=await Te(ee,P,M.submission,Z,re,X.active,M&&M.initialHydration===!0,{replace:M.replace,flushSync:Q});if(Ue.shortCircuited)return;if(Ue.pendingActionResult){let[it,Ce]=Ue.pendingActionResult;if(wt(Ce)&&Ri(Ce.error)&&Ce.error.status===404){A=null,bt(P,{matches:Ue.matches,loaderData:{},errors:{[it]:Ce.error}});return}}Z=Ue.matches||Z,se=Ue.pendingActionResult,V=sl(P,M.submission),Q=!1,X.active=!1,ee=yr(n.history,ee.url,ee.signal)}let{shortCircuited:te,matches:be,loaderData:ye,errors:Ge}=await hn(ee,P,Z,re,X.active,V,M&&M.submission,M&&M.fetcherSubmission,M&&M.replace,M&&M.initialHydration===!0,Q,se,M&&M.callSiteDefaultShouldRevalidate);te||(A=null,bt(P,{matches:be||Z,...Kd(se),loaderData:ye,errors:Ge}))}async function Te(k,P,M,B,V,Z,Q,X={}){Xa();let ee=_y(P,M);if(ve({navigation:ee},{flushSync:X.flushSync===!0}),Z){let te=await oo(B,P.pathname,k.signal);if(te.type==="aborted")return{shortCircuited:!0};if(te.type==="error"){if(te.partialMatches.length===0){let{matches:ye,route:Ge}=ho(a);return{matches:ye,pendingActionResult:[Ge.id,{type:"error",error:te.error}]}}let be=Pn(te.partialMatches).route.id;return{matches:te.partialMatches,pendingActionResult:[be,{type:"error",error:te.error}]}}else if(te.matches)B=te.matches;else{let{notFoundMatches:be,error:ye,route:Ge}=el(P.pathname);return{matches:be,pendingActionResult:[Ge.id,{type:"error",error:ye}]}}}let re,se=Ho(B,P);if(!se.route.action&&!se.route.lazy)re={type:"error",error:Pt(405,{method:k.method,pathname:P.pathname,routeId:se.route.id})};else{let te=Pr(s,o,k,B,se,Q?[]:r,V),be=await ni(k,te,V,null);if(re=be[se.route.id],!re){for(let ye of B)if(be[ye.route.id]){re=be[ye.route.id];break}}if(k.signal.aborted)return{shortCircuited:!0}}if(nr(re)){let te;return X&&X.replace!=null?te=X.replace:te=_d(re.response.headers.get("Location"),new URL(k.url),c)===x.location.pathname+x.location.search,await Un(k,re,!0,{submission:M,replace:te}),{shortCircuited:!0}}if(wt(re)){let te=Pn(B,se.route.id);return(X&&X.replace)!==!0&&(T="PUSH"),{matches:B,pendingActionResult:[te.route.id,re,se.route.id]}}return{matches:B,pendingActionResult:[se.route.id,re]}}async function hn(k,P,M,B,V,Z,Q,X,ee,re,se,te,be){let ye=Z||sl(P,Q),Ge=Q||X||qd(ye),Ue=!$&&!re;if(V){if(Ue){let Ze=eo(te);ve({navigation:ye,...Ze!==void 0?{actionData:Ze}:{}},{flushSync:se})}let ge=await oo(M,P.pathname,k.signal);if(ge.type==="aborted")return{shortCircuited:!0};if(ge.type==="error"){if(ge.partialMatches.length===0){let{matches:gr,route:qn}=ho(a);return{matches:gr,loaderData:{},errors:{[qn.id]:ge.error}}}let Ze=Pn(ge.partialMatches).route.id;return{matches:ge.partialMatches,loaderData:{},errors:{[Ze]:ge.error}}}else if(ge.matches)M=ge.matches;else{let{error:Ze,notFoundMatches:gr,route:qn}=el(P.pathname);return{matches:gr,loaderData:{},errors:{[qn.id]:Ze}}}}let it=l||a,{dsMatches:Ce,revalidatingFetchers:jt}=Bd(k,B,s,o,n.history,x,M,Ge,P,re?[]:r,re===!0,q,he,Ne,we,ue,it,c,n.patchRoutesOnNavigation!=null,te,be);if(ie=++J,!n.dataStrategy&&!Ce.some(ge=>ge.shouldLoad)&&!Ce.some(ge=>ge.route.middleware&&ge.route.middleware.length>0)&&jt.length===0){let ge=yd();return bt(P,{matches:M,loaderData:{},errors:te&&wt(te[1])?{[te[0]]:te[1].error}:null,...Kd(te),...ge?{fetchers:new Map(x.fetchers)}:{}},{flushSync:se}),{shortCircuited:!0}}if(Ue){let ge={};if(!V){ge.navigation=ye;let Ze=eo(te);Ze!==void 0&&(ge.actionData=Ze)}jt.length>0&&(ge.fetchers=to(jt)),ve(ge,{flushSync:se})}jt.forEach(ge=>{fn(ge.key),ge.controller&&z.set(ge.key,ge.controller)});let Kn=()=>jt.forEach(ge=>fn(ge.key));A&&A.signal.addEventListener("abort",Kn);let{loaderResults:ri,fetcherResults:kn}=await md(Ce,jt,k,B);if(k.signal.aborted)return{shortCircuited:!0};A&&A.signal.removeEventListener("abort",Kn),jt.forEach(ge=>z.delete(ge.key));let Wt=uo(ri);if(Wt)return await Un(k,Wt.result,!0,{replace:ee}),{shortCircuited:!0};if(Wt=uo(kn),Wt)return ue.add(Wt.key),await Un(k,Wt.result,!0,{replace:ee}),{shortCircuited:!0};let{loaderData:tl,errors:ii}=Wd(x,M,ri,te,jt,kn);re&&x.errors&&(ii={...x.errors,...ii});let Gn=yd(),ao=xd(ie),lo=Gn||ao||jt.length>0;return{matches:M,loaderData:tl,errors:ii,...lo?{fetchers:new Map(x.fetchers)}:{}}}function eo(k){if(k&&!wt(k[1]))return{[k[0]]:k[1].data};if(x.actionData)return Object.keys(x.actionData).length===0?null:x.actionData}function to(k){return k.forEach(P=>{let M=x.fetchers.get(P.key),B=oi(void 0,M?M.data:void 0);x.fetchers.set(P.key,B)}),new Map(x.fetchers)}async function no(k,P,M,B){fn(k);let V=(B&&B.flushSync)===!0,Z=l||a,Q=dc(x.location,x.matches,c,M,P,B?.relative),X=On(Z,Q,c),ee=so(X,Z,Q);if(ee.active&&ee.matches&&(X=ee.matches),!X){un(k,P,Pt(404,{pathname:Q}),{flushSync:V});return}let{path:re,submission:se,error:te}=Id(!0,Q,B);if(te){un(k,P,te,{flushSync:V});return}let be=n.getContext?await n.getContext():new Md,ye=(B&&B.preventScrollReset)===!0;if(se&&et(se.formMethod)){await ro(k,P,re,X,be,ee.active,V,ye,se,B&&B.unstable_defaultShouldRevalidate);return}we.set(k,{routeId:P,path:re}),await We(k,P,re,X,be,ee.active,V,ye,se)}async function ro(k,P,M,B,V,Z,Q,X,ee,re){Xa(),we.delete(k);let se=x.fetchers.get(k);dn(k,Hy(ee,se),{flushSync:Q});let te=new AbortController,be=yr(n.history,M,te.signal,ee);if(Z){let Ee=await oo(B,new URL(be.url).pathname,be.signal,k);if(Ee.type==="aborted")return;if(Ee.type==="error"){un(k,P,Ee.error,{flushSync:Q});return}else if(Ee.matches)B=Ee.matches;else{un(k,P,Pt(404,{pathname:M}),{flushSync:Q});return}}let ye=Ho(B,M);if(!ye.route.action&&!ye.route.lazy){let Ee=Pt(405,{method:ee.formMethod,pathname:M,routeId:P});un(k,P,Ee,{flushSync:Q});return}z.set(k,te);let Ge=J,Ue=Pr(s,o,be,B,ye,r,V),it=await ni(be,Ue,V,k),Ce=it[ye.route.id];if(!Ce){for(let Ee of Ue)if(it[Ee.route.id]){Ce=it[Ee.route.id];break}}if(be.signal.aborted){z.get(k)===te&&z.delete(k);return}if(Ne.has(k)){if(nr(Ce)||wt(Ce)){dn(k,pn(void 0));return}}else{if(nr(Ce))if(z.delete(k),ie>Ge){dn(k,pn(void 0));return}else return ue.add(k),dn(k,oi(ee)),Un(be,Ce,!1,{fetcherSubmission:ee,preventScrollReset:X});if(wt(Ce)){un(k,P,Ce.error);return}}let jt=x.navigation.location||x.location,Kn=yr(n.history,jt,te.signal),ri=l||a,kn=x.navigation.state!=="idle"?On(ri,x.navigation.location,c):x.matches;ce(kn,"Didn't find any matches after fetcher action");let Wt=++J;le.set(k,Wt);let tl=oi(ee,Ce.data);x.fetchers.set(k,tl);let{dsMatches:ii,revalidatingFetchers:Gn}=Bd(Kn,V,s,o,n.history,x,kn,ee,jt,r,!1,q,he,Ne,we,ue,ri,c,n.patchRoutesOnNavigation!=null,[ye.route.id,Ce],re);Gn.filter(Ee=>Ee.key!==k).forEach(Ee=>{let co=Ee.key,jd=x.fetchers.get(co),C1=oi(void 0,jd?jd.data:void 0);x.fetchers.set(co,C1),fn(co),Ee.controller&&z.set(co,Ee.controller)}),ve({fetchers:new Map(x.fetchers)});let ao=()=>Gn.forEach(Ee=>fn(Ee.key));te.signal.addEventListener("abort",ao);let{loaderResults:lo,fetcherResults:ge}=await md(ii,Gn,Kn,V);if(te.signal.aborted)return;if(te.signal.removeEventListener("abort",ao),le.delete(k),z.delete(k),Gn.forEach(Ee=>z.delete(Ee.key)),x.fetchers.has(k)){let Ee=pn(Ce.data);x.fetchers.set(k,Ee)}let Ze=uo(lo);if(Ze)return Un(Kn,Ze.result,!1,{preventScrollReset:X});if(Ze=uo(ge),Ze)return ue.add(Ze.key),Un(Kn,Ze.result,!1,{preventScrollReset:X});let{loaderData:gr,errors:qn}=Wd(x,kn,lo,void 0,Gn,ge);xd(Wt),x.navigation.state==="loading"&&Wt>ie?(ce(T,"Expected pending action"),A&&A.abort(),bt(x.navigation.location,{matches:kn,loaderData:gr,errors:qn,fetchers:new Map(x.fetchers)})):(ve({errors:qn,loaderData:Ud(x.loaderData,gr,kn,qn),fetchers:new Map(x.fetchers)}),q=!1)}async function We(k,P,M,B,V,Z,Q,X,ee){let re=x.fetchers.get(k);dn(k,oi(ee,re?re.data:void 0),{flushSync:Q});let se=new AbortController,te=yr(n.history,M,se.signal);if(Z){let Ce=await oo(B,new URL(te.url).pathname,te.signal,k);if(Ce.type==="aborted")return;if(Ce.type==="error"){un(k,P,Ce.error,{flushSync:Q});return}else if(Ce.matches)B=Ce.matches;else{un(k,P,Pt(404,{pathname:M}),{flushSync:Q});return}}let be=Ho(B,M);z.set(k,se);let ye=J,Ge=Pr(s,o,te,B,be,r,V),it=(await ni(te,Ge,V,k))[be.route.id];if(z.get(k)===se&&z.delete(k),!te.signal.aborted){if(Ne.has(k)){dn(k,pn(void 0));return}if(nr(it))if(ie>ye){dn(k,pn(void 0));return}else{ue.add(k),await Un(te,it,!1,{preventScrollReset:X});return}if(wt(it)){un(k,P,it.error);return}dn(k,pn(it.data))}}async function Un(k,P,M,{submission:B,fetcherSubmission:V,preventScrollReset:Z,replace:Q}={}){M||(N?.resolve(),N=null),P.response.headers.has("X-Remix-Revalidate")&&(q=!0);let X=P.response.headers.get("Location");ce(X,"Expected a Location header on the redirect Response"),X=_d(X,new URL(k.url),c);let ee=Di(x.location,X,{_isRedirect:!0});if(t){let Ge=!1;if(P.response.headers.has("X-Remix-Reload-Document"))Ge=!0;else if(Ta(X)){const Ue=im(X,!0);Ge=Ue.origin!==e.location.origin||Et(Ue.pathname,c)==null}if(Ge){Q?e.location.replace(X):e.location.assign(X);return}}A=null;let re=Q===!0||P.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:se,formAction:te,formEncType:be}=x.navigation;!B&&!V&&se&&te&&be&&(B=qd(x.navigation));let ye=B||V;if(yy.has(P.response.status)&&ye&&et(ye.formMethod))await oe(re,ee,{submission:{...ye,formAction:X},preventScrollReset:Z||R,enableViewTransition:M?L:void 0});else{let Ge=sl(ee,B);await oe(re,ee,{overrideNavigation:Ge,fetcherSubmission:V,preventScrollReset:Z||R,enableViewTransition:M?L:void 0})}}async function ni(k,P,M,B){let V,Z={};try{V=await Ay(h,k,P,B,M,!1)}catch(Q){return P.filter(X=>X.shouldLoad).forEach(X=>{Z[X.route.id]={type:"error",error:Q}}),Z}if(k.signal.aborted)return Z;if(!et(k.method))for(let Q of P){if(V[Q.route.id]?.type==="error")break;!V.hasOwnProperty(Q.route.id)&&!x.loaderData.hasOwnProperty(Q.route.id)&&(!x.errors||!x.errors.hasOwnProperty(Q.route.id))&&Q.shouldCallHandler()&&(V[Q.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${Q.route.id}`)})}for(let[Q,X]of Object.entries(V))if($y(X)){let ee=X.result;Z[Q]={type:"redirect",response:Dy(ee,k,Q,P,c)}}else Z[Q]=await Ty(X);return Z}async function md(k,P,M,B){let V=ni(M,k,B,null),Z=Promise.all(P.map(async ee=>{if(ee.matches&&ee.match&&ee.request&&ee.controller){let se=(await ni(ee.request,ee.matches,B,ee.key))[ee.match.route.id];return{[ee.key]:se}}else return Promise.resolve({[ee.key]:{type:"error",error:Pt(404,{pathname:ee.path})}})})),Q=await V,X=(await Z).reduce((ee,re)=>Object.assign(ee,re),{});return{loaderResults:Q,fetcherResults:X}}function Xa(){q=!0,we.forEach((k,P)=>{z.has(P)&&he.add(P),fn(P)})}function dn(k,P,M={}){x.fetchers.set(k,P),ve({fetchers:new Map(x.fetchers)},{flushSync:(M&&M.flushSync)===!0})}function un(k,P,M,B={}){let V=Pn(x.matches,P);Za(k),ve({errors:{[V.route.id]:M},fetchers:new Map(x.fetchers)},{flushSync:(B&&B.flushSync)===!0})}function gd(k){return ke.set(k,(ke.get(k)||0)+1),Ne.has(k)&&Ne.delete(k),x.fetchers.get(k)||xy}function b1(k,P){fn(k,P?.reason),dn(k,pn(null))}function Za(k){let P=x.fetchers.get(k);z.has(k)&&!(P&&P.state==="loading"&&le.has(k))&&fn(k),we.delete(k),le.delete(k),ue.delete(k),Ne.delete(k),he.delete(k),x.fetchers.delete(k)}function y1(k){let P=(ke.get(k)||0)-1;P<=0?(ke.delete(k),Ne.add(k)):ke.set(k,P),ve({fetchers:new Map(x.fetchers)})}function fn(k,P){let M=z.get(k);M&&(M.abort(P),z.delete(k))}function bd(k){for(let P of k){let M=gd(P),B=pn(M.data);x.fetchers.set(P,B)}}function yd(){let k=[],P=!1;for(let M of ue){let B=x.fetchers.get(M);ce(B,`Expected fetcher: ${M}`),B.state==="loading"&&(ue.delete(M),k.push(M),P=!0)}return bd(k),P}function xd(k){let P=[];for(let[M,B]of le)if(B<k){let V=x.fetchers.get(M);ce(V,`Expected fetcher: ${M}`),V.state==="loading"&&(fn(M),le.delete(M),P.push(M))}return bd(P),P.length>0}function x1(k,P){let M=x.blockers.get(k)||si;return Xe.get(k)!==P&&Xe.set(k,P),M}function vd(k){x.blockers.delete(k),Xe.delete(k)}function io(k,P){let M=x.blockers.get(k)||si;ce(M.state==="unblocked"&&P.state==="blocked"||M.state==="blocked"&&P.state==="blocked"||M.state==="blocked"&&P.state==="proceeding"||M.state==="blocked"&&P.state==="unblocked"||M.state==="proceeding"&&P.state==="unblocked",`Invalid blocker state transition: ${M.state} -> ${P.state}`);let B=new Map(x.blockers);B.set(k,P),ve({blockers:B})}function wd({currentLocation:k,nextLocation:P,historyAction:M}){if(Xe.size===0)return;Xe.size>1&&Le(!1,"A router only supports one blocker at a time");let B=Array.from(Xe.entries()),[V,Z]=B[B.length-1],Q=x.blockers.get(V);if(!(Q&&Q.state==="proceeding")&&Z({currentLocation:k,nextLocation:P,historyAction:M}))return V}function el(k){let P=Pt(404,{pathname:k}),M=l||a,{matches:B,route:V}=ho(M);return{notFoundMatches:B,route:V,error:P}}function v1(k,P,M){if(m=k,y=P,b=M||null,!v&&x.navigation===il){v=!0;let B=Sd(x.location,x.matches);B!=null&&ve({restoreScrollPosition:B})}return()=>{m=null,y=null,b=null}}function kd(k,P){return b&&b(k,P.map(B=>U1(B,x.loaderData)))||k.key}function w1(k,P){if(m&&y){let M=kd(k,P);m[M]=y()}}function Sd(k,P){if(m){let M=kd(k,P),B=m[M];if(typeof B=="number")return B}return null}function so(k,P,M){if(n.patchRoutesOnNavigation)if(k){if(Object.keys(k[0].params).length>0)return{active:!0,matches:yi(P,M,c,!0)}}else return{active:!0,matches:yi(P,M,c,!0)||[]};return{active:!1,matches:null}}async function oo(k,P,M,B){if(!n.patchRoutesOnNavigation)return{type:"success",matches:k};let V=k;for(;;){let Z=l==null,Q=l||a,X=o;try{await n.patchRoutesOnNavigation({signal:M,path:P,matches:V,fetcherKey:B,patch:(se,te)=>{M.aborted||$d(se,te,Q,X,s,!1)}})}catch(se){return{type:"error",error:se,partialMatches:V}}finally{Z&&!M.aborted&&(a=[...a])}if(M.aborted)return{type:"aborted"};let ee=On(Q,P,c),re=null;if(ee){if(Object.keys(ee[0].params).length===0)return{type:"success",matches:ee};if(re=yi(Q,P,c,!0),!(re&&V.length<re.length&&Cd(V,re.slice(0,V.length))))return{type:"success",matches:ee}}if(re||(re=yi(Q,P,c,!0)),!re||Cd(V,re))return{type:"success",matches:null};V=re}}function Cd(k,P){return k.length===P.length&&k.every((M,B)=>M.route.id===P[B].route.id)}function k1(k){o={},l=Ei(k,s,void 0,o)}function S1(k,P,M=!1){let B=l==null;$d(k,P,l||a,o,s,M),B&&(a=[...a],ve({}))}return O={get basename(){return c},get future(){return u},get state(){return x},get routes(){return a},get window(){return e},initialize:Me,subscribe:Ie,enableScrollRestoration:v1,navigate:I,fetch:no,revalidate:G,createHref:k=>n.history.createHref(k),encodeLocation:k=>n.history.encodeLocation(k),getFetcher:gd,resetFetcher:b1,deleteFetcher:y1,dispose:Se,getBlocker:x1,deleteBlocker:vd,patchRoutes:S1,_internalFetchControllers:z,_internalSetRoutes:k1,_internalSetStateDoNotUseOrYouWillBreakYourApp(k){ve(k)}},n.unstable_instrumentations&&(O=hy(O,n.unstable_instrumentations.map(k=>k.router).filter(Boolean))),O}function ky(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function dc(n,e,t,r,i,s){let o,a;if(i){o=[];for(let c of e)if(o.push(c),c.route.id===i){a=c;break}}else o=e,a=e[e.length-1];let l=Ea(r||".",Da(o),Et(n.pathname,t)||n.pathname,s==="path");if(r==null&&(l.search=n.search,l.hash=n.hash),(r==null||r===""||r===".")&&a){let c=ph(l.search);if(a.route.index&&!c)l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index";else if(!a.route.index&&c){let h=new URLSearchParams(l.search),u=h.getAll("index");h.delete("index"),u.filter(p=>p).forEach(p=>h.append("index",p));let f=h.toString();l.search=f?`?${f}`:""}}return t!=="/"&&(l.pathname=iy({basename:t,pathname:l.pathname})),sn(l)}function Id(n,e,t){if(!t||!ky(t))return{path:e};if(t.formMethod&&!zy(t.formMethod))return{path:e,error:Pt(405,{method:t.formMethod})};let r=()=>({path:e,error:Pt(400,{type:"invalid-body"})}),s=(t.formMethod||"get").toUpperCase(),o=wm(e);if(t.body!==void 0){if(t.formEncType==="text/plain"){if(!et(s))return r();let u=typeof t.body=="string"?t.body:t.body instanceof FormData||t.body instanceof URLSearchParams?Array.from(t.body.entries()).reduce((f,[p,m])=>`${f}${p}=${m}
19
+ `,""):String(t.body);return{path:e,submission:{formMethod:s,formAction:o,formEncType:t.formEncType,formData:void 0,json:void 0,text:u}}}else if(t.formEncType==="application/json"){if(!et(s))return r();try{let u=typeof t.body=="string"?JSON.parse(t.body):t.body;return{path:e,submission:{formMethod:s,formAction:o,formEncType:t.formEncType,formData:void 0,json:u,text:void 0}}}catch{return r()}}}ce(typeof FormData=="function","FormData is not available in this environment");let a,l;if(t.formData)a=pc(t.formData),l=t.formData;else if(t.body instanceof FormData)a=pc(t.body),l=t.body;else if(t.body instanceof URLSearchParams)a=t.body,l=Hd(a);else if(t.body==null)a=new URLSearchParams,l=new FormData;else try{a=new URLSearchParams(t.body),l=Hd(a)}catch{return r()}let c={formMethod:s,formAction:o,formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(et(c.formMethod))return{path:e,submission:c};let h=zn(e);return n&&h.search&&ph(h.search)&&a.append("index",""),h.search=`?${a}`,{path:sn(h),submission:c}}function Bd(n,e,t,r,i,s,o,a,l,c,h,u,f,p,m,b,y,v,w,C,j){let S=C?wt(C[1])?C[1].error:C[1].data:void 0,O=i.createURL(s.location),x=i.createURL(l),T;if(h&&s.errors){let $=Object.keys(s.errors)[0];T=o.findIndex(q=>q.route.id===$)}else if(C&&wt(C[1])){let $=C[0];T=o.findIndex(q=>q.route.id===$)-1}let N=C?C[1].statusCode:void 0,R=N&&N>=400,A={currentUrl:O,currentParams:s.matches[0]?.params||{},nextUrl:x,nextParams:o[0].params,...a,actionResult:S,actionStatus:N},L=$s(o),W=o.map(($,q)=>{let{route:he}=$,z=null;if(T!=null&&q>T?z=!1:he.lazy?z=!0:uh(he)?h?z=uc(he,s.loaderData,s.errors):Sy(s.loaderData,s.matches[q],$)&&(z=!0):z=!1,z!==null)return fc(t,r,n,L,$,c,e,z);let J=!1;typeof j=="boolean"?J=j:R?J=!1:(u||O.pathname+O.search===x.pathname+x.search||O.search!==x.search||Cy(s.matches[q],$))&&(J=!0);let ie={...A,defaultShouldRevalidate:J},le=Si($,ie);return fc(t,r,n,L,$,c,e,le,ie,j)}),F=[];return m.forEach(($,q)=>{if(h||!o.some(ke=>ke.route.id===$.routeId)||p.has(q))return;let he=s.fetchers.get(q),z=he&&he.state!=="idle"&&he.data===void 0,J=On(y,$.path,v);if(!J){if(w&&z)return;F.push({key:q,routeId:$.routeId,path:$.path,matches:null,match:null,request:null,controller:null});return}if(b.has(q))return;let ie=Ho(J,$.path),le=new AbortController,ue=yr(i,$.path,le.signal),we=null;if(f.has(q))f.delete(q),we=Pr(t,r,ue,J,ie,c,e);else if(z)u&&(we=Pr(t,r,ue,J,ie,c,e));else{let ke;typeof j=="boolean"?ke=j:R?ke=!1:ke=u;let Ne={...A,defaultShouldRevalidate:ke};Si(ie,Ne)&&(we=Pr(t,r,ue,J,ie,c,e,Ne))}we&&F.push({key:q,routeId:$.routeId,path:$.path,matches:we,match:ie,request:ue,controller:le})}),{dsMatches:W,revalidatingFetchers:F}}function uh(n){return n.loader!=null||n.middleware!=null&&n.middleware.length>0}function uc(n,e,t){if(n.lazy)return!0;if(!uh(n))return!1;let r=e!=null&&n.id in e,i=t!=null&&t[n.id]!==void 0;return!r&&i?!1:typeof n.loader=="function"&&n.loader.hydrate===!0?!0:!r&&!i}function Sy(n,e,t){let r=!e||t.route.id!==e.route.id,i=!n.hasOwnProperty(t.route.id);return r||i}function Cy(n,e){let t=n.route.path;return n.pathname!==e.pathname||t!=null&&t.endsWith("*")&&n.params["*"]!==e.params["*"]}function Si(n,e){if(n.route.shouldRevalidate){let t=n.route.shouldRevalidate(e);if(typeof t=="boolean")return t}return e.defaultShouldRevalidate}function $d(n,e,t,r,i,s){let o;if(n){let c=r[n];ce(c,`No route found to patch children into: routeId = ${n}`),c.children||(c.children=[]),o=c.children}else o=t;let a=[],l=[];if(e.forEach(c=>{let h=o.find(u=>gm(c,u));h?l.push({existingRoute:h,newRoute:c}):a.push(c)}),a.length>0){let c=Ei(a,i,[n||"_","patch",String(o?.length||"0")],r);o.push(...c)}if(s&&l.length>0)for(let c=0;c<l.length;c++){let{existingRoute:h,newRoute:u}=l[c],f=h,[p]=Ei([u],i,[],{},!0);Object.assign(f,{element:p.element?p.element:f.element,errorElement:p.errorElement?p.errorElement:f.errorElement,hydrateFallbackElement:p.hydrateFallbackElement?p.hydrateFallbackElement:f.hydrateFallbackElement})}}function gm(n,e){return"id"in n&&"id"in e&&n.id===e.id?!0:n.index===e.index&&n.path===e.path&&n.caseSensitive===e.caseSensitive?(!n.children||n.children.length===0)&&(!e.children||e.children.length===0)?!0:n.children.every((t,r)=>e.children?.some(i=>gm(t,i))):!1}var Fd=new WeakMap,bm=({key:n,route:e,manifest:t,mapRouteProperties:r})=>{let i=t[e.id];if(ce(i,"No route found in manifest"),!i.lazy||typeof i.lazy!="object")return;let s=i.lazy[n];if(!s)return;let o=Fd.get(i);o||(o={},Fd.set(i,o));let a=o[n];if(a)return a;let l=(async()=>{let c=z1(n),u=i[n]!==void 0&&n!=="hasErrorBoundary";if(c)Le(!c,"Route property "+n+" is not a supported lazy route property. This property will be ignored."),o[n]=Promise.resolve();else if(u)Le(!1,`Route "${i.id}" has a static property "${n}" defined. The lazy property will be ignored.`);else{let f=await s();f!=null&&(Object.assign(i,{[n]:f}),Object.assign(i,r(i)))}typeof i.lazy=="object"&&(i.lazy[n]=void 0,Object.values(i.lazy).every(f=>f===void 0)&&(i.lazy=void 0))})();return o[n]=l,l},Vd=new WeakMap;function jy(n,e,t,r,i){let s=t[n.id];if(ce(s,"No route found in manifest"),!n.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof n.lazy=="function"){let h=Vd.get(s);if(h)return{lazyRoutePromise:h,lazyHandlerPromise:h};let u=(async()=>{ce(typeof n.lazy=="function","No lazy route function found");let f=await n.lazy(),p={};for(let m in f){let b=f[m];if(b===void 0)continue;let y=H1(m),w=s[m]!==void 0&&m!=="hasErrorBoundary";y?Le(!y,"Route property "+m+" is not a supported property to be returned from a lazy route function. This property will be ignored."):w?Le(!w,`Route "${s.id}" has a static property "${m}" defined but its lazy function is also returning a value for this property. The lazy route property "${m}" will be ignored.`):p[m]=b}Object.assign(s,p),Object.assign(s,{...r(s),lazy:void 0})})();return Vd.set(s,u),u.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:u}}let o=Object.keys(n.lazy),a=[],l;for(let h of o){if(i&&i.includes(h))continue;let u=bm({key:h,route:n,manifest:t,mapRouteProperties:r});u&&(a.push(u),h===e&&(l=u))}let c=a.length>0?Promise.all(a).then(()=>{}):void 0;return c?.catch(()=>{}),l?.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:l}}async function zd(n){let e=n.matches.filter(i=>i.shouldLoad),t={};return(await Promise.all(e.map(i=>i.resolve()))).forEach((i,s)=>{t[e[s].route.id]=i}),t}async function Oy(n){return n.matches.some(e=>e.route.middleware)?ym(n,()=>zd(n)):zd(n)}function ym(n,e){return Py(n,e,r=>{if(Vy(r))throw r;return r},Iy,t);function t(r,i,s){if(s)return Promise.resolve(Object.assign(s.value,{[i]:{type:"error",result:r}}));{let{matches:o}=n,a=Math.min(Math.max(o.findIndex(c=>c.route.id===i),0),Math.max(o.findIndex(c=>c.shouldCallHandler()),0)),l=Pn(o,o[a].route.id).route.id;return Promise.resolve({[l]:{type:"error",result:r}})}}}async function Py(n,e,t,r,i){let{matches:s,request:o,params:a,context:l,unstable_pattern:c}=n,h=s.flatMap(f=>f.route.middleware?f.route.middleware.map(p=>[f.route.id,p]):[]);return await xm({request:o,params:a,context:l,unstable_pattern:c},h,e,t,r,i)}async function xm(n,e,t,r,i,s,o=0){let{request:a}=n;if(a.signal.aborted)throw a.signal.reason??new Error(`Request aborted: ${a.method} ${a.url}`);let l=e[o];if(!l)return await t();let[c,h]=l,u,f=async()=>{if(u)throw new Error("You may only call `next()` once per middleware");try{return u={value:await xm(n,e,t,r,i,s,o+1)},u.value}catch(p){return u={value:await s(p,c,u)},u.value}};try{let p=await h(n,f),m=p!=null?r(p):void 0;return i(m)?m:u?m??u.value:(u={value:await f()},u.value)}catch(p){return await s(p,c,u)}}function vm(n,e,t,r,i){let s=bm({key:"middleware",route:r.route,manifest:e,mapRouteProperties:n}),o=jy(r.route,et(t.method)?"action":"loader",e,n,i);return{middleware:s,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function fc(n,e,t,r,i,s,o,a,l=null,c){let h=!1,u=vm(n,e,t,i,s);return{...i,_lazyPromises:u,shouldLoad:a,shouldRevalidateArgs:l,shouldCallHandler(f){return h=!0,l?typeof c=="boolean"?Si(i,{...l,defaultShouldRevalidate:c}):typeof f=="boolean"?Si(i,{...l,defaultShouldRevalidate:f}):Si(i,l):a},resolve(f){let{lazy:p,loader:m,middleware:b}=i.route,y=h||a||f&&!et(t.method)&&(p||m),v=b&&b.length>0&&!m&&!p;return y&&(et(t.method)||!v)?Ny({request:t,unstable_pattern:r,match:i,lazyHandlerPromise:u?.handler,lazyRoutePromise:u?.route,handlerOverride:f,scopedContext:o}):Promise.resolve({type:"data",result:void 0})}}}function Pr(n,e,t,r,i,s,o,a=null){return r.map(l=>l.route.id!==i.route.id?{...l,shouldLoad:!1,shouldRevalidateArgs:a,shouldCallHandler:()=>!1,_lazyPromises:vm(n,e,t,l,s),resolve:()=>Promise.resolve({type:"data",result:void 0})}:fc(n,e,t,$s(r),l,s,o,!0,a))}async function Ay(n,e,t,r,i,s){t.some(c=>c._lazyPromises?.middleware)&&await Promise.all(t.map(c=>c._lazyPromises?.middleware));let o={request:e,unstable_pattern:$s(t),params:t[0].params,context:i,matches:t},l=await n({...o,fetcherKey:r,runClientMiddleware:c=>{let h=o;return ym(h,()=>c({...h,fetcherKey:r,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(t.flatMap(c=>[c._lazyPromises?.handler,c._lazyPromises?.route]))}catch{}return l}async function Ny({request:n,unstable_pattern:e,match:t,lazyHandlerPromise:r,lazyRoutePromise:i,handlerOverride:s,scopedContext:o}){let a,l,c=et(n.method),h=c?"action":"loader",u=f=>{let p,m=new Promise((v,w)=>p=w);l=()=>p(),n.signal.addEventListener("abort",l);let b=v=>typeof f!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${h}" [routeId: ${t.route.id}]`)):f({request:n,unstable_pattern:e,params:t.params,context:o},...v!==void 0?[v]:[]),y=(async()=>{try{return{type:"data",result:await(s?s(w=>b(w)):b())}}catch(v){return{type:"error",result:v}}})();return Promise.race([y,m])};try{let f=c?t.route.action:t.route.loader;if(r||i)if(f){let p,[m]=await Promise.all([u(f).catch(b=>{p=b}),r,i]);if(p!==void 0)throw p;a=m}else{await r;let p=c?t.route.action:t.route.loader;if(p)[a]=await Promise.all([u(p),i]);else if(h==="action"){let m=new URL(n.url),b=m.pathname+m.search;throw Pt(405,{method:n.method,pathname:b,routeId:t.route.id})}else return{type:"data",result:void 0}}else if(f)a=await u(f);else{let p=new URL(n.url),m=p.pathname+p.search;throw Pt(404,{pathname:m})}}catch(f){return{type:"error",result:f}}finally{l&&n.signal.removeEventListener("abort",l)}return a}async function My(n){let e=n.headers.get("Content-Type");return e&&/\bapplication\/json\b/.test(e)?n.body==null?null:n.json():n.text()}async function Ty(n){let{result:e,type:t}=n;if(fh(e)){let r;try{r=await My(e)}catch(i){return{type:"error",error:i}}return t==="error"?{type:"error",error:new Bs(e.status,e.statusText,r),statusCode:e.status,headers:e.headers}:{type:"data",data:r,statusCode:e.status,headers:e.headers}}return t==="error"?Gd(e)?e.data instanceof Error?{type:"error",error:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:Ly(e),statusCode:Ri(e)?e.status:void 0,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:e,statusCode:Ri(e)?e.status:void 0}:Gd(e)?{type:"data",data:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"data",data:e}}function Dy(n,e,t,r,i){let s=n.headers.get("Location");if(ce(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!Ta(s)){let o=r.slice(0,r.findIndex(a=>a.route.id===t)+1);s=dc(new URL(e.url),o,i,s),n.headers.set("Location",s)}return n}function _d(n,e,t){if(Ta(n)){let r=n,i=r.startsWith("//")?new URL(e.protocol+r):new URL(r),s=Et(i.pathname,t)!=null;if(i.origin===e.origin&&s)return i.pathname+i.search+i.hash}return n}function yr(n,e,t,r){let i=n.createURL(wm(e)).toString(),s={signal:t};if(r&&et(r.formMethod)){let{formMethod:o,formEncType:a}=r;s.method=o.toUpperCase(),a==="application/json"?(s.headers=new Headers({"Content-Type":a}),s.body=JSON.stringify(r.json)):a==="text/plain"?s.body=r.text:a==="application/x-www-form-urlencoded"&&r.formData?s.body=pc(r.formData):s.body=r.formData}return new Request(i,s)}function pc(n){let e=new URLSearchParams;for(let[t,r]of n.entries())e.append(t,typeof r=="string"?r:r.name);return e}function Hd(n){let e=new FormData;for(let[t,r]of n.entries())e.append(t,r);return e}function Ey(n,e,t,r=!1,i=!1){let s={},o=null,a,l=!1,c={},h=t&&wt(t[1])?t[1].error:void 0;return n.forEach(u=>{if(!(u.route.id in e))return;let f=u.route.id,p=e[f];if(ce(!nr(p),"Cannot handle redirect results in processLoaderData"),wt(p)){let m=p.error;if(h!==void 0&&(m=h,h=void 0),o=o||{},i)o[f]=m;else{let b=Pn(n,f);o[b.route.id]==null&&(o[b.route.id]=m)}r||(s[f]=mm),l||(l=!0,a=Ri(p.error)?p.error.status:500),p.headers&&(c[f]=p.headers)}else s[f]=p.data,p.statusCode&&p.statusCode!==200&&!l&&(a=p.statusCode),p.headers&&(c[f]=p.headers)}),h!==void 0&&t&&(o={[t[0]]:h},t[2]&&(s[t[2]]=void 0)),{loaderData:s,errors:o,statusCode:a||200,loaderHeaders:c}}function Wd(n,e,t,r,i,s){let{loaderData:o,errors:a}=Ey(e,t,r);return i.filter(l=>!l.matches||l.matches.some(c=>c.shouldLoad)).forEach(l=>{let{key:c,match:h,controller:u}=l;if(u&&u.signal.aborted)return;let f=s[c];if(ce(f,"Did not find corresponding fetcher result"),wt(f)){let p=Pn(n.matches,h?.route.id);a&&a[p.route.id]||(a={...a,[p.route.id]:f.error}),n.fetchers.delete(c)}else if(nr(f))ce(!1,"Unhandled fetcher revalidation redirect");else{let p=pn(f.data);n.fetchers.set(c,p)}}),{loaderData:o,errors:a}}function Ud(n,e,t,r){let i=Object.entries(e).filter(([,s])=>s!==mm).reduce((s,[o,a])=>(s[o]=a,s),{});for(let s of t){let o=s.route.id;if(!e.hasOwnProperty(o)&&n.hasOwnProperty(o)&&s.route.loader&&(i[o]=n[o]),r&&r.hasOwnProperty(o))break}return i}function Kd(n){return n?wt(n[1])?{actionData:{}}:{actionData:{[n[0]]:n[1].data}}:{}}function Pn(n,e){return(e?n.slice(0,n.findIndex(r=>r.route.id===e)+1):[...n]).reverse().find(r=>r.route.hasErrorBoundary===!0)||n[0]}function ho(n){let e=n.length===1?n[0]:n.find(t=>t.index||!t.path||t.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:e}],route:e}}function Pt(n,{pathname:e,routeId:t,method:r,type:i,message:s}={}){let o="Unknown Server Error",a="Unknown @remix-run/router error";return n===400?(o="Bad Request",r&&e&&t?a=`You made a ${r} request to "${e}" but did not provide a \`loader\` for route "${t}", so there is no way to handle the request.`:i==="invalid-body"&&(a="Unable to encode submission body")):n===403?(o="Forbidden",a=`Route "${t}" does not match URL "${e}"`):n===404?(o="Not Found",a=`No route matches URL "${e}"`):n===405&&(o="Method Not Allowed",r&&e&&t?a=`You made a ${r.toUpperCase()} request to "${e}" but did not provide an \`action\` for route "${t}", so there is no way to handle the request.`:r&&(a=`Invalid request method "${r.toUpperCase()}"`)),new Bs(n||500,o,new Error(a),!0)}function uo(n){let e=Object.entries(n);for(let t=e.length-1;t>=0;t--){let[r,i]=e[t];if(nr(i))return{key:r,result:i}}}function wm(n){let e=typeof n=="string"?zn(n):n;return sn({...e,hash:""})}function Ry(n,e){return n.pathname!==e.pathname||n.search!==e.search?!1:n.hash===""?e.hash!=="":n.hash===e.hash?!0:e.hash!==""}function Ly(n){return new Bs(n.init?.status??500,n.init?.statusText??"Internal Server Error",n.data)}function Iy(n){return n!=null&&typeof n=="object"&&Object.entries(n).every(([e,t])=>typeof e=="string"&&By(t))}function By(n){return n!=null&&typeof n=="object"&&"type"in n&&"result"in n&&(n.type==="data"||n.type==="error")}function $y(n){return fh(n.result)&&fm.has(n.result.status)}function wt(n){return n.type==="error"}function nr(n){return(n&&n.type)==="redirect"}function Gd(n){return typeof n=="object"&&n!=null&&"type"in n&&"data"in n&&"init"in n&&n.type==="DataWithResponseInit"}function fh(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function Fy(n){return fm.has(n)}function Vy(n){return fh(n)&&Fy(n.status)&&n.headers.has("Location")}function zy(n){return by.has(n.toUpperCase())}function et(n){return my.has(n.toUpperCase())}function ph(n){return new URLSearchParams(n).getAll("index").some(e=>e==="")}function Ho(n,e){let t=typeof e=="string"?zn(e).search:e.search;if(n[n.length-1].route.index&&ph(t||""))return n[n.length-1];let r=lm(n);return r[r.length-1]}function qd(n){let{formMethod:e,formAction:t,formEncType:r,text:i,formData:s,json:o}=n;if(!(!e||!t||!r)){if(i!=null)return{formMethod:e,formAction:t,formEncType:r,formData:void 0,json:void 0,text:i};if(s!=null)return{formMethod:e,formAction:t,formEncType:r,formData:s,json:void 0,text:void 0};if(o!==void 0)return{formMethod:e,formAction:t,formEncType:r,formData:void 0,json:o,text:void 0}}}function sl(n,e){return e?{state:"loading",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}:{state:"loading",location:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function _y(n,e){return{state:"submitting",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}}function oi(n,e){return n?{state:"loading",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Hy(n,e){return{state:"submitting",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e?e.data:void 0}}function pn(n){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function Wy(n,e){try{let t=n.sessionStorage.getItem(pm);if(t){let r=JSON.parse(t);for(let[i,s]of Object.entries(r||{}))s&&Array.isArray(s)&&e.set(i,new Set(s||[]))}}catch{}}function Uy(n,e){if(e.size>0){let t={};for(let[r,i]of e)t[r]=[...i];try{n.sessionStorage.setItem(pm,JSON.stringify(t))}catch(r){Le(!1,`Failed to save applied view transitions in sessionStorage (${r}).`)}}}function Jd(){let n,e,t=new Promise((r,i)=>{n=async s=>{r(s);try{await t}catch{}},e=async s=>{i(s);try{await t}catch{}}});return{promise:t,resolve:n,reject:e}}var ur=g.createContext(null);ur.displayName="DataRouter";var Fs=g.createContext(null);Fs.displayName="DataRouterState";var km=g.createContext(!1);function Ky(){return g.useContext(km)}var mh=g.createContext({isTransitioning:!1});mh.displayName="ViewTransition";var Sm=g.createContext(new Map);Sm.displayName="Fetchers";var Gy=g.createContext(null);Gy.displayName="Await";var St=g.createContext(null);St.displayName="Navigation";var Ra=g.createContext(null);Ra.displayName="Location";var Lt=g.createContext({outlet:null,matches:[],isDataRoute:!1});Lt.displayName="Route";var gh=g.createContext(null);gh.displayName="RouteError";var Cm="REACT_ROUTER_ERROR",qy="REDIRECT",Jy="ROUTE_ERROR_RESPONSE";function Yy(n){if(n.startsWith(`${Cm}:${qy}:{`))try{let e=JSON.parse(n.slice(28));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.location=="string"&&typeof e.reloadDocument=="boolean"&&typeof e.replace=="boolean")return e}catch{}}function Qy(n){if(n.startsWith(`${Cm}:${Jy}:{`))try{let e=JSON.parse(n.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new Bs(e.status,e.statusText,e.data)}catch{}}function Xy(n,{relative:e}={}){ce(Ur(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:r}=g.useContext(St),{hash:i,pathname:s,search:o}=Vs(n,{relative:e}),a=s;return t!=="/"&&(a=s==="/"?t:nn([t,s])),r.createHref({pathname:a,search:o,hash:i})}function Ur(){return g.useContext(Ra)!=null}function on(){return ce(Ur(),"useLocation() may be used only in the context of a <Router> component."),g.useContext(Ra).location}var jm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Om(n){g.useContext(St).static||g.useLayoutEffect(n)}function wn(){let{isDataRoute:n}=g.useContext(Lt);return n?fx():Zy()}function Zy(){ce(Ur(),"useNavigate() may be used only in the context of a <Router> component.");let n=g.useContext(ur),{basename:e,navigator:t}=g.useContext(St),{matches:r}=g.useContext(Lt),{pathname:i}=on(),s=JSON.stringify(Da(r)),o=g.useRef(!1);return Om(()=>{o.current=!0}),g.useCallback((l,c={})=>{if(Le(o.current,jm),!o.current)return;if(typeof l=="number"){t.go(l);return}let h=Ea(l,JSON.parse(s),i,c.relative==="path");n==null&&e!=="/"&&(h.pathname=h.pathname==="/"?e:nn([e,h.pathname])),(c.replace?t.replace:t.push)(h,c.state,c)},[e,t,s,i,n])}var Pm=g.createContext(null);function ex(){return g.useContext(Pm)}function tx(n){let e=g.useContext(Lt).outlet;return g.useMemo(()=>e&&g.createElement(Pm.Provider,{value:n},e),[e,n])}function Am(){let{matches:n}=g.useContext(Lt),e=n[n.length-1];return e?e.params:{}}function Vs(n,{relative:e}={}){let{matches:t}=g.useContext(Lt),{pathname:r}=on(),i=JSON.stringify(Da(t));return g.useMemo(()=>Ea(n,JSON.parse(i),r,e==="path"),[n,i,r,e])}function nx(n,e,t,r,i){ce(Ur(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=g.useContext(St),{matches:o}=g.useContext(Lt),a=o[o.length-1],l=a?a.params:{},c=a?a.pathname:"/",h=a?a.pathnameBase:"/",u=a&&a.route;{let w=u&&u.path||"";Mm(c,!u||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${w}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
20
20
 
21
- Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let f=nn(),p;p=f;let m=p.pathname||"/",g=m;if(h!=="/"){let w=h.replace(/^\//,"").split("/");g="/"+m.replace(/^\//,"").split("/").slice(w.length).join("/")}let y=Cn(n,{pathname:g});return Re(u||y!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),Re(y==null||y[y.length-1].route.element!==void 0||y[y.length-1].route.Component!==void 0||y[y.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),ex(y&&y.map(w=>Object.assign({},w,{params:Object.assign({},l,w.params),pathname:Zt([h,s.encodeLocation?s.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?h:Zt([h,s.encodeLocation?s.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),o,t,r,i)}function Yy(){let n=sx(),e=Di(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,r="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:r},s={padding:"2px 4px",backgroundColor:r},o=null;return console.error("Error handled by React Router default ErrorBoundary:",n),o=b.createElement(b.Fragment,null,b.createElement("p",null,"💿 Hey developer 👋"),b.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",b.createElement("code",{style:s},"ErrorBoundary")," or"," ",b.createElement("code",{style:s},"errorElement")," prop on your route.")),b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},e),t?b.createElement("pre",{style:i},t):null,o)}var Qy=b.createElement(Yy,null),wm=class extends b.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,e){return e.location!==n.location||e.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:e.error,location:e.location,revalidation:n.revalidation||e.revalidation}}componentDidCatch(n,e){this.props.onError?this.props.onError(n,e):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const t=Wy(n.digest);t&&(n=t)}let e=n!==void 0?b.createElement(Tt.Provider,{value:this.props.routeContext},b.createElement(uh.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?b.createElement(Xy,{error:n},e):e}};wm.contextType=pm;var nl=new WeakMap;function Xy({children:n,error:e}){let{basename:t}=b.useContext(vt);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let r=_y(e.digest);if(r){let i=nl.get(e);if(i)throw i;let s=nm(r.location,t);if(tm&&!nl.get(e))if(s.isExternal||r.reloadDocument)window.location.href=s.absoluteURL||s.to;else{const o=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:r.replace}));throw nl.set(e,o),o}return b.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return n}function Zy({routeContext:n,match:e,children:t}){let r=b.useContext(lr);return r&&r.static&&r.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=e.route.id),b.createElement(Tt.Provider,{value:n},t)}function ex(n,e=[],t=null,r=null,i=null){if(n==null){if(!t)return null;if(t.errors)n=t.matches;else if(e.length===0&&!t.initialized&&t.matches.length>0)n=t.matches;else return null}let s=n,o=t?.errors;if(o!=null){let h=s.findIndex(u=>u.route.id&&o?.[u.route.id]!==void 0);de(h>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),s=s.slice(0,Math.min(s.length,h+1))}let a=!1,l=-1;if(t)for(let h=0;h<s.length;h++){let u=s[h];if((u.route.HydrateFallback||u.route.hydrateFallbackElement)&&(l=h),u.route.id){let{loaderData:f,errors:p}=t,m=u.route.loader&&!f.hasOwnProperty(u.route.id)&&(!p||p[u.route.id]===void 0);if(u.route.lazy||m){a=!0,l>=0?s=s.slice(0,l+1):s=[s[0]];break}}}let c=t&&r?(h,u)=>{r(h,{location:t.location,params:t.matches?.[0]?.params??{},unstable_pattern:Ls(t.matches),errorInfo:u})}:void 0;return s.reduceRight((h,u,f)=>{let p,m=!1,g=null,y=null;t&&(p=o&&u.route.id?o[u.route.id]:void 0,g=u.route.errorElement||Qy,a&&(l<0&&f===0?(km("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,y=null):l===f&&(m=!0,y=u.route.hydrateFallbackElement||null)));let v=e.concat(s.slice(0,f+1)),w=()=>{let S;return p?S=g:m?S=y:u.route.Component?S=b.createElement(u.route.Component,null):u.route.element?S=u.route.element:S=h,b.createElement(Zy,{match:u,routeContext:{outlet:h,matches:v,isDataRoute:t!=null},children:S})};return t&&(u.route.ErrorBoundary||u.route.errorElement||f===0)?b.createElement(wm,{location:t.location,revalidation:t.revalidation,component:g,error:p,children:w(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:c}):w()},null)}function fh(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function tx(n){let e=b.useContext(lr);return de(e,fh(n)),e}function nx(n){let e=b.useContext(Is);return de(e,fh(n)),e}function rx(n){let e=b.useContext(Tt);return de(e,fh(n)),e}function ph(n){let e=rx(n),t=e.matches[e.matches.length-1];return de(t.route.id,`${n} can only be used on routes that contain a unique "id"`),t.route.id}function ix(){return ph("useRouteId")}function sx(){let n=b.useContext(uh),e=nx("useRouteError"),t=ph("useRouteError");return n!==void 0?n:e.errors?.[t]}function ox(){let{router:n}=tx("useNavigate"),e=ph("useNavigate"),t=b.useRef(!1);return ym(()=>{t.current=!0}),b.useCallback(async(i,s={})=>{Re(t.current,bm),t.current&&(typeof i=="number"?await n.navigate(i):await n.navigate(i,{fromRouteId:e,...s}))},[n,e])}var Kd={};function km(n,e,t){!e&&!Kd[n]&&(Kd[n]=!0,Re(!1,t))}var Gd={};function qd(n,e){!n&&!Gd[e]&&(Gd[e]=!0,console.warn(e))}var ax="useOptimistic",Jd=v1[ax],lx=()=>{};function cx(n){return Jd?Jd(n):[n,lx]}function hx(n){let e={hasErrorBoundary:n.hasErrorBoundary||n.ErrorBoundary!=null||n.errorElement!=null};return n.Component&&(n.element&&Re(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(e,{element:b.createElement(n.Component),Component:void 0})),n.HydrateFallback&&(n.hydrateFallbackElement&&Re(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(e,{hydrateFallbackElement:b.createElement(n.HydrateFallback),HydrateFallback:void 0})),n.ErrorBoundary&&(n.errorElement&&Re(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(e,{errorElement:b.createElement(n.ErrorBoundary),ErrorBoundary:void 0})),e}var dx=["HydrateFallback","hydrateFallbackElement"],ux=class{constructor(){this.status="pending",this.promise=new Promise((n,e)=>{this.resolve=t=>{this.status==="pending"&&(this.status="resolved",n(t))},this.reject=t=>{this.status==="pending"&&(this.status="rejected",e(t))}})}};function fx({router:n,flushSync:e,onError:t,unstable_useTransitions:r}){r=Fy()||r;let[s,o]=b.useState(n.state),[a,l]=cx(s),[c,h]=b.useState(),[u,f]=b.useState({isTransitioning:!1}),[p,m]=b.useState(),[g,y]=b.useState(),[v,w]=b.useState(),S=b.useRef(new Map),O=b.useCallback((D,{deletedFetchers:M,newErrors:L,flushSync:A,viewTransitionOpts:I})=>{L&&t&&Object.values(L).forEach(V=>t(V,{location:D.location,params:D.matches[0]?.params??{},unstable_pattern:Ls(D.matches)})),D.fetchers.forEach((V,$)=>{V.data!==void 0&&S.current.set($,V.data)}),M.forEach(V=>S.current.delete(V)),qd(A===!1||e!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let W=n.window!=null&&n.window.document!=null&&typeof n.window.document.startViewTransition=="function";if(qd(I==null||W,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!I||!W){e&&A?e(()=>o(D)):r===!1?o(D):b.startTransition(()=>{r===!0&&l(V=>Yd(V,D)),o(D)});return}if(e&&A){e(()=>{g&&(p?.resolve(),g.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:I.currentLocation,nextLocation:I.nextLocation})});let V=n.window.document.startViewTransition(()=>{e(()=>o(D))});V.finished.finally(()=>{e(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})})}),e(()=>y(V));return}g?(p?.resolve(),g.skipTransition(),w({state:D,currentLocation:I.currentLocation,nextLocation:I.nextLocation})):(h(D),f({isTransitioning:!0,flushSync:!1,currentLocation:I.currentLocation,nextLocation:I.nextLocation}))},[n.window,e,g,p,r,l,t]);b.useLayoutEffect(()=>n.subscribe(O),[n,O]),b.useEffect(()=>{u.isTransitioning&&!u.flushSync&&m(new ux)},[u]),b.useEffect(()=>{if(p&&c&&n.window){let D=c,M=p.promise,L=n.window.document.startViewTransition(async()=>{r===!1?o(D):b.startTransition(()=>{r===!0&&l(A=>Yd(A,D)),o(D)}),await M});L.finished.finally(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})}),y(L)}},[c,p,n.window,r,l]),b.useEffect(()=>{p&&c&&a.location.key===c.location.key&&p.resolve()},[p,g,a.location,c]),b.useEffect(()=>{!u.isTransitioning&&v&&(h(v.state),f({isTransitioning:!0,flushSync:!1,currentLocation:v.currentLocation,nextLocation:v.nextLocation}),w(void 0))},[u.isTransitioning,v]);let C=b.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:D=>n.navigate(D),push:(D,M,L)=>n.navigate(D,{state:M,preventScrollReset:L?.preventScrollReset}),replace:(D,M,L)=>n.navigate(D,{replace:!0,state:M,preventScrollReset:L?.preventScrollReset})}),[n]),P=n.basename||"/",x=b.useMemo(()=>({router:n,navigator:C,static:!1,basename:P,onError:t}),[n,C,P,t]);return b.createElement(b.Fragment,null,b.createElement(lr.Provider,{value:x},b.createElement(Is.Provider,{value:a},b.createElement(mm.Provider,{value:S.current},b.createElement(dh.Provider,{value:u},b.createElement(bx,{basename:P,location:a.location,navigationType:a.historyAction,navigator:C,unstable_useTransitions:r},b.createElement(px,{routes:n.routes,future:n.future,state:a,onError:t})))))),null)}function Yd(n,e){return{...n,navigation:e.navigation.state!=="idle"?e.navigation:n.navigation,revalidation:e.revalidation!=="idle"?e.revalidation:n.revalidation,actionData:e.navigation.state!=="submitting"?e.actionData:n.actionData,fetchers:e.fetchers}}var px=b.memo(mx);function mx({routes:n,future:e,state:t,onError:r}){return Jy(n,void 0,t,r,e)}function rl({to:n,replace:e,state:t,relative:r}){de(zr(),"<Navigate> may be used only in the context of a <Router> component.");let{static:i}=b.useContext(vt);Re(!i,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:s}=b.useContext(Tt),{pathname:o}=nn(),a=yn(),l=Aa(n,Pa(s),o,r==="path"),c=JSON.stringify(l);return b.useEffect(()=>{a(JSON.parse(c),{replace:e,state:t,relative:r})},[a,c,r,e,t]),null}function gx(n){return qy(n.context)}function bx({basename:n="/",children:e=null,location:t,navigationType:r="POP",navigator:i,static:s=!1,unstable_useTransitions:o}){de(!zr(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=n.replace(/^\/*/,"/"),l=b.useMemo(()=>({basename:a,navigator:i,static:s,unstable_useTransitions:o,future:{}}),[a,i,s,o]);typeof t=="string"&&(t=Fn(t));let{pathname:c="/",search:h="",hash:u="",state:f=null,key:p="default"}=t,m=b.useMemo(()=>{let g=Nt(c,a);return g==null?null:{location:{pathname:g,search:h,hash:u,state:f,key:p},navigationType:r}},[a,c,h,u,f,p,r]);return Re(m!=null,`<Router basename="${a}"> is not able to match the URL "${c}${h}${u}" because it does not start with the basename, so the <Router> won't render anything.`),m==null?null:b.createElement(vt.Provider,{value:l},b.createElement(Ma.Provider,{children:e,value:m}))}var Fo="get",Vo="application/x-www-form-urlencoded";function Na(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function yx(n){return Na(n)&&n.tagName.toLowerCase()==="button"}function xx(n){return Na(n)&&n.tagName.toLowerCase()==="form"}function vx(n){return Na(n)&&n.tagName.toLowerCase()==="input"}function wx(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function kx(n,e){return n.button===0&&(!e||e==="_self")&&!wx(n)}var ao=null;function Sx(){if(ao===null)try{new FormData(document.createElement("form"),0),ao=!1}catch{ao=!0}return ao}var Cx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function il(n){return n!=null&&!Cx.has(n)?(Re(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Vo}"`),null):n}function jx(n,e){let t,r,i,s,o;if(xx(n)){let a=n.getAttribute("action");r=a?Nt(a,e):null,t=n.getAttribute("method")||Fo,i=il(n.getAttribute("enctype"))||Vo,s=new FormData(n)}else if(yx(n)||vx(n)&&(n.type==="submit"||n.type==="image")){let a=n.form;if(a==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=n.getAttribute("formaction")||a.getAttribute("action");if(r=l?Nt(l,e):null,t=n.getAttribute("formmethod")||a.getAttribute("method")||Fo,i=il(n.getAttribute("formenctype"))||il(a.getAttribute("enctype"))||Vo,s=new FormData(a,n),!Sx()){let{name:c,type:h,value:u}=n;if(h==="image"){let f=c?`${c}.`:"";s.append(`${f}x`,"0"),s.append(`${f}y`,"0")}else c&&s.append(c,u)}}else{if(Na(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=Fo,r=null,i=Vo,o=n}return s&&i==="text/plain"&&(o=s,s=void 0),{action:r,method:t.toLowerCase(),encType:i,formData:s,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function mh(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Ox(n,e,t){let r=typeof n=="string"?new URL(n,typeof window>"u"?"server://singlefetch/":window.location.origin):n;return r.pathname==="/"?r.pathname=`_root.${t}`:e&&Nt(r.pathname,e)==="/"?r.pathname=`${e.replace(/\/$/,"")}/_root.${t}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${t}`,r}async function Px(n,e){if(n.id in e)return e[n.id];try{let t=await import(n.module);return e[n.id]=t,t}catch(t){return console.error(`Error loading route module \`${n.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Ax(n){return n==null?!1:n.href==null?n.rel==="preload"&&typeof n.imageSrcSet=="string"&&typeof n.imageSizes=="string":typeof n.rel=="string"&&typeof n.href=="string"}async function Mx(n,e,t){let r=await Promise.all(n.map(async i=>{let s=e.routes[i.route.id];if(s){let o=await Px(s,t);return o.links?o.links():[]}return[]}));return Ex(r.flat(1).filter(Ax).filter(i=>i.rel==="stylesheet"||i.rel==="preload").map(i=>i.rel==="stylesheet"?{...i,rel:"prefetch",as:"style"}:{...i,rel:"prefetch"}))}function Qd(n,e,t,r,i,s){let o=(l,c)=>t[c]?l.route.id!==t[c].route.id:!0,a=(l,c)=>t[c].pathname!==l.pathname||t[c].route.path?.endsWith("*")&&t[c].params["*"]!==l.params["*"];return s==="assets"?e.filter((l,c)=>o(l,c)||a(l,c)):s==="data"?e.filter((l,c)=>{let h=r.routes[l.route.id];if(!h||!h.hasLoader)return!1;if(o(l,c)||a(l,c))return!0;if(l.route.shouldRevalidate){let u=l.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(n,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof u=="boolean")return u}return!0}):[]}function Nx(n,e,{includeHydrateFallback:t}={}){return Dx(n.map(r=>{let i=e.routes[r.route.id];if(!i)return[];let s=[i.module];return i.clientActionModule&&(s=s.concat(i.clientActionModule)),i.clientLoaderModule&&(s=s.concat(i.clientLoaderModule)),t&&i.hydrateFallbackModule&&(s=s.concat(i.hydrateFallbackModule)),i.imports&&(s=s.concat(i.imports)),s}).flat(1))}function Dx(n){return[...new Set(n)]}function Tx(n){let e={},t=Object.keys(n).sort();for(let r of t)e[r]=n[r];return e}function Ex(n,e){let t=new Set;return new Set(e),n.reduce((r,i)=>{let s=JSON.stringify(Tx(i));return t.has(s)||(t.add(s),r.push({key:s,link:i})),r},[])}function Sm(){let n=b.useContext(lr);return mh(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function Rx(){let n=b.useContext(Is);return mh(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var gh=b.createContext(void 0);gh.displayName="FrameworkContext";function Cm(){let n=b.useContext(gh);return mh(n,"You must render this element inside a <HydratedRouter> element"),n}function Lx(n,e){let t=b.useContext(gh),[r,i]=b.useState(!1),[s,o]=b.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:c,onMouseLeave:h,onTouchStart:u}=e,f=b.useRef(null);b.useEffect(()=>{if(n==="render"&&o(!0),n==="viewport"){let g=v=>{v.forEach(w=>{o(w.isIntersecting)})},y=new IntersectionObserver(g,{threshold:.5});return f.current&&y.observe(f.current),()=>{y.disconnect()}}},[n]),b.useEffect(()=>{if(r){let g=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(g)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return t?n!=="intent"?[s,f,{}]:[s,f,{onFocus:ii(a,p),onBlur:ii(l,m),onMouseEnter:ii(c,p),onMouseLeave:ii(h,m),onTouchStart:ii(u,p)}]:[!1,f,{}]}function ii(n,e){return t=>{n&&n(t),t.defaultPrevented||e(t)}}function Ix({page:n,...e}){let{router:t}=Sm(),r=b.useMemo(()=>Cn(t.routes,n,t.basename),[t.routes,n,t.basename]);return r?b.createElement($x,{page:n,matches:r,...e}):null}function Bx(n){let{manifest:e,routeModules:t}=Cm(),[r,i]=b.useState([]);return b.useEffect(()=>{let s=!1;return Mx(n,e,t).then(o=>{s||i(o)}),()=>{s=!0}},[n,e,t]),r}function $x({page:n,matches:e,...t}){let r=nn(),{manifest:i,routeModules:s}=Cm(),{basename:o}=Sm(),{loaderData:a,matches:l}=Rx(),c=b.useMemo(()=>Qd(n,e,l,i,r,"data"),[n,e,l,i,r]),h=b.useMemo(()=>Qd(n,e,l,i,r,"assets"),[n,e,l,i,r]),u=b.useMemo(()=>{if(n===r.pathname+r.search+r.hash)return[];let m=new Set,g=!1;if(e.forEach(v=>{let w=i.routes[v.route.id];!w||!w.hasLoader||(!c.some(S=>S.route.id===v.route.id)&&v.route.id in a&&s[v.route.id]?.shouldRevalidate||w.hasClientLoader?g=!0:m.add(v.route.id))}),m.size===0)return[];let y=Ox(n,o,"data");return g&&m.size>0&&y.searchParams.set("_routes",e.filter(v=>m.has(v.route.id)).map(v=>v.route.id).join(",")),[y.pathname+y.search]},[o,a,r,i,c,e,n,s]),f=b.useMemo(()=>Nx(h,i),[h,i]),p=Bx(h);return b.createElement(b.Fragment,null,u.map(m=>b.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...t})),f.map(m=>b.createElement("link",{key:m,rel:"modulepreload",href:m,...t})),p.map(({key:m,link:g})=>b.createElement("link",{key:m,nonce:t.nonce,...g})))}function Fx(...n){return e=>{n.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var Vx=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Vx&&(window.__reactRouterVersion="7.11.0")}catch{}function zx(n,e){return py({basename:e?.basename,getContext:e?.getContext,future:e?.future,history:N1({window:e?.window}),hydrationData:Hx(),routes:n,mapRouteProperties:hx,hydrationRouteProperties:dx,dataStrategy:e?.dataStrategy,patchRoutesOnNavigation:e?.patchRoutesOnNavigation,window:e?.window,unstable_instrumentations:e?.unstable_instrumentations}).initialize()}function Hx(){let n=window?.__staticRouterHydrationData;return n&&n.errors&&(n={...n,errors:_x(n.errors)}),n}function _x(n){if(!n)return null;let e=Object.entries(n),t={};for(let[r,i]of e)if(i&&i.__type==="RouteErrorResponse")t[r]=new Rs(i.status,i.statusText,i.data,i.internal===!0);else if(i&&i.__type==="Error"){if(i.__subType){let s=window[i.__subType];if(typeof s=="function")try{let o=new s(i.message);o.stack="",t[r]=o}catch{}}if(t[r]==null){let s=new Error(i.message);s.stack="",t[r]=s}}else t[r]=i;return t}var jm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Om=b.forwardRef(function({onClick:e,discover:t="render",prefetch:r="none",relative:i,reloadDocument:s,replace:o,state:a,target:l,to:c,preventScrollReset:h,viewTransition:u,unstable_defaultShouldRevalidate:f,...p},m){let{basename:g,unstable_useTransitions:y}=b.useContext(vt),v=typeof c=="string"&&jm.test(c),w=nm(c,g);c=w.to;let S=Uy(c,{relative:i}),[O,C,P]=Lx(r,p),x=Gx(c,{replace:o,state:a,target:l,preventScrollReset:h,relative:i,viewTransition:u,unstable_defaultShouldRevalidate:f,unstable_useTransitions:y});function D(L){e&&e(L),L.defaultPrevented||x(L)}let M=b.createElement("a",{...p,...P,href:w.absoluteURL||S,onClick:w.isExternal||s?e:D,ref:Fx(m,C),target:l,"data-discover":!v&&t==="render"?"true":void 0});return O&&!v?b.createElement(b.Fragment,null,M,b.createElement(Ix,{page:S})):M});Om.displayName="Link";var Wx=b.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:r="",end:i=!1,style:s,to:o,viewTransition:a,children:l,...c},h){let u=Bs(o,{relative:c.relative}),f=nn(),p=b.useContext(Is),{navigator:m,basename:g}=b.useContext(vt),y=p!=null&&Xx(u)&&a===!0,v=m.encodeLocation?m.encodeLocation(u).pathname:u.pathname,w=f.pathname,S=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(w=w.toLowerCase(),S=S?S.toLowerCase():null,v=v.toLowerCase()),S&&g&&(S=Nt(S,g)||S);const O=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let C=w===v||!i&&w.startsWith(v)&&w.charAt(O)==="/",P=S!=null&&(S===v||!i&&S.startsWith(v)&&S.charAt(v.length)==="/"),x={isActive:C,isPending:P,isTransitioning:y},D=C?e:void 0,M;typeof r=="function"?M=r(x):M=[r,C?"active":null,P?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let L=typeof s=="function"?s(x):s;return b.createElement(Om,{...c,"aria-current":D,className:M,ref:h,style:L,to:o,viewTransition:a},typeof l=="function"?l(x):l)});Wx.displayName="NavLink";var Ux=b.forwardRef(({discover:n="render",fetcherKey:e,navigate:t,reloadDocument:r,replace:i,state:s,method:o=Fo,action:a,onSubmit:l,relative:c,preventScrollReset:h,viewTransition:u,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:g}=b.useContext(vt),y=Yx(),v=Qx(a,{relative:c}),w=o.toLowerCase()==="get"?"get":"post",S=typeof a=="string"&&jm.test(a),O=C=>{if(l&&l(C),C.defaultPrevented)return;C.preventDefault();let P=C.nativeEvent.submitter,x=P?.getAttribute("formmethod")||o,D=()=>y(P||C.currentTarget,{fetcherKey:e,method:x,navigate:t,replace:i,state:s,relative:c,preventScrollReset:h,viewTransition:u,unstable_defaultShouldRevalidate:f});g&&t!==!1?b.startTransition(()=>D()):D()};return b.createElement("form",{ref:m,method:w,action:v,onSubmit:r?l:O,...p,"data-discover":!S&&n==="render"?"true":void 0})});Ux.displayName="Form";function Kx(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Pm(n){let e=b.useContext(lr);return de(e,Kx(n)),e}function Gx(n,{target:e,replace:t,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let c=yn(),h=nn(),u=Bs(n,{relative:s});return b.useCallback(f=>{if(kx(f,e)){f.preventDefault();let p=t!==void 0?t:tn(h)===tn(u),m=()=>c(n,{replace:p,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a});l?b.startTransition(()=>m()):m()}},[h,c,u,t,r,e,n,i,s,o,a,l])}var qx=0,Jx=()=>`__${String(++qx)}__`;function Yx(){let{router:n}=Pm("useSubmit"),{basename:e}=b.useContext(vt),t=ix(),r=n.fetch,i=n.navigate;return b.useCallback(async(s,o={})=>{let{action:a,method:l,encType:c,formData:h,body:u}=jx(s,e);if(o.navigate===!1){let f=o.fetcherKey||Jx();await r(f,t,o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:h,body:u,formMethod:o.method||l,formEncType:o.encType||c,flushSync:o.flushSync})}else await i(o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:h,body:u,formMethod:o.method||l,formEncType:o.encType||c,replace:o.replace,state:o.state,fromRouteId:t,flushSync:o.flushSync,viewTransition:o.viewTransition})},[r,i,e,t])}function Qx(n,{relative:e}={}){let{basename:t}=b.useContext(vt),r=b.useContext(Tt);de(r,"useFormAction must be used inside a RouteContext");let[i]=r.matches.slice(-1),s={...Bs(n||".",{relative:e})},o=nn();if(n==null){s.search=o.search;let a=new URLSearchParams(s.search),l=a.getAll("index");if(l.some(h=>h==="")){a.delete("index"),l.filter(u=>u).forEach(u=>a.append("index",u));let h=a.toString();s.search=h?`?${h}`:""}}return(!n||n===".")&&i.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(s.pathname=s.pathname==="/"?t:Zt([t,s.pathname])),tn(s)}function Xx(n,{relative:e}={}){let t=b.useContext(dh);de(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Pm("useViewTransitionState"),i=Bs(n,{relative:e});if(!t.isTransitioning)return!1;let s=Nt(t.currentLocation.pathname,r)||t.currentLocation.pathname,o=Nt(t.nextLocation.pathname,r)||t.nextLocation.pathname;return Qo(i.pathname,o)!=null||Qo(i.pathname,s)!=null}function Zx(n){return b.createElement(fx,{flushSync:Kp.flushSync,...n})}const ev={en:{loading:"Loading...",error:"Error",selectProject:"Select a project to view dashboard",controlCenter:"Control Center",settings:"Settings",sync:"Sync",offline:"Offline",switchToLight:"Switch to light mode",switchToDark:"Switch to dark mode",settingsSection:"Settings",configEditor:"Config Editor",projects:"Projects",addProject:"Add Project",global:"Global",skills:"Skills",health:"Health",collapse:"Collapse",expand:"Expand",installing:"Installing...",manage:"Manage",uninstall:"Uninstall",installGlobally:"Install Globally",installGloballyDesc:"Available to all projects instead of current project only",selectAtLeastOneAgent:"Please select at least one agent",installationFailed:"Installation failed",allSkills:"All Skills",refresh:"Refresh",browseAndManageSkills:"Browse and manage skills for your agents",detected:"Detected",notDetected:"Not detected",sessions:"sessions",noSessions:"No sessions",terminal:"Terminal",terminalSub:"Open bash at path",editor:"Editor",editorSub:"Open in VS Code",useGlobalFallback:"Use global fallback",openAtPath:"Open at project path",openAppOnly:"Open app only",actionOptionsLoadFailed:"Could not load editor/terminal options",launch:"Launch",launchSub:"Start Claude Code",config:"Config",configSub:"Manage project settings",recentSessions:"Recent Sessions",viewAllHistory:"View All History",showLess:"Show Less",actionFailed:"Action failed",loadingSessions:"Loading sessions...",noSessionsFound:"No sessions found",configuration:"Claude Settings",activeKit:"Active Kit",aiModel:"Model",hooks:"Hooks",active:"active",mcpServers:"MCP Servers",connected:"connected",editProjectConfig:"Edit Project Config",globalSettings:"(Global)",globalSkills:"Global Skills",loadingSkills:"Loading skills...",noDescription:"No description",browseSkillsMarketplace:"Browse Skills Marketplace",backToDashboard:"Back to Dashboard",educationalConfigEditor:"Educational Config Editor",discard:"Discard",saveChanges:"Save Changes",mergedView:"Merged View",localConfig:"Local (.ck.json)",globalConfig:"Global",syntaxValid:"Syntax Valid",configurationHelp:"Configuration Help",field:"Field",type:"Type",default:"Default",description:"Description",validValues:"Valid Values",systemEffect:"System Effect",exampleUsage:"Example Usage",knowledgeBase:"Knowledge Base",clickToSeeHelp:"Click on any configuration field to see detailed documentation and usage examples.",extractedFrom:"Extracted from ClaudeKit v2.x Specification",resetToDefault:"Reset",saving:"Saving...",saved:"Saved",confirmReset:"Reset to Default?",confirmResetMessage:"All changes will be lost and replaced with default values.",confirm:"Confirm",saveFailed:"Save failed",configTab:"Config",systemTab:"System",formTab:"Form",jsonTab:"JSON",readOnly:"Read-only",installedKit:"Installed Kit",kitVersion:"Kit Version",installedOn:"Installed On",noKitInstalled:"No kit installed",components:"Components",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"File Ownership",ownershipCk:"kit-managed",ownershipUser:"user-owned",ownershipModified:"modified",componentInventory:"Component Inventory",installedHooks:"Installed Hooks",installedMcpServers:"MCP Servers",lastChecked:"Last update check",staleIndicator:"Stale",skippedVersion:"Skipped",filesModifiedFromDefaults:"files modified from kit defaults",cliCard:"ClaudeKit CLI",checkForUpdates:"Check for Updates",checking:"Checking...",upToDate:"Up to date",updateAvailable:"Update available",updateNow:"Update Now",updating:"Updating...",updateSuccess:"Update Complete!",updateFailed:"Update Failed",closeModal:"Close",showDetails:"Show Details",hideDetails:"Hide Details",environment:"Environment",claudeConfigPath:"Claude config",nodeVersion:"Node",bunVersion:"Bun",osVersion:"OS",channelStable:"Stable",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Latest",selectVersion:"Select version",loadingVersions:"Loading versions...",prereleaseLabel:"Pre",currentVersionLabel:"Current",checkAll:"Check All",checkingAll:"Checking...",updateAll:"Update All",updatesAvailable:"{count} updates available",allUpToDate:"All up to date",systemControlTower:"System Control Tower",systemOverviewTitle:"Update & Runtime Overview",systemOverviewDesc:"Track CLI and kit health, then run upgrades from one place.",installedComponentsHeading:"Installed Components",updateReadiness:"Update Readiness",checkedComponents:"Checked",activeChannel:"Channel",readyToScan:"Ready to scan",noTrackedFiles:"No tracked files detected",kitsLabel:"Kits",componentFilterAll:"All",componentFilterUpdates:"Updates",componentFilterUpdatesCount:"Updates ({count})",componentFilterUpToDate:"Up to date",componentFilterUpToDateCount:"Up to date ({count})",componentFilterCli:"CLI",componentFilterKits:"Kits",noComponentsMatchFilter:"No components match the current filter.",runCheckAllForFilter:"Run Check All to populate this filter.",noUpdatesFound:"No updates found. Checked components are up to date.",noUpToDateYet:"No components are up to date yet.",configWorkspaceHint:"Edit configuration or manage system updates from one workspace.",settingsJsonHeading:"Claude Settings JSON",settingsJsonMissing:"No settings file found at ~/.claude/settings.json.",settingsJsonLoadFailed:"Failed to load ~/.claude/settings.json.",settingsBackupSaved:"Backup saved",addProjectTitle:"Add Project",addProjectDescription:"Add a new ClaudeKit project to the control center",projectPath:"Project Path",pathPlaceholder:"/path/to/project",alias:"Alias",aliasOptional:"(optional)",aliasPlaceholder:"my-project",aliasDescription:"Custom display name for the project",pathRequired:"Path is required",failedToAdd:"Failed to add project",cancel:"Cancel",adding:"Adding...",somethingWentWrong:"Something went wrong",reloadApp:"Reload App",serverNotRunning:"Server Not Running",startServerMessage:"The Config UI requires the backend server to be running.",runThisCommand:"Run this command",tryAgain:"Try Again",projectConfig:"Project Config",inheritedFromGlobal:"Inherited from Global",localOverride:"Local Override",viewGlobalConfig:"This field inherits from global config. View",onboardingTitle:"Welcome to ClaudeKit",onboardingSubtitle:"Choose your kit and get started in minutes",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"AI-powered coding with skills, hooks, and multi-agent workflows",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Content automation: campaigns, social media, analytics",featureAgents:"AI Agents",featureAgentsDesc:"Specialized agents for different tasks",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Customize Claude's behavior at key moments",featureSkills:"Skills Library",featureSkillsDesc:"Pre-built capabilities you can activate",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Coordinate multiple agents for complex tasks",featureContent:"Content Generation",featureContentDesc:"Automated content creation and optimization",featureSocial:"Social Media Tools",featureSocialDesc:"Scheduling, analytics, and engagement automation",stepChooseKit:"Choose Kit",stepConfigure:"Configure",stepInstall:"Install",back:"Back",next:"Next",install:"Install",installSuccess:"Installation Complete!",installSuccessDesc:"{kit} is ready to use",getStarted:"Get Started",goToDashboard:"Go to Dashboard",kitConfig:"Kit Config",kitConfigSubtitle:"Configure ClaudeKit Engineer settings",scopeGlobal:"Global",scopeProject:"Project",sectionGeneral:"General",sectionPaths:"Paths",sectionPrivacy:"Privacy & Trust",sectionProject:"Project Detection",sectionIntegrations:"Integrations",sectionHooks:"Hooks",sectionAdvanced:"Advanced",fieldCodingLevel:"Coding Level",fieldCodingLevelDesc:"Your coding experience level (-1=auto, 0=beginner, 1=intermediate, 2=advanced, 3=expert, 4=tech-lead, 5=god-mode)",fieldStatusline:"Statusline Mode",fieldStatuslineDesc:"How much info to show in the status line",fieldThinkingLanguage:"Thinking Language",fieldThinkingLanguageDesc:"Language for Claude's internal reasoning (null=English)",fieldResponseLanguage:"Response Language",fieldResponseLanguageDesc:"Language for Claude's responses (null=match user)",fieldDocsPath:"Docs Directory",fieldDocsPathDesc:"Path to documentation directory",fieldPlansPath:"Plans Directory",fieldPlansPathDesc:"Path to plans directory",fieldPrivacyBlock:"Privacy Block",fieldPrivacyBlockDesc:"Block access to sensitive files (.env, credentials)",fieldTrustEnabled:"Trust Mode",fieldTrustEnabledDesc:"Enable auto-approval for tool calls",fieldTrustPassphrase:"Trust Passphrase",fieldTrustPassphraseDesc:"Passphrase to enable trust mode",fieldProjectType:"Project Type",fieldProjectTypeDesc:"Override auto-detected project type",fieldPackageManager:"Package Manager",fieldPackageManagerDesc:"Override auto-detected package manager",fieldFramework:"Framework",fieldFrameworkDesc:"Override auto-detected framework",fieldGeminiModel:"Gemini Model",fieldGeminiModelDesc:"Gemini model for CLI commands",fieldResearchUseGemini:"Use Gemini for Research",fieldResearchUseGeminiDesc:"Use Gemini CLI instead of WebSearch",fieldDocsMaxLoc:"Max Lines per Doc",fieldDocsMaxLocDesc:"Maximum lines of code per documentation file",fieldPlanNamingFormat:"Plan Naming Format",fieldPlanNamingFormatDesc:"Format for plan directory names",fieldPlanDateFormat:"Plan Date Format",fieldPlanDateFormatDesc:"Date format for plan names (moment.js)",fieldPlanValidationMode:"Validation Mode",fieldPlanValidationModeDesc:"How to validate plans before implementation",fieldPlanMinQuestions:"Min Questions",fieldPlanMinQuestionsDesc:"Minimum validation questions",fieldPlanMaxQuestions:"Max Questions",fieldPlanMaxQuestionsDesc:"Maximum validation questions",fieldAssertions:"Assertions",fieldAssertionsDesc:"Code assertions and rules to enforce",fieldHookSessionInit:"Session Init",fieldHookSessionInitDesc:"Project detection and environment setup",fieldHookSubagentInit:"Subagent Init",fieldHookSubagentInitDesc:"Inject context to subagents",fieldHookDescriptiveName:"Descriptive Name",fieldHookDescriptiveNameDesc:"Enforce kebab-case descriptive file naming for scripts",fieldHookDevRulesReminder:"Dev Rules Reminder",fieldHookDevRulesReminderDesc:"Inject development rules context",fieldHookUsageContextAwareness:"Usage Context Awareness",fieldHookUsageContextAwarenessDesc:"Usage limits awareness",fieldHookContextTracking:"Context Tracking",fieldHookContextTrackingDesc:"Context window tracking (% used, token counts)",fieldHookScoutBlock:"Scout Block",fieldHookScoutBlockDesc:"Block heavy directories from exploration",fieldHookPrivacyBlock:"Privacy Block Hook",fieldHookPrivacyBlockDesc:"Block sensitive files from reading",fieldHookPostEditSimplify:"Post-Edit Simplify",fieldHookPostEditSimplifyDesc:"Simplify reminder after edits",skillsPageTitle:"Skills Management",skillsPageDesc:"Install ClaudeKit skills to your coding agents",availableSkills:"Available Skills",installedSkills:"Installed Skills",noSkillsFound:"No skills found",installSkill:"Install",uninstallSkill:"Uninstall",manageSkill:"Manage",syncRegistry:"Sync",installSkillTitle:"Install Skill",selectAgents:"Select target agents",installLocation:"Installation location",globalInstall:"Global",projectInstall:"Project",confirmInstall:"Install to selected agents",installingSkill:"Installing...",skillInstallSuccess:"Skill installed successfully",skillInstallFailed:"Installation failed",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Installed",notInstalled:"Not installed",allAgents:"All Agents",filterByAgent:"Filter by agent",skillsTitle:"Skills",skillsSubtitle:"Browse, install, and manage skills for your coding agents",availableCount:"Available",installedCount:"Installed",agentsCount:"Agents",searchSkills:"Search skills...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Category",sortInstalledFirst:"Installed first",listView:"List view",gridView:"Grid view",categoryAll:"All",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Security",categoryDevOps:"DevOps",categoryDatabase:"Database",categoryDevelopment:"Development",categoryResearch:"Research",categoryGeneral:"General",categoryCore:"Core",categoryDocumentation:"Documentation",categoryTooling:"Tooling",categoryMedia:"Media",categoryFrameworks:"Frameworks",skillsCountLabel:"{count} skills",installToAll:"Install to All Detected",scopeLabel:"Installation Scope",agentInstalled:"Installed",agentNotInstalled:"Not installed",skillSource:"Source location",skillSourceBadge:"Source",detailPanelClose:"Close",versionLabel:"v{version}",installAllToAllAgents:"Install All to All Agents",bulkInstallFailed:"Bulk install failed",noAgentsDetected:"No agents detected",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Customized",installedVersionLabel:"Installed Version",installedAtLabel:"Installed At",sourceTimestampLabel:"Source Date",kitLabel:"Kit",skillMetadata:"Skill Info",migrate:"Migrate",migrateTitle:"Migrate",migrateSubtitle:"Migrate your Claude Code stack to other providers",migrateDetectedProviders:"Detected",migrateSelectedProviders:"Selected",migrateDiscovering:"Discovering migration sources...",migrateRefresh:"Refresh Discovery",migrateRun:"Run Migration",migrateRunning:"Migrating...",migrateSourceSummary:"Source Summary",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetBoth:"Codex + Antigravity",migratePresetDetected:"All Detected",migrateScope:"Scope",migrateScopeProject:"Project",migrateScopeGlobal:"Global",migrateTypes:"Portable Types",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateSearchProviders:"Search providers...",migrateSelectVisible:"Select Visible",migrateClearSelection:"Clear Selection",migrateProvidersHeading:"Target Providers",migrateProvidersCountSuffix:"providers",migrateNoProvidersMatch:"No providers match current filters.",migrateSelectButton:"Select",migrateSelectedButton:"Selected",migrateSelectProviderAction:"Select Provider",migrateUnselectProvider:"Unselect Provider",migrateCapabilitiesLabel:"types",migrateCapabilitiesSection:"Capability Matrix",migrateSupported:"Supported",migrateUnsupportedShort:"Unsupported",migrateIncludedEnabled:"Enabled",migrateIncludedDisabled:"Disabled",migrateLatestTarget:"Latest Target",migrateNoResultForProvider:"No migration result for this provider yet.",migrateActionSummaryTitle:"Ready to Migrate",migrateGlobalOnlyCommandsShort:"Commands global-only",migrateNoProviders:"No providers available.",migrateUnsupported:"Will be skipped (unsupported)",migrateGlobalForced:"Codex commands are global-only. Scope will be forced to global.",migrateResults:"Migration Results",migrateInstalled:"Installed",migrateSkipped:"Skipped",migrateFailed:"Failed",migrateProvider:"Provider",migrateStatus:"Status",migratePath:"Path",migrateError:"Error",migrateStatusInstalled:"Installed",migrateStatusSkipped:"Skipped",migrateStatusFailed:"Failed",migrateNoResults:"No migration results yet.",migrateDetectFailed:"Failed to discover migration data",migrateExecuteFailed:"Migration execution failed",migrateSelectProvider:"Select at least one provider",migrateNoTypesEnabled:"Enable at least one portable type",migrateDetectedTag:"Detected",migrateNotDetectedTag:"Not detected",migrateFilterRecommended:"Recommended",migrateActionInstall:"Install",migrateActionUpdate:"Update",migrateActionSkip:"Skip",migrateActionConflict:"Conflict",migrateActionDelete:"Delete",migrateUnchanged:"unchanged",migrateConflictSectionTitle:"Conflicts",migrateConflictUseCK:"Use CK",migrateConflictKeepMine:"Keep Mine",migrateConflictSmartMerge:"Smart Merge",migrateConflictShowDiff:"Show Diff",migrateConflictHideDiff:"Hide Diff",migrateConflictResolved:"Resolved",migrateConflictManual:"Manual",migrateConflictOverwriteAll:"Overwrite All",migrateConflictKeepAll:"Keep All",migrateSummaryTitle:"Migration Complete",migrateSummaryNewMigration:"New Migration",migrateType:"Type",migrateItem:"Item",migrateReconciling:"Analyzing changes...",migrateReviewPlan:"Review Plan",migrateExecutePlan:"Execute Migration",migrateExecuting:"Executing migration...",migrateResolveConflicts:"Resolve all conflicts before executing",developmentFeature:"Development",betaFeature:"Beta",experimentalFeature:"Experimental"},vi:{loading:"Đang tải...",error:"Lỗi",selectProject:"Chọn dự án để xem bảng điều khiển",controlCenter:"Trung tâm điều khiển",settings:"Cài đặt",sync:"Đồng bộ",offline:"Ngoại tuyến",switchToLight:"Chuyển sang chế độ sáng",switchToDark:"Chuyển sang chế độ tối",settingsSection:"Cài đặt",configEditor:"Trình chỉnh sửa cấu hình",projects:"Dự án",addProject:"Thêm dự án",global:"Toàn cục",skills:"Kỹ năng",health:"Sức khỏe",collapse:"Thu gọn",expand:"Mở rộng",installing:"Đang cài đặt...",manage:"Quản lý",uninstall:"Gỡ cài đặt",installGlobally:"Cài đặt toàn cục",installGloballyDesc:"Khả dụng cho tất cả dự án thay vì chỉ dự án hiện tại",selectAtLeastOneAgent:"Vui lòng chọn ít nhất một agent",installationFailed:"Cài đặt thất bại",allSkills:"Tất cả kỹ năng",refresh:"Làm mới",browseAndManageSkills:"Duyệt và quản lý kỹ năng cho agents của bạn",detected:"Đã phát hiện",notDetected:"Chưa phát hiện",sessions:"phiên",noSessions:"Không có phiên",terminal:"Terminal",terminalSub:"Mở bash tại đường dẫn",editor:"Trình soạn thảo",editorSub:"Mở trong VS Code",useGlobalFallback:"Dùng fallback global",openAtPath:"Mở tại đường dẫn dự án",openAppOnly:"Chỉ mở ứng dụng",actionOptionsLoadFailed:"Không thể tải tùy chọn editor/terminal",launch:"Khởi chạy",launchSub:"Bắt đầu Claude Code",config:"Cấu hình",configSub:"Quản lý cài đặt dự án",recentSessions:"Phiên gần đây",viewAllHistory:"Xem tất cả lịch sử",showLess:"Thu gọn",actionFailed:"Thao tác thất bại",loadingSessions:"Đang tải phiên...",noSessionsFound:"Không tìm thấy phiên nào",configuration:"Cài đặt Claude",activeKit:"Kit hoạt động",aiModel:"Mô hình",hooks:"Hooks",active:"hoạt động",mcpServers:"Máy chủ MCP",connected:"kết nối",editProjectConfig:"Chỉnh sửa cấu hình dự án",globalSettings:"(Toàn cục)",globalSkills:"Kỹ năng toàn cục",loadingSkills:"Đang tải kỹ năng...",noDescription:"Không có mô tả",browseSkillsMarketplace:"Duyệt Skills Marketplace",backToDashboard:"Quay lại bảng điều khiển",educationalConfigEditor:"Trình chỉnh sửa cấu hình hướng dẫn",discard:"Hủy bỏ",saveChanges:"Lưu thay đổi",mergedView:"Chế độ gộp",localConfig:"Cục bộ (.ck.json)",globalConfig:"Toàn cục",syntaxValid:"Cú pháp hợp lệ",configurationHelp:"Hướng dẫn cấu hình",field:"Trường",type:"Kiểu",default:"Mặc định",description:"Mô tả",validValues:"Giá trị hợp lệ",systemEffect:"Hiệu ứng hệ thống",exampleUsage:"Ví dụ sử dụng",knowledgeBase:"Cơ sở kiến thức",clickToSeeHelp:"Nhấp vào bất kỳ trường cấu hình nào để xem tài liệu chi tiết và ví dụ sử dụng.",extractedFrom:"Trích xuất từ ClaudeKit v2.x Specification",resetToDefault:"Đặt lại",saving:"Đang lưu...",saved:"Đã lưu",confirmReset:"Đặt lại về mặc định?",confirmResetMessage:"Tất cả thay đổi sẽ bị mất và được thay thế bằng giá trị mặc định.",confirm:"Xác nhận",saveFailed:"Lưu thất bại",configTab:"Cấu hình",systemTab:"Hệ thống",formTab:"Biểu mẫu",jsonTab:"JSON",readOnly:"Chỉ đọc",installedKit:"Kit đã cài",kitVersion:"Phiên bản Kit",installedOn:"Cài đặt vào",noKitInstalled:"Chưa cài kit",components:"Thành phần",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"Quyền sở hữu tệp",ownershipCk:"do kit quản lý",ownershipUser:"do người dùng",ownershipModified:"đã chỉnh sửa",componentInventory:"Thành phần đã cài",installedHooks:"Hooks đã cài",installedMcpServers:"MCP Servers",lastChecked:"Kiểm tra cập nhật",staleIndicator:"Cũ",skippedVersion:"Đã bỏ qua",filesModifiedFromDefaults:"tệp đã sửa so với mặc định",cliCard:"ClaudeKit CLI",checkForUpdates:"Kiểm tra cập nhật",checking:"Đang kiểm tra...",upToDate:"Đã cập nhật",updateAvailable:"Có bản cập nhật",updateNow:"Cập nhật ngay",updating:"Đang cập nhật...",updateSuccess:"Cập nhật hoàn tất!",updateFailed:"Cập nhật thất bại",closeModal:"Đóng",showDetails:"Xem chi tiết",hideDetails:"Ẩn chi tiết",environment:"Môi trường",claudeConfigPath:"Cấu hình Claude",nodeVersion:"Node",bunVersion:"Bun",osVersion:"Hệ điều hành",channelStable:"Ổn định",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Mới nhất",selectVersion:"Chọn phiên bản",loadingVersions:"Đang tải...",prereleaseLabel:"Thử nghiệm",currentVersionLabel:"Hiện tại",checkAll:"Kiểm tra tất cả",checkingAll:"Đang kiểm tra...",updateAll:"Cập nhật tất cả",updatesAvailable:"{count} bản cập nhật",allUpToDate:"Tất cả đã cập nhật",systemControlTower:"Trung tâm hệ thống",systemOverviewTitle:"Tổng quan cập nhật & môi trường",systemOverviewDesc:"Theo dõi CLI và kit, rồi nâng cấp từ một nơi.",installedComponentsHeading:"Thành phần đã cài",updateReadiness:"Mức sẵn sàng cập nhật",checkedComponents:"Đã kiểm tra",activeChannel:"Kênh",readyToScan:"Sẵn sàng kiểm tra",noTrackedFiles:"Không phát hiện tệp theo dõi",kitsLabel:"Kit",componentFilterAll:"Tất cả",componentFilterUpdates:"Bản cập nhật",componentFilterUpdatesCount:"Bản cập nhật ({count})",componentFilterUpToDate:"Đã cập nhật",componentFilterUpToDateCount:"Đã cập nhật ({count})",componentFilterCli:"CLI",componentFilterKits:"Kit",noComponentsMatchFilter:"Không có thành phần phù hợp bộ lọc hiện tại.",runCheckAllForFilter:"Hãy chạy Kiểm tra tất cả để nạp dữ liệu cho bộ lọc này.",noUpdatesFound:"Không có bản cập nhật. Các thành phần đã kiểm tra đều mới nhất.",noUpToDateYet:"Chưa có thành phần nào ở trạng thái đã cập nhật.",configWorkspaceHint:"Chỉnh sửa cấu hình hoặc quản lý cập nhật hệ thống trong một màn hình.",settingsJsonHeading:"JSON Cài đặt Claude",settingsJsonMissing:"Không tìm thấy tệp ~/.claude/settings.json.",settingsJsonLoadFailed:"Không thể tải ~/.claude/settings.json.",settingsBackupSaved:"Đã lưu bản sao lưu",addProjectTitle:"Thêm dự án",addProjectDescription:"Thêm dự án ClaudeKit mới vào trung tâm điều khiển",projectPath:"Đường dẫn dự án",pathPlaceholder:"/đường/dẫn/dự/án",alias:"Bí danh",aliasOptional:"(tùy chọn)",aliasPlaceholder:"dự-án-của-tôi",aliasDescription:"Tên hiển thị tùy chỉnh cho dự án",pathRequired:"Đường dẫn bắt buộc",failedToAdd:"Không thể thêm dự án",cancel:"Hủy",adding:"Đang thêm...",somethingWentWrong:"Đã xảy ra lỗi",reloadApp:"Tải lại ứng dụng",serverNotRunning:"Máy chủ không chạy",startServerMessage:"Config UI yêu cầu máy chủ backend đang chạy.",runThisCommand:"Chạy lệnh này",tryAgain:"Thử lại",projectConfig:"Cấu hình dự án",inheritedFromGlobal:"Kế thừa từ toàn cục",localOverride:"Ghi đè cục bộ",viewGlobalConfig:"Trường này kế thừa từ cấu hình toàn cục. Xem",onboardingTitle:"Chào mừng đến ClaudeKit",onboardingSubtitle:"Chọn kit của bạn và bắt đầu trong vài phút",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"Lập trình AI với skills, hooks và multi-agent",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Tự động hóa nội dung: chiến dịch, mạng xã hội, phân tích",featureAgents:"AI Agents",featureAgentsDesc:"Các agent chuyên biệt cho từng tác vụ",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Tùy chỉnh hành vi của Claude tại các thời điểm quan trọng",featureSkills:"Thư viện Skills",featureSkillsDesc:"Các khả năng có sẵn bạn có thể kích hoạt",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Phối hợp nhiều agent cho các tác vụ phức tạp",featureContent:"Tạo nội dung",featureContentDesc:"Tự động tạo và tối ưu nội dung",featureSocial:"Công cụ mạng xã hội",featureSocialDesc:"Lên lịch, phân tích và tự động tương tác",stepChooseKit:"Chọn Kit",stepConfigure:"Cấu hình",stepInstall:"Cài đặt",back:"Quay lại",next:"Tiếp theo",install:"Cài đặt",installSuccess:"Cài đặt hoàn tất!",installSuccessDesc:"{kit} đã sẵn sàng sử dụng",getStarted:"Bắt đầu",goToDashboard:"Đi đến Dashboard",kitConfig:"Cấu hình Kit",kitConfigSubtitle:"Cấu hình ClaudeKit Engineer",scopeGlobal:"Toàn cục",scopeProject:"Dự án",sectionGeneral:"Cài đặt chung",sectionPaths:"Đường dẫn",sectionPrivacy:"Bảo mật & Tin cậy",sectionProject:"Phát hiện dự án",sectionIntegrations:"Tích hợp",sectionHooks:"Hooks",sectionAdvanced:"Nâng cao",fieldCodingLevel:"Cấp độ lập trình",fieldCodingLevelDesc:"Cấp độ kinh nghiệm (-1=tự động, 0=mới bắt đầu, 1=trung cấp, 2=nâng cao, 3=chuyên gia, 4=tech-lead, 5=thần)",fieldStatusline:"Chế độ thanh trạng thái",fieldStatuslineDesc:"Lượng thông tin hiển thị trên thanh trạng thái",fieldThinkingLanguage:"Ngôn ngữ suy nghĩ",fieldThinkingLanguageDesc:"Ngôn ngữ cho suy luận nội bộ của Claude (null=Tiếng Anh)",fieldResponseLanguage:"Ngôn ngữ phản hồi",fieldResponseLanguageDesc:"Ngôn ngữ cho phản hồi của Claude (null=theo người dùng)",fieldDocsPath:"Thư mục tài liệu",fieldDocsPathDesc:"Đường dẫn đến thư mục tài liệu",fieldPlansPath:"Thư mục kế hoạch",fieldPlansPathDesc:"Đường dẫn đến thư mục kế hoạch",fieldPrivacyBlock:"Chặn quyền riêng tư",fieldPrivacyBlockDesc:"Chặn truy cập file nhạy cảm (.env, credentials)",fieldTrustEnabled:"Chế độ tin cậy",fieldTrustEnabledDesc:"Tự động phê duyệt các tool calls",fieldTrustPassphrase:"Mật khẩu tin cậy",fieldTrustPassphraseDesc:"Mật khẩu để bật chế độ tin cậy",fieldProjectType:"Loại dự án",fieldProjectTypeDesc:"Ghi đè loại dự án tự động phát hiện",fieldPackageManager:"Trình quản lý gói",fieldPackageManagerDesc:"Ghi đè trình quản lý gói tự động phát hiện",fieldFramework:"Framework",fieldFrameworkDesc:"Ghi đè framework tự động phát hiện",fieldGeminiModel:"Mô hình Gemini",fieldGeminiModelDesc:"Mô hình Gemini cho các lệnh CLI",fieldResearchUseGemini:"Dùng Gemini cho nghiên cứu",fieldResearchUseGeminiDesc:"Dùng Gemini CLI thay vì WebSearch",fieldDocsMaxLoc:"Số dòng tối đa/tài liệu",fieldDocsMaxLocDesc:"Số dòng code tối đa cho mỗi file tài liệu",fieldPlanNamingFormat:"Định dạng tên kế hoạch",fieldPlanNamingFormatDesc:"Định dạng cho tên thư mục kế hoạch",fieldPlanDateFormat:"Định dạng ngày kế hoạch",fieldPlanDateFormatDesc:"Định dạng ngày cho tên kế hoạch (moment.js)",fieldPlanValidationMode:"Chế độ xác thực",fieldPlanValidationModeDesc:"Cách xác thực kế hoạch trước khi triển khai",fieldPlanMinQuestions:"Số câu hỏi tối thiểu",fieldPlanMinQuestionsDesc:"Số câu hỏi xác thực tối thiểu",fieldPlanMaxQuestions:"Số câu hỏi tối đa",fieldPlanMaxQuestionsDesc:"Số câu hỏi xác thực tối đa",fieldAssertions:"Assertions",fieldAssertionsDesc:"Các assertions và quy tắc cần thực thi",fieldHookSessionInit:"Khởi tạo phiên",fieldHookSessionInitDesc:"Phát hiện dự án và thiết lập môi trường",fieldHookSubagentInit:"Khởi tạo subagent",fieldHookSubagentInitDesc:"Inject context vào subagents",fieldHookDescriptiveName:"Tên mô tả",fieldHookDescriptiveNameDesc:"Bắt buộc đặt tên file dạng kebab-case mô tả cho scripts",fieldHookDevRulesReminder:"Nhắc nhở quy tắc dev",fieldHookDevRulesReminderDesc:"Inject context quy tắc phát triển",fieldHookUsageContextAwareness:"Nhận thức ngữ cảnh sử dụng",fieldHookUsageContextAwarenessDesc:"Nhận thức giới hạn sử dụng",fieldHookContextTracking:"Theo dõi ngữ cảnh",fieldHookContextTrackingDesc:"Theo dõi cửa sổ ngữ cảnh (% đã dùng, số token)",fieldHookScoutBlock:"Chặn Scout",fieldHookScoutBlockDesc:"Chặn thư mục nặng khỏi việc khám phá",fieldHookPrivacyBlock:"Hook chặn quyền riêng tư",fieldHookPrivacyBlockDesc:"Chặn đọc file nhạy cảm",fieldHookPostEditSimplify:"Đơn giản sau chỉnh sửa",fieldHookPostEditSimplifyDesc:"Nhắc đơn giản sau khi chỉnh sửa",skillsPageTitle:"Quản lý Kỹ năng",skillsPageDesc:"Cài đặt kỹ năng ClaudeKit cho các agent lập trình",availableSkills:"Kỹ năng có sẵn",installedSkills:"Kỹ năng đã cài",noSkillsFound:"Không tìm thấy kỹ năng",installSkill:"Cài đặt",uninstallSkill:"Gỡ cài đặt",manageSkill:"Quản lý",syncRegistry:"Đồng bộ",installSkillTitle:"Cài đặt Kỹ năng",selectAgents:"Chọn agent đích",installLocation:"Vị trí cài đặt",globalInstall:"Toàn cục",projectInstall:"Dự án",confirmInstall:"Cài đặt cho các agent đã chọn",installingSkill:"Đang cài đặt...",skillInstallSuccess:"Cài đặt kỹ năng thành công",skillInstallFailed:"Cài đặt thất bại",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Đã cài",notInstalled:"Chưa cài",allAgents:"Tất cả Agent",filterByAgent:"Lọc theo agent",skillsTitle:"Kỹ năng",skillsSubtitle:"Duyệt, cài đặt và quản lý kỹ năng cho coding agents",availableCount:"Có sẵn",installedCount:"Đã cài",agentsCount:"Agents",searchSkills:"Tìm kiếm kỹ năng...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Danh mục",sortInstalledFirst:"Đã cài trước",listView:"Dạng danh sách",gridView:"Dạng lưới",categoryAll:"Tất cả",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Bảo mật",categoryDevOps:"DevOps",categoryDatabase:"Cơ sở dữ liệu",categoryDevelopment:"Phát triển",categoryResearch:"Nghiên cứu",categoryGeneral:"Tổng quát",categoryCore:"Cốt lõi",categoryDocumentation:"Tài liệu",categoryTooling:"Công cụ",categoryMedia:"Phương tiện",categoryFrameworks:"Framework",skillsCountLabel:"{count} kỹ năng",installToAll:"Cài cho tất cả đã phát hiện",scopeLabel:"Phạm vi cài đặt",agentInstalled:"Đã cài",agentNotInstalled:"Chưa cài",skillSource:"Vị trí nguồn",skillSourceBadge:"Nguồn",detailPanelClose:"Đóng",versionLabel:"v{version}",installAllToAllAgents:"Cài tất cả cho tất cả Agent",bulkInstallFailed:"Cài hàng loạt thất bại",noAgentsDetected:"Không phát hiện agent nào",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Đã tùy chỉnh",installedVersionLabel:"Phiên bản cài đặt",installedAtLabel:"Cài đặt lúc",sourceTimestampLabel:"Ngày nguồn",kitLabel:"Kit",skillMetadata:"Thông tin Skill",migrate:"Di trú",migrateTitle:"Di trú",migrateSubtitle:"Chuyển toàn bộ stack Claude Code sang provider khác",migrateDetectedProviders:"Đã phát hiện",migrateSelectedProviders:"Đã chọn",migrateDiscovering:"Đang quét nguồn di trú...",migrateRefresh:"Làm mới quét",migrateRun:"Chạy di trú",migrateRunning:"Đang di trú...",migrateSourceSummary:"Tổng quan nguồn",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetBoth:"Codex + Antigravity",migratePresetDetected:"Tất cả đã phát hiện",migrateScope:"Phạm vi",migrateScopeProject:"Dự án",migrateScopeGlobal:"Toàn cục",migrateTypes:"Loại di trú",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateSearchProviders:"Tìm provider...",migrateSelectVisible:"Chọn phần đang hiện",migrateClearSelection:"Bỏ chọn tất cả",migrateProvidersHeading:"Provider đích",migrateProvidersCountSuffix:"provider",migrateNoProvidersMatch:"Không có provider khớp bộ lọc hiện tại.",migrateSelectButton:"Chọn",migrateSelectedButton:"Đã chọn",migrateSelectProviderAction:"Chọn provider",migrateUnselectProvider:"Bỏ chọn provider",migrateCapabilitiesLabel:"loại",migrateCapabilitiesSection:"Ma trận khả năng",migrateSupported:"Hỗ trợ",migrateUnsupportedShort:"Không hỗ trợ",migrateIncludedEnabled:"Đang bật",migrateIncludedDisabled:"Đang tắt",migrateLatestTarget:"Đích gần nhất",migrateNoResultForProvider:"Chưa có kết quả di trú cho provider này.",migrateActionSummaryTitle:"Sẵn sàng di trú",migrateGlobalOnlyCommandsShort:"Commands chỉ global",migrateNoProviders:"Không có provider khả dụng.",migrateUnsupported:"Sẽ bỏ qua (không hỗ trợ)",migrateGlobalForced:"Lệnh Codex chỉ hỗ trợ global. Phạm vi sẽ tự chuyển global.",migrateResults:"Kết quả di trú",migrateInstalled:"Đã cài",migrateSkipped:"Đã bỏ qua",migrateFailed:"Lỗi",migrateProvider:"Provider",migrateStatus:"Trạng thái",migratePath:"Đường dẫn",migrateError:"Lỗi",migrateStatusInstalled:"Đã cài",migrateStatusSkipped:"Đã bỏ qua",migrateStatusFailed:"Lỗi",migrateNoResults:"Chưa có kết quả di trú.",migrateDetectFailed:"Không thể quét dữ liệu di trú",migrateExecuteFailed:"Chạy di trú thất bại",migrateSelectProvider:"Vui lòng chọn ít nhất một provider",migrateNoTypesEnabled:"Bật ít nhất một loại di trú",migrateDetectedTag:"Đã phát hiện",migrateNotDetectedTag:"Chưa phát hiện",migrateFilterRecommended:"Đề xuất",migrateActionInstall:"Cài",migrateActionUpdate:"Cập nhật",migrateActionSkip:"Bỏ qua",migrateActionConflict:"Xung đột",migrateActionDelete:"Xóa",migrateUnchanged:"chưa thay đổi",migrateConflictSectionTitle:"Xung đột",migrateConflictUseCK:"Dùng CK",migrateConflictKeepMine:"Giữ của tôi",migrateConflictSmartMerge:"Merge thông minh",migrateConflictShowDiff:"Hiện diff",migrateConflictHideDiff:"Ẩn diff",migrateConflictResolved:"Đã giải quyết",migrateConflictManual:"Thủ công",migrateConflictOverwriteAll:"Ghi đè tất cả",migrateConflictKeepAll:"Giữ tất cả",migrateSummaryTitle:"Di trú hoàn tất",migrateSummaryNewMigration:"Di trú mới",migrateType:"Loại",migrateItem:"Mục",migrateReconciling:"Đang phân tích thay đổi...",migrateReviewPlan:"Xem kế hoạch",migrateExecutePlan:"Thực hiện di trú",migrateExecuting:"Đang thực hiện di trú...",migrateResolveConflicts:"Giải quyết xung đột trước khi thực hiện",developmentFeature:"Đang phát triển",betaFeature:"Beta",experimentalFeature:"Thử nghiệm"}},bh=b.createContext(null),Am="ck-dashboard-lang";function tv(){const n=localStorage.getItem(Am);return n==="en"||n==="vi"?n:navigator.language.startsWith("vi")?"vi":"en"}function nv({children:n}){const[e,t]=b.useState(tv),r=s=>{localStorage.setItem(Am,s),t(s)},i=s=>ev[e][s];return d.jsx(bh.Provider,{value:{lang:e,setLang:r,t:i},children:n})}function me(){const n=b.useContext(bh);if(!n)throw new Error("useI18n must be used within I18nProvider");return n}class rv extends b.Component{constructor(){super(...arguments);kd(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("App error:",t,r.componentStack)}render(){if(this.state.hasError){const t=this.state.error?.name==="ServerUnavailableError";return d.jsx(bh.Consumer,{children:r=>d.jsx("div",{className:"flex h-screen items-center justify-center bg-dash-bg",children:d.jsx("div",{className:"text-center space-y-4 max-w-md px-6",children:t?d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-orange-500/10 border border-orange-500/30 flex items-center justify-center text-3xl",children:"🔌"}),d.jsx("h1",{className:"text-2xl font-bold text-orange-500",children:r?.t("serverNotRunning")??"Server Not Running"}),d.jsx("p",{className:"text-dash-text-secondary",children:r?.t("startServerMessage")??"The Config UI requires the backend server to be running."}),d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-4",children:[d.jsx("p",{className:"text-xs text-dash-text-muted uppercase tracking-widest mb-2 font-bold",children:r?.t("runThisCommand")??"Run this command"}),d.jsx("code",{className:"block text-sm text-dash-accent font-mono bg-dash-bg px-3 py-2 rounded border border-dash-border",children:"ck config"})]}),d.jsx("button",{onClick:()=>window.location.reload(),className:"px-6 py-2 bg-dash-accent text-dash-bg rounded-lg font-bold hover:bg-dash-accent-hover transition-colors",children:r?.t("tryAgain")??"Try Again"})]}):d.jsxs(d.Fragment,{children:[d.jsx("h1",{className:"text-2xl font-bold text-red-500",children:r?.t("somethingWentWrong")??"Something went wrong"}),d.jsx("p",{className:"text-dash-text-muted",children:this.state.error?.message}),d.jsx("button",{onClick:()=>window.location.reload(),className:"px-4 py-2 bg-dash-accent text-white rounded-md hover:opacity-90",children:r?.t("reloadApp")??"Reload App"})]})})})})}return this.props.children}}const jr=({direction:n="horizontal",isDragging:e=!1,onMouseDown:t})=>{const r=n==="horizontal";return d.jsx("div",{onMouseDown:t,className:`
21
+ Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let f=on(),p;p=f;let m=p.pathname||"/",b=m;if(h!=="/"){let w=h.replace(/^\//,"").split("/");b="/"+m.replace(/^\//,"").split("/").slice(w.length).join("/")}let y=On(n,{pathname:b});return Le(u||y!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),Le(y==null||y[y.length-1].route.element!==void 0||y[y.length-1].route.Component!==void 0||y[y.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),ax(y&&y.map(w=>Object.assign({},w,{params:Object.assign({},l,w.params),pathname:nn([h,s.encodeLocation?s.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?h:nn([h,s.encodeLocation?s.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),o,t,r,i)}function rx(){let n=ux(),e=Ri(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,r="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:r},s={padding:"2px 4px",backgroundColor:r},o=null;return console.error("Error handled by React Router default ErrorBoundary:",n),o=g.createElement(g.Fragment,null,g.createElement("p",null,"💿 Hey developer 👋"),g.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",g.createElement("code",{style:s},"ErrorBoundary")," or"," ",g.createElement("code",{style:s},"errorElement")," prop on your route.")),g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},e),t?g.createElement("pre",{style:i},t):null,o)}var ix=g.createElement(rx,null),Nm=class extends g.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,e){return e.location!==n.location||e.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:e.error,location:e.location,revalidation:n.revalidation||e.revalidation}}componentDidCatch(n,e){this.props.onError?this.props.onError(n,e):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const t=Qy(n.digest);t&&(n=t)}let e=n!==void 0?g.createElement(Lt.Provider,{value:this.props.routeContext},g.createElement(gh.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?g.createElement(sx,{error:n},e):e}};Nm.contextType=km;var ol=new WeakMap;function sx({children:n,error:e}){let{basename:t}=g.useContext(St);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let r=Yy(e.digest);if(r){let i=ol.get(e);if(i)throw i;let s=hm(r.location,t);if(cm&&!ol.get(e))if(s.isExternal||r.reloadDocument)window.location.href=s.absoluteURL||s.to;else{const o=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:r.replace}));throw ol.set(e,o),o}return g.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return n}function ox({routeContext:n,match:e,children:t}){let r=g.useContext(ur);return r&&r.static&&r.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=e.route.id),g.createElement(Lt.Provider,{value:n},t)}function ax(n,e=[],t=null,r=null,i=null){if(n==null){if(!t)return null;if(t.errors)n=t.matches;else if(e.length===0&&!t.initialized&&t.matches.length>0)n=t.matches;else return null}let s=n,o=t?.errors;if(o!=null){let h=s.findIndex(u=>u.route.id&&o?.[u.route.id]!==void 0);ce(h>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),s=s.slice(0,Math.min(s.length,h+1))}let a=!1,l=-1;if(t)for(let h=0;h<s.length;h++){let u=s[h];if((u.route.HydrateFallback||u.route.hydrateFallbackElement)&&(l=h),u.route.id){let{loaderData:f,errors:p}=t,m=u.route.loader&&!f.hasOwnProperty(u.route.id)&&(!p||p[u.route.id]===void 0);if(u.route.lazy||m){a=!0,l>=0?s=s.slice(0,l+1):s=[s[0]];break}}}let c=t&&r?(h,u)=>{r(h,{location:t.location,params:t.matches?.[0]?.params??{},unstable_pattern:$s(t.matches),errorInfo:u})}:void 0;return s.reduceRight((h,u,f)=>{let p,m=!1,b=null,y=null;t&&(p=o&&u.route.id?o[u.route.id]:void 0,b=u.route.errorElement||ix,a&&(l<0&&f===0?(Mm("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,y=null):l===f&&(m=!0,y=u.route.hydrateFallbackElement||null)));let v=e.concat(s.slice(0,f+1)),w=()=>{let C;return p?C=b:m?C=y:u.route.Component?C=g.createElement(u.route.Component,null):u.route.element?C=u.route.element:C=h,g.createElement(ox,{match:u,routeContext:{outlet:h,matches:v,isDataRoute:t!=null},children:C})};return t&&(u.route.ErrorBoundary||u.route.errorElement||f===0)?g.createElement(Nm,{location:t.location,revalidation:t.revalidation,component:b,error:p,children:w(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:c}):w()},null)}function bh(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function lx(n){let e=g.useContext(ur);return ce(e,bh(n)),e}function cx(n){let e=g.useContext(Fs);return ce(e,bh(n)),e}function hx(n){let e=g.useContext(Lt);return ce(e,bh(n)),e}function yh(n){let e=hx(n),t=e.matches[e.matches.length-1];return ce(t.route.id,`${n} can only be used on routes that contain a unique "id"`),t.route.id}function dx(){return yh("useRouteId")}function ux(){let n=g.useContext(gh),e=cx("useRouteError"),t=yh("useRouteError");return n!==void 0?n:e.errors?.[t]}function fx(){let{router:n}=lx("useNavigate"),e=yh("useNavigate"),t=g.useRef(!1);return Om(()=>{t.current=!0}),g.useCallback(async(i,s={})=>{Le(t.current,jm),t.current&&(typeof i=="number"?await n.navigate(i):await n.navigate(i,{fromRouteId:e,...s}))},[n,e])}var Yd={};function Mm(n,e,t){!e&&!Yd[n]&&(Yd[n]=!0,Le(!1,t))}var Qd={};function Xd(n,e){!n&&!Qd[e]&&(Qd[e]=!0,console.warn(e))}var px="useOptimistic",Zd=P1[px],mx=()=>{};function gx(n){return Zd?Zd(n):[n,mx]}function bx(n){let e={hasErrorBoundary:n.hasErrorBoundary||n.ErrorBoundary!=null||n.errorElement!=null};return n.Component&&(n.element&&Le(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(e,{element:g.createElement(n.Component),Component:void 0})),n.HydrateFallback&&(n.hydrateFallbackElement&&Le(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(e,{hydrateFallbackElement:g.createElement(n.HydrateFallback),HydrateFallback:void 0})),n.ErrorBoundary&&(n.errorElement&&Le(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(e,{errorElement:g.createElement(n.ErrorBoundary),ErrorBoundary:void 0})),e}var yx=["HydrateFallback","hydrateFallbackElement"],xx=class{constructor(){this.status="pending",this.promise=new Promise((n,e)=>{this.resolve=t=>{this.status==="pending"&&(this.status="resolved",n(t))},this.reject=t=>{this.status==="pending"&&(this.status="rejected",e(t))}})}};function vx({router:n,flushSync:e,onError:t,unstable_useTransitions:r}){r=Ky()||r;let[s,o]=g.useState(n.state),[a,l]=gx(s),[c,h]=g.useState(),[u,f]=g.useState({isTransitioning:!1}),[p,m]=g.useState(),[b,y]=g.useState(),[v,w]=g.useState(),C=g.useRef(new Map),j=g.useCallback((T,{deletedFetchers:N,newErrors:R,flushSync:A,viewTransitionOpts:L})=>{R&&t&&Object.values(R).forEach(F=>t(F,{location:T.location,params:T.matches[0]?.params??{},unstable_pattern:$s(T.matches)})),T.fetchers.forEach((F,$)=>{F.data!==void 0&&C.current.set($,F.data)}),N.forEach(F=>C.current.delete(F)),Xd(A===!1||e!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let W=n.window!=null&&n.window.document!=null&&typeof n.window.document.startViewTransition=="function";if(Xd(L==null||W,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!L||!W){e&&A?e(()=>o(T)):r===!1?o(T):g.startTransition(()=>{r===!0&&l(F=>eu(F,T)),o(T)});return}if(e&&A){e(()=>{b&&(p?.resolve(),b.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:L.currentLocation,nextLocation:L.nextLocation})});let F=n.window.document.startViewTransition(()=>{e(()=>o(T))});F.finished.finally(()=>{e(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})})}),e(()=>y(F));return}b?(p?.resolve(),b.skipTransition(),w({state:T,currentLocation:L.currentLocation,nextLocation:L.nextLocation})):(h(T),f({isTransitioning:!0,flushSync:!1,currentLocation:L.currentLocation,nextLocation:L.nextLocation}))},[n.window,e,b,p,r,l,t]);g.useLayoutEffect(()=>n.subscribe(j),[n,j]),g.useEffect(()=>{u.isTransitioning&&!u.flushSync&&m(new xx)},[u]),g.useEffect(()=>{if(p&&c&&n.window){let T=c,N=p.promise,R=n.window.document.startViewTransition(async()=>{r===!1?o(T):g.startTransition(()=>{r===!0&&l(A=>eu(A,T)),o(T)}),await N});R.finished.finally(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})}),y(R)}},[c,p,n.window,r,l]),g.useEffect(()=>{p&&c&&a.location.key===c.location.key&&p.resolve()},[p,b,a.location,c]),g.useEffect(()=>{!u.isTransitioning&&v&&(h(v.state),f({isTransitioning:!0,flushSync:!1,currentLocation:v.currentLocation,nextLocation:v.nextLocation}),w(void 0))},[u.isTransitioning,v]);let S=g.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:T=>n.navigate(T),push:(T,N,R)=>n.navigate(T,{state:N,preventScrollReset:R?.preventScrollReset}),replace:(T,N,R)=>n.navigate(T,{replace:!0,state:N,preventScrollReset:R?.preventScrollReset})}),[n]),O=n.basename||"/",x=g.useMemo(()=>({router:n,navigator:S,static:!1,basename:O,onError:t}),[n,S,O,t]);return g.createElement(g.Fragment,null,g.createElement(ur.Provider,{value:x},g.createElement(Fs.Provider,{value:a},g.createElement(Sm.Provider,{value:C.current},g.createElement(mh.Provider,{value:u},g.createElement(Cx,{basename:O,location:a.location,navigationType:a.historyAction,navigator:S,unstable_useTransitions:r},g.createElement(wx,{routes:n.routes,future:n.future,state:a,onError:t})))))),null)}function eu(n,e){return{...n,navigation:e.navigation.state!=="idle"?e.navigation:n.navigation,revalidation:e.revalidation!=="idle"?e.revalidation:n.revalidation,actionData:e.navigation.state!=="submitting"?e.actionData:n.actionData,fetchers:e.fetchers}}var wx=g.memo(kx);function kx({routes:n,future:e,state:t,onError:r}){return nx(n,void 0,t,r,e)}function al({to:n,replace:e,state:t,relative:r}){ce(Ur(),"<Navigate> may be used only in the context of a <Router> component.");let{static:i}=g.useContext(St);Le(!i,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:s}=g.useContext(Lt),{pathname:o}=on(),a=wn(),l=Ea(n,Da(s),o,r==="path"),c=JSON.stringify(l);return g.useEffect(()=>{a(JSON.parse(c),{replace:e,state:t,relative:r})},[a,c,r,e,t]),null}function Sx(n){return tx(n.context)}function Cx({basename:n="/",children:e=null,location:t,navigationType:r="POP",navigator:i,static:s=!1,unstable_useTransitions:o}){ce(!Ur(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=n.replace(/^\/*/,"/"),l=g.useMemo(()=>({basename:a,navigator:i,static:s,unstable_useTransitions:o,future:{}}),[a,i,s,o]);typeof t=="string"&&(t=zn(t));let{pathname:c="/",search:h="",hash:u="",state:f=null,key:p="default"}=t,m=g.useMemo(()=>{let b=Et(c,a);return b==null?null:{location:{pathname:b,search:h,hash:u,state:f,key:p},navigationType:r}},[a,c,h,u,f,p,r]);return Le(m!=null,`<Router basename="${a}"> is not able to match the URL "${c}${h}${u}" because it does not start with the basename, so the <Router> won't render anything.`),m==null?null:g.createElement(St.Provider,{value:l},g.createElement(Ra.Provider,{children:e,value:m}))}var Wo="get",Uo="application/x-www-form-urlencoded";function La(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function jx(n){return La(n)&&n.tagName.toLowerCase()==="button"}function Ox(n){return La(n)&&n.tagName.toLowerCase()==="form"}function Px(n){return La(n)&&n.tagName.toLowerCase()==="input"}function Ax(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function Nx(n,e){return n.button===0&&(!e||e==="_self")&&!Ax(n)}var fo=null;function Mx(){if(fo===null)try{new FormData(document.createElement("form"),0),fo=!1}catch{fo=!0}return fo}var Tx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ll(n){return n!=null&&!Tx.has(n)?(Le(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Uo}"`),null):n}function Dx(n,e){let t,r,i,s,o;if(Ox(n)){let a=n.getAttribute("action");r=a?Et(a,e):null,t=n.getAttribute("method")||Wo,i=ll(n.getAttribute("enctype"))||Uo,s=new FormData(n)}else if(jx(n)||Px(n)&&(n.type==="submit"||n.type==="image")){let a=n.form;if(a==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=n.getAttribute("formaction")||a.getAttribute("action");if(r=l?Et(l,e):null,t=n.getAttribute("formmethod")||a.getAttribute("method")||Wo,i=ll(n.getAttribute("formenctype"))||ll(a.getAttribute("enctype"))||Uo,s=new FormData(a,n),!Mx()){let{name:c,type:h,value:u}=n;if(h==="image"){let f=c?`${c}.`:"";s.append(`${f}x`,"0"),s.append(`${f}y`,"0")}else c&&s.append(c,u)}}else{if(La(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=Wo,r=null,i=Uo,o=n}return s&&i==="text/plain"&&(o=s,s=void 0),{action:r,method:t.toLowerCase(),encType:i,formData:s,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function xh(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Ex(n,e,t){let r=typeof n=="string"?new URL(n,typeof window>"u"?"server://singlefetch/":window.location.origin):n;return r.pathname==="/"?r.pathname=`_root.${t}`:e&&Et(r.pathname,e)==="/"?r.pathname=`${e.replace(/\/$/,"")}/_root.${t}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${t}`,r}async function Rx(n,e){if(n.id in e)return e[n.id];try{let t=await import(n.module);return e[n.id]=t,t}catch(t){return console.error(`Error loading route module \`${n.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Lx(n){return n==null?!1:n.href==null?n.rel==="preload"&&typeof n.imageSrcSet=="string"&&typeof n.imageSizes=="string":typeof n.rel=="string"&&typeof n.href=="string"}async function Ix(n,e,t){let r=await Promise.all(n.map(async i=>{let s=e.routes[i.route.id];if(s){let o=await Rx(s,t);return o.links?o.links():[]}return[]}));return Vx(r.flat(1).filter(Lx).filter(i=>i.rel==="stylesheet"||i.rel==="preload").map(i=>i.rel==="stylesheet"?{...i,rel:"prefetch",as:"style"}:{...i,rel:"prefetch"}))}function tu(n,e,t,r,i,s){let o=(l,c)=>t[c]?l.route.id!==t[c].route.id:!0,a=(l,c)=>t[c].pathname!==l.pathname||t[c].route.path?.endsWith("*")&&t[c].params["*"]!==l.params["*"];return s==="assets"?e.filter((l,c)=>o(l,c)||a(l,c)):s==="data"?e.filter((l,c)=>{let h=r.routes[l.route.id];if(!h||!h.hasLoader)return!1;if(o(l,c)||a(l,c))return!0;if(l.route.shouldRevalidate){let u=l.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(n,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof u=="boolean")return u}return!0}):[]}function Bx(n,e,{includeHydrateFallback:t}={}){return $x(n.map(r=>{let i=e.routes[r.route.id];if(!i)return[];let s=[i.module];return i.clientActionModule&&(s=s.concat(i.clientActionModule)),i.clientLoaderModule&&(s=s.concat(i.clientLoaderModule)),t&&i.hydrateFallbackModule&&(s=s.concat(i.hydrateFallbackModule)),i.imports&&(s=s.concat(i.imports)),s}).flat(1))}function $x(n){return[...new Set(n)]}function Fx(n){let e={},t=Object.keys(n).sort();for(let r of t)e[r]=n[r];return e}function Vx(n,e){let t=new Set;return new Set(e),n.reduce((r,i)=>{let s=JSON.stringify(Fx(i));return t.has(s)||(t.add(s),r.push({key:s,link:i})),r},[])}function Tm(){let n=g.useContext(ur);return xh(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function zx(){let n=g.useContext(Fs);return xh(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var vh=g.createContext(void 0);vh.displayName="FrameworkContext";function Dm(){let n=g.useContext(vh);return xh(n,"You must render this element inside a <HydratedRouter> element"),n}function _x(n,e){let t=g.useContext(vh),[r,i]=g.useState(!1),[s,o]=g.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:c,onMouseLeave:h,onTouchStart:u}=e,f=g.useRef(null);g.useEffect(()=>{if(n==="render"&&o(!0),n==="viewport"){let b=v=>{v.forEach(w=>{o(w.isIntersecting)})},y=new IntersectionObserver(b,{threshold:.5});return f.current&&y.observe(f.current),()=>{y.disconnect()}}},[n]),g.useEffect(()=>{if(r){let b=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(b)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return t?n!=="intent"?[s,f,{}]:[s,f,{onFocus:ai(a,p),onBlur:ai(l,m),onMouseEnter:ai(c,p),onMouseLeave:ai(h,m),onTouchStart:ai(u,p)}]:[!1,f,{}]}function ai(n,e){return t=>{n&&n(t),t.defaultPrevented||e(t)}}function Hx({page:n,...e}){let{router:t}=Tm(),r=g.useMemo(()=>On(t.routes,n,t.basename),[t.routes,n,t.basename]);return r?g.createElement(Ux,{page:n,matches:r,...e}):null}function Wx(n){let{manifest:e,routeModules:t}=Dm(),[r,i]=g.useState([]);return g.useEffect(()=>{let s=!1;return Ix(n,e,t).then(o=>{s||i(o)}),()=>{s=!0}},[n,e,t]),r}function Ux({page:n,matches:e,...t}){let r=on(),{manifest:i,routeModules:s}=Dm(),{basename:o}=Tm(),{loaderData:a,matches:l}=zx(),c=g.useMemo(()=>tu(n,e,l,i,r,"data"),[n,e,l,i,r]),h=g.useMemo(()=>tu(n,e,l,i,r,"assets"),[n,e,l,i,r]),u=g.useMemo(()=>{if(n===r.pathname+r.search+r.hash)return[];let m=new Set,b=!1;if(e.forEach(v=>{let w=i.routes[v.route.id];!w||!w.hasLoader||(!c.some(C=>C.route.id===v.route.id)&&v.route.id in a&&s[v.route.id]?.shouldRevalidate||w.hasClientLoader?b=!0:m.add(v.route.id))}),m.size===0)return[];let y=Ex(n,o,"data");return b&&m.size>0&&y.searchParams.set("_routes",e.filter(v=>m.has(v.route.id)).map(v=>v.route.id).join(",")),[y.pathname+y.search]},[o,a,r,i,c,e,n,s]),f=g.useMemo(()=>Bx(h,i),[h,i]),p=Wx(h);return g.createElement(g.Fragment,null,u.map(m=>g.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...t})),f.map(m=>g.createElement("link",{key:m,rel:"modulepreload",href:m,...t})),p.map(({key:m,link:b})=>g.createElement("link",{key:m,nonce:t.nonce,...b})))}function Kx(...n){return e=>{n.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var Gx=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Gx&&(window.__reactRouterVersion="7.11.0")}catch{}function qx(n,e){return wy({basename:e?.basename,getContext:e?.getContext,future:e?.future,history:B1({window:e?.window}),hydrationData:Jx(),routes:n,mapRouteProperties:bx,hydrationRouteProperties:yx,dataStrategy:e?.dataStrategy,patchRoutesOnNavigation:e?.patchRoutesOnNavigation,window:e?.window,unstable_instrumentations:e?.unstable_instrumentations}).initialize()}function Jx(){let n=window?.__staticRouterHydrationData;return n&&n.errors&&(n={...n,errors:Yx(n.errors)}),n}function Yx(n){if(!n)return null;let e=Object.entries(n),t={};for(let[r,i]of e)if(i&&i.__type==="RouteErrorResponse")t[r]=new Bs(i.status,i.statusText,i.data,i.internal===!0);else if(i&&i.__type==="Error"){if(i.__subType){let s=window[i.__subType];if(typeof s=="function")try{let o=new s(i.message);o.stack="",t[r]=o}catch{}}if(t[r]==null){let s=new Error(i.message);s.stack="",t[r]=s}}else t[r]=i;return t}var Em=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Rm=g.forwardRef(function({onClick:e,discover:t="render",prefetch:r="none",relative:i,reloadDocument:s,replace:o,state:a,target:l,to:c,preventScrollReset:h,viewTransition:u,unstable_defaultShouldRevalidate:f,...p},m){let{basename:b,unstable_useTransitions:y}=g.useContext(St),v=typeof c=="string"&&Em.test(c),w=hm(c,b);c=w.to;let C=Xy(c,{relative:i}),[j,S,O]=_x(r,p),x=ev(c,{replace:o,state:a,target:l,preventScrollReset:h,relative:i,viewTransition:u,unstable_defaultShouldRevalidate:f,unstable_useTransitions:y});function T(R){e&&e(R),R.defaultPrevented||x(R)}let N=g.createElement("a",{...p,...O,href:w.absoluteURL||C,onClick:w.isExternal||s?e:T,ref:Kx(m,S),target:l,"data-discover":!v&&t==="render"?"true":void 0});return j&&!v?g.createElement(g.Fragment,null,N,g.createElement(Hx,{page:C})):N});Rm.displayName="Link";var Qx=g.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:r="",end:i=!1,style:s,to:o,viewTransition:a,children:l,...c},h){let u=Vs(o,{relative:c.relative}),f=on(),p=g.useContext(Fs),{navigator:m,basename:b}=g.useContext(St),y=p!=null&&sv(u)&&a===!0,v=m.encodeLocation?m.encodeLocation(u).pathname:u.pathname,w=f.pathname,C=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(w=w.toLowerCase(),C=C?C.toLowerCase():null,v=v.toLowerCase()),C&&b&&(C=Et(C,b)||C);const j=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let S=w===v||!i&&w.startsWith(v)&&w.charAt(j)==="/",O=C!=null&&(C===v||!i&&C.startsWith(v)&&C.charAt(v.length)==="/"),x={isActive:S,isPending:O,isTransitioning:y},T=S?e:void 0,N;typeof r=="function"?N=r(x):N=[r,S?"active":null,O?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let R=typeof s=="function"?s(x):s;return g.createElement(Rm,{...c,"aria-current":T,className:N,ref:h,style:R,to:o,viewTransition:a},typeof l=="function"?l(x):l)});Qx.displayName="NavLink";var Xx=g.forwardRef(({discover:n="render",fetcherKey:e,navigate:t,reloadDocument:r,replace:i,state:s,method:o=Wo,action:a,onSubmit:l,relative:c,preventScrollReset:h,viewTransition:u,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:b}=g.useContext(St),y=rv(),v=iv(a,{relative:c}),w=o.toLowerCase()==="get"?"get":"post",C=typeof a=="string"&&Em.test(a),j=S=>{if(l&&l(S),S.defaultPrevented)return;S.preventDefault();let O=S.nativeEvent.submitter,x=O?.getAttribute("formmethod")||o,T=()=>y(O||S.currentTarget,{fetcherKey:e,method:x,navigate:t,replace:i,state:s,relative:c,preventScrollReset:h,viewTransition:u,unstable_defaultShouldRevalidate:f});b&&t!==!1?g.startTransition(()=>T()):T()};return g.createElement("form",{ref:m,method:w,action:v,onSubmit:r?l:j,...p,"data-discover":!C&&n==="render"?"true":void 0})});Xx.displayName="Form";function Zx(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Lm(n){let e=g.useContext(ur);return ce(e,Zx(n)),e}function ev(n,{target:e,replace:t,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let c=wn(),h=on(),u=Vs(n,{relative:s});return g.useCallback(f=>{if(Nx(f,e)){f.preventDefault();let p=t!==void 0?t:sn(h)===sn(u),m=()=>c(n,{replace:p,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a});l?g.startTransition(()=>m()):m()}},[h,c,u,t,r,e,n,i,s,o,a,l])}var tv=0,nv=()=>`__${String(++tv)}__`;function rv(){let{router:n}=Lm("useSubmit"),{basename:e}=g.useContext(St),t=dx(),r=n.fetch,i=n.navigate;return g.useCallback(async(s,o={})=>{let{action:a,method:l,encType:c,formData:h,body:u}=Dx(s,e);if(o.navigate===!1){let f=o.fetcherKey||nv();await r(f,t,o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:h,body:u,formMethod:o.method||l,formEncType:o.encType||c,flushSync:o.flushSync})}else await i(o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:h,body:u,formMethod:o.method||l,formEncType:o.encType||c,replace:o.replace,state:o.state,fromRouteId:t,flushSync:o.flushSync,viewTransition:o.viewTransition})},[r,i,e,t])}function iv(n,{relative:e}={}){let{basename:t}=g.useContext(St),r=g.useContext(Lt);ce(r,"useFormAction must be used inside a RouteContext");let[i]=r.matches.slice(-1),s={...Vs(n||".",{relative:e})},o=on();if(n==null){s.search=o.search;let a=new URLSearchParams(s.search),l=a.getAll("index");if(l.some(h=>h==="")){a.delete("index"),l.filter(u=>u).forEach(u=>a.append("index",u));let h=a.toString();s.search=h?`?${h}`:""}}return(!n||n===".")&&i.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(s.pathname=s.pathname==="/"?t:nn([t,s.pathname])),sn(s)}function sv(n,{relative:e}={}){let t=g.useContext(mh);ce(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Lm("useViewTransitionState"),i=Vs(n,{relative:e});if(!t.isTransitioning)return!1;let s=Et(t.currentLocation.pathname,r)||t.currentLocation.pathname,o=Et(t.nextLocation.pathname,r)||t.nextLocation.pathname;return na(i.pathname,o)!=null||na(i.pathname,s)!=null}function ov(n){return g.createElement(vx,{flushSync:em.flushSync,...n})}const av={en:{loading:"Loading...",error:"Error",selectProject:"Select a project to view dashboard",controlCenter:"Control Center",settings:"Settings",sync:"Sync",offline:"Offline",switchToLight:"Switch to light mode",switchToDark:"Switch to dark mode",settingsSection:"Settings",configEditor:"Config Editor",projects:"Projects",addProject:"Add Project",global:"Global",skills:"Skills",health:"Health",collapse:"Collapse",expand:"Expand",installing:"Installing...",manage:"Manage",uninstall:"Uninstall",installGlobally:"Install Globally",installGloballyDesc:"Available to all projects instead of current project only",selectAtLeastOneAgent:"Please select at least one agent",installationFailed:"Installation failed",allSkills:"All Skills",refresh:"Refresh",browseAndManageSkills:"Browse and manage skills for your agents",detected:"Detected",notDetected:"Not detected",sessions:"sessions",noSessions:"No sessions",terminal:"Terminal",terminalSub:"Open bash at path",editor:"Editor",editorSub:"Open in VS Code",useGlobalFallback:"Use global fallback",openAtPath:"Open at project path",openAppOnly:"Open app only",actionOptionsLoadFailed:"Could not load editor/terminal options",launch:"Launch",launchSub:"Start Claude Code",config:"Config",configSub:"Manage project settings",recentSessions:"Recent Sessions",viewAllHistory:"View All History",showLess:"Show Less",actionFailed:"Action failed",loadingSessions:"Loading sessions...",noSessionsFound:"No sessions found",configuration:"Claude Settings",activeKit:"Active Kit",aiModel:"Model",hooks:"Hooks",active:"active",mcpServers:"MCP Servers",connected:"connected",editProjectConfig:"Edit Project Config",globalSettings:"(Global)",globalSkills:"Global Skills",loadingSkills:"Loading skills...",noDescription:"No description",browseSkillsMarketplace:"Browse Skills Marketplace",backToDashboard:"Back to Dashboard",educationalConfigEditor:"Educational Config Editor",discard:"Discard",saveChanges:"Save Changes",mergedView:"Merged View",localConfig:"Local (.ck.json)",globalConfig:"Global",syntaxValid:"Syntax Valid",configurationHelp:"Configuration Help",field:"Field",type:"Type",default:"Default",description:"Description",validValues:"Valid Values",systemEffect:"System Effect",exampleUsage:"Example Usage",knowledgeBase:"Knowledge Base",clickToSeeHelp:"Click on any configuration field to see detailed documentation and usage examples.",extractedFrom:"Extracted from ClaudeKit v2.x Specification",resetToDefault:"Reset",saving:"Saving...",saved:"Saved",confirmReset:"Reset to Default?",confirmResetMessage:"All changes will be lost and replaced with default values.",confirm:"Confirm",saveFailed:"Save failed",configTab:"Config",systemTab:"System",formTab:"Form",jsonTab:"JSON",readOnly:"Read-only",installedKit:"Installed Kit",kitVersion:"Kit Version",installedOn:"Installed On",noKitInstalled:"No kit installed",components:"Components",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"File Ownership",ownershipCk:"kit-managed",ownershipUser:"user-owned",ownershipModified:"modified",componentInventory:"Component Inventory",installedHooks:"Installed Hooks",installedMcpServers:"MCP Servers",lastChecked:"Last update check",staleIndicator:"Stale",skippedVersion:"Skipped",filesModifiedFromDefaults:"files modified from kit defaults",cliCard:"ClaudeKit CLI",checkForUpdates:"Check for Updates",checking:"Checking...",upToDate:"Up to date",updateAvailable:"Update available",updateNow:"Update Now",updating:"Updating...",updateSuccess:"Update Complete!",updateFailed:"Update Failed",closeModal:"Close",showDetails:"Show Details",hideDetails:"Hide Details",environment:"Environment",claudeConfigPath:"Claude config",nodeVersion:"Node",bunVersion:"Bun",osVersion:"OS",channelStable:"Stable",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Latest",selectVersion:"Select version",loadingVersions:"Loading versions...",prereleaseLabel:"Pre",currentVersionLabel:"Current",checkAll:"Check All",checkingAll:"Checking...",updateAll:"Update All",updatesAvailable:"{count} updates available",allUpToDate:"All up to date",systemControlTower:"System Control Tower",systemOverviewTitle:"Update & Runtime Overview",systemOverviewDesc:"Track CLI and kit health, then run upgrades from one place.",installedComponentsHeading:"Installed Components",updateReadiness:"Update Readiness",checkedComponents:"Checked",activeChannel:"Channel",readyToScan:"Ready to scan",noTrackedFiles:"No tracked files detected",kitsLabel:"Kits",componentFilterAll:"All",componentFilterUpdates:"Updates",componentFilterUpdatesCount:"Updates ({count})",componentFilterUpToDate:"Up to date",componentFilterUpToDateCount:"Up to date ({count})",componentFilterCli:"CLI",componentFilterKits:"Kits",noComponentsMatchFilter:"No components match the current filter.",runCheckAllForFilter:"Run Check All to populate this filter.",noUpdatesFound:"No updates found. Checked components are up to date.",noUpToDateYet:"No components are up to date yet.",configWorkspaceHint:"Edit configuration or manage system updates from one workspace.",settingsJsonHeading:"Claude Settings JSON",settingsJsonMissing:"No settings file found at ~/.claude/settings.json.",settingsJsonLoadFailed:"Failed to load ~/.claude/settings.json.",settingsBackupSaved:"Backup saved",addProjectTitle:"Add Project",addProjectDescription:"Add a new ClaudeKit project to the control center",projectPath:"Project Path",pathPlaceholder:"/path/to/project",alias:"Alias",aliasOptional:"(optional)",aliasPlaceholder:"my-project",aliasDescription:"Custom display name for the project",pathRequired:"Path is required",failedToAdd:"Failed to add project",cancel:"Cancel",adding:"Adding...",somethingWentWrong:"Something went wrong",reloadApp:"Reload App",serverNotRunning:"Server Not Running",startServerMessage:"The Config UI requires the backend server to be running.",runThisCommand:"Run this command",tryAgain:"Try Again",projectConfig:"Project Config",inheritedFromGlobal:"Inherited from Global",localOverride:"Local Override",viewGlobalConfig:"This field inherits from global config. View",onboardingTitle:"Welcome to ClaudeKit",onboardingSubtitle:"Choose your kit and get started in minutes",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"AI-powered coding with skills, hooks, and multi-agent workflows",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Content automation: campaigns, social media, analytics",featureAgents:"AI Agents",featureAgentsDesc:"Specialized agents for different tasks",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Customize Claude's behavior at key moments",featureSkills:"Skills Library",featureSkillsDesc:"Pre-built capabilities you can activate",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Coordinate multiple agents for complex tasks",featureContent:"Content Generation",featureContentDesc:"Automated content creation and optimization",featureSocial:"Social Media Tools",featureSocialDesc:"Scheduling, analytics, and engagement automation",stepChooseKit:"Choose Kit",stepConfigure:"Configure",stepInstall:"Install",back:"Back",next:"Next",install:"Install",installSuccess:"Installation Complete!",installSuccessDesc:"{kit} is ready to use",getStarted:"Get Started",goToDashboard:"Go to Dashboard",kitConfig:"Kit Config",kitConfigSubtitle:"Configure ClaudeKit Engineer settings",scopeGlobal:"Global",scopeProject:"Project",sectionGeneral:"General",sectionPaths:"Paths",sectionPrivacy:"Privacy & Trust",sectionProject:"Project Detection",sectionIntegrations:"Integrations",sectionHooks:"Hooks",sectionAdvanced:"Advanced",fieldCodingLevel:"Coding Level",fieldCodingLevelDesc:"Your coding experience level (-1=auto, 0=beginner, 1=intermediate, 2=advanced, 3=expert, 4=tech-lead, 5=god-mode)",fieldStatusline:"Statusline Mode",fieldStatuslineDesc:"How much info to show in the status line",fieldThinkingLanguage:"Thinking Language",fieldThinkingLanguageDesc:"Language for Claude's internal reasoning (null=English)",fieldResponseLanguage:"Response Language",fieldResponseLanguageDesc:"Language for Claude's responses (null=match user)",fieldDocsPath:"Docs Directory",fieldDocsPathDesc:"Path to documentation directory",fieldPlansPath:"Plans Directory",fieldPlansPathDesc:"Path to plans directory",fieldPrivacyBlock:"Privacy Block",fieldPrivacyBlockDesc:"Block access to sensitive files (.env, credentials)",fieldTrustEnabled:"Trust Mode",fieldTrustEnabledDesc:"Enable auto-approval for tool calls",fieldTrustPassphrase:"Trust Passphrase",fieldTrustPassphraseDesc:"Passphrase to enable trust mode",fieldProjectType:"Project Type",fieldProjectTypeDesc:"Override auto-detected project type",fieldPackageManager:"Package Manager",fieldPackageManagerDesc:"Override auto-detected package manager",fieldFramework:"Framework",fieldFrameworkDesc:"Override auto-detected framework",fieldGeminiModel:"Gemini Model",fieldGeminiModelDesc:"Gemini model for CLI commands",fieldResearchUseGemini:"Use Gemini for Research",fieldResearchUseGeminiDesc:"Use Gemini CLI instead of WebSearch",fieldDocsMaxLoc:"Max Lines per Doc",fieldDocsMaxLocDesc:"Maximum lines of code per documentation file",fieldPlanNamingFormat:"Plan Naming Format",fieldPlanNamingFormatDesc:"Format for plan directory names",fieldPlanDateFormat:"Plan Date Format",fieldPlanDateFormatDesc:"Date format for plan names (moment.js)",fieldPlanValidationMode:"Validation Mode",fieldPlanValidationModeDesc:"How to validate plans before implementation",fieldPlanMinQuestions:"Min Questions",fieldPlanMinQuestionsDesc:"Minimum validation questions",fieldPlanMaxQuestions:"Max Questions",fieldPlanMaxQuestionsDesc:"Maximum validation questions",fieldAssertions:"Assertions",fieldAssertionsDesc:"Code assertions and rules to enforce",fieldHookSessionInit:"Session Init",fieldHookSessionInitDesc:"Project detection and environment setup",fieldHookSubagentInit:"Subagent Init",fieldHookSubagentInitDesc:"Inject context to subagents",fieldHookDescriptiveName:"Descriptive Name",fieldHookDescriptiveNameDesc:"Enforce kebab-case descriptive file naming for scripts",fieldHookDevRulesReminder:"Dev Rules Reminder",fieldHookDevRulesReminderDesc:"Inject development rules context",fieldHookUsageContextAwareness:"Usage Context Awareness",fieldHookUsageContextAwarenessDesc:"Usage limits awareness",fieldHookContextTracking:"Context Tracking",fieldHookContextTrackingDesc:"Context window tracking (% used, token counts)",fieldHookScoutBlock:"Scout Block",fieldHookScoutBlockDesc:"Block heavy directories from exploration",fieldHookPrivacyBlock:"Privacy Block Hook",fieldHookPrivacyBlockDesc:"Block sensitive files from reading",fieldHookPostEditSimplify:"Post-Edit Simplify",fieldHookPostEditSimplifyDesc:"Simplify reminder after edits",skillsPageTitle:"Skills Management",skillsPageDesc:"Install ClaudeKit skills to your coding agents",availableSkills:"Available Skills",installedSkills:"Installed Skills",noSkillsFound:"No skills found",installSkill:"Install",uninstallSkill:"Uninstall",manageSkill:"Manage",syncRegistry:"Sync",installSkillTitle:"Install Skill",selectAgents:"Select target agents",installLocation:"Installation location",globalInstall:"Global",projectInstall:"Project",confirmInstall:"Install to selected agents",installingSkill:"Installing...",skillInstallSuccess:"Skill installed successfully",skillInstallFailed:"Installation failed",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Installed",notInstalled:"Not installed",allAgents:"All Agents",filterByAgent:"Filter by agent",skillsTitle:"Skills",skillsSubtitle:"Browse, install, and manage skills for your coding agents",availableCount:"Available",installedCount:"Installed",agentsCount:"Agents",searchSkills:"Search skills...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Category",sortInstalledFirst:"Installed first",listView:"List view",gridView:"Grid view",categoryAll:"All",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Security",categoryDevOps:"DevOps",categoryDatabase:"Database",categoryDevelopment:"Development",categoryResearch:"Research",categoryGeneral:"General",categoryCore:"Core",categoryDocumentation:"Documentation",categoryTooling:"Tooling",categoryMedia:"Media",categoryFrameworks:"Frameworks",skillsCountLabel:"{count} skills",installToAll:"Install to All Detected",scopeLabel:"Installation Scope",agentInstalled:"Installed",agentNotInstalled:"Not installed",skillSource:"Source location",skillSourceBadge:"Source",detailPanelClose:"Close",versionLabel:"v{version}",installAllToAllAgents:"Install All to All Agents",bulkInstallFailed:"Bulk install failed",noAgentsDetected:"No agents detected",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Customized",installedVersionLabel:"Installed Version",installedAtLabel:"Installed At",sourceTimestampLabel:"Source Date",kitLabel:"Kit",skillMetadata:"Skill Info",migrate:"Migrate",migrateTitle:"Migrate",migrateSubtitle:"Migrate your Claude Code stack to other providers",migrateDetectedProviders:"Detected",migrateSelectedProviders:"Selected",migrateDiscovering:"Discovering migration sources...",migrateRefresh:"Refresh Discovery",migrateRun:"Run Migration",migrateRunning:"Migrating...",migrateSourceSummary:"Source Summary",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetBoth:"Codex + Antigravity",migratePresetDetected:"All Detected",migrateScope:"Scope",migrateScopeProject:"Project",migrateScopeGlobal:"Global",migrateTypes:"Portable Types",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateSearchProviders:"Search providers...",migrateSelectVisible:"Select Visible",migrateClearSelection:"Clear Selection",migrateProvidersHeading:"Target Providers",migrateProvidersCountSuffix:"providers",migrateNoProvidersMatch:"No providers match current filters.",migrateSelectButton:"Select",migrateSelectedButton:"Selected",migrateSelectProviderAction:"Select Provider",migrateUnselectProvider:"Unselect Provider",migrateCapabilitiesLabel:"types",migrateCapabilitiesSection:"Capability Matrix",migrateSupported:"Supported",migrateUnsupportedShort:"Unsupported",migrateIncludedEnabled:"Enabled",migrateIncludedDisabled:"Disabled",migrateLatestTarget:"Latest Target",migrateNoResultForProvider:"No migration result for this provider yet.",migrateActionSummaryTitle:"Ready to Migrate",migrateGlobalOnlyCommandsShort:"Commands global-only",migrateNoProviders:"No providers available.",migrateUnsupported:"Will be skipped (unsupported)",migrateGlobalForced:"Codex commands are global-only. Scope will be forced to global.",migrateResults:"Migration Results",migrateInstalled:"Installed",migrateSkipped:"Skipped",migrateFailed:"Failed",migrateProvider:"Provider",migrateStatus:"Status",migratePath:"Path",migrateError:"Error",migrateStatusInstalled:"Installed",migrateStatusSkipped:"Skipped",migrateStatusFailed:"Failed",migrateNoResults:"No migration results yet.",migrateDetectFailed:"Failed to discover migration data",migrateExecuteFailed:"Migration execution failed",migrateSelectProvider:"Select at least one provider",migrateNoTypesEnabled:"Enable at least one portable type",migrateDetectedTag:"Detected",migrateNotDetectedTag:"Not detected",migrateFilterRecommended:"Recommended",migrateActionInstall:"Install",migrateActionUpdate:"Update",migrateActionSkip:"Skip",migrateActionConflict:"Conflict",migrateActionDelete:"Delete",migrateUnchanged:"unchanged",migrateConflictSectionTitle:"Conflicts",migrateConflictUseCK:"Use CK",migrateConflictKeepMine:"Keep Mine",migrateConflictSmartMerge:"Smart Merge",migrateConflictShowDiff:"Show Diff",migrateConflictHideDiff:"Hide Diff",migrateConflictResolved:"Resolved",migrateConflictManual:"Manual",migrateConflictOverwriteAll:"Overwrite All",migrateConflictKeepAll:"Keep All",migrateSummaryTitle:"Migration Complete",migrateSummaryNewMigration:"New Migration",migrateType:"Type",migrateItem:"Item",migrateReconciling:"Analyzing changes...",migrateReviewPlan:"Review Plan",migrateExecutePlan:"Execute Migration",migrateExecuting:"Executing migration...",migrateResolveConflicts:"Resolve all conflicts before executing",migrateSummarySubtitle:"items migrated",migrateSummarySearchPlaceholder:"Search items...",migrateSummaryFilterAll:"All",migrateSummaryCollapseAll:"Collapse all",migrateSummaryExpandAll:"Expand all",migrateSummaryNoResults:"No items match your search",migrateSummaryProviders:"Providers",migrateTypeUnknown:"Other",developmentFeature:"Development",betaFeature:"Beta",experimentalFeature:"Experimental"},vi:{loading:"Đang tải...",error:"Lỗi",selectProject:"Chọn dự án để xem bảng điều khiển",controlCenter:"Trung tâm điều khiển",settings:"Cài đặt",sync:"Đồng bộ",offline:"Ngoại tuyến",switchToLight:"Chuyển sang chế độ sáng",switchToDark:"Chuyển sang chế độ tối",settingsSection:"Cài đặt",configEditor:"Trình chỉnh sửa cấu hình",projects:"Dự án",addProject:"Thêm dự án",global:"Toàn cục",skills:"Kỹ năng",health:"Sức khỏe",collapse:"Thu gọn",expand:"Mở rộng",installing:"Đang cài đặt...",manage:"Quản lý",uninstall:"Gỡ cài đặt",installGlobally:"Cài đặt toàn cục",installGloballyDesc:"Khả dụng cho tất cả dự án thay vì chỉ dự án hiện tại",selectAtLeastOneAgent:"Vui lòng chọn ít nhất một agent",installationFailed:"Cài đặt thất bại",allSkills:"Tất cả kỹ năng",refresh:"Làm mới",browseAndManageSkills:"Duyệt và quản lý kỹ năng cho agents của bạn",detected:"Đã phát hiện",notDetected:"Chưa phát hiện",sessions:"phiên",noSessions:"Không có phiên",terminal:"Terminal",terminalSub:"Mở bash tại đường dẫn",editor:"Trình soạn thảo",editorSub:"Mở trong VS Code",useGlobalFallback:"Dùng fallback global",openAtPath:"Mở tại đường dẫn dự án",openAppOnly:"Chỉ mở ứng dụng",actionOptionsLoadFailed:"Không thể tải tùy chọn editor/terminal",launch:"Khởi chạy",launchSub:"Bắt đầu Claude Code",config:"Cấu hình",configSub:"Quản lý cài đặt dự án",recentSessions:"Phiên gần đây",viewAllHistory:"Xem tất cả lịch sử",showLess:"Thu gọn",actionFailed:"Thao tác thất bại",loadingSessions:"Đang tải phiên...",noSessionsFound:"Không tìm thấy phiên nào",configuration:"Cài đặt Claude",activeKit:"Kit hoạt động",aiModel:"Mô hình",hooks:"Hooks",active:"hoạt động",mcpServers:"Máy chủ MCP",connected:"kết nối",editProjectConfig:"Chỉnh sửa cấu hình dự án",globalSettings:"(Toàn cục)",globalSkills:"Kỹ năng toàn cục",loadingSkills:"Đang tải kỹ năng...",noDescription:"Không có mô tả",browseSkillsMarketplace:"Duyệt Skills Marketplace",backToDashboard:"Quay lại bảng điều khiển",educationalConfigEditor:"Trình chỉnh sửa cấu hình hướng dẫn",discard:"Hủy bỏ",saveChanges:"Lưu thay đổi",mergedView:"Chế độ gộp",localConfig:"Cục bộ (.ck.json)",globalConfig:"Toàn cục",syntaxValid:"Cú pháp hợp lệ",configurationHelp:"Hướng dẫn cấu hình",field:"Trường",type:"Kiểu",default:"Mặc định",description:"Mô tả",validValues:"Giá trị hợp lệ",systemEffect:"Hiệu ứng hệ thống",exampleUsage:"Ví dụ sử dụng",knowledgeBase:"Cơ sở kiến thức",clickToSeeHelp:"Nhấp vào bất kỳ trường cấu hình nào để xem tài liệu chi tiết và ví dụ sử dụng.",extractedFrom:"Trích xuất từ ClaudeKit v2.x Specification",resetToDefault:"Đặt lại",saving:"Đang lưu...",saved:"Đã lưu",confirmReset:"Đặt lại về mặc định?",confirmResetMessage:"Tất cả thay đổi sẽ bị mất và được thay thế bằng giá trị mặc định.",confirm:"Xác nhận",saveFailed:"Lưu thất bại",configTab:"Cấu hình",systemTab:"Hệ thống",formTab:"Biểu mẫu",jsonTab:"JSON",readOnly:"Chỉ đọc",installedKit:"Kit đã cài",kitVersion:"Phiên bản Kit",installedOn:"Cài đặt vào",noKitInstalled:"Chưa cài kit",components:"Thành phần",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"Quyền sở hữu tệp",ownershipCk:"do kit quản lý",ownershipUser:"do người dùng",ownershipModified:"đã chỉnh sửa",componentInventory:"Thành phần đã cài",installedHooks:"Hooks đã cài",installedMcpServers:"MCP Servers",lastChecked:"Kiểm tra cập nhật",staleIndicator:"Cũ",skippedVersion:"Đã bỏ qua",filesModifiedFromDefaults:"tệp đã sửa so với mặc định",cliCard:"ClaudeKit CLI",checkForUpdates:"Kiểm tra cập nhật",checking:"Đang kiểm tra...",upToDate:"Đã cập nhật",updateAvailable:"Có bản cập nhật",updateNow:"Cập nhật ngay",updating:"Đang cập nhật...",updateSuccess:"Cập nhật hoàn tất!",updateFailed:"Cập nhật thất bại",closeModal:"Đóng",showDetails:"Xem chi tiết",hideDetails:"Ẩn chi tiết",environment:"Môi trường",claudeConfigPath:"Cấu hình Claude",nodeVersion:"Node",bunVersion:"Bun",osVersion:"Hệ điều hành",channelStable:"Ổn định",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Mới nhất",selectVersion:"Chọn phiên bản",loadingVersions:"Đang tải...",prereleaseLabel:"Thử nghiệm",currentVersionLabel:"Hiện tại",checkAll:"Kiểm tra tất cả",checkingAll:"Đang kiểm tra...",updateAll:"Cập nhật tất cả",updatesAvailable:"{count} bản cập nhật",allUpToDate:"Tất cả đã cập nhật",systemControlTower:"Trung tâm hệ thống",systemOverviewTitle:"Tổng quan cập nhật & môi trường",systemOverviewDesc:"Theo dõi CLI và kit, rồi nâng cấp từ một nơi.",installedComponentsHeading:"Thành phần đã cài",updateReadiness:"Mức sẵn sàng cập nhật",checkedComponents:"Đã kiểm tra",activeChannel:"Kênh",readyToScan:"Sẵn sàng kiểm tra",noTrackedFiles:"Không phát hiện tệp theo dõi",kitsLabel:"Kit",componentFilterAll:"Tất cả",componentFilterUpdates:"Bản cập nhật",componentFilterUpdatesCount:"Bản cập nhật ({count})",componentFilterUpToDate:"Đã cập nhật",componentFilterUpToDateCount:"Đã cập nhật ({count})",componentFilterCli:"CLI",componentFilterKits:"Kit",noComponentsMatchFilter:"Không có thành phần phù hợp bộ lọc hiện tại.",runCheckAllForFilter:"Hãy chạy Kiểm tra tất cả để nạp dữ liệu cho bộ lọc này.",noUpdatesFound:"Không có bản cập nhật. Các thành phần đã kiểm tra đều mới nhất.",noUpToDateYet:"Chưa có thành phần nào ở trạng thái đã cập nhật.",configWorkspaceHint:"Chỉnh sửa cấu hình hoặc quản lý cập nhật hệ thống trong một màn hình.",settingsJsonHeading:"JSON Cài đặt Claude",settingsJsonMissing:"Không tìm thấy tệp ~/.claude/settings.json.",settingsJsonLoadFailed:"Không thể tải ~/.claude/settings.json.",settingsBackupSaved:"Đã lưu bản sao lưu",addProjectTitle:"Thêm dự án",addProjectDescription:"Thêm dự án ClaudeKit mới vào trung tâm điều khiển",projectPath:"Đường dẫn dự án",pathPlaceholder:"/đường/dẫn/dự/án",alias:"Bí danh",aliasOptional:"(tùy chọn)",aliasPlaceholder:"dự-án-của-tôi",aliasDescription:"Tên hiển thị tùy chỉnh cho dự án",pathRequired:"Đường dẫn bắt buộc",failedToAdd:"Không thể thêm dự án",cancel:"Hủy",adding:"Đang thêm...",somethingWentWrong:"Đã xảy ra lỗi",reloadApp:"Tải lại ứng dụng",serverNotRunning:"Máy chủ không chạy",startServerMessage:"Config UI yêu cầu máy chủ backend đang chạy.",runThisCommand:"Chạy lệnh này",tryAgain:"Thử lại",projectConfig:"Cấu hình dự án",inheritedFromGlobal:"Kế thừa từ toàn cục",localOverride:"Ghi đè cục bộ",viewGlobalConfig:"Trường này kế thừa từ cấu hình toàn cục. Xem",onboardingTitle:"Chào mừng đến ClaudeKit",onboardingSubtitle:"Chọn kit của bạn và bắt đầu trong vài phút",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"Lập trình AI với skills, hooks và multi-agent",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Tự động hóa nội dung: chiến dịch, mạng xã hội, phân tích",featureAgents:"AI Agents",featureAgentsDesc:"Các agent chuyên biệt cho từng tác vụ",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Tùy chỉnh hành vi của Claude tại các thời điểm quan trọng",featureSkills:"Thư viện Skills",featureSkillsDesc:"Các khả năng có sẵn bạn có thể kích hoạt",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Phối hợp nhiều agent cho các tác vụ phức tạp",featureContent:"Tạo nội dung",featureContentDesc:"Tự động tạo và tối ưu nội dung",featureSocial:"Công cụ mạng xã hội",featureSocialDesc:"Lên lịch, phân tích và tự động tương tác",stepChooseKit:"Chọn Kit",stepConfigure:"Cấu hình",stepInstall:"Cài đặt",back:"Quay lại",next:"Tiếp theo",install:"Cài đặt",installSuccess:"Cài đặt hoàn tất!",installSuccessDesc:"{kit} đã sẵn sàng sử dụng",getStarted:"Bắt đầu",goToDashboard:"Đi đến Dashboard",kitConfig:"Cấu hình Kit",kitConfigSubtitle:"Cấu hình ClaudeKit Engineer",scopeGlobal:"Toàn cục",scopeProject:"Dự án",sectionGeneral:"Cài đặt chung",sectionPaths:"Đường dẫn",sectionPrivacy:"Bảo mật & Tin cậy",sectionProject:"Phát hiện dự án",sectionIntegrations:"Tích hợp",sectionHooks:"Hooks",sectionAdvanced:"Nâng cao",fieldCodingLevel:"Cấp độ lập trình",fieldCodingLevelDesc:"Cấp độ kinh nghiệm (-1=tự động, 0=mới bắt đầu, 1=trung cấp, 2=nâng cao, 3=chuyên gia, 4=tech-lead, 5=thần)",fieldStatusline:"Chế độ thanh trạng thái",fieldStatuslineDesc:"Lượng thông tin hiển thị trên thanh trạng thái",fieldThinkingLanguage:"Ngôn ngữ suy nghĩ",fieldThinkingLanguageDesc:"Ngôn ngữ cho suy luận nội bộ của Claude (null=Tiếng Anh)",fieldResponseLanguage:"Ngôn ngữ phản hồi",fieldResponseLanguageDesc:"Ngôn ngữ cho phản hồi của Claude (null=theo người dùng)",fieldDocsPath:"Thư mục tài liệu",fieldDocsPathDesc:"Đường dẫn đến thư mục tài liệu",fieldPlansPath:"Thư mục kế hoạch",fieldPlansPathDesc:"Đường dẫn đến thư mục kế hoạch",fieldPrivacyBlock:"Chặn quyền riêng tư",fieldPrivacyBlockDesc:"Chặn truy cập file nhạy cảm (.env, credentials)",fieldTrustEnabled:"Chế độ tin cậy",fieldTrustEnabledDesc:"Tự động phê duyệt các tool calls",fieldTrustPassphrase:"Mật khẩu tin cậy",fieldTrustPassphraseDesc:"Mật khẩu để bật chế độ tin cậy",fieldProjectType:"Loại dự án",fieldProjectTypeDesc:"Ghi đè loại dự án tự động phát hiện",fieldPackageManager:"Trình quản lý gói",fieldPackageManagerDesc:"Ghi đè trình quản lý gói tự động phát hiện",fieldFramework:"Framework",fieldFrameworkDesc:"Ghi đè framework tự động phát hiện",fieldGeminiModel:"Mô hình Gemini",fieldGeminiModelDesc:"Mô hình Gemini cho các lệnh CLI",fieldResearchUseGemini:"Dùng Gemini cho nghiên cứu",fieldResearchUseGeminiDesc:"Dùng Gemini CLI thay vì WebSearch",fieldDocsMaxLoc:"Số dòng tối đa/tài liệu",fieldDocsMaxLocDesc:"Số dòng code tối đa cho mỗi file tài liệu",fieldPlanNamingFormat:"Định dạng tên kế hoạch",fieldPlanNamingFormatDesc:"Định dạng cho tên thư mục kế hoạch",fieldPlanDateFormat:"Định dạng ngày kế hoạch",fieldPlanDateFormatDesc:"Định dạng ngày cho tên kế hoạch (moment.js)",fieldPlanValidationMode:"Chế độ xác thực",fieldPlanValidationModeDesc:"Cách xác thực kế hoạch trước khi triển khai",fieldPlanMinQuestions:"Số câu hỏi tối thiểu",fieldPlanMinQuestionsDesc:"Số câu hỏi xác thực tối thiểu",fieldPlanMaxQuestions:"Số câu hỏi tối đa",fieldPlanMaxQuestionsDesc:"Số câu hỏi xác thực tối đa",fieldAssertions:"Assertions",fieldAssertionsDesc:"Các assertions và quy tắc cần thực thi",fieldHookSessionInit:"Khởi tạo phiên",fieldHookSessionInitDesc:"Phát hiện dự án và thiết lập môi trường",fieldHookSubagentInit:"Khởi tạo subagent",fieldHookSubagentInitDesc:"Inject context vào subagents",fieldHookDescriptiveName:"Tên mô tả",fieldHookDescriptiveNameDesc:"Bắt buộc đặt tên file dạng kebab-case mô tả cho scripts",fieldHookDevRulesReminder:"Nhắc nhở quy tắc dev",fieldHookDevRulesReminderDesc:"Inject context quy tắc phát triển",fieldHookUsageContextAwareness:"Nhận thức ngữ cảnh sử dụng",fieldHookUsageContextAwarenessDesc:"Nhận thức giới hạn sử dụng",fieldHookContextTracking:"Theo dõi ngữ cảnh",fieldHookContextTrackingDesc:"Theo dõi cửa sổ ngữ cảnh (% đã dùng, số token)",fieldHookScoutBlock:"Chặn Scout",fieldHookScoutBlockDesc:"Chặn thư mục nặng khỏi việc khám phá",fieldHookPrivacyBlock:"Hook chặn quyền riêng tư",fieldHookPrivacyBlockDesc:"Chặn đọc file nhạy cảm",fieldHookPostEditSimplify:"Đơn giản sau chỉnh sửa",fieldHookPostEditSimplifyDesc:"Nhắc đơn giản sau khi chỉnh sửa",skillsPageTitle:"Quản lý Kỹ năng",skillsPageDesc:"Cài đặt kỹ năng ClaudeKit cho các agent lập trình",availableSkills:"Kỹ năng có sẵn",installedSkills:"Kỹ năng đã cài",noSkillsFound:"Không tìm thấy kỹ năng",installSkill:"Cài đặt",uninstallSkill:"Gỡ cài đặt",manageSkill:"Quản lý",syncRegistry:"Đồng bộ",installSkillTitle:"Cài đặt Kỹ năng",selectAgents:"Chọn agent đích",installLocation:"Vị trí cài đặt",globalInstall:"Toàn cục",projectInstall:"Dự án",confirmInstall:"Cài đặt cho các agent đã chọn",installingSkill:"Đang cài đặt...",skillInstallSuccess:"Cài đặt kỹ năng thành công",skillInstallFailed:"Cài đặt thất bại",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Đã cài",notInstalled:"Chưa cài",allAgents:"Tất cả Agent",filterByAgent:"Lọc theo agent",skillsTitle:"Kỹ năng",skillsSubtitle:"Duyệt, cài đặt và quản lý kỹ năng cho coding agents",availableCount:"Có sẵn",installedCount:"Đã cài",agentsCount:"Agents",searchSkills:"Tìm kiếm kỹ năng...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Danh mục",sortInstalledFirst:"Đã cài trước",listView:"Dạng danh sách",gridView:"Dạng lưới",categoryAll:"Tất cả",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Bảo mật",categoryDevOps:"DevOps",categoryDatabase:"Cơ sở dữ liệu",categoryDevelopment:"Phát triển",categoryResearch:"Nghiên cứu",categoryGeneral:"Tổng quát",categoryCore:"Cốt lõi",categoryDocumentation:"Tài liệu",categoryTooling:"Công cụ",categoryMedia:"Phương tiện",categoryFrameworks:"Framework",skillsCountLabel:"{count} kỹ năng",installToAll:"Cài cho tất cả đã phát hiện",scopeLabel:"Phạm vi cài đặt",agentInstalled:"Đã cài",agentNotInstalled:"Chưa cài",skillSource:"Vị trí nguồn",skillSourceBadge:"Nguồn",detailPanelClose:"Đóng",versionLabel:"v{version}",installAllToAllAgents:"Cài tất cả cho tất cả Agent",bulkInstallFailed:"Cài hàng loạt thất bại",noAgentsDetected:"Không phát hiện agent nào",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Đã tùy chỉnh",installedVersionLabel:"Phiên bản cài đặt",installedAtLabel:"Cài đặt lúc",sourceTimestampLabel:"Ngày nguồn",kitLabel:"Kit",skillMetadata:"Thông tin Skill",migrate:"Di trú",migrateTitle:"Di trú",migrateSubtitle:"Chuyển toàn bộ stack Claude Code sang provider khác",migrateDetectedProviders:"Đã phát hiện",migrateSelectedProviders:"Đã chọn",migrateDiscovering:"Đang quét nguồn di trú...",migrateRefresh:"Làm mới quét",migrateRun:"Chạy di trú",migrateRunning:"Đang di trú...",migrateSourceSummary:"Tổng quan nguồn",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetBoth:"Codex + Antigravity",migratePresetDetected:"Tất cả đã phát hiện",migrateScope:"Phạm vi",migrateScopeProject:"Dự án",migrateScopeGlobal:"Toàn cục",migrateTypes:"Loại di trú",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateSearchProviders:"Tìm provider...",migrateSelectVisible:"Chọn phần đang hiện",migrateClearSelection:"Bỏ chọn tất cả",migrateProvidersHeading:"Provider đích",migrateProvidersCountSuffix:"provider",migrateNoProvidersMatch:"Không có provider khớp bộ lọc hiện tại.",migrateSelectButton:"Chọn",migrateSelectedButton:"Đã chọn",migrateSelectProviderAction:"Chọn provider",migrateUnselectProvider:"Bỏ chọn provider",migrateCapabilitiesLabel:"loại",migrateCapabilitiesSection:"Ma trận khả năng",migrateSupported:"Hỗ trợ",migrateUnsupportedShort:"Không hỗ trợ",migrateIncludedEnabled:"Đang bật",migrateIncludedDisabled:"Đang tắt",migrateLatestTarget:"Đích gần nhất",migrateNoResultForProvider:"Chưa có kết quả di trú cho provider này.",migrateActionSummaryTitle:"Sẵn sàng di trú",migrateGlobalOnlyCommandsShort:"Commands chỉ global",migrateNoProviders:"Không có provider khả dụng.",migrateUnsupported:"Sẽ bỏ qua (không hỗ trợ)",migrateGlobalForced:"Lệnh Codex chỉ hỗ trợ global. Phạm vi sẽ tự chuyển global.",migrateResults:"Kết quả di trú",migrateInstalled:"Đã cài",migrateSkipped:"Đã bỏ qua",migrateFailed:"Lỗi",migrateProvider:"Provider",migrateStatus:"Trạng thái",migratePath:"Đường dẫn",migrateError:"Lỗi",migrateStatusInstalled:"Đã cài",migrateStatusSkipped:"Đã bỏ qua",migrateStatusFailed:"Lỗi",migrateNoResults:"Chưa có kết quả di trú.",migrateDetectFailed:"Không thể quét dữ liệu di trú",migrateExecuteFailed:"Chạy di trú thất bại",migrateSelectProvider:"Vui lòng chọn ít nhất một provider",migrateNoTypesEnabled:"Bật ít nhất một loại di trú",migrateDetectedTag:"Đã phát hiện",migrateNotDetectedTag:"Chưa phát hiện",migrateFilterRecommended:"Đề xuất",migrateActionInstall:"Cài",migrateActionUpdate:"Cập nhật",migrateActionSkip:"Bỏ qua",migrateActionConflict:"Xung đột",migrateActionDelete:"Xóa",migrateUnchanged:"chưa thay đổi",migrateConflictSectionTitle:"Xung đột",migrateConflictUseCK:"Dùng CK",migrateConflictKeepMine:"Giữ của tôi",migrateConflictSmartMerge:"Merge thông minh",migrateConflictShowDiff:"Hiện diff",migrateConflictHideDiff:"Ẩn diff",migrateConflictResolved:"Đã giải quyết",migrateConflictManual:"Thủ công",migrateConflictOverwriteAll:"Ghi đè tất cả",migrateConflictKeepAll:"Giữ tất cả",migrateSummaryTitle:"Di trú hoàn tất",migrateSummaryNewMigration:"Di trú mới",migrateType:"Loại",migrateItem:"Mục",migrateReconciling:"Đang phân tích thay đổi...",migrateReviewPlan:"Xem kế hoạch",migrateExecutePlan:"Thực hiện di trú",migrateExecuting:"Đang thực hiện di trú...",migrateResolveConflicts:"Giải quyết xung đột trước khi thực hiện",migrateSummarySubtitle:"mục đã di trú",migrateSummarySearchPlaceholder:"Tìm kiếm...",migrateSummaryFilterAll:"Tất cả",migrateSummaryCollapseAll:"Thu gọn",migrateSummaryExpandAll:"Mở rộng",migrateSummaryNoResults:"Không tìm thấy mục nào",migrateSummaryProviders:"Provider",migrateTypeUnknown:"Khác",developmentFeature:"Đang phát triển",betaFeature:"Beta",experimentalFeature:"Thử nghiệm"}},wh=g.createContext(null),Im="ck-dashboard-lang";function lv(){const n=localStorage.getItem(Im);return n==="en"||n==="vi"?n:navigator.language.startsWith("vi")?"vi":"en"}function cv({children:n}){const[e,t]=g.useState(lv),r=s=>{localStorage.setItem(Im,s),t(s)},i=s=>av[e][s];return d.jsx(wh.Provider,{value:{lang:e,setLang:r,t:i},children:n})}function pe(){const n=g.useContext(wh);if(!n)throw new Error("useI18n must be used within I18nProvider");return n}class hv extends g.Component{constructor(){super(...arguments);Od(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("App error:",t,r.componentStack)}render(){if(this.state.hasError){const t=this.state.error?.name==="ServerUnavailableError";return d.jsx(wh.Consumer,{children:r=>d.jsx("div",{className:"flex h-screen items-center justify-center bg-dash-bg",children:d.jsx("div",{className:"text-center space-y-4 max-w-md px-6",children:t?d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-orange-500/10 border border-orange-500/30 flex items-center justify-center text-3xl",children:"🔌"}),d.jsx("h1",{className:"text-2xl font-bold text-orange-500",children:r?.t("serverNotRunning")??"Server Not Running"}),d.jsx("p",{className:"text-dash-text-secondary",children:r?.t("startServerMessage")??"The Config UI requires the backend server to be running."}),d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-4",children:[d.jsx("p",{className:"text-xs text-dash-text-muted uppercase tracking-widest mb-2 font-bold",children:r?.t("runThisCommand")??"Run this command"}),d.jsx("code",{className:"block text-sm text-dash-accent font-mono bg-dash-bg px-3 py-2 rounded border border-dash-border",children:"ck config"})]}),d.jsx("button",{onClick:()=>window.location.reload(),className:"px-6 py-2 bg-dash-accent text-dash-bg rounded-lg font-bold hover:bg-dash-accent-hover transition-colors",children:r?.t("tryAgain")??"Try Again"})]}):d.jsxs(d.Fragment,{children:[d.jsx("h1",{className:"text-2xl font-bold text-red-500",children:r?.t("somethingWentWrong")??"Something went wrong"}),d.jsx("p",{className:"text-dash-text-muted",children:this.state.error?.message}),d.jsx("button",{onClick:()=>window.location.reload(),className:"px-4 py-2 bg-dash-accent text-white rounded-md hover:opacity-90",children:r?.t("reloadApp")??"Reload App"})]})})})})}return this.props.children}}const Ar=({direction:n="horizontal",isDragging:e=!1,onMouseDown:t})=>{const r=n==="horizontal";return d.jsx("div",{onMouseDown:t,className:`
22
22
  group flex items-center justify-center shrink-0
23
23
  ${r?"w-2 cursor-col-resize":"h-2 cursor-row-resize"}
24
24
  ${e?"bg-dash-accent/20":"hover:bg-dash-surface-hover/50"}
@@ -27,47 +27,47 @@ Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}
27
27
  rounded-full transition-all
28
28
  ${r?"w-0.5 h-8":"h-0.5 w-8"}
29
29
  ${e?"bg-dash-accent":"bg-dash-border group-hover:bg-dash-text-muted"}
30
- `})})};var On=(n=>(n.HEALTHY="healthy",n.WARNING="warning",n.ERROR="error",n.LOADING="loading",n.UNKNOWN="unknown",n))(On||{}),Gt=(n=>(n.ENGINEER="engineer",n.MARKETING="marketing",n.ARCHITECT="architect",n.RESEARCHER="researcher",n.DEVOP="devops",n))(Gt||{});const iv=({isOpen:n,onClose:e,onAdd:t})=>{const{t:r}=me(),[i,s]=b.useState(""),[o,a]=b.useState(""),[l,c]=b.useState(!1),[h,u]=b.useState(null);b.useEffect(()=>{n||(s(""),a(""),u(null),c(!1))},[n]),b.useEffect(()=>{if(!n)return;const p=m=>{m.key==="Escape"&&e()};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[n]),b.useEffect(()=>{if(!n)return;const p=document.activeElement;return document.querySelector("#project-path")?.focus(),()=>{p?.focus()}},[n]);const f=async p=>{if(p.preventDefault(),!i.trim()){u(r("pathRequired"));return}try{c(!0),u(null);const m={path:i.trim(),...o.trim()&&{alias:o.trim()}};await t(m),e()}catch(m){u(m instanceof Error?m.message:r("failedToAdd"))}finally{c(!1)}};return n?d.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:e,children:d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-xl max-w-md w-full mx-4",onClick:p=>p.stopPropagation(),children:[d.jsxs("div",{className:"px-6 py-4 border-b border-dash-border",children:[d.jsx("h2",{className:"text-lg font-bold text-dash-text",children:r("addProjectTitle")}),d.jsx("p",{className:"text-sm text-dash-text-muted mt-1",children:r("addProjectDescription")})]}),d.jsxs("form",{onSubmit:f,className:"p-6 space-y-4",children:[d.jsxs("div",{children:[d.jsxs("label",{htmlFor:"project-path",className:"block text-sm font-medium text-dash-text mb-2",children:[r("projectPath")," ",d.jsx("span",{className:"text-red-500",children:"*"})]}),d.jsx("input",{id:"project-path",type:"text",value:i,onChange:p=>s(p.target.value),placeholder:r("pathPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"})]}),d.jsxs("div",{children:[d.jsxs("label",{htmlFor:"project-alias",className:"block text-sm font-medium text-dash-text mb-2",children:[r("alias")," ",r("aliasOptional")]}),d.jsx("input",{id:"project-alias",type:"text",value:o,onChange:p=>a(p.target.value),placeholder:r("aliasPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"}),d.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:r("aliasDescription")})]}),h&&d.jsx("div",{className:"px-3 py-2 bg-red-500/10 border border-red-500/20 rounded-md",children:d.jsx("p",{className:"text-sm text-red-500",children:h})}),d.jsxs("div",{className:"flex gap-3 pt-2",children:[d.jsx("button",{type:"button",onClick:e,disabled:l,className:"flex-1 px-4 py-2 border border-dash-border rounded-md text-dash-text-secondary hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r("cancel")}),d.jsx("button",{type:"submit",disabled:l||!i.trim(),className:"flex-1 px-4 py-2 bg-dash-accent text-white rounded-md hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r(l?"adding":"addProject")})]})]})]})}):null},sv=({vertical:n=!1})=>{const{lang:e,setLang:t}=me();return d.jsxs("div",{className:`flex ${n?"flex-col":""} items-center rounded-lg border border-dash-border overflow-hidden`,children:[d.jsx("button",{onClick:()=>t("en"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="en"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"English",children:"EN"}),d.jsx("button",{onClick:()=>t("vi"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="vi"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"Tiếng Việt",children:"VI"})]})},ov=({projects:n,currentProjectId:e,isCollapsed:t,width:r,isConnected:i,theme:s,onSwitchProject:o,onToggle:a,onAddProject:l,onToggleTheme:c})=>{const{t:h}=me(),u=yn(),f=nn(),[p,m]=b.useState(!1),g=f.pathname==="/config/global",y=f.pathname==="/migrate"||f.pathname==="/skills",v=[...n].filter(C=>!C.path.endsWith("/.claude")&&C.path!=="~/.claude").sort((C,P)=>C.pinned&&!P.pinned?-1:!C.pinned&&P.pinned?1:C.name.localeCompare(P.name)),w=r?{width:`${r}px`}:void 0,S=r?"":t?"w-14":"w-72",O=r?r>=160:!t;return d.jsxs("aside",{style:w,className:`${S} bg-dash-surface border-r border-dash-border flex flex-col transition-all duration-300 ease-in-out z-20 h-full overflow-hidden`,children:[d.jsxs("div",{className:`flex items-center ${O?"p-6 gap-3":"p-2 justify-center"}`,children:[d.jsx("img",{src:"/images/logo-transparent-32.png",alt:"ClaudeKit",className:"w-8 h-8 shrink-0"}),O&&d.jsxs("div",{className:"overflow-hidden",children:[d.jsx("h1",{className:"text-sm font-bold truncate tracking-tight text-dash-text",children:"ClaudeKit"}),d.jsx("p",{className:"text-[10px] text-dash-text-muted font-medium uppercase tracking-wider",children:h("controlCenter")})]})]}),d.jsxs("div",{className:`${O?"px-4":"px-2"} py-2 space-y-1`,children:[O&&d.jsx("p",{className:"px-2 pb-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("settingsSection")}),d.jsx(Xd,{icon:d.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]}),label:h("configEditor"),isCollapsed:!O,active:g,onClick:()=>u("/config/global")}),d.jsx(Xd,{icon:d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z"})}),label:h("migrate"),isCollapsed:!O,active:y,onClick:()=>u("/migrate")})]}),d.jsxs("div",{className:`flex-1 overflow-y-auto overflow-x-hidden ${O?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[O&&d.jsx("p",{className:"px-2 pb-2 pt-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("projects")}),v.map(C=>{const P=f.pathname.endsWith("/config"),x=e===C.id&&!g&&!P&&!y;return d.jsxs("button",{onClick:()=>o(C.id),className:`w-full group relative flex items-center ${O?"gap-3 p-2.5":"justify-center p-2"} rounded-md transition-colors ${x?"bg-dash-accent-subtle text-dash-accent border border-dash-accent/10":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text border border-transparent"}`,children:[d.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${C.health===On.HEALTHY?"bg-dash-accent":C.health===On.WARNING?"bg-orange-400":"bg-red-500"} ${x?"animate-pulse":""}`}),O&&d.jsxs(d.Fragment,{children:[C.pinned&&d.jsx("span",{className:"text-xs",children:"📌"}),d.jsx("span",{className:"text-sm font-medium truncate",children:C.name})]}),!O&&d.jsxs("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:[C.pinned&&"📌 ",C.name]})]},C.id)}),d.jsxs("button",{onClick:()=>m(!0),className:`w-full flex items-center ${O?"gap-3 p-2.5":"justify-center p-2"} rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text-secondary transition-colors mt-4`,children:[d.jsx("div",{className:`${O?"w-5 h-5":""} flex items-center justify-center`,children:d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),O&&d.jsx("span",{className:"text-sm font-medium",children:h("addProject")})]})]}),d.jsx(iv,{isOpen:p,onClose:()=>m(!1),onAdd:l}),d.jsx("div",{className:"border-t border-dash-border",children:d.jsxs("div",{className:`py-3 flex items-center ${O?"px-3 justify-between":"justify-center flex-col gap-2"}`,children:[d.jsxs("div",{className:"flex items-center gap-2",title:h(i?"sync":"offline"),children:[d.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${i?"bg-dash-accent shadow-[0_0_8px_var(--dash-accent-glow)]":"bg-red-500"}`}),O&&d.jsx("span",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h(i?"sync":"offline")})]}),d.jsxs("div",{className:`flex items-center gap-1 ${O?"":"flex-col"}`,children:[d.jsx(sv,{vertical:!O}),d.jsx("button",{onClick:c,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:h(s==="dark"?"switchToLight":"switchToDark"),children:s==="dark"?d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707M17.657 17.657l-.707-.707M6.343 6.343l-.707-.707M12 5a7 7 0 100 14 7 7 0 000-14z"})}):d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}),d.jsx("button",{onClick:a,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:h(t?"expand":"collapse"),children:t?d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 5l7 7-7 7M5 5l7 7-7 7"})}):d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"})})})]})]})})]})},Xd=({icon:n,label:e,badge:t,badgeColor:r="bg-dash-accent-subtle text-dash-accent",isCollapsed:i,active:s,onClick:o,disabled:a})=>d.jsxs("button",{onClick:o,disabled:a,className:`w-full group relative flex items-center ${i?"justify-center p-2":"gap-3 p-2"} rounded-md transition-colors ${a?"opacity-50 cursor-not-allowed":s?"bg-dash-surface-hover text-dash-text":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[d.jsx("div",{className:`${i?"":"w-5 h-5"} flex items-center justify-center`,children:n}),!i&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"text-sm font-medium flex-1 text-left",children:e}),t&&d.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded ${r}`,children:t})]}),i&&d.jsx("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:e})]}),at="/api";class sl extends Error{constructor(){super("Backend server is not running. Start it with: ck config"),this.name="ServerUnavailableError"}}async function Et(){try{if(!(await fetch(`${at}/health`,{method:"GET"})).ok)throw new sl}catch(n){throw n instanceof sl?n:new sl}}function yh(n){return{id:n.id,name:n.name,path:n.path,health:n.health,kitType:n.kitType||"engineer",model:n.model,activeHooks:n.activeHooks,mcpServers:n.mcpServers,skills:n.skills,pinned:n.pinned,tags:n.tags,addedAt:n.addedAt,lastOpened:n.lastOpened,preferences:n.preferences}}async function Mm(){await Et();const n=await fetch(`${at}/projects`);if(!n.ok)throw new Error("Failed to fetch projects");return(await n.json()).map(yh)}async function av(){await Et();const n=await fetch(`${at}/skills`);if(!n.ok)throw new Error("Failed to fetch skills");return n.json()}async function lv(n,e){try{await Et();const t=e!==void 0?`?limit=${e}`:"",r=await fetch(`${at}/sessions/${encodeURIComponent(n)}${t}`);return r.ok?r.json():[]}catch{return[]}}async function cv(n,e){await Et();const t=new URLSearchParams;n&&t.set("projectId",n);const r=await fetch(`${at}/actions/options?${t.toString()}`,{signal:e});if(!r.ok)throw new Error("Failed to fetch action options");return r.json()}async function hv(n,e,t,r){await Et();const i=await fetch(`${at}/actions/open`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:n,path:e,appId:t,projectId:r})});if(!i.ok){const s=await i.json().catch(()=>({error:"Action failed"}));throw new Error(s.error||"Action failed")}}async function dv(){await Et();try{const r=await fetch(`${at}/settings/raw`);if(r.ok)return r.json()}catch{}const n=await fetch(`${at}/settings`);if(!n.ok)throw new Error("Failed to fetch settings file");const e=await n.json(),t=e.settings&&typeof e.settings=="object"?e.settings:{model:e.model,permissions:e.permissions,hookCount:e.hookCount,mcpServerCount:e.mcpServerCount};return{path:e.settingsPath??"~/.claude/settings.json",exists:e.settingsExists??!0,settings:t}}async function uv(n){await Et();const e=await fetch(`${at}/settings/raw`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:n})});if(!e.ok){const t=await e.json().catch(()=>({error:"Failed to save settings file"}));throw new Error(t.error||"Failed to save settings file")}return e.json()}async function fv(n){await Et();const e=await fetch(`${at}/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const r=await e.text();throw new Error(r||"Failed to add project")}const t=await e.json();return yh(t)}async function pv(n){await Et();const e=await fetch(`${at}/projects/${encodeURIComponent(n)}`,{method:"DELETE"});if(!e.ok){const t=await e.text();throw new Error(t||"Failed to remove project")}}async function Nm(n,e){await Et();const t=await fetch(`${at}/projects/${encodeURIComponent(n)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const i=await t.text();throw new Error(i||"Failed to update project")}const r=await t.json();return yh(r)}async function mv(){const n=await fetch(`${at}/metadata/global`);return n.ok?n.json():(console.error("Failed to fetch global metadata"),{})}async function gv(){await Et();const n=await fetch(`${at}/migrate/providers`);if(!n.ok)throw new Error("Failed to fetch migration providers");return n.json()}async function Zd(){await Et();const n=await fetch(`${at}/migrate/discovery`);if(!n.ok)throw new Error("Failed to discover migration items");return n.json()}function bv(){const[n,e]=b.useState([]),[t,r]=b.useState(!0),[i,s]=b.useState(null),o=b.useCallback(async()=>{try{r(!0),s(null);const a=await av();e(a)}catch(a){s(a instanceof Error?a.message:"Failed to load skills")}finally{r(!1)}},[]);return b.useEffect(()=>{o()},[o]),{skills:n,loading:t,error:i,reload:o}}function yv(n){const[e,t]=b.useState([]),[r,i]=b.useState(!1),[s,o]=b.useState(null),a=b.useCallback(async()=>{if(!n){t([]);return}try{i(!0),o(null);const l=await lv(n,999);t(l)}catch(l){o(l instanceof Error?l.message:"Failed to load sessions")}finally{i(!1)}},[n]);return b.useEffect(()=>{a()},[a]),{sessions:e,loading:r,error:s,reload:a}}function xv(){const[n,e]=b.useState([]),[t,r]=b.useState(!0),[i,s]=b.useState(null),o=b.useCallback(async()=>{try{r(!0),s(null);const h=await Mm();e(h)}catch(h){s(h instanceof Error?h.message:"Failed to load projects")}finally{r(!1)}},[]),a=b.useCallback(async h=>{const u=await fv(h);return await o(),u},[o]),l=b.useCallback(async h=>{await pv(h),await o()},[o]),c=b.useCallback(async(h,u)=>{const f=await Nm(h,u);return await o(),f},[o]);return b.useEffect(()=>{o()},[o]),{projects:n,loading:t,error:i,reload:o,addProject:a,removeProject:l,updateProject:c}}function vv({storageKey:n,defaultSize:e,minSize:t,maxSize:r,direction:i="horizontal"}){const[s,o]=b.useState(()=>{if(typeof window>"u")return e;const f=localStorage.getItem(n);if(f){const p=Number.parseInt(f,10);if(!Number.isNaN(p)&&p>=t&&p<=r)return p}return e}),[a,l]=b.useState(!1);b.useEffect(()=>{localStorage.setItem(n,String(s))},[s,n]);const c=b.useCallback(f=>{f.preventDefault(),l(!0);const p=i==="horizontal"?f.clientX:f.clientY,m=s,g=v=>{const S=(i==="horizontal"?v.clientX:v.clientY)-p,O=Math.max(t,Math.min(r,m+S));o(O)},y=()=>{l(!1),document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",y),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",g),document.addEventListener("mouseup",y),document.body.style.cursor=i==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none"},[s,t,r,i]),h=b.useCallback(()=>{o(e)},[e]),u=b.useCallback(f=>{o(Math.max(t,Math.min(r,f)))},[t,r]);return{size:s,isDragging:a,startDrag:c,setSize:u,reset:h}}const wv=()=>{const{t:n}=me(),e=yn(),t=nn(),{projectId:r}=vm(),[i,s]=b.useState(null);b.useEffect(()=>{r&&s(r)},[r]);const[o,a]=b.useState(()=>typeof window<"u"&&localStorage.getItem("claudekit-theme")||"dark"),[l]=b.useState(!0),{size:c,isDragging:h,startDrag:u,setSize:f}=vv({storageKey:"claudekit-sidebar-width",defaultSize:288,minSize:56,maxSize:400}),p=c<=56,{projects:m,loading:g,error:y,addProject:v}=xv(),w=async x=>{await v(x)};b.useEffect(()=>{const x=t.pathname.startsWith("/project/");m.length===0||r||!x||e(`/project/${m[0].id}`,{replace:!0})},[m,r,e,t.pathname]),b.useEffect(()=>{const x=window.document.documentElement;o==="dark"?(x.classList.add("dark"),x.setAttribute("data-theme","dark")):(x.classList.remove("dark"),x.setAttribute("data-theme","light")),localStorage.setItem("claudekit-theme",o)},[o]);const S=()=>a(x=>x==="light"?"dark":"light"),O=b.useMemo(()=>m.find(x=>x.id===i)||null,[m,i]),C=x=>{e(`/project/${x}`)},P=()=>{f(p?288:56)};return g?d.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted",children:n("loading")})}):y?d.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:d.jsxs("div",{className:"text-red-500",children:[n("error"),": ",y]})}):d.jsxs("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text overflow-hidden font-sans transition-colors duration-300",children:[d.jsx(ov,{projects:m,currentProjectId:i,isCollapsed:p,width:c,isConnected:l,theme:o,onSwitchProject:C,onToggle:P,onAddProject:w,onToggleTheme:S}),d.jsx(jr,{direction:"horizontal",isDragging:h,onMouseDown:u}),d.jsx("div",{className:"flex-1 flex flex-col min-w-0 h-full relative",children:d.jsx("main",{className:"flex-1 flex flex-col overflow-hidden p-4 md:p-6",children:d.jsx(gx,{context:{project:O,isConnected:l,theme:o,onToggleTheme:S}})})})]})},Dm=({title:n,filePath:e,onBack:t,onSave:r,onReset:i,saveStatus:s,syntaxError:o,showResetConfirm:a,setShowResetConfirm:l,badge:c,showActions:h=!0,showFilePath:u=!0})=>{const{t:f}=me();return d.jsxs("div",{className:"flex items-center justify-between mb-3 shrink-0",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("button",{onClick:t,className:"px-2 py-1 rounded-lg bg-dash-surface hover:bg-dash-surface-hover border border-dash-border text-sm text-dash-text-secondary hover:text-dash-text flex items-center group transition-all font-medium shadow-sm",title:f("backToDashboard"),children:d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4 group-hover:-translate-x-0.5 transition-transform",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),d.jsx("h1",{className:"text-xl font-bold tracking-tight text-dash-text",children:n}),c,u&&d.jsx("span",{className:"text-xs text-dash-text-muted mono",children:e})]}),h&&d.jsxs("div",{className:"flex items-center gap-2 relative",children:[a?d.jsxs("div",{className:"flex items-center gap-2 bg-red-500/10 border border-red-500/30 rounded-lg px-2 py-1 animate-in fade-in duration-200",children:[d.jsx("span",{className:"text-xs text-red-500 font-medium",children:f("confirmReset")}),d.jsx("button",{onClick:i,className:"px-2 py-0.5 rounded bg-red-500 text-white text-xs font-bold hover:bg-red-600 transition-colors",children:f("confirm")}),d.jsx("button",{onClick:()=>l(!1),className:"px-2 py-0.5 rounded bg-dash-surface text-dash-text-secondary text-xs font-bold hover:bg-dash-surface-hover transition-colors border border-dash-border",children:f("cancel")})]}):d.jsx("button",{onClick:()=>l(!0),className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:f("resetToDefault")}),d.jsx("button",{onClick:r,disabled:!!o||s==="saving",className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase ${o?"bg-dash-surface text-dash-text-muted cursor-not-allowed border border-dash-border":s==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":s==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:f(s==="saving"?"saving":s==="saved"?"saved":s==="error"?"saveFailed":"saveChanges")})]})]})};function kv(n,e,t){const r={...n},i=e.split(".");let s=r;for(let o=0;o<i.length-1;o++){const a=i[o];!(a in s)||typeof s[a]!="object"||s[a]===null?s[a]={}:s[a]={...s[a]},s=s[a]}return s[i[i.length-1]]=t,r}function dc(n,e){const t=e.split(".");let r=n;for(const i of t){if(r==null||typeof r!="object")return;r=r[i]}return r}function Sv(n,e){const t=e.split(".");let r=n;for(const i of t){if(!r.properties)return{};const s=r.properties;if(!s[i])return{};r=s[i]}return r}const Cv=({value:n,onChange:e,disabled:t})=>d.jsx("input",{type:"text",value:n??"",onChange:r=>e(r.target.value||null),disabled:t,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
30
+ `})})};var An=(n=>(n.HEALTHY="healthy",n.WARNING="warning",n.ERROR="error",n.LOADING="loading",n.UNKNOWN="unknown",n))(An||{}),Yt=(n=>(n.ENGINEER="engineer",n.MARKETING="marketing",n.ARCHITECT="architect",n.RESEARCHER="researcher",n.DEVOP="devops",n))(Yt||{});const dv=({isOpen:n,onClose:e,onAdd:t})=>{const{t:r}=pe(),[i,s]=g.useState(""),[o,a]=g.useState(""),[l,c]=g.useState(!1),[h,u]=g.useState(null);g.useEffect(()=>{n||(s(""),a(""),u(null),c(!1))},[n]),g.useEffect(()=>{if(!n)return;const p=m=>{m.key==="Escape"&&e()};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[n]),g.useEffect(()=>{if(!n)return;const p=document.activeElement;return document.querySelector("#project-path")?.focus(),()=>{p?.focus()}},[n]);const f=async p=>{if(p.preventDefault(),!i.trim()){u(r("pathRequired"));return}try{c(!0),u(null);const m={path:i.trim(),...o.trim()&&{alias:o.trim()}};await t(m),e()}catch(m){u(m instanceof Error?m.message:r("failedToAdd"))}finally{c(!1)}};return n?d.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:e,children:d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-xl max-w-md w-full mx-4",onClick:p=>p.stopPropagation(),children:[d.jsxs("div",{className:"px-6 py-4 border-b border-dash-border",children:[d.jsx("h2",{className:"text-lg font-bold text-dash-text",children:r("addProjectTitle")}),d.jsx("p",{className:"text-sm text-dash-text-muted mt-1",children:r("addProjectDescription")})]}),d.jsxs("form",{onSubmit:f,className:"p-6 space-y-4",children:[d.jsxs("div",{children:[d.jsxs("label",{htmlFor:"project-path",className:"block text-sm font-medium text-dash-text mb-2",children:[r("projectPath")," ",d.jsx("span",{className:"text-red-500",children:"*"})]}),d.jsx("input",{id:"project-path",type:"text",value:i,onChange:p=>s(p.target.value),placeholder:r("pathPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"})]}),d.jsxs("div",{children:[d.jsxs("label",{htmlFor:"project-alias",className:"block text-sm font-medium text-dash-text mb-2",children:[r("alias")," ",r("aliasOptional")]}),d.jsx("input",{id:"project-alias",type:"text",value:o,onChange:p=>a(p.target.value),placeholder:r("aliasPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"}),d.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:r("aliasDescription")})]}),h&&d.jsx("div",{className:"px-3 py-2 bg-red-500/10 border border-red-500/20 rounded-md",children:d.jsx("p",{className:"text-sm text-red-500",children:h})}),d.jsxs("div",{className:"flex gap-3 pt-2",children:[d.jsx("button",{type:"button",onClick:e,disabled:l,className:"flex-1 px-4 py-2 border border-dash-border rounded-md text-dash-text-secondary hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r("cancel")}),d.jsx("button",{type:"submit",disabled:l||!i.trim(),className:"flex-1 px-4 py-2 bg-dash-accent text-white rounded-md hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r(l?"adding":"addProject")})]})]})]})}):null},uv=({vertical:n=!1})=>{const{lang:e,setLang:t}=pe();return d.jsxs("div",{className:`flex ${n?"flex-col":""} items-center rounded-lg border border-dash-border overflow-hidden`,children:[d.jsx("button",{onClick:()=>t("en"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="en"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"English",children:"EN"}),d.jsx("button",{onClick:()=>t("vi"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="vi"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"Tiếng Việt",children:"VI"})]})},fv=({projects:n,currentProjectId:e,isCollapsed:t,width:r,isConnected:i,theme:s,onSwitchProject:o,onToggle:a,onAddProject:l,onToggleTheme:c})=>{const{t:h}=pe(),u=wn(),f=on(),[p,m]=g.useState(!1),b=f.pathname==="/config/global",y=f.pathname==="/migrate"||f.pathname==="/skills",v=[...n].filter(S=>!S.path.endsWith("/.claude")&&S.path!=="~/.claude").sort((S,O)=>S.pinned&&!O.pinned?-1:!S.pinned&&O.pinned?1:S.name.localeCompare(O.name)),w=r?{width:`${r}px`}:void 0,C=r?"":t?"w-14":"w-72",j=r?r>=160:!t;return d.jsxs("aside",{style:w,className:`${C} bg-dash-surface border-r border-dash-border flex flex-col transition-all duration-300 ease-in-out z-20 h-full overflow-hidden`,children:[d.jsxs("div",{className:`flex items-center ${j?"p-6 gap-3":"p-2 justify-center"}`,children:[d.jsx("img",{src:"/images/logo-transparent-32.png",alt:"ClaudeKit",className:"w-8 h-8 shrink-0"}),j&&d.jsxs("div",{className:"overflow-hidden",children:[d.jsx("h1",{className:"text-sm font-bold truncate tracking-tight text-dash-text",children:"ClaudeKit"}),d.jsx("p",{className:"text-[10px] text-dash-text-muted font-medium uppercase tracking-wider",children:h("controlCenter")})]})]}),d.jsxs("div",{className:`${j?"px-4":"px-2"} py-2 space-y-1`,children:[j&&d.jsx("p",{className:"px-2 pb-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("settingsSection")}),d.jsx(nu,{icon:d.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]}),label:h("configEditor"),isCollapsed:!j,active:b,onClick:()=>u("/config/global")}),d.jsx(nu,{icon:d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z"})}),label:h("migrate"),isCollapsed:!j,active:y,onClick:()=>u("/migrate")})]}),d.jsxs("div",{className:`flex-1 overflow-y-auto overflow-x-hidden ${j?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[j&&d.jsx("p",{className:"px-2 pb-2 pt-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("projects")}),v.map(S=>{const O=f.pathname.endsWith("/config"),x=e===S.id&&!b&&!O&&!y;return d.jsxs("button",{onClick:()=>o(S.id),className:`w-full group relative flex items-center ${j?"gap-3 p-2.5":"justify-center p-2"} rounded-md transition-colors ${x?"bg-dash-accent-subtle text-dash-accent border border-dash-accent/10":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text border border-transparent"}`,children:[d.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${S.health===An.HEALTHY?"bg-dash-accent":S.health===An.WARNING?"bg-orange-400":"bg-red-500"} ${x?"animate-pulse":""}`}),j&&d.jsxs(d.Fragment,{children:[S.pinned&&d.jsx("span",{className:"text-xs",children:"📌"}),d.jsx("span",{className:"text-sm font-medium truncate",children:S.name})]}),!j&&d.jsxs("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:[S.pinned&&"📌 ",S.name]})]},S.id)}),d.jsxs("button",{onClick:()=>m(!0),className:`w-full flex items-center ${j?"gap-3 p-2.5":"justify-center p-2"} rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text-secondary transition-colors mt-4`,children:[d.jsx("div",{className:`${j?"w-5 h-5":""} flex items-center justify-center`,children:d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),j&&d.jsx("span",{className:"text-sm font-medium",children:h("addProject")})]})]}),d.jsx(dv,{isOpen:p,onClose:()=>m(!1),onAdd:l}),d.jsx("div",{className:"border-t border-dash-border",children:d.jsxs("div",{className:`py-3 flex items-center ${j?"px-3 justify-between":"justify-center flex-col gap-2"}`,children:[d.jsxs("div",{className:"flex items-center gap-2",title:h(i?"sync":"offline"),children:[d.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${i?"bg-dash-accent shadow-[0_0_8px_var(--dash-accent-glow)]":"bg-red-500"}`}),j&&d.jsx("span",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h(i?"sync":"offline")})]}),d.jsxs("div",{className:`flex items-center gap-1 ${j?"":"flex-col"}`,children:[d.jsx(uv,{vertical:!j}),d.jsx("button",{onClick:c,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:h(s==="dark"?"switchToLight":"switchToDark"),children:s==="dark"?d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707M17.657 17.657l-.707-.707M6.343 6.343l-.707-.707M12 5a7 7 0 100 14 7 7 0 000-14z"})}):d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}),d.jsx("button",{onClick:a,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:h(t?"expand":"collapse"),children:t?d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 5l7 7-7 7M5 5l7 7-7 7"})}):d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"})})})]})]})})]})},nu=({icon:n,label:e,badge:t,badgeColor:r="bg-dash-accent-subtle text-dash-accent",isCollapsed:i,active:s,onClick:o,disabled:a})=>d.jsxs("button",{onClick:o,disabled:a,className:`w-full group relative flex items-center ${i?"justify-center p-2":"gap-3 p-2"} rounded-md transition-colors ${a?"opacity-50 cursor-not-allowed":s?"bg-dash-surface-hover text-dash-text":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[d.jsx("div",{className:`${i?"":"w-5 h-5"} flex items-center justify-center`,children:n}),!i&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"text-sm font-medium flex-1 text-left",children:e}),t&&d.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded ${r}`,children:t})]}),i&&d.jsx("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:e})]}),lt="/api";class cl extends Error{constructor(){super("Backend server is not running. Start it with: ck config"),this.name="ServerUnavailableError"}}async function It(){try{if(!(await fetch(`${lt}/health`,{method:"GET"})).ok)throw new cl}catch(n){throw n instanceof cl?n:new cl}}function kh(n){return{id:n.id,name:n.name,path:n.path,health:n.health,kitType:n.kitType||"engineer",model:n.model,activeHooks:n.activeHooks,mcpServers:n.mcpServers,skills:n.skills,pinned:n.pinned,tags:n.tags,addedAt:n.addedAt,lastOpened:n.lastOpened,preferences:n.preferences}}async function Bm(){await It();const n=await fetch(`${lt}/projects`);if(!n.ok)throw new Error("Failed to fetch projects");return(await n.json()).map(kh)}async function pv(){await It();const n=await fetch(`${lt}/skills`);if(!n.ok)throw new Error("Failed to fetch skills");return n.json()}async function mv(n,e){try{await It();const t=e!==void 0?`?limit=${e}`:"",r=await fetch(`${lt}/sessions/${encodeURIComponent(n)}${t}`);return r.ok?r.json():[]}catch{return[]}}async function gv(n,e){await It();const t=new URLSearchParams;n&&t.set("projectId",n);const r=await fetch(`${lt}/actions/options?${t.toString()}`,{signal:e});if(!r.ok)throw new Error("Failed to fetch action options");return r.json()}async function bv(n,e,t,r){await It();const i=await fetch(`${lt}/actions/open`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:n,path:e,appId:t,projectId:r})});if(!i.ok){const s=await i.json().catch(()=>({error:"Action failed"}));throw new Error(s.error||"Action failed")}}async function yv(){await It();try{const r=await fetch(`${lt}/settings/raw`);if(r.ok)return r.json()}catch{}const n=await fetch(`${lt}/settings`);if(!n.ok)throw new Error("Failed to fetch settings file");const e=await n.json(),t=e.settings&&typeof e.settings=="object"?e.settings:{model:e.model,permissions:e.permissions,hookCount:e.hookCount,mcpServerCount:e.mcpServerCount};return{path:e.settingsPath??"~/.claude/settings.json",exists:e.settingsExists??!0,settings:t}}async function xv(n){await It();const e=await fetch(`${lt}/settings/raw`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:n})});if(!e.ok){const t=await e.json().catch(()=>({error:"Failed to save settings file"}));throw new Error(t.error||"Failed to save settings file")}return e.json()}async function vv(n){await It();const e=await fetch(`${lt}/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const r=await e.text();throw new Error(r||"Failed to add project")}const t=await e.json();return kh(t)}async function wv(n){await It();const e=await fetch(`${lt}/projects/${encodeURIComponent(n)}`,{method:"DELETE"});if(!e.ok){const t=await e.text();throw new Error(t||"Failed to remove project")}}async function $m(n,e){await It();const t=await fetch(`${lt}/projects/${encodeURIComponent(n)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const i=await t.text();throw new Error(i||"Failed to update project")}const r=await t.json();return kh(r)}async function kv(){const n=await fetch(`${lt}/metadata/global`);return n.ok?n.json():(console.error("Failed to fetch global metadata"),{})}async function Sv(){await It();const n=await fetch(`${lt}/migrate/providers`);if(!n.ok)throw new Error("Failed to fetch migration providers");return n.json()}async function ru(){await It();const n=await fetch(`${lt}/migrate/discovery`);if(!n.ok)throw new Error("Failed to discover migration items");return n.json()}function Cv(){const[n,e]=g.useState([]),[t,r]=g.useState(!0),[i,s]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),s(null);const a=await pv();e(a)}catch(a){s(a instanceof Error?a.message:"Failed to load skills")}finally{r(!1)}},[]);return g.useEffect(()=>{o()},[o]),{skills:n,loading:t,error:i,reload:o}}function jv(n){const[e,t]=g.useState([]),[r,i]=g.useState(!1),[s,o]=g.useState(null),a=g.useCallback(async()=>{if(!n){t([]);return}try{i(!0),o(null);const l=await mv(n,999);t(l)}catch(l){o(l instanceof Error?l.message:"Failed to load sessions")}finally{i(!1)}},[n]);return g.useEffect(()=>{a()},[a]),{sessions:e,loading:r,error:s,reload:a}}function Ov(){const[n,e]=g.useState([]),[t,r]=g.useState(!0),[i,s]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),s(null);const h=await Bm();e(h)}catch(h){s(h instanceof Error?h.message:"Failed to load projects")}finally{r(!1)}},[]),a=g.useCallback(async h=>{const u=await vv(h);return await o(),u},[o]),l=g.useCallback(async h=>{await wv(h),await o()},[o]),c=g.useCallback(async(h,u)=>{const f=await $m(h,u);return await o(),f},[o]);return g.useEffect(()=>{o()},[o]),{projects:n,loading:t,error:i,reload:o,addProject:a,removeProject:l,updateProject:c}}function Pv({storageKey:n,defaultSize:e,minSize:t,maxSize:r,direction:i="horizontal"}){const[s,o]=g.useState(()=>{if(typeof window>"u")return e;const f=localStorage.getItem(n);if(f){const p=Number.parseInt(f,10);if(!Number.isNaN(p)&&p>=t&&p<=r)return p}return e}),[a,l]=g.useState(!1);g.useEffect(()=>{localStorage.setItem(n,String(s))},[s,n]);const c=g.useCallback(f=>{f.preventDefault(),l(!0);const p=i==="horizontal"?f.clientX:f.clientY,m=s,b=v=>{const C=(i==="horizontal"?v.clientX:v.clientY)-p,j=Math.max(t,Math.min(r,m+C));o(j)},y=()=>{l(!1),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",y),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",b),document.addEventListener("mouseup",y),document.body.style.cursor=i==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none"},[s,t,r,i]),h=g.useCallback(()=>{o(e)},[e]),u=g.useCallback(f=>{o(Math.max(t,Math.min(r,f)))},[t,r]);return{size:s,isDragging:a,startDrag:c,setSize:u,reset:h}}const Av=()=>{const{t:n}=pe(),e=wn(),t=on(),{projectId:r}=Am(),[i,s]=g.useState(null);g.useEffect(()=>{r&&s(r)},[r]);const[o,a]=g.useState(()=>typeof window<"u"&&localStorage.getItem("claudekit-theme")||"dark"),[l]=g.useState(!0),{size:c,isDragging:h,startDrag:u,setSize:f}=Pv({storageKey:"claudekit-sidebar-width",defaultSize:288,minSize:56,maxSize:400}),p=c<=56,{projects:m,loading:b,error:y,addProject:v}=Ov(),w=async x=>{await v(x)};g.useEffect(()=>{const x=t.pathname.startsWith("/project/");m.length===0||r||!x||e(`/project/${m[0].id}`,{replace:!0})},[m,r,e,t.pathname]),g.useEffect(()=>{const x=window.document.documentElement;o==="dark"?(x.classList.add("dark"),x.setAttribute("data-theme","dark")):(x.classList.remove("dark"),x.setAttribute("data-theme","light")),localStorage.setItem("claudekit-theme",o)},[o]);const C=()=>a(x=>x==="light"?"dark":"light"),j=g.useMemo(()=>m.find(x=>x.id===i)||null,[m,i]),S=x=>{e(`/project/${x}`)},O=()=>{f(p?288:56)};return b?d.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted",children:n("loading")})}):y?d.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:d.jsxs("div",{className:"text-red-500",children:[n("error"),": ",y]})}):d.jsxs("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text overflow-hidden font-sans transition-colors duration-300",children:[d.jsx(fv,{projects:m,currentProjectId:i,isCollapsed:p,width:c,isConnected:l,theme:o,onSwitchProject:S,onToggle:O,onAddProject:w,onToggleTheme:C}),d.jsx(Ar,{direction:"horizontal",isDragging:h,onMouseDown:u}),d.jsx("div",{className:"flex-1 flex flex-col min-w-0 h-full relative",children:d.jsx("main",{className:"flex-1 flex flex-col overflow-hidden p-4 md:p-6",children:d.jsx(Sx,{context:{project:j,isConnected:l,theme:o,onToggleTheme:C}})})})]})},Fm=({title:n,filePath:e,onBack:t,onSave:r,onReset:i,saveStatus:s,syntaxError:o,showResetConfirm:a,setShowResetConfirm:l,badge:c,showActions:h=!0,showFilePath:u=!0})=>{const{t:f}=pe();return d.jsxs("div",{className:"flex items-center justify-between mb-3 shrink-0",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("button",{onClick:t,className:"px-2 py-1 rounded-lg bg-dash-surface hover:bg-dash-surface-hover border border-dash-border text-sm text-dash-text-secondary hover:text-dash-text flex items-center group transition-all font-medium shadow-sm",title:f("backToDashboard"),children:d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4 group-hover:-translate-x-0.5 transition-transform",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),d.jsx("h1",{className:"text-xl font-bold tracking-tight text-dash-text",children:n}),c,u&&d.jsx("span",{className:"text-xs text-dash-text-muted mono",children:e})]}),h&&d.jsxs("div",{className:"flex items-center gap-2 relative",children:[a?d.jsxs("div",{className:"flex items-center gap-2 bg-red-500/10 border border-red-500/30 rounded-lg px-2 py-1 animate-in fade-in duration-200",children:[d.jsx("span",{className:"text-xs text-red-500 font-medium",children:f("confirmReset")}),d.jsx("button",{onClick:i,className:"px-2 py-0.5 rounded bg-red-500 text-white text-xs font-bold hover:bg-red-600 transition-colors",children:f("confirm")}),d.jsx("button",{onClick:()=>l(!1),className:"px-2 py-0.5 rounded bg-dash-surface text-dash-text-secondary text-xs font-bold hover:bg-dash-surface-hover transition-colors border border-dash-border",children:f("cancel")})]}):d.jsx("button",{onClick:()=>l(!0),className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:f("resetToDefault")}),d.jsx("button",{onClick:r,disabled:!!o||s==="saving",className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase ${o?"bg-dash-surface text-dash-text-muted cursor-not-allowed border border-dash-border":s==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":s==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:f(s==="saving"?"saving":s==="saved"?"saved":s==="error"?"saveFailed":"saveChanges")})]})]})};function Nv(n,e,t){const r={...n},i=e.split(".");let s=r;for(let o=0;o<i.length-1;o++){const a=i[o];!(a in s)||typeof s[a]!="object"||s[a]===null?s[a]={}:s[a]={...s[a]},s=s[a]}return s[i[i.length-1]]=t,r}function mc(n,e){const t=e.split(".");let r=n;for(const i of t){if(r==null||typeof r!="object")return;r=r[i]}return r}function Mv(n,e){const t=e.split(".");let r=n;for(const i of t){if(!r.properties)return{};const s=r.properties;if(!s[i])return{};r=s[i]}return r}const Tv=({value:n,onChange:e,disabled:t})=>d.jsx("input",{type:"text",value:n??"",onChange:r=>e(r.target.value||null),disabled:t,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
31
31
  text-dash-text placeholder-dash-text-muted
32
32
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
33
33
  disabled:opacity-50 disabled:cursor-not-allowed
34
- transition-colors`,placeholder:"Enter value..."}),jv=({value:n,onChange:e,schema:t,disabled:r})=>d.jsx("input",{type:"number",value:n!=null?String(n):"",onChange:i=>{const s=i.target.value;if(s==="")e(null);else{const o=t.type==="integer"?Number.parseInt(s,10):Number.parseFloat(s);Number.isNaN(o)||e(o)}},min:t.minimum,max:t.maximum,disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
34
+ transition-colors`,placeholder:"Enter value..."}),Dv=({value:n,onChange:e,schema:t,disabled:r})=>d.jsx("input",{type:"number",value:n!=null?String(n):"",onChange:i=>{const s=i.target.value;if(s==="")e(null);else{const o=t.type==="integer"?Number.parseInt(s,10):Number.parseFloat(s);Number.isNaN(o)||e(o)}},min:t.minimum,max:t.maximum,disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
35
35
  text-dash-text placeholder-dash-text-muted
36
36
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
37
37
  disabled:opacity-50 disabled:cursor-not-allowed
38
- transition-colors`}),Ov=({value:n,onChange:e,disabled:t})=>{const r=n===!0;return d.jsx("button",{type:"button",role:"switch","aria-checked":r,onClick:()=>e(!r),disabled:t,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors
38
+ transition-colors`}),Ev=({value:n,onChange:e,disabled:t})=>{const r=n===!0;return d.jsx("button",{type:"button",role:"switch","aria-checked":r,onClick:()=>e(!r),disabled:t,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors
39
39
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50
40
40
  disabled:opacity-50 disabled:cursor-not-allowed
41
41
  ${r?"bg-dash-accent":"bg-dash-border"}`,children:d.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform
42
- ${r?"translate-x-6":"translate-x-1"}`})})},Pv=({value:n,onChange:e,schema:t,disabled:r})=>{const i=t.enum||[];return d.jsxs("select",{value:n!=null?String(n):"",onChange:s=>{const o=s.target.value;o===""?e(null):i.includes(Number(o))?e(Number(o)):e(o)},disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
42
+ ${r?"translate-x-6":"translate-x-1"}`})})},Rv=({value:n,onChange:e,schema:t,disabled:r})=>{const i=t.enum||[];return d.jsxs("select",{value:n!=null?String(n):"",onChange:s=>{const o=s.target.value;o===""?e(null):i.includes(Number(o))?e(Number(o)):e(o)},disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
43
43
  text-dash-text
44
44
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
45
45
  disabled:opacity-50 disabled:cursor-not-allowed
46
- transition-colors appearance-none cursor-pointer`,children:[d.jsx("option",{value:"",children:"-- Select --"}),i.map(s=>d.jsx("option",{value:String(s),children:String(s)},String(s)))]})},Av=({value:n,onChange:e,disabled:t})=>{const r=Array.isArray(n)?n:[],[i,s]=b.useState(""),o=()=>{i.trim()&&(e([...r,i.trim()]),s(""))},a=l=>{const c=r.filter((h,u)=>u!==l);e(c.length>0?c:[])};return d.jsxs("div",{className:"space-y-2",children:[d.jsx("div",{className:"flex flex-wrap gap-1.5",children:r.map((l,c)=>d.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 bg-dash-bg border border-dash-border rounded text-xs text-dash-text",children:[String(l),!t&&d.jsx("button",{type:"button",onClick:()=>a(c),className:"text-dash-text-muted hover:text-red-500 transition-colors",children:d.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},c))}),!t&&d.jsxs("div",{className:"flex gap-2",children:[d.jsx("input",{type:"text",value:i,onChange:l=>s(l.target.value),onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),o())},placeholder:"Add item...",className:`flex-1 px-2 py-1 text-xs bg-dash-bg border border-dash-border rounded
46
+ transition-colors appearance-none cursor-pointer`,children:[d.jsx("option",{value:"",children:"-- Select --"}),i.map(s=>d.jsx("option",{value:String(s),children:String(s)},String(s)))]})},Lv=({value:n,onChange:e,disabled:t})=>{const r=Array.isArray(n)?n:[],[i,s]=g.useState(""),o=()=>{i.trim()&&(e([...r,i.trim()]),s(""))},a=l=>{const c=r.filter((h,u)=>u!==l);e(c.length>0?c:[])};return d.jsxs("div",{className:"space-y-2",children:[d.jsx("div",{className:"flex flex-wrap gap-1.5",children:r.map((l,c)=>d.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 bg-dash-bg border border-dash-border rounded text-xs text-dash-text",children:[String(l),!t&&d.jsx("button",{type:"button",onClick:()=>a(c),className:"text-dash-text-muted hover:text-red-500 transition-colors",children:d.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},c))}),!t&&d.jsxs("div",{className:"flex gap-2",children:[d.jsx("input",{type:"text",value:i,onChange:l=>s(l.target.value),onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),o())},placeholder:"Add item...",className:`flex-1 px-2 py-1 text-xs bg-dash-bg border border-dash-border rounded
47
47
  text-dash-text placeholder-dash-text-muted
48
- focus:outline-none focus:ring-1 focus:ring-dash-accent/50`}),d.jsx("button",{type:"button",onClick:o,className:"px-2 py-1 text-xs bg-dash-accent text-white rounded hover:bg-dash-accent-hover transition-colors",children:"+"})]})]})},Mv=({value:n,onChange:e,disabled:t})=>{const[r,i]=b.useState(!1);return d.jsxs("div",{className:"relative",children:[d.jsx("input",{type:r?"text":"password",value:n??"",onChange:s=>e(s.target.value||null),disabled:t,className:`w-full px-3 py-2 pr-10 text-sm bg-dash-bg border border-dash-border rounded-lg
48
+ focus:outline-none focus:ring-1 focus:ring-dash-accent/50`}),d.jsx("button",{type:"button",onClick:o,className:"px-2 py-1 text-xs bg-dash-accent text-white rounded hover:bg-dash-accent-hover transition-colors",children:"+"})]})]})},Iv=({value:n,onChange:e,disabled:t})=>{const[r,i]=g.useState(!1);return d.jsxs("div",{className:"relative",children:[d.jsx("input",{type:r?"text":"password",value:n??"",onChange:s=>e(s.target.value||null),disabled:t,className:`w-full px-3 py-2 pr-10 text-sm bg-dash-bg border border-dash-border rounded-lg
49
49
  text-dash-text placeholder-dash-text-muted
50
50
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
51
51
  disabled:opacity-50 disabled:cursor-not-allowed
52
- transition-colors`,placeholder:"Enter passphrase..."}),d.jsx("button",{type:"button",onClick:()=>i(!r),className:"absolute right-2 top-1/2 -translate-y-1/2 text-dash-text-muted hover:text-dash-text transition-colors",children:r?d.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"})}):d.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})]})})]})},Nv={default:"bg-gray-500/10 text-gray-500 dark:bg-gray-400/10 dark:text-gray-400",project:"bg-orange-500/10 text-orange-600 dark:text-orange-400",global:"bg-blue-500/10 text-blue-600 dark:text-blue-400"},Dv=({source:n})=>{const{t:e}=me(),t=()=>{switch(n){case"default":return e("default");case"project":return e("scopeProject");case"global":return e("scopeGlobal")}};return d.jsx("span",{className:`text-[9px] px-1.5 py-0.5 rounded font-bold uppercase tracking-wider ${Nv[n]}`,children:t()})};function Tv(n,e){if(e.includes("passphrase")||e.includes("password"))return"password";if(n.enum&&n.enum.length>0)return"enum";switch(Array.isArray(n.type)?n.type.find(r=>r!=="null")||"string":n.type||"string"){case"boolean":return"boolean";case"integer":case"number":return"number";case"array":return"array";case"object":return"object";default:return"string"}}const Ev=({fieldPath:n,label:e,description:t,schema:r,value:i,source:s,onChange:o,disabled:a})=>{const l=Tv(r,n),c=()=>{const h={value:i,onChange:o,schema:r,disabled:a};switch(l){case"boolean":return d.jsx(Ov,{...h});case"number":return d.jsx(jv,{...h});case"enum":return d.jsx(Pv,{...h});case"array":return d.jsx(Av,{...h});case"password":return d.jsx(Mv,{...h});case"object":return null;default:return d.jsx(Cv,{...h})}};return l==="object"?null:d.jsx("div",{className:"py-3 border-b border-dash-border/50 last:border-b-0",children:d.jsxs("div",{className:"flex items-start justify-between gap-4",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[d.jsx("span",{className:"text-sm font-medium text-dash-text",children:e}),d.jsx(Dv,{source:s})]}),t&&d.jsx("p",{className:"text-xs text-dash-text-muted mb-2 leading-relaxed",children:t}),d.jsx("p",{className:"text-[10px] text-dash-text-muted/50 font-mono mb-2",children:n})]}),d.jsx("div",{className:l==="boolean"?"shrink-0":"w-1/2 max-w-xs",children:c()})]})})},Rv=({id:n,title:e,defaultCollapsed:t=!1,children:r})=>{const[i,s]=b.useState(t);return d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg overflow-hidden",children:[d.jsxs("button",{type:"button",onClick:()=>s(!i),className:"w-full flex items-center justify-between px-4 py-3 bg-dash-surface-hover/30 hover:bg-dash-surface-hover/50 transition-colors","aria-expanded":!i,"aria-controls":`section-${n}`,children:[d.jsx("h3",{className:"text-sm font-bold text-dash-text uppercase tracking-wider",children:e}),d.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform duration-200 ${i?"":"rotate-180"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),d.jsx("div",{id:`section-${n}`,className:`transition-all duration-200 ease-in-out ${i?"max-h-0 overflow-hidden":"max-h-[2000px]"}`,children:d.jsx("div",{className:"px-4 py-2",children:r})})]})},Lv=({schema:n,value:e,sources:t,sections:r,onChange:i,disabled:s})=>d.jsx("div",{className:"space-y-4",children:r.map((o,a)=>d.jsx(Rv,{id:o.id,title:o.title,defaultCollapsed:o.defaultCollapsed??a>1,children:o.fields.map(l=>{const c=Sv(n,l.path),h=dc(e,l.path),u=t[l.path]||"default";return d.jsx(Ev,{fieldPath:l.path,label:l.label,description:l.description||c.description,schema:c,value:h,source:u,onChange:f=>i(l.path,f),disabled:s},l.path)})},o.id))}),Tm=({width:n,isLoading:e,schema:t,config:r,sources:i,sections:s,onChange:o})=>{const{t:a}=me();return d.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0",children:[d.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:d.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:a("formTab")})}),d.jsx("div",{className:"flex-1 overflow-auto p-4",children:e?d.jsx("div",{className:"h-full flex items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:a("loading")})}):t?d.jsx(Lv,{schema:t,value:r,sources:i,sections:s,onChange:o}):null})]})},Em=1024;let Iv=0,ol=class{constructor(e,t){this.from=e,this.to=t}};class ue{constructor(e={}){this.id=Iv++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ft.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}}ue.closedBy=new ue({deserialize:n=>n.split(" ")});ue.openedBy=new ue({deserialize:n=>n.split(" ")});ue.group=new ue({deserialize:n=>n.split(" ")});ue.isolate=new ue({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});ue.contextHash=new ue({perNode:!0});ue.lookAhead=new ue({perNode:!0});ue.mounted=new ue({perNode:!0});class wi{constructor(e,t,r,i=!1){this.tree=e,this.overlay=t,this.parser=r,this.bracketed=i}static get(e){return e&&e.props&&e.props[ue.mounted.id]}}const Bv=Object.create(null);class ft{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):Bv,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new ft(e.name||"",t,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(i)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(ue.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return r=>{for(let i=r.prop(ue.group),s=-1;s<(i?i.length:0);s++){let o=t[s<0?r.name:i[s]];if(o)return o}}}}ft.none=new ft("",Object.create(null),0,8);class xh{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let i=null;for(let s of e){let o=s(r);if(o){i||(i=Object.assign({},r.props));let a=o[1],l=o[0];l.combine&&l.id in i&&(a=l.combine(i[l.id],a)),i[l.id]=a}}t.push(i?new ft(r.name,i,r.id,r.flags):r)}return new xh(t)}}const lo=new WeakMap,eu=new WeakMap;var Ee;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(Ee||(Ee={}));class Be{constructor(e,t,r,i,s){if(this.type=e,this.children=t,this.positions=r,this.length=i,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=wi.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let i=r.toString();i&&(t&&(t+=","),t+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new fc(this.topNode,e)}cursorAt(e,t=0,r=0){let i=lo.get(this)||this.topNode,s=new fc(i);return s.moveTo(e,t),lo.set(this,s._tree),s}get topNode(){return new Mt(this,0,0,null)}resolve(e,t=0){let r=Ti(lo.get(this)||this.topNode,e,t,!1);return lo.set(this,r),r}resolveInner(e,t=0){let r=Ti(eu.get(this)||this.topNode,e,t,!0);return eu.set(this,r),r}resolveStack(e,t=0){return Vv(this,e,t)}iterate(e){let{enter:t,leave:r,from:i=0,to:s=this.length}=e,o=e.mode||0,a=(o&Ee.IncludeAnonymous)>0;for(let l=this.cursor(o|Ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=i&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&r&&(a||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:kh(ft.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new Be(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new Be(ft.none,t,r,i)))}static build(e){return zv(e)}}Be.empty=new Be(ft.none,[],[],0);class vh{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new vh(this.buffer,this.index)}}class En{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return ft.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],i=this.set.types[t],s=i.name;if(/\W/.test(s)&&!i.isError&&(s=JSON.stringify(s)),e+=4,r==e)return s;let o=[];for(;e<r;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,r,i,s){let{buffer:o}=this,a=-1;for(let l=e;l!=t&&!(Rm(s,i,o[l+1],o[l+2])&&(a=l,r>0));l=o[l+3]);return a}slice(e,t,r){let i=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a<t;){s[l++]=i[a++],s[l++]=i[a++]-r;let c=s[l++]=i[a++]-r;s[l++]=i[a++]-e,o=Math.max(o,c)}return new En(s,o,this.set)}}function Rm(n,e,t,r){switch(n){case-2:return t<e;case-1:return r>=e&&t<e;case 0:return t<e&&r>e;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function Ti(n,e,t,r){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let o=!r&&n instanceof Mt&&n.index<0?null:n.parent;if(!o)return n;n=o}let s=r?0:Ee.IgnoreOverlays;if(r)for(let o=n,a=o.parent;a;o=a,a=o.parent)o instanceof Mt&&o.index<0&&((i=a.enter(e,t,s))===null||i===void 0?void 0:i.from)!=o.from&&(n=a);for(;;){let o=n.enter(e,t,s);if(!o)return n;n=o}}class Lm{cursor(e=0){return new fc(this,e)}getChild(e,t=null,r=null){let i=tu(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return tu(this,e,t,r)}resolve(e,t=0){return Ti(this,e,t,!1)}resolveInner(e,t=0){return Ti(this,e,t,!0)}matchContext(e){return uc(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let i=t.lastChild;if(!i||i.to!=t.to)break;i.type.isError&&i.from==i.to?(r=t,t=i.prevSibling):t=i}return r}get node(){return this}get next(){return this.parent}}class Mt extends Lm{constructor(e,t,r,i){super(),this._tree=e,this.from=t,this.index=r,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,i,s=0){var o;for(let a=this;;){for(let{children:l,positions:c}=a._tree,h=t>0?l.length:-1;e!=h;e+=t){let u=l[e],f=c[e]+a.from;if(!(!(s&Ee.EnterBracketed&&u instanceof Be&&((o=wi.get(u))===null||o===void 0?void 0:o.overlay)===null&&(f>=r||f+u.length<=r))&&!Rm(i,r,f,f+u.length))){if(u instanceof En){if(s&Ee.ExcludeBuffers)continue;let p=u.findChild(0,u.buffer.length,t,r-f,i);if(p>-1)return new Mn(new $v(a,u,e,f),null,p)}else if(s&Ee.IncludeAnonymous||!u.type.isAnonymous||wh(u)){let p;if(!(s&Ee.IgnoreMounts)&&(p=wi.get(u))&&!p.overlay)return new Mt(p.tree,f,e,a);let m=new Mt(u,f,e,a);return s&Ee.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?u.children.length-1:0,t,r,i,s)}}}if(s&Ee.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,r=0){let i;if(!(r&Ee.IgnoreOverlays)&&(i=wi.get(this._tree))&&i.overlay){let s=e-this.from,o=r&Ee.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=s:a<s)&&(t<0||o?l>=s:l>s))return new Mt(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function tu(n,e,t,r){let i=n.cursor(),s=[];if(!i.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=i.type.is(t),!i.nextSibling())return s}for(;;){if(r!=null&&i.type.is(r))return s;if(i.type.is(e)&&s.push(i.node),!i.nextSibling())return r==null?s:[]}}function uc(n,e,t=e.length-1){for(let r=n;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}class $v{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class Mn extends Lm{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return s<0?null:new Mn(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,r=0){if(r&Ee.ExcludeBuffers)return null;let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new Mn(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Mn(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Mn(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,s=r.buffer[this.index+3];if(s>i){let o=r.buffer[this.index+1];e.push(r.slice(i,s,o)),t.push(0)}return new Be(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Im(n){if(!n.length)return null;let e=0,t=n[0];for(let s=1;s<n.length;s++){let o=n[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let r=t instanceof Mt&&t.index<0?null:t.parent,i=n.slice();return r?i[e]=r:i.splice(e,1),new Fv(i,t)}class Fv{constructor(e,t){this.heads=e,this.node=t}get next(){return Im(this.heads)}}function Vv(n,e,t){let r=n.resolveInner(e,t),i=null;for(let s=r instanceof Mt?r:r.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(i||(i=[r])).push(o.resolve(e,t)),s=o}else{let o=wi.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new Mt(o.tree,o.overlay[0].from+s.from,-1,s);(i||(i=[r])).push(Ti(a,e,t,!1))}}return i?Im(i):r}class fc{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~Ee.EnterBracketed,e instanceof Mt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof Mt?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&Ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ee.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(i.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:r}=i)}else({index:t,_parent:r}=this._tree);for(;r;{index:t,_parent:r}=r)if(t>-1)for(let s=t+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let a=r._tree.children[s];if(this.mode&Ee.IncludeAnonymous||a instanceof En||!a.type.isAnonymous||wh(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let i=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;t=o,r=s+1;break e}i=this.stack[--s]}for(let i=r;i<this.stack.length;i++)t=new Mn(this.buffer,t,this.stack[i]);return this.bufferNode=new Mn(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let i=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(i=!0)}for(;;){if(i&&t&&t(this),i=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,i=!0}}}matchContext(e){if(!this.buffer)return uc(this.node.parent,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let i=e.length-1,s=this.stack.length-1;i>=0;s--){if(s<0)return uc(this._tree,e,i);let o=r[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}}function wh(n){return n.children.some(e=>e instanceof En||!e.type.isAnonymous||wh(e))}function zv(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=Em,reused:s=[],minRepeatType:o=r.types.length}=n,a=Array.isArray(t)?new vh(t,t.length):t,l=r.types,c=0,h=0;function u(C,P,x,D,M,L){let{id:A,start:I,end:W,size:V}=a,$=h,q=c;if(V<0)if(a.next(),V==-1){let le=s[A];x.push(le),D.push(I-C);return}else if(V==-3){c=A;return}else if(V==-4){h=A;return}else throw new RangeError(`Unrecognized record size: ${V}`);let he=l[A],_,J,se=I-C;if(W-I<=i&&(J=y(a.pos-P,M))){let le=new Uint16Array(J.size-J.skip),oe=a.pos-J.size,we=le.length;for(;a.pos>oe;)we=v(J.start,le,we);_=new En(le,W-J.start,r),se=J.start-C}else{let le=a.pos-V;a.next();let oe=[],we=[],Me=A>=o?A:-1,Se=0,Qe=W;for(;a.pos>le;)Me>=0&&a.id==Me&&a.size>=0?(a.end<=Qe-i&&(m(oe,we,I,Se,a.end,Qe,Me,$,q),Se=oe.length,Qe=a.end),a.next()):L>2500?f(I,le,oe,we):u(I,le,oe,we,Me,L+1);if(Me>=0&&Se>0&&Se<oe.length&&m(oe,we,I,Se,I,Qe,Me,$,q),oe.reverse(),we.reverse(),Me>-1&&Se>0){let Lt=p(he,q);_=kh(he,oe,we,0,oe.length,0,W-I,Lt,Lt)}else _=g(he,oe,we,W-I,$-W,q)}x.push(_),D.push(se)}function f(C,P,x,D){let M=[],L=0,A=-1;for(;a.pos>P;){let{id:I,start:W,end:V,size:$}=a;if($>4)a.next();else{if(A>-1&&W<A)break;A<0&&(A=V-i),M.push(I,W,V),L++,a.next()}}if(L){let I=new Uint16Array(L*4),W=M[M.length-2];for(let V=M.length-3,$=0;V>=0;V-=3)I[$++]=M[V],I[$++]=M[V+1]-W,I[$++]=M[V+2]-W,I[$++]=$;x.push(new En(I,M[2]-W,r)),D.push(W-C)}}function p(C,P){return(x,D,M)=>{let L=0,A=x.length-1,I,W;if(A>=0&&(I=x[A])instanceof Be){if(!A&&I.type==C&&I.length==M)return I;(W=I.prop(ue.lookAhead))&&(L=D[A]+I.length+W)}return g(C,x,D,M,L,P)}}function m(C,P,x,D,M,L,A,I,W){let V=[],$=[];for(;C.length>D;)V.push(C.pop()),$.push(P.pop()+x-M);C.push(g(r.types[A],V,$,L-M,I-L,W)),P.push(M-x)}function g(C,P,x,D,M,L,A){if(L){let I=[ue.contextHash,L];A=A?[I].concat(A):[I]}if(M>25){let I=[ue.lookAhead,M];A=A?[I].concat(A):[I]}return new Be(C,P,x,D,A)}function y(C,P){let x=a.fork(),D=0,M=0,L=0,A=x.end-i,I={size:0,start:0,skip:0};e:for(let W=x.pos-C;x.pos>W;){let V=x.size;if(x.id==P&&V>=0){I.size=D,I.start=M,I.skip=L,L+=4,D+=4,x.next();continue}let $=x.pos-V;if(V<0||$<W||x.start<A)break;let q=x.id>=o?4:0,he=x.start;for(x.next();x.pos>$;){if(x.size<0)if(x.size==-3||x.size==-4)q+=4;else break e;else x.id>=o&&(q+=4);x.next()}M=he,D+=V,L+=q}return(P<0||D==C)&&(I.size=D,I.start=M,I.skip=L),I.size>4?I:void 0}function v(C,P,x){let{id:D,start:M,end:L,size:A}=a;if(a.next(),A>=0&&D<o){let I=x;if(A>4){let W=a.pos-(A-4);for(;a.pos>W;)x=v(C,P,x)}P[--x]=I,P[--x]=L-C,P[--x]=M-C,P[--x]=D}else A==-3?c=D:A==-4&&(h=D);return x}let w=[],S=[];for(;a.pos>0;)u(n.start||0,n.bufferStart||0,w,S,-1,0);let O=(e=n.length)!==null&&e!==void 0?e:w.length?S[0]+w[0].length:0;return new Be(l[n.topID],w.reverse(),S.reverse(),O)}const nu=new WeakMap;function zo(n,e){if(!n.isAnonymous||e instanceof En||e.type!=n)return 1;let t=nu.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof Be)){t=1;break}t+=zo(n,r)}nu.set(e,t)}return t}function kh(n,e,t,r,i,s,o,a,l){let c=0;for(let m=r;m<i;m++)c+=zo(n,e[m]);let h=Math.ceil(c*1.5/8),u=[],f=[];function p(m,g,y,v,w){for(let S=y;S<v;){let O=S,C=g[S],P=zo(n,m[S]);for(S++;S<v;S++){let x=zo(n,m[S]);if(P+x>=h)break;P+=x}if(S==O+1){if(P>h){let x=m[O];p(x.children,x.positions,0,x.children.length,g[O]+w);continue}u.push(m[O])}else{let x=g[S-1]+m[S-1].length-C;u.push(kh(n,m,g,O,S,C,x,null,l))}f.push(C+w-s)}}return p(e,t,r,i,0),(a||l)(u,f,o)}class nr{constructor(e,t,r,i,s=!1,o=!1){this.from=e,this.to=t,this.tree=r,this.offset=i,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let i=[new nr(0,e.length,e,0,!1,r)];for(let s of t)s.to>e.length&&i.push(s);return i}static applyChanges(e,t,r=128){if(!t.length)return e;let i=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a<t.length?t[a]:null,u=h?h.fromA:1e9;if(u-l>=r)for(;o&&o.from<u;){let f=o;if(l>=f.from||u<=f.to||c){let p=Math.max(f.from,l)-c,m=Math.min(f.to,u)-c;f=p>=m?null:new nr(p,m,f.tree,f.offset+c,a>0,!!h)}if(f&&i.push(f),o.to>u)break;o=s<e.length?e[s++]:null}if(!h)break;l=h.toA,c=h.toA-h.toB}return i}}class Bm{startParse(e,t,r){return typeof e=="string"&&(e=new Hv(e)),r=r?r.length?r.map(i=>new ol(i.from,i.to)):[new ol(0,0)]:[new ol(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let s=i.advance();if(s)return s}}}class Hv{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new ue({perNode:!0});var ru={};class Xo{constructor(e,t,r,i,s,o,a,l,c,h=0,u){this.p=e,this.stack=t,this.state=r,this.reducePos=i,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=h,this.parent=u}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let i=e.parser.context;return new Xo(e,[],t,r,r,0,[],0,i?new iu(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,i=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=s.dynamicPrecedence(i);if(a&&(this.score+=a),r==0){this.pushState(s.getGoto(this.state,i,!0),this.reducePos),i<s.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(i,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),c=l?this.stack[l-2]:this.p.ranges[0].from,h=this.reducePos-c;h>=2e3&&!(!((t=this.p.parser.nodeSet.types[i])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=h));let u=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-u;if(i<s.minRepeatTerm||e&131072){let p=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,c,p,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let p=this.stack[l-3];this.state=s.getGoto(p,i,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(i,c)}storeNode(e,t,r,i=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(t==r)return;if(o.buffer[a-2]>=t){o.buffer[a-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,t,r,i);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,i>4&&(i-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=i}}shift(e,t,r,i){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=i,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,i,4);else{let s=e,{parser:o}=this.p;(i>this.pos||t<=o.maxNode)&&(this.pos=i,o.stateFlag(s,1)||(this.reducePos=i)),this.pushState(s,r),this.shiftContext(t,r),t<=o.maxNode&&this.buffer.push(t,r,i,4)}}apply(e,t,r,i){e&65536?this.reduce(e):this.shift(e,t,r,i)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new Xo(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new _v(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let s=0,o;s<t.length;s+=2)(o=t[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&i.push(t[s],o);if(this.stack.length<120)for(let s=0;i.length<8&&s<t.length;s+=2){let o=t[s+1];i.some((a,l)=>l&1&&a==o)||i.push(t[s],o)}t=i}let r=[];for(let i=0;i<t.length&&r.length<4;i+=2){let s=t[i+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[i],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let r=t>>19,i=t&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],i,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(i,s)=>{if(!t.includes(i))return t.push(i),e.allActions(i,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=r(o,s+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new iu(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class iu{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class _v{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class Zo{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Zo(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Zo(this.stack,this.pos,this.index)}}function co(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,i=0;r<n.length;){let s=0;for(;;){let o=n.charCodeAt(r++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[i++]=s:t=new e(s)}return t}class Ho{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const su=new Ho;class Wv{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=su,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,i=this.rangeIndex,s=this.pos+e;for(;s<r.from;){if(!i)return null;let o=this.ranges[--i];s-=r.from-o.to,r=o}for(;t<0?s>r.to:s>=r.to;){if(i==this.ranges.length-1)return null;let o=this.ranges[++i];s+=o.from-r.to,r=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,i;if(t>=0&&t<this.chunk.length)r=this.pos+e,i=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(r=s,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=su,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return r}}class Or{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Uv(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}Or.prototype.contextual=Or.prototype.fallback=Or.prototype.extend=!1;Or.prototype.fallback=Or.prototype.extend=!1;function Uv(n,e,t,r,i,s){let o=0,a=1<<r,{dialect:l}=t.p.parser;e:for(;a&n[o];){let c=n[o+1];for(let p=o+3;p<c;p+=2)if((n[p+1]&a)>0){let m=n[p];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||Kv(m,e.token.value,i,s))){e.acceptToken(m);break}}let h=e.next,u=0,f=n[o+2];if(e.next<0&&f>u&&n[c+f*3-3]==65535){o=n[c+f*3-1];continue e}for(;u<f;){let p=u+f>>1,m=c+p+(p<<1),g=n[m],y=n[m+1]||65536;if(h<g)f=p;else if(h>=y)u=p+1;else{o=n[m+2],e.advance();continue e}}break}}function ou(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function Kv(n,e,t,r){let i=ou(t,r,e);return i<0||ou(t,r,n)<i}const mt=typeof process<"u"&&ru&&/\bparse\b/.test(ru.LOG);let al=null;function au(n,e,t){let r=n.cursor(Ee.IncludeAnonymous);for(r.moveTo(e);;)if(!(t<0?r.childBefore(e):r.childAfter(e)))for(;;){if((t<0?r.to<e:r.from>e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}class Gv{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?au(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?au(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],i=this.index[t];if(i==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=r.children[i],o=this.start[t]+r.positions[i];if(o>e)return this.nextStart=o,null;if(s instanceof Be){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(ue.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[t]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}}class qv{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Ho)}getActions(e){let t=0,r=null,{parser:i}=e.p,{tokenizers:s}=i,o=i.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<s.length;c++){if(!(1<<c&o))continue;let h=s[c],u=this.tokens[c];if(!(r&&!h.fallback)&&((h.contextual||u.start!=e.pos||u.mask!=o||u.context!=a)&&(this.updateCachedToken(u,h,e),u.mask=o,u.context=a),u.lookAhead>u.end+25&&(l=Math.max(u.lookAhead,l)),u.value!=0)){let f=t;if(u.extended>-1&&(t=this.addActions(e,u.extended,u.end,t)),t=this.addActions(e,u.value,u.end,t),!h.extend&&(r=u,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Ho,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Ho,{pos:r,p:i}=e;return t.start=r,t.end=Math.min(r+1,i.stream.end),t.value=r==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,r){let i=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(i,e),r),e.value>-1){let{parser:s}=r.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let a=s.specializers[o](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,r,i){for(let s=0;s<i;s+=3)if(this.actions[s]==e)return i;return this.actions[i++]=e,this.actions[i++]=t,this.actions[i++]=r,i}addActions(e,t,r,i){let{state:s}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let c=o.stateSlot(s,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=dn(a,c+2);else{i==0&&a[c+1]==2&&(i=this.putAction(dn(a,c+2),t,r,i));break}a[c]==t&&(i=this.putAction(dn(a,c+1),t,r,i))}return i}}class Jv{constructor(e,t,r,i){this.parser=e,this.input=t,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Wv(t,i),this.tokens=new qv(e,this.stream),this.topTerm=e.top[1];let{from:s}=i[0];this.stacks=[Xo.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new Gv(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],i,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>t)r.push(a);else{if(this.advanceStack(a,r,e))continue;{i||(i=[],s=[]),i.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!r.length){let o=i&&Qv(i);if(o)return mt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw mt&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&i){let o=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,s,r);if(o)return mt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((a,l)=>l.score-a.score);r.length>o;)r.pop();r.some(a=>a.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let o=0;o<r.length-1;o++){let a=r[o];for(let l=o+1;l<r.length;l++){let c=r[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,a)=>a.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o<r.length;o++)r[o].pos<this.minStackPos&&(this.minStackPos=r[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let i=e.pos,{parser:s}=this,o=mt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let u=this.fragments.nodeAt(i);u;){let f=this.parser.nodeSet.types[u.type.id]==u.type?s.getGoto(e.state,u.type.id):-1;if(f>-1&&u.length&&(!c||(u.prop(ue.contextHash)||0)==h))return e.useNode(u,f),mt&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(u.type.id)})`),!0;if(!(u instanceof Be)||u.children.length==0||u.positions[0]>0)break;let p=u.children[0];if(p instanceof Be&&u.positions[0]==0)u=p;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),mt&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let h=l[c++],u=l[c++],f=l[c++],p=c==l.length||!r,m=p?e:e.split(),g=this.tokens.mainToken;if(m.apply(h,u,g?g.start:m.pos,f),mt&&console.log(o+this.stackID(m)+` (via ${h&65536?`reduce of ${s.getName(h&65535)}`:"shift"} for ${s.getName(u)} @ ${i}${m==e?"":", split"})`),p)return!0;m.pos>i?t.push(m):r.push(m)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return lu(e,t),!0}}runRecovery(e,t,r){let i=null,s=!1;for(let o=0;o<e.length;o++){let a=e[o],l=t[o<<1],c=t[(o<<1)+1],h=mt?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),mt&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let u=a.split(),f=h;for(let p=0;p<10&&u.forceReduce()&&(mt&&console.log(f+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));p++)mt&&(f=this.stackID(u)+" -> ");for(let p of a.recoverByInsert(l))mt&&console.log(h+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,r);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),mt&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),lu(a,r)):(!i||i.score<a.score)&&(i=a)}return i}stackToTree(e){return e.close(),Be.build({buffer:Zo.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(al||(al=new WeakMap)).get(e);return t||al.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function lu(n,e){for(let t=0;t<e.length;t++){let r=e[t];if(r.pos==n.pos&&r.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}class Yv{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class ea extends Bm{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;a<e.repeatNodeCount;a++)t.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),i=[];for(let a=0;a<t.length;a++)i.push([]);function s(a,l,c){i[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=ue[l]);for(let c=1;c<a.length;){let h=a[c++];if(h>=0)s(h,l,a[c++]);else{let u=a[c+-h];for(let f=-h;f>0;f--)s(a[c++],l,u);c++}}}this.nodeSet=new xh(t.map((a,l)=>ft.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:i[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Em;let o=co(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(cu),this.states=co(e.states,Uint32Array),this.data=co(e.stateData),this.goto=co(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new Or(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let i=new Jv(this,e,t,r);for(let s of this.wrappers)i=s(i,e,t,r);return i}getGoto(e,t,r=!1){let i=this.goto;if(t>=i[0])return-1;for(let s=i[t+1];;){let o=i[s++],a=o&1,l=i[s++];if(a&&r)return l;for(let c=s+(o>>1);s<c;s++)if(i[s]==e)return l;if(a)return-1}}hasAction(e,t){let r=this.data;for(let i=0;i<2;i++)for(let s=this.stateSlot(e,i?2:1),o;;s+=3){if((o=r[s])==65535)if(r[s+1]==1)o=r[s=dn(r,s+2)];else{if(r[s+1]==2)return dn(r,s+2);break}if(o==t||o==0)return dn(r,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),i=r?t(r):void 0;for(let s=this.stateSlot(e,1);i==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=dn(this.data,s+2);else break;i=t(dn(this.data,s+1))}return i}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=dn(this.data,r+2);else break;if(!(this.data[r+2]&1)){let i=this.data[r+1];t.some((s,o)=>o&1&&s==i)||t.push(this.data[r],i)}}return t}configure(e){let t=Object.assign(Object.create(ea.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let i=e.tokenizers.find(s=>s.from==r);return i?i.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,i)=>{let s=e.specializers.find(a=>a.from==r.external);if(!s)return r;let o=Object.assign(Object.assign({},r),{external:s.to});return t.specializers[i]=cu(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(r[o]=!0)}let i=null;for(let s=0;s<t.length;s++)if(!r[s])for(let o=this.dialects[t[s]],a;(a=this.data[o++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[a]=1;return new Yv(e,r,i)}static deserialize(e){return new ea(e)}}function dn(n,e){return n[e]|n[e+1]<<16}function Qv(n){let e=null;for(let t of n){let r=t.p.stoppedAt;(t.pos==t.p.stream.end||r!=null&&t.pos>r)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function cu(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}let Xv=0;class jt{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=Xv++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r=typeof e=="string"?e:"?";if(e instanceof jt&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let i=new jt(r,[],null,[]);if(i.set.push(i),t)for(let s of t.set)i.set.push(s);return i}static defineModifier(e){let t=new ta(e);return r=>r.modified.indexOf(t)>-1?r:ta.get(r.base||r,r.modified.concat(t).sort((i,s)=>i.id-s.id))}}let Zv=0;class ta{constructor(e){this.name=e,this.instances=[],this.id=Zv++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(a=>a.base==e&&e2(t,a.modified));if(r)return r;let i=[],s=new jt(e.name,i,e,t);for(let a of t)a.instances.push(s);let o=t2(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(ta.get(a,l));return s}}function e2(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function t2(n){let e=[[]];for(let t=0;t<n.length;t++)for(let r=0,i=e.length;r<i;r++)e.push(e[r].concat(n[t]));return e.sort((t,r)=>r.length-t.length)}function $m(n){let e=Object.create(null);for(let t in n){let r=n[t];Array.isArray(r)||(r=[r]);for(let i of t.split(" "))if(i){let s=[],o=2,a=i;for(let u=0;;){if(a=="..."&&u>0&&u+3==i.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+i);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),u+=f[0].length,u==i.length)break;let p=i[u++];if(u==i.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+i);a=i.slice(u)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+i);let h=new Ei(r,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Fm.add(e)}const Fm=new ue({combine(n,e){let t,r,i;for(;n||e;){if(!n||e&&n.depth>=e.depth?(i=e,e=e.next):(i=n,n=n.next),t&&t.mode==i.mode&&!i.context&&!t.context)continue;let s=new Ei(i.tags,i.mode,i.context);t?t.next=s:r=s,t=s}return r}});class Ei{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}Ei.empty=new Ei([],2,null);function Vm(n,e){let t=Object.create(null);for(let s of n)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:r,all:i=null}=e||{};return{style:s=>{let o=i;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:r}}function n2(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function r2(n,e,t,r=0,i=n.length){let s=new i2(r,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),r,i,"",s.highlighters),s.flush(i)}class i2{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,s){let{type:o,from:a,to:l}=e;if(a>=r||l<=t)return;o.isTop&&(s=this.highlighters.filter(p=>!p.scope||p.scope(o)));let c=i,h=s2(e)||Ei.empty,u=n2(s,h.tags);if(u&&(c&&(c+=" "),c+=u,h.mode==1&&(i+=(i?" ":"")+u)),this.startSpan(Math.max(t,a),c),h.opaque)return;let f=e.tree&&e.tree.prop(ue.mounted);if(f&&f.overlay){let p=e.node.enter(f.overlay[0].from+a,1),m=this.highlighters.filter(y=>!y.scope||y.scope(f.tree.type)),g=e.firstChild();for(let y=0,v=a;;y++){let w=y<f.overlay.length?f.overlay[y]:null,S=w?w.from+a:l,O=Math.max(t,v),C=Math.min(r,S);if(O<C&&g)for(;e.from<C&&(this.highlightRange(e,O,C,i,s),this.startSpan(Math.min(C,e.to),c),!(e.to>=S||!e.nextSibling())););if(!w||S>r)break;v=w.to+a,v>t&&(this.highlightRange(p.cursor(),Math.max(t,w.from+a),Math.min(r,v),"",m),this.startSpan(Math.min(r,v),c))}g&&e.parent()}else if(e.firstChild()){f&&(i="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,s),this.startSpan(Math.min(r,e.to),c)}while(e.nextSibling());e.parent()}}}function s2(n){let e=n.type.prop(Fm);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const z=jt.define,ho=z(),kn=z(),hu=z(kn),du=z(kn),Sn=z(),uo=z(Sn),ll=z(Sn),Kt=z(),Gn=z(Kt),_t=z(),Wt=z(),pc=z(),si=z(pc),fo=z(),T={comment:ho,lineComment:z(ho),blockComment:z(ho),docComment:z(ho),name:kn,variableName:z(kn),typeName:hu,tagName:z(hu),propertyName:du,attributeName:z(du),className:z(kn),labelName:z(kn),namespace:z(kn),macroName:z(kn),literal:Sn,string:uo,docString:z(uo),character:z(uo),attributeValue:z(uo),number:ll,integer:z(ll),float:z(ll),bool:z(Sn),regexp:z(Sn),escape:z(Sn),color:z(Sn),url:z(Sn),keyword:_t,self:z(_t),null:z(_t),atom:z(_t),unit:z(_t),modifier:z(_t),operatorKeyword:z(_t),controlKeyword:z(_t),definitionKeyword:z(_t),moduleKeyword:z(_t),operator:Wt,derefOperator:z(Wt),arithmeticOperator:z(Wt),logicOperator:z(Wt),bitwiseOperator:z(Wt),compareOperator:z(Wt),updateOperator:z(Wt),definitionOperator:z(Wt),typeOperator:z(Wt),controlOperator:z(Wt),punctuation:pc,separator:z(pc),bracket:si,angleBracket:z(si),squareBracket:z(si),paren:z(si),brace:z(si),content:Kt,heading:Gn,heading1:z(Gn),heading2:z(Gn),heading3:z(Gn),heading4:z(Gn),heading5:z(Gn),heading6:z(Gn),contentSeparator:z(Kt),list:z(Kt),quote:z(Kt),emphasis:z(Kt),strong:z(Kt),link:z(Kt),monospace:z(Kt),strikethrough:z(Kt),inserted:z(),deleted:z(),changed:z(),invalid:z(),meta:fo,documentMeta:z(fo),annotation:z(fo),processingInstruction:z(fo),definition:jt.defineModifier("definition"),constant:jt.defineModifier("constant"),function:jt.defineModifier("function"),standard:jt.defineModifier("standard"),local:jt.defineModifier("local"),special:jt.defineModifier("special")};for(let n in T){let e=T[n];e instanceof jt&&(e.name=n)}Vm([{tag:T.link,class:"tok-link"},{tag:T.heading,class:"tok-heading"},{tag:T.emphasis,class:"tok-emphasis"},{tag:T.strong,class:"tok-strong"},{tag:T.keyword,class:"tok-keyword"},{tag:T.atom,class:"tok-atom"},{tag:T.bool,class:"tok-bool"},{tag:T.url,class:"tok-url"},{tag:T.labelName,class:"tok-labelName"},{tag:T.inserted,class:"tok-inserted"},{tag:T.deleted,class:"tok-deleted"},{tag:T.literal,class:"tok-literal"},{tag:T.string,class:"tok-string"},{tag:T.number,class:"tok-number"},{tag:[T.regexp,T.escape,T.special(T.string)],class:"tok-string2"},{tag:T.variableName,class:"tok-variableName"},{tag:T.local(T.variableName),class:"tok-variableName tok-local"},{tag:T.definition(T.variableName),class:"tok-variableName tok-definition"},{tag:T.special(T.variableName),class:"tok-variableName2"},{tag:T.definition(T.propertyName),class:"tok-propertyName tok-definition"},{tag:T.typeName,class:"tok-typeName"},{tag:T.namespace,class:"tok-namespace"},{tag:T.className,class:"tok-className"},{tag:T.macroName,class:"tok-macroName"},{tag:T.propertyName,class:"tok-propertyName"},{tag:T.operator,class:"tok-operator"},{tag:T.comment,class:"tok-comment"},{tag:T.meta,class:"tok-meta"},{tag:T.invalid,class:"tok-invalid"},{tag:T.punctuation,class:"tok-punctuation"}]);const o2=$m({String:T.string,Number:T.number,"True False":T.bool,PropertyName:T.propertyName,Null:T.null,", :":T.separator,"[ ]":T.squareBracket,"{ }":T.brace}),a2=ea.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[o2],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});let mc=[],zm=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?zm:mc).push(t=t+n[e])})();function l2(n){if(n<768)return!1;for(let e=0,t=mc.length;;){let r=e+t>>1;if(n<mc[r])t=r;else if(n>=zm[r])e=r+1;else return!0;if(e==t)return!1}}function uu(n){return n>=127462&&n<=127487}const fu=8205;function c2(n,e,t=!0,r=!0){return(t?Hm:h2)(n,e,r)}function Hm(n,e,t){if(e==n.length)return e;e&&_m(n.charCodeAt(e))&&Wm(n.charCodeAt(e-1))&&e--;let r=cl(n,e);for(e+=pu(r);e<n.length;){let i=cl(n,e);if(r==fu||i==fu||t&&l2(i))e+=pu(i),r=i;else if(uu(i)){let s=0,o=e-2;for(;o>=0&&uu(cl(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function h2(n,e,t){for(;e>0;){let r=Hm(n,e-2,t);if(r<e)return r;e--}return 0}function cl(n,e){let t=n.charCodeAt(e);if(!Wm(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return _m(r)?(t-55296<<10)+(r-56320)+65536:t}function _m(n){return n>=56320&&n<57344}function Wm(n){return n>=55296&&n<56320}function pu(n){return n<65536?1:2}class xe{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){[e,t]=Er(this,e,t);let i=[];return this.decompose(0,e,i,2),r.length&&r.decompose(0,r.length,i,3),this.decompose(t,this.length,i,1),qt.from(i,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Er(this,e,t);let r=[];return this.decompose(e,t,r,0),qt.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),i=new ki(this),s=new ki(e);for(let o=t,a=t;;){if(i.next(o),s.next(o),o=0,i.lineBreak!=s.lineBreak||i.done!=s.done||i.value!=s.value)return!1;if(a+=i.value.length,i.done||a>=r)return!0}}iter(e=1){return new ki(this,e)}iterRange(e,t=this.length){return new Um(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;r=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Km(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?xe.empty:e.length<=32?new Ie(e):qt.from(Ie.split(e,[]))}}class Ie extends xe{constructor(e,t=d2(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.text[s],a=i+o.length;if((t?r:a)>=e)return new u2(i,a,r,o);i=a+1,r++}}decompose(e,t,r,i){let s=e<=0&&t>=this.length?this:new Ie(mu(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=r.pop(),a=_o(s.text,o.text.slice(),0,s.length);if(a.length<=32)r.push(new Ie(a,o.length+s.length));else{let l=a.length>>1;r.push(new Ie(a.slice(0,l)),new Ie(a.slice(l)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof Ie))return super.replace(e,t,r);[e,t]=Er(this,e,t);let i=_o(this.text,_o(r.text,mu(this.text,0,e)),t),s=this.length+r.length-(t-e);return i.length<=32?new Ie(i,s):qt.from(Ie.split(i,[]),s)}sliceString(e,t=this.length,r=`
53
- `){[e,t]=Er(this,e,t);let i="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(i+=r),e<l&&t>s&&(i+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],i=-1;for(let s of e)r.push(s),i+=s.length+1,r.length==32&&(t.push(new Ie(r,i)),r=[],i=-1);return i>-1&&t.push(new Ie(r,i)),t}}class qt extends xe{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.children[s],a=i+o.length,l=r+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,r,i);i=a+1,r=l+1}}decompose(e,t,r,i){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=i&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?r.push(a):a.decompose(e-o,t-o,r,c)}o=l+1}}replace(e,t,r){if([e,t]=Er(this,e,t),r.lines<this.lines)for(let i=0,s=0;i<this.children.length;i++){let o=this.children[i],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,r),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let h=this.children.slice();return h[i]=l,new qt(h,this.length-(t-e)+r.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=`
54
- `){[e,t]=Er(this,e,t);let i="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(i+=r),e<l&&t>o&&(i+=a.sliceString(e-o,t-o,r)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof qt))return 0;let r=0,[i,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,s+=t){if(i==o||s==a)return r;let l=this.children[i],c=e.children[s];if(l!=c)return r+l.scanIdentical(c,t);r+=l.length+1}}static from(e,t=e.reduce((r,i)=>r+i.length+1,-1)){let r=0;for(let p of e)r+=p.lines;if(r<32){let p=[];for(let m of e)m.flatten(p);return new Ie(p,t)}let i=Math.max(32,r>>5),s=i<<1,o=i>>1,a=[],l=0,c=-1,h=[];function u(p){let m;if(p.lines>s&&p instanceof qt)for(let g of p.children)u(g);else p.lines>o&&(l>o||!l)?(f(),a.push(p)):p instanceof Ie&&l&&(m=h[h.length-1])instanceof Ie&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Ie(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>i&&f(),l+=p.lines,c+=p.length+1,h.push(p))}function f(){l!=0&&(a.push(h.length==1?h[0]:qt.from(h,c)),c=-1,l=h.length=0)}for(let p of e)u(p);return f(),a.length==1?a[0]:new qt(a,t)}}xe.empty=new Ie([""],0);function d2(n){let e=-1;for(let t of n)e+=t.length+1;return e}function _o(n,e,t=0,r=1e9){for(let i=0,s=0,o=!0;s<n.length&&i<=r;s++){let a=n[s],l=i+a.length;l>=t&&(l>r&&(a=a.slice(0,r-i)),i<t&&(a=a.slice(t-i)),o?(e[e.length-1]+=a,o=!1):e.push(a)),i=l+1}return e}function mu(n,e,t){return _o(n,[""],e,t)}class ki{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Ie?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,i=this.nodes[r],s=this.offsets[r],o=s>>1,a=i instanceof Ie?i.text.length:i.children.length;if(o==(t>0?a:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=`
55
- `,this;e--}else if(i instanceof Ie){let l=i.text[o+(t<0?-1:0)];if(this.offsets[r]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ie?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Um{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new ki(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=r?i:t<0?i.slice(i.length-r):i.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class Km{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(xe.prototype[Symbol.iterator]=function(){return this.iter()},ki.prototype[Symbol.iterator]=Um.prototype[Symbol.iterator]=Km.prototype[Symbol.iterator]=function(){return this});class u2{constructor(e,t,r,i){this.from=e,this.to=t,this.number=r,this.text=i}get length(){return this.to-this.from}}function Er(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function ze(n,e,t=!0,r=!0){return c2(n,e,t,r)}function f2(n){return n>=56320&&n<57344}function p2(n){return n>=55296&&n<56320}function lt(n,e){let t=n.charCodeAt(e);if(!p2(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return f2(r)?(t-55296<<10)+(r-56320)+65536:t}function Sh(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Jt(n){return n<65536?1:2}const gc=/\r\n?|\n/;var st=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(st||(st={}));class en{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,i=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(r,i,s),i+=s):i+=o,r+=s}}iterChangedRanges(e,t=!1){bc(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];i<0?e.push(r,i):e.push(i,r)}return new en(e)}composeDesc(e){return this.empty?e:e.empty?this:Gm(this,e)}mapDesc(e,t=!1){return e.empty?this:yc(this,e,t)}mapPos(e,t=-1,r=st.Simple){let i=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=i+a;if(l<0){if(c>e)return s+(e-i);s+=a}else{if(r!=st.Simple&&c>=e&&(r==st.TrackDel&&i<e&&c>e||r==st.TrackBefore&&i<e||r==st.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?s:s+l;s+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return s}touchesRange(e,t=e){for(let r=0,i=0;r<this.sections.length&&i<=t;){let s=this.sections[r++],o=this.sections[r++],a=i+s;if(o>=0&&i<=t&&a>=e)return i<e&&a>t?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];e+=(e?" ":"")+r+(i>=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new en(e)}static create(e){return new en(e)}}class Ve extends en{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return bc(this,(t,r,i,s,o)=>e=e.replace(i,i+(r-t),o),!1),e}mapDesc(e,t=!1){return yc(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let i=0,s=0;i<t.length;i+=2){let o=t[i],a=t[i+1];if(a>=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;r.length<l;)r.push(xe.empty);r.push(o?e.slice(s,s+o):xe.empty)}s+=o}return new Ve(t,r)}compose(e){return this.empty?e:e.empty?this:Gm(this,e,!0)}map(e,t=!1){return e.empty?this:yc(this,e,t,!0)}iterChanges(e,t=!1){bc(this,e,t)}get desc(){return en.create(this.sections)}filter(e){let t=[],r=[],i=[],s=new Ri(this);e:for(let o=0,a=0;;){let l=o==e.length?1e9:e[o++];for(;a<l||a==l&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,l-a);et(i,h,-1);let u=s.ins==-1?-1:s.off==0?s.ins:0;et(t,h,u),u>0&&Nn(r,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a<c;){if(s.done)break e;let h=Math.min(s.len,c-a);et(t,h,-1),et(i,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),a+=h}}return{changes:new Ve(t,r),filtered:en.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],i=this.sections[t+1];i<0?e.push(r):i==0?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let i=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!i.length)return;o<t&&et(i,t-o,-1);let u=new Ve(i,s);a=a?a.compose(u.map(a)):u,i=[],s=[],o=0}function c(h){if(Array.isArray(h))for(let u of h)c(u);else if(h instanceof Ve){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);l(),a=a?a.compose(h.map(a)):h}else{let{from:u,to:f=u,insert:p}=h;if(u>f||u<0||f>t)throw new RangeError(`Invalid change range ${u} to ${f} (in doc of length ${t})`);let m=p?typeof p=="string"?xe.of(p.split(r||gc)):p:xe.empty,g=m.length;if(u==f&&g==0)return;u<o&&l(),u>o&&et(i,u-o,-1),et(i,f-u,g),Nn(s,i,m),o=f}}return c(e),l(!a),a}static empty(e){return new Ve(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let i=0;i<e.length;i++){let s=e[i];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,a)=>a&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;r.length<i;)r.push(xe.empty);r[i]=xe.of(s.slice(1)),t.push(s[0],r[i].length)}}}return new Ve(t,r)}static createSet(e,t){return new Ve(e,t)}}function et(n,e,t,r=!1){if(e==0&&t<=0)return;let i=n.length-2;i>=0&&t<=0&&t==n[i+1]?n[i]+=e:i>=0&&e==0&&n[i]==0?n[i+1]+=t:r?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function Nn(n,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<r;)n.push(xe.empty);n.push(t)}}function bc(n,e,t){let r=n.inserted;for(let i=0,s=0,o=0;o<n.sections.length;){let a=n.sections[o++],l=n.sections[o++];if(l<0)i+=a,s+=a;else{let c=i,h=s,u=xe.empty;for(;c+=a,h+=l,l&&r&&(u=u.append(r[o-2>>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)a=n.sections[o++],l=n.sections[o++];e(i,c,s,h,u),i=c,s=h}}}function yc(n,e,t,r=!1){let i=[],s=r?[]:null,o=new Ri(n),a=new Ri(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);et(i,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len<o.len||a.len==o.len&&!t))){let c=a.len;for(et(i,a.ins,-1);c;){let h=Math.min(o.len,c);o.ins>=0&&l<o.i&&o.len<=h&&(et(i,0,o.ins),s&&Nn(s,i,o.text),l=o.i),o.forward(h),c-=h}a.next()}else if(o.ins>=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let u=Math.min(h,a.len);c+=u,h-=u,a.forward(u)}else if(a.ins==0&&a.len<h)h-=a.len,a.next();else break;et(i,c,l<o.i?o.ins:0),s&&l<o.i&&Nn(s,i,o.text),l=o.i,o.forward(o.len-h)}else{if(o.done&&a.done)return s?Ve.createSet(i,s):en.create(i);throw new Error("Mismatched change set lengths")}}}function Gm(n,e,t=!1){let r=[],i=t?[]:null,s=new Ri(n),o=new Ri(e);for(let a=!1;;){if(s.done&&o.done)return i?Ve.createSet(r,i):en.create(r);if(s.ins==0)et(r,s.len,0,a),s.next();else if(o.len==0&&!o.done)et(r,0,o.ins,a),i&&Nn(i,r,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let l=Math.min(s.len2,o.len),c=r.length;if(s.ins==-1){let h=o.ins==-1?-1:o.off?0:o.ins;et(r,l,h,a),i&&h&&Nn(i,r,o.text)}else o.ins==-1?(et(r,s.off?0:s.len,l,a),i&&Nn(i,r,s.textBit(l))):(et(r,s.off?0:s.len,o.off?0:o.ins,a),i&&!o.off&&Nn(i,r,o.text));a=(s.ins>l||o.ins>=0&&o.len>l)&&(a||r.length>c),s.forward2(l),o.forward(l)}}}}class Ri{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?xe.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?xe.empty:t[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Zn{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let r,i;return this.empty?r=i=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new Zn(r,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return E.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return E.range(this.anchor,r)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return E.range(e.anchor,e.head)}static create(e,t,r){return new Zn(e,t,r)}}class E{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:E.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;r<this.ranges.length;r++)if(!this.ranges[r].eq(e.ranges[r],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new E([this.main],0)}addRange(e,t=!0){return E.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,E.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new E(e.ranges.map(t=>Zn.fromJSON(t)),e.main)}static single(e,t=e){return new E([E.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,i=0;i<e.length;i++){let s=e[i];if(s.empty?s.from<=r:s.from<r)return E.normalized(e.slice(),t);r=s.to}return new E(e,t)}static cursor(e,t=0,r,i){return Zn.create(e,e,(t==0?0:t<0?8:16)|(r==null?7:Math.min(6,r))|(i??16777215)<<6)}static range(e,t,r,i){let s=(r??16777215)<<6|(i==null?7:Math.min(6,i));return t<e?Zn.create(t,e,48|s):Zn.create(e,t,(t>e?8:0)|s)}static normalized(e,t=0){let r=e[t];e.sort((i,s)=>i.from-s.from),t=e.indexOf(r);for(let i=1;i<e.length;i++){let s=e[i],o=e[i-1];if(s.empty?s.from<=o.to:s.from<o.to){let a=o.from,l=Math.max(s.to,o.to);i<=t&&t--,e.splice(--i,2,s.anchor>s.head?E.range(l,a):E.range(a,l))}}return new E(e,t)}}function qm(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Ch=0;class K{constructor(e,t,r,i,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=Ch++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new K(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:jh),!!e.static,e.enables)}of(e){return new Wo([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wo(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wo(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function jh(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class Wo{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=Ch++}dynamicSlot(e){var t;let r=this.value,i=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let u of this.dependencies)u=="doc"?l=!0:u=="selection"?c=!0:((t=e[u.id])!==null&&t!==void 0?t:1)&1||h.push(e[u.id]);return{create(u){return u.values[o]=r(u),1},update(u,f){if(l&&f.docChanged||c&&(f.docChanged||f.selection)||xc(u,h)){let p=r(u);if(a?!gu(p,u.values[o],i):!i(p,u.values[o]))return u.values[o]=p,1}return 0},reconfigure:(u,f)=>{let p,m=f.config.address[s];if(m!=null){let g=ra(f,m);if(this.dependencies.every(y=>y instanceof K?f.facet(y)===u.facet(y):y instanceof Ye?f.field(y,!1)==u.field(y,!1):!0)||(a?gu(p=r(u),g,i):i(p=r(u),g)))return u.values[o]=g,0}else p=r(u);return u.values[o]=p,1}}}}function gu(n,e,t){if(n.length!=e.length)return!1;for(let r=0;r<n.length;r++)if(!t(n[r],e[r]))return!1;return!0}function xc(n,e){let t=!1;for(let r of e)Si(n,r)&1&&(t=!0);return t}function m2(n,e,t){let r=t.map(l=>n[l.id]),i=t.map(l=>l.type),s=r.filter(l=>!(l&1)),o=n[e.id]>>1;function a(l){let c=[];for(let h=0;h<r.length;h++){let u=ra(l,r[h]);if(i[h]==2)for(let f of u)c.push(f);else c.push(u)}return e.combine(c)}return{create(l){for(let c of r)Si(l,c);return l.values[o]=a(l),1},update(l,c){if(!xc(l,s))return 0;let h=a(l);return e.compare(h,l.values[o])?0:(l.values[o]=h,1)},reconfigure(l,c){let h=xc(l,r),u=c.config.facets[e.id],f=c.facet(e);if(u&&!h&&jh(t,u))return l.values[o]=f,0;let p=a(l);return e.compare(p,f)?(l.values[o]=f,0):(l.values[o]=p,1)}}}const po=K.define({static:!0});class Ye{constructor(e,t,r,i,s){this.id=e,this.createF=t,this.updateF=r,this.compareF=i,this.spec=s,this.provides=void 0}static define(e){let t=new Ye(Ch++,e.create,e.update,e.compare||((r,i)=>r===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(po).find(r=>r.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,i)=>{let s=r.values[t],o=this.updateF(s,i);return this.compareF(s,o)?0:(r.values[t]=o,1)},reconfigure:(r,i)=>{let s=r.facet(po),o=i.facet(po),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(r.values[t]=a.create(r),1):i.config.address[this.id]!=null?(r.values[t]=i.field(this),0):(r.values[t]=this.create(r),1)}}}init(e){return[this,po.of({field:this,create:e})]}get extension(){return this}}const Yn={lowest:4,low:3,default:2,high:1,highest:0};function oi(n){return e=>new Jm(e,n)}const cr={highest:oi(Yn.highest),high:oi(Yn.high),default:oi(Yn.default),low:oi(Yn.low),lowest:oi(Yn.lowest)};class Jm{constructor(e,t){this.inner=e,this.prec=t}}class Da{of(e){return new vc(this,e)}reconfigure(e){return Da.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class vc{constructor(e,t){this.compartment=e,this.inner=t}}class na{constructor(e,t,r,i,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=i,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let i=[],s=Object.create(null),o=new Map;for(let f of g2(e,t,o))f instanceof Ye?i.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let a=Object.create(null),l=[],c=[];for(let f of i)a[f.id]=c.length<<1,c.push(p=>f.slot(p));let h=r?.config.facets;for(let f in s){let p=s[f],m=p[0].facet,g=h&&h[f]||[];if(p.every(y=>y.type==0))if(a[m.id]=l.length<<1|1,jh(g,p))l.push(r.facet(m));else{let y=m.combine(p.map(v=>v.value));l.push(r&&m.compare(y,r.facet(m))?r.facet(m):y)}else{for(let y of p)y.type==0?(a[y.id]=l.length<<1|1,l.push(y.value)):(a[y.id]=c.length<<1,c.push(v=>y.dynamicSlot(v)));a[m.id]=c.length<<1,c.push(y=>m2(y,m,p))}}let u=c.map(f=>f(a));return new na(e,o,u,a,l,s)}}function g2(n,e,t){let r=[[],[],[],[],[]],i=new Map;function s(o,a){let l=i.get(o);if(l!=null){if(l<=a)return;let c=r[l].indexOf(o);c>-1&&r[l].splice(c,1),o instanceof vc&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof vc){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Jm)s(o.inner,o.prec);else if(o instanceof Ye)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Wo)r[a].push(o),o.facet.extensions&&s(o.facet.extensions,Yn.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(n,Yn.default),r.reduce((o,a)=>o.concat(a))}function Si(n,e){if(e&1)return 2;let t=e>>1,r=n.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function ra(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const Ym=K.define(),wc=K.define({combine:n=>n.some(e=>e),static:!0}),Qm=K.define({combine:n=>n.length?n[0]:void 0,static:!0}),Xm=K.define(),Zm=K.define(),eg=K.define(),tg=K.define({combine:n=>n.length?n[0]:!1});class rn{constructor(e,t){this.type=e,this.value=t}static define(){return new b2}}class b2{of(e){return new rn(this,e)}}class y2{constructor(e){this.map=e}of(e){return new ae(this,e)}}class ae{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new ae(this.type,t)}is(e){return this.type==e}static define(e={}){return new y2(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let i of e){let s=i.map(t);s&&r.push(s)}return r}}ae.reconfigure=ae.define();ae.appendConfig=ae.define();class He{constructor(e,t,r,i,s,o){this.startState=e,this.changes=t,this.selection=r,this.effects=i,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,r&&qm(r,t.newLength),s.some(a=>a.type==He.time)||(this.annotations=s.concat(He.time.of(Date.now())))}static create(e,t,r,i,s,o){return new He(e,t,r,i,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(He.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}He.time=rn.define();He.userEvent=rn.define();He.addToHistory=rn.define();He.remote=rn.define();function x2(n,e){let t=[];for(let r=0,i=0;;){let s,o;if(r<n.length&&(i==e.length||e[i]>=n[r]))s=n[r++],o=n[r++];else if(i<e.length)s=e[i++],o=e[i++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function ng(n,e,t){var r;let i,s,o;return t?(i=e.changes,s=Ve.empty(e.changes.length),o=n.changes.compose(e.changes)):(i=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),o=n.changes.compose(i)),{changes:o,selection:e.selection?e.selection.map(s):(r=n.selection)===null||r===void 0?void 0:r.map(i),effects:ae.mapEffects(n.effects,i).concat(ae.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function kc(n,e,t){let r=e.selection,i=Pr(e.annotations);return e.userEvent&&(i=i.concat(He.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ve?e.changes:Ve.of(e.changes||[],t,n.facet(Qm)),selection:r&&(r instanceof E?r:E.single(r.anchor,r.head)),effects:Pr(e.effects),annotations:i,scrollIntoView:!!e.scrollIntoView}}function rg(n,e,t){let r=kc(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;r=ng(r,kc(n,e[s],o?r.changes.newLength:n.doc.length),o)}let i=He.create(n,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return w2(t?v2(i):i)}function v2(n){let e=n.startState,t=!0;for(let i of e.facet(Xm)){let s=i(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:x2(t,s))}if(t!==!0){let i,s;if(t===!1)s=n.changes.invertedDesc,i=Ve.empty(e.doc.length);else{let o=n.changes.filter(t);i=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}n=He.create(e,i,n.selection&&n.selection.map(s),ae.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let r=e.facet(Zm);for(let i=r.length-1;i>=0;i--){let s=r[i](n);s instanceof He?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof He?n=s[0]:n=rg(e,Pr(s),!1)}return n}function w2(n){let e=n.startState,t=e.facet(eg),r=n;for(let i=t.length-1;i>=0;i--){let s=t[i](n);s&&Object.keys(s).length&&(r=ng(r,kc(e,s,n.changes.newLength),!0))}return r==n?n:He.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const k2=[];function Pr(n){return n==null?k2:Array.isArray(n)?n:[n]}var Ne=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Ne||(Ne={}));const S2=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Sc;try{Sc=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function C2(n){if(Sc)return Sc.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||S2.test(t)))return!0}return!1}function j2(n){return e=>{if(!/\S/.test(e))return Ne.Space;if(C2(e))return Ne.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return Ne.Word;return Ne.Other}}class pe{constructor(e,t,r,i,s,o){this.config=e,this.doc=t,this.selection=r,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)Si(this,a<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(r==null){if(t)throw new RangeError("Field is not present in this state");return}return Si(this,r),ra(this,r)}update(...e){return rg(this,e,!0)}applyTransaction(e){let t=this.config,{base:r,compartments:i}=t;for(let a of e.effects)a.is(Da.reconfigure)?(t&&(i=new Map,t.compartments.forEach((l,c)=>i.set(c,l)),t=null),i.set(a.value.compartment,a.value.extension)):a.is(ae.reconfigure)?(t=null,r=a.value):a.is(ae.appendConfig)&&(t=null,r=Pr(r).concat(a.value));let s;t?s=e.startState.values.slice():(t=na.resolve(r,i,this),s=new pe(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(wc)?e.newSelection:e.newSelection.asSingle();new pe(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:E.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),i=this.changes(r.changes),s=[r.range],o=Pr(r.effects);for(let a=1;a<t.ranges.length;a++){let l=e(t.ranges[a]),c=this.changes(l.changes),h=c.map(i);for(let f=0;f<a;f++)s[f]=s[f].map(h);let u=i.mapDesc(c,!0);s.push(l.range.map(u)),i=i.compose(h),o=ae.mapEffects(o,h).concat(ae.mapEffects(Pr(l.effects),u))}return{changes:i,selection:E.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Ve?e:Ve.of(e,this.doc.length,this.facet(pe.lineSeparator))}toText(e){return xe.of(e.split(this.facet(pe.lineSeparator)||gc))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(Si(this,t),ra(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let i=e[r];i instanceof Ye&&this.config.address[i.id]!=null&&(t[r]=i.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(r){for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)){let o=r[s],a=e[s];i.push(o.init(l=>o.spec.fromJSON(a,l)))}}return pe.create({doc:e.doc,selection:E.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=na.resolve(e.extensions||[],new Map),r=e.doc instanceof xe?e.doc:xe.of((e.doc||"").split(t.staticFacet(pe.lineSeparator)||gc)),i=e.selection?e.selection instanceof E?e.selection:E.single(e.selection.anchor,e.selection.head):E.single(0);return qm(i,r.length),t.staticFacet(wc)||(i=i.asSingle()),new pe(t,r,i,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(pe.tabSize)}get lineBreak(){return this.facet(pe.lineSeparator)||`
56
- `}get readOnly(){return this.facet(tg)}phrase(e,...t){for(let r of this.facet(pe.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,i)=>{if(i=="$")return"$";let s=+(i||1);return!s||s>t.length?r:t[s-1]})),e}languageDataAt(e,t,r=-1){let i=[];for(let s of this.facet(Ym))for(let o of s(this,t,r))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return j2(t.length?t[0]:"")}wordAt(e){let{text:t,from:r,length:i}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let l=ze(t,o,!1);if(s(t.slice(l,o))!=Ne.Word)break;o=l}for(;a<i;){let l=ze(t,a);if(s(t.slice(a,l))!=Ne.Word)break;a=l}return o==a?null:E.range(o+r,a+r)}}pe.allowMultipleSelections=wc;pe.tabSize=K.define({combine:n=>n.length?n[0]:4});pe.lineSeparator=Qm;pe.readOnly=tg;pe.phrases=K.define({compare(n,e){let t=Object.keys(n),r=Object.keys(e);return t.length==r.length&&t.every(i=>n[i]==e[i])}});pe.languageData=Ym;pe.changeFilter=Xm;pe.transactionFilter=Zm;pe.transactionExtender=eg;Da.reconfigure=ae.define();function sn(n,e,t={}){let r={};for(let i of n)for(let s of Object.keys(i)){let o=i[s],a=r[s];if(a===void 0)r[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))r[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let i in e)r[i]===void 0&&(r[i]=e[i]);return r}class Rn{eq(e){return this==e}range(e,t=e){return Li.create(e,t,this)}}Rn.prototype.startSide=Rn.prototype.endSide=0;Rn.prototype.point=!1;Rn.prototype.mapMode=st.TrackDel;function Oh(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}class Li{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new Li(e,t,r)}}function Cc(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Ph{constructor(e,t,r,i){this.from=e,this.to=t,this.value=r,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,i=0){let s=r?this.to:this.from;for(let o=i,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,r,i){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(r,1e9,!1,s);s<o;s++)if(i(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let r=[],i=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],h=this.from[l]+e,u=this.to[l]+e,f,p;if(h==u){let m=t.mapPos(h,c.startSide,c.mapMode);if(m==null||(f=p=m,c.startSide!=c.endSide&&(p=t.mapPos(h,c.endSide),p<f)))continue}else if(f=t.mapPos(h,c.startSide),p=t.mapPos(u,c.endSide),f>p||f==p&&c.startSide>0&&c.endSide<=0)continue;(p-f||c.endSide-c.startSide)<0||(o<0&&(o=f),c.point&&(a=Math.max(a,p-f)),r.push(c),i.push(f-o),s.push(p-o))}return{mapped:r.length?new Ph(i,s,r,a):null,pos:o}}}class fe{constructor(e,t,r,i){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=i}static create(e,t,r,i){return new fe(e,t,r,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:i=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(r&&(t=t.slice().sort(Cc)),this.isEmpty)return t.length?fe.of(t):this;let a=new ig(this,null,-1).goto(0),l=0,c=[],h=new mn;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let u=t[l++];h.addInner(u.from,u.to,u.value)||c.push(u)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||i>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&h.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||i>a.to||s<a.from||o(a.from,a.to,a.value))&&(h.addInner(a.from,a.to,a.value)||c.push(Li.create(a.from,a.to,a.value))),a.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?fe.empty:this.nextLayer.update({add:c,filter:o,filterFrom:i,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],i=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)i=Math.max(i,l.maxPoint),t.push(l),r.push(e.mapPos(a));else if(c===!0){let{mapped:h,pos:u}=l.map(a,e);h&&(i=Math.max(i,h.maxPoint),t.push(h),r.push(u))}}let s=this.nextLayer.map(e);return t.length==0?s:new fe(r,t,s||fe.empty,i)}between(e,t,r){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let s=this.chunkPos[i],o=this.chunk[i];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return Ii.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ii.from(e).goto(t)}static compare(e,t,r,i,s=-1){let o=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),a=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),l=bu(o,a,r),c=new ai(o,l,s),h=new ai(a,l,s);r.iterGaps((u,f,p)=>yu(c,u,h,f,p,i)),r.empty&&r.length==0&&yu(c,0,h,0,0,i)}static eq(e,t,r=0,i){i==null&&(i=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=bu(s,o),l=new ai(s,a,0).goto(r),c=new ai(o,a,0).goto(r);for(;;){if(l.to!=c.to||!jc(l.active,c.active)||l.point&&(!c.point||!Oh(l.point,c.point)))return!1;if(l.to>i)return!0;l.next(),c.next()}}static spans(e,t,r,i,s=-1){let o=new ai(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,r);if(o.point){let h=o.activeForPoint(o.to),u=o.pointFrom<t?h.length+1:o.point.startSide<0?h.length:Math.min(h.length,l);i.point(a,c,o.point,h,u,o.pointRank),l=Math.min(o.openEnd(c),h.length)}else c>a&&(i.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>r)return l+(o.point&&o.to>r?1:0);a=o.to,o.next()}}static of(e,t=!1){let r=new mn;for(let i of e instanceof Li?[e]:t?O2(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(e){if(!e.length)return fe.empty;let t=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let i=e[r];i!=fe.empty;i=i.nextLayer)t=new fe(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}fe.empty=new fe([],[],null,-1);function O2(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let r=n[t];if(Cc(e,r)>0)return n.slice().sort(Cc);e=r}return n}fe.empty.nextLayer=fe.empty;class mn{finishChunk(e){this.chunks.push(new Ph(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new mn)).add(e,t,r)}addInner(e,t,r){let i=e-this.lastTo||r.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return i<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(fe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=fe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function bu(n,e,t){let r=new Map;for(let s of n)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&r.set(s.chunk[o],s.chunkPos[o]);let i=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let a=r.get(s.chunk[o]);a!=null&&(t?t.mapPos(a):a)==s.chunkPos[o]&&!t?.touchesRange(a,a+s.chunk[o].length)&&i.add(s.chunk[o])}return i}class ig{constructor(e,t,r,i=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let i=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(i)||this.layer.chunkEnd(this.chunkIndex)<e||i.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Ii{constructor(e){this.heap=e}static from(e,t=null,r=-1){let i=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=r&&i.push(new ig(o,t,r,s));return i.length==1?i[0]:new Ii(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)hl(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)hl(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),hl(this.heap,0)}}}function hl(n,e){for(let t=n[e];;){let r=(e<<1)+1;if(r>=n.length)break;let i=n[r];if(r+1<n.length&&i.compare(n[r+1])>=0&&(i=n[r+1],r++),t.compare(i)<0)break;n[r]=t,n[e]=i,e=r}}class ai{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ii.from(e,t,r)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){mo(this.active,e),mo(this.activeTo,e),mo(this.activeRank,e),this.minActive=xu(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:i,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||i-this.activeTo[t])>0;)t++;go(this.active,t,r),go(this.activeTo,t,i),go(this.activeRank,t,s),e&&go(e,t,this.cursor.from),this.minActive=xu(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),r&&mo(r,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(r){this.openStart=0;for(let i=r.length-1;i>=0&&r[i]<e;i--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function yu(n,e,t,r,i,s){n.goto(e),t.goto(r);let o=r+i,a=r,l=r-e,c=!!s.boundChange;for(let h=!1;;){let u=n.to+l-t.to,f=u||n.endSide-t.endSide,p=f<0?n.to+l:t.to,m=Math.min(p,o);if(n.point||t.point?(n.point&&t.point&&Oh(n.point,t.point)&&jc(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(a,m,n.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!jc(n.active,t.active)&&s.compareRange(a,m,n.active,t.active),c&&m<o&&(u||n.openEnd(p)!=t.openEnd(p))&&(h=!0)),p>o)break;a=p,f<=0&&n.next(),f>=0&&t.next()}}function jc(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!Oh(n[t],e[t]))return!1;return!0}function mo(n,e){for(let t=e,r=n.length-1;t<r;t++)n[t]=n[t+1];n.pop()}function go(n,e,t){for(let r=n.length-1;r>=e;r--)n[r+1]=n[r];n[e]=t}function xu(n,e){let t=-1,r=1e9;for(let i=0;i<e.length;i++)(e[i]-r||n[i].endSide-n[t].endSide)<0&&(t=i,r=e[i]);return t}function Hr(n,e,t=n.length){let r=0;for(let i=0;i<t&&i<n.length;)n.charCodeAt(i)==9?(r+=e-r%e,i++):(r++,i=ze(n,i));return r}function Oc(n,e,t,r){for(let i=0,s=0;;){if(s>=e)return i;if(i==n.length)break;s+=n.charCodeAt(i)==9?t-s%t:1,i=ze(n,i)}return r===!0?-1:n.length}const Pc="ͼ",vu=typeof Symbol>"u"?"__"+Pc:Symbol.for(Pc),Ac=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),wu=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Ln{constructor(e,t){this.rules=[];let{finish:r}=t||{};function i(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],u=/^@(\w+)\b/.exec(o[0]),f=u&&u[1]=="keyframes";if(u&&a==null)return l.push(o[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))s(p.split(/,\s*/).map(g=>o.map(y=>g.replace(/&/,y))).reduce((g,y)=>g.concat(y)),m,l);else if(m&&typeof m=="object"){if(!u)throw new RangeError("The value of a property ("+p+") should be a primitive value.");s(i(p),m,h,f)}else m!=null&&h.push(p.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+m+";")}(h.length||f)&&l.push((r&&!u&&!c?o.map(r):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(i(o),e[o],this.rules)}getRules(){return this.rules.join(`
57
- `)}static newName(){let e=wu[vu]||1;return wu[vu]=e+1,Pc+e.toString(36)}static mount(e,t,r){let i=e[Ac],s=r&&r.nonce;i?s&&i.setNonce(s):i=new P2(e,s),i.mount(Array.isArray(t)?t:[t],e)}}let ku=new Map;class P2{constructor(e,t){let r=e.ownerDocument||e,i=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=ku.get(r);if(s)return e[Ac]=s;this.sheet=new i.CSSStyleSheet,ku.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Ac]=this}mount(e,t){let r=this.sheet,i=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),r)for(let c=0;c<a.rules.length;c++)r.insertRule(a.rules[c],i++)}else{for(;s<l;)i+=this.modules[s++].rules.length;i+=a.rules.length,s++}}if(r)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
58
- `;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var In={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Bi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},A2=typeof navigator<"u"&&/Mac/.test(navigator.platform),M2=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var qe=0;qe<10;qe++)In[48+qe]=In[96+qe]=String(qe);for(var qe=1;qe<=24;qe++)In[qe+111]="F"+qe;for(var qe=65;qe<=90;qe++)In[qe]=String.fromCharCode(qe+32),Bi[qe]=String.fromCharCode(qe);for(var dl in In)Bi.hasOwnProperty(dl)||(Bi[dl]=In[dl]);function N2(n){var e=A2&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||M2&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Bi:In)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Ce(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var i=t[r];typeof i=="string"?n.setAttribute(r,i):i!=null&&(n[r]=i)}e++}for(;e<arguments.length;e++)sg(n,arguments[e]);return n}function sg(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)sg(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let it=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Mc=typeof document<"u"?document:{documentElement:{style:{}}};const Nc=/Edge\/(\d+)/.exec(it.userAgent),og=/MSIE \d/.test(it.userAgent),Dc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(it.userAgent),Ta=!!(og||Dc||Nc),Su=!Ta&&/gecko\/(\d+)/i.test(it.userAgent),ul=!Ta&&/Chrome\/(\d+)/.exec(it.userAgent),D2="webkitFontSmoothing"in Mc.documentElement.style,Tc=!Ta&&/Apple Computer/.test(it.vendor),Cu=Tc&&(/Mobile\/\w+/.test(it.userAgent)||it.maxTouchPoints>2);var U={mac:Cu||/Mac/.test(it.platform),windows:/Win/.test(it.platform),linux:/Linux|X11/.test(it.platform),ie:Ta,ie_version:og?Mc.documentMode||6:Dc?+Dc[1]:Nc?+Nc[1]:0,gecko:Su,gecko_version:Su?+(/Firefox\/(\d+)/.exec(it.userAgent)||[0,0])[1]:0,chrome:!!ul,chrome_version:ul?+ul[1]:0,ios:Cu,android:/Android\b/.test(it.userAgent),webkit_version:D2?+(/\bAppleWebKit\/(\d+)/.exec(it.userAgent)||[0,0])[1]:0,safari:Tc,safari_version:Tc?+(/\bVersion\/(\d+(\.\d+)?)/.exec(it.userAgent)||[0,0])[1]:0,tabSize:Mc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ah(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const ia=Object.create(null);function Mh(n,e,t){if(n==e)return!0;n||(n=ia),e||(e=ia);let r=Object.keys(n),i=Object.keys(e);if(r.length-0!=i.length-0)return!1;for(let s of r)if(s!=t&&(i.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function T2(n,e){for(let t=n.attributes.length-1;t>=0;t--){let r=n.attributes[t].name;e[r]==null&&n.removeAttribute(r)}for(let t in e){let r=e[t];t=="style"?n.style.cssText=r:n.getAttribute(t)!=r&&n.setAttribute(t,r)}}function ju(n,e,t){let r=!1;if(e)for(let i in e)t&&i in t||(r=!0,i=="style"?n.style.cssText="":n.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(r=!0,i=="style"?n.style.cssText=t[i]:n.setAttribute(i,t[i]));return r}function E2(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];e[r.name]=r.value}return e}class on{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Je=function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n}(Je||(Je={}));class ne extends Rn{constructor(e,t,r,i){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=i}get heightRelevant(){return!1}static mark(e){return new $s(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new ir(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,i;if(e.isBlockGap)r=-5e8,i=4e8;else{let{start:s,end:o}=ag(e,t);r=(s?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new ir(e,r,i,t,e.widget||null,!0)}static line(e){return new Fs(e)}static set(e,t=!1){return fe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}ne.none=fe.empty;class $s extends ne{constructor(e){let{start:t,end:r}=ag(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ah(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ia}eq(e){return this==e||e instanceof $s&&this.tagName==e.tagName&&Mh(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}$s.prototype.point=!1;class Fs extends ne{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Fs&&this.spec.class==e.spec.class&&Mh(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Fs.prototype.mapMode=st.TrackBefore;Fs.prototype.point=!0;class ir extends ne{constructor(e,t,r,i,s,o){super(t,r,s,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?st.TrackBefore:st.TrackAfter:st.TrackDel}get type(){return this.startSide!=this.endSide?Je.WidgetRange:this.startSide<=0?Je.WidgetBefore:Je.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof ir&&R2(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}ir.prototype.point=!0;function ag(n,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=n;return t==null&&(t=n.inclusive),r==null&&(r=n.inclusive),{start:t??e,end:r??e}}function R2(n,e){return n==e||!!(n&&e&&n.compare(e))}function Ar(n,e,t,r=0){let i=t.length-1;i>=0&&t[i]+r>=n?t[i]=Math.max(t[i],e):t.push(n,e)}class $i extends Rn{constructor(e,t){super(),this.tagName=e,this.attributes=t}eq(e){return e==this||e instanceof $i&&this.tagName==e.tagName&&Mh(this.attributes,e.attributes)}static create(e){return new $i(e.tagName,e.attributes||ia)}static set(e,t=!1){return fe.of(e,t)}}$i.prototype.startSide=$i.prototype.endSide=-1;function Fi(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Ec(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function Uo(n,e){if(!e.anchorNode)return!1;try{return Ec(n,e.anchorNode)}catch{return!1}}function Ci(n){return n.nodeType==3?zi(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function ji(n,e,t,r){return t?Ou(n,e,t,r,-1)||Ou(n,e,t,r,1):!1}function Bn(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function sa(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function Ou(n,e,t,r,i){for(;;){if(n==t&&e==r)return!0;if(e==(i<0?0:gn(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=Bn(n)+(i<0?0:1),n=s}else if(n.nodeType==1){if(n=n.childNodes[e+(i<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=i<0?gn(n):0}else return!1}}function gn(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Vi(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function L2(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function lg(n,e){let t=e.width/n.offsetWidth,r=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-n.offsetHeight)<1)&&(r=1),{scaleX:t,scaleY:r}}function I2(n,e,t,r,i,s,o,a){let l=n.ownerDocument,c=l.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let f,p=h==l.body,m=1,g=1;if(p)f=L2(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let w=h.getBoundingClientRect();({scaleX:m,scaleY:g}=lg(h,w)),f={left:w.left,right:w.left+h.clientWidth*m,top:w.top,bottom:w.top+h.clientHeight*g}}let y=0,v=0;if(i=="nearest")e.top<f.top?(v=e.top-(f.top+o),t>0&&e.bottom>f.bottom+v&&(v=e.bottom-f.bottom+o)):e.bottom>f.bottom&&(v=e.bottom-f.bottom+o,t<0&&e.top-v<f.top&&(v=e.top-(f.top+o)));else{let w=e.bottom-e.top,S=f.bottom-f.top;v=(i=="center"&&w<=S?e.top+w/2-S/2:i=="start"||i=="center"&&t<0?e.top-o:e.bottom-S+o)-f.top}if(r=="nearest"?e.left<f.left?(y=e.left-(f.left+s),t>0&&e.right>f.right+y&&(y=e.right-f.right+s)):e.right>f.right&&(y=e.right-f.right+s,t<0&&e.left<f.left+y&&(y=e.left-(f.left+s))):y=(r=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:r=="start"==a?e.left-s:e.right-(f.right-f.left)+s)-f.left,y||v)if(p)c.scrollBy(y,v);else{let w=0,S=0;if(v){let O=h.scrollTop;h.scrollTop+=v/g,S=(h.scrollTop-O)*g}if(y){let O=h.scrollLeft;h.scrollLeft+=y/m,w=(h.scrollLeft-O)*m}e={left:e.left-w,top:e.top-S,right:e.right-w,bottom:e.bottom-S},w&&Math.abs(w-y)<1&&(r="nearest"),S&&Math.abs(S-v)<1&&(i="nearest")}if(p)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function B2(n){let e=n.ownerDocument,t,r;for(let i=n.parentNode;i&&!(i==e.body||t&&r);)if(i.nodeType==1)!r&&i.scrollHeight>i.clientHeight&&(r=i),!t&&i.scrollWidth>i.clientWidth&&(t=i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;return{x:t,y:r}}class $2{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?gn(t):0),r,Math.min(e.focusOffset,r?gn(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}}let qn=null;U.safari&&U.safari_version>=26&&(qn=!1);function cg(n){if(n.setActive)return n.setActive();if(qn)return n.focus(qn);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(qn==null?{get preventScroll(){return qn={preventScroll:!0},!0}}:void 0),!qn){qn=!1;for(let t=0;t<e.length;){let r=e[t++],i=e[t++],s=e[t++];r.scrollTop!=i&&(r.scrollTop=i),r.scrollLeft!=s&&(r.scrollLeft=s)}}}let Pu;function zi(n,e,t=e){let r=Pu||(Pu=document.createRange());return r.setEnd(n,t),r.setStart(n,e),r}function Mr(n,e,t,r){let i={key:e,code:e,keyCode:t,which:t,cancelable:!0};r&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=r);let s=new KeyboardEvent("keydown",i);s.synthetic=!0,n.dispatchEvent(s);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,n.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function F2(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function V2(n,e){let t=e.focusNode,r=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=r)return!1;for(r=Math.min(r,gn(t));;)if(r){if(t.nodeType!=1)return!1;let i=t.childNodes[r-1];i.contentEditable=="false"?r--:(t=i,r=gn(t))}else{if(t==n)return!0;r=Bn(t),t=t.parentNode}}function hg(n){return n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function dg(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&r>0)return{node:t,offset:r};if(t.nodeType==1&&r>0){if(t.contentEditable=="false")return null;t=t.childNodes[r-1],r=gn(t)}else if(t.parentNode&&!sa(t))r=Bn(t),t=t.parentNode;else return null}}function ug(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&r<t.nodeValue.length)return{node:t,offset:r};if(t.nodeType==1&&r<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[r],r=0}else if(t.parentNode&&!sa(t))r=Bn(t)+1,t=t.parentNode;else return null}}class Bt{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Bt(e.parentNode,Bn(e),t)}static after(e,t){return new Bt(e.parentNode,Bn(e)+1,t)}}var Oe=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Oe||(Oe={}));const sr=Oe.LTR,Nh=Oe.RTL;function fg(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const z2=fg("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),H2=fg("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Rc=Object.create(null),Ut=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);Rc[e]=t,Rc[t]=-e}function pg(n){return n<=247?z2[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?H2[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const _2=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class pn{get dir(){return this.level%2?Nh:sr}constructor(e,t,r){this.from=e,this.to=t,this.level=r}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,r,i){let s=-1;for(let o=0;o<e.length;o++){let a=e[o];if(a.from<=t&&a.to>=t){if(a.level==r)return o;(s<0||(i!=0?i<0?a.from<t:a.to>t:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function mg(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let r=n[t],i=e[t];if(r.from!=i.from||r.to!=i.to||r.direction!=i.direction||!mg(r.inner,i.inner))return!1}return!0}const je=[];function W2(n,e,t,r,i){for(let s=0;s<=r.length;s++){let o=s?r[s-1].to:e,a=s<r.length?r[s].from:t,l=s?256:i;for(let c=o,h=l,u=l;c<a;c++){let f=pg(n.charCodeAt(c));f==512?f=h:f==8&&u==4&&(f=16),je[c]=f==4?2:f,f&7&&(u=f),h=f}for(let c=o,h=l,u=l;c<a;c++){let f=je[c];if(f==128)c<a-1&&h==je[c+1]&&h&24?f=je[c]=h:je[c]=256;else if(f==64){let p=c+1;for(;p<a&&je[p]==64;)p++;let m=c&&h==8||p<t&&je[p]==8?u==1?1:8:256;for(let g=c;g<p;g++)je[g]=m;c=p-1}else f==8&&u==1&&(je[c]=1);h=f,f&7&&(u=f)}}}function U2(n,e,t,r,i){let s=i==1?2:1;for(let o=0,a=0,l=0;o<=r.length;o++){let c=o?r[o-1].to:e,h=o<r.length?r[o].from:t;for(let u=c,f,p,m;u<h;u++)if(p=Rc[f=n.charCodeAt(u)])if(p<0){for(let g=a-3;g>=0;g-=3)if(Ut[g+1]==-p){let y=Ut[g+2],v=y&2?i:y&4?y&1?s:i:0;v&&(je[u]=je[Ut[g]]=v),a=g;break}}else{if(Ut.length==189)break;Ut[a++]=u,Ut[a++]=f,Ut[a++]=l}else if((m=je[u])==2||m==1){let g=m==i;l=g?0:1;for(let y=a-3;y>=0;y-=3){let v=Ut[y+2];if(v&2)break;if(g)Ut[y+2]|=2;else{if(v&4)break;Ut[y+2]|=4}}}}}function K2(n,e,t,r){for(let i=0,s=r;i<=t.length;i++){let o=i?t[i-1].to:n,a=i<t.length?t[i].from:e;for(let l=o;l<a;){let c=je[l];if(c==256){let h=l+1;for(;;)if(h==a){if(i==t.length)break;h=t[i++].to,a=i<t.length?t[i].from:e}else if(je[h]==256)h++;else break;let u=s==1,f=(h<e?je[h]:r)==1,p=u==f?u?1:2:r;for(let m=h,g=i,y=g?t[g-1].to:n;m>l;)m==y&&(m=t[--g].from,y=g?t[g-1].to:n),je[--m]=p;l=h}else s=c,l++}}}function Lc(n,e,t,r,i,s,o){let a=r%2?2:1;if(r%2==i%2)for(let l=e,c=0;l<t;){let h=!0,u=!1;if(c==s.length||l<s[c].from){let g=je[l];g!=a&&(h=!1,u=g==16)}let f=!h&&a==1?[]:null,p=h?r:r+1,m=l;e:for(;;)if(c<s.length&&m==s[c].from){if(u)break e;let g=s[c];if(!h)for(let y=g.to,v=c+1;;){if(y==t)break e;if(v<s.length&&s[v].from==y)y=s[v++].to;else{if(je[y]==a)break e;break}}if(c++,f)f.push(g);else{g.from>l&&o.push(new pn(l,g.from,p));let y=g.direction==sr!=!(p%2);Ic(n,y?r+1:r,i,g.inner,g.from,g.to,o),l=g.to}m=g.to}else{if(m==t||(h?je[m]!=a:je[m]==a))break;m++}f?Lc(n,l,m,r+1,i,f,o):l<m&&o.push(new pn(l,m,p)),l=m}else for(let l=t,c=s.length;l>e;){let h=!0,u=!1;if(!c||l>s[c-1].to){let g=je[l-1];g!=a&&(h=!1,u=g==16)}let f=!h&&a==1?[]:null,p=h?r:r+1,m=l;e:for(;;)if(c&&m==s[c-1].to){if(u)break e;let g=s[--c];if(!h)for(let y=g.from,v=c;;){if(y==e)break e;if(v&&s[v-1].to==y)y=s[--v].from;else{if(je[y-1]==a)break e;break}}if(f)f.push(g);else{g.to<l&&o.push(new pn(g.to,l,p));let y=g.direction==sr!=!(p%2);Ic(n,y?r+1:r,i,g.inner,g.from,g.to,o),l=g.from}m=g.from}else{if(m==e||(h?je[m-1]!=a:je[m-1]==a))break;m--}f?Lc(n,m,l,r+1,i,f,o):m<l&&o.push(new pn(m,l,p)),l=m}}function Ic(n,e,t,r,i,s,o){let a=e%2?2:1;W2(n,i,s,r,a),U2(n,i,s,r,a),K2(i,s,r,a),Lc(n,i,s,e,t,r,o)}function G2(n,e,t){if(!n)return[new pn(0,0,e==Nh?1:0)];if(e==sr&&!t.length&&!_2.test(n))return gg(n.length);if(t.length)for(;n.length>je.length;)je[je.length]=256;let r=[],i=e==sr?0:1;return Ic(n,i,i,t,0,n.length,r),r}function gg(n){return[new pn(0,n,0)]}let bg="";function q2(n,e,t,r,i){var s;let o=r.head-n.from,a=pn.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc),l=e[a],c=l.side(i,t);if(o==c){let f=a+=i?1:-1;if(f<0||f>=e.length)return null;l=e[a=f],o=l.side(!i,t),c=l.side(i,t)}let h=ze(n.text,o,l.forward(i,t));(h<l.from||h>l.to)&&(h=c),bg=n.text.slice(Math.min(o,h),Math.max(o,h));let u=a==(i?e.length-1:0)?null:e[a+(i?1:-1)];return u&&h==c&&u.level+(i?0:1)<l.level?E.cursor(u.side(!i,t)+n.from,u.forward(i,t)?1:-1,u.level):E.cursor(h+n.from,l.forward(i,t)?-1:1,l.level)}function J2(n,e,t){for(let r=e;r<t;r++){let i=pg(n.charCodeAt(r));if(i==1)return sr;if(i==2||i==4)return Nh}return sr}const yg=K.define(),xg=K.define(),vg=K.define(),wg=K.define(),Bc=K.define(),kg=K.define(),Sg=K.define(),Dh=K.define(),Th=K.define(),Cg=K.define({combine:n=>n.some(e=>e)}),jg=K.define({combine:n=>n.some(e=>e)}),Og=K.define();class Nr{constructor(e,t="nearest",r="nearest",i=5,s=5,o=!1){this.range=e,this.y=t,this.x=r,this.yMargin=i,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new Nr(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Nr(E.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const bo=ae.define({map:(n,e)=>n.map(e)}),Pg=ae.define();function dt(n,e,t){let r=n.facet(wg);r.length?r[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const un=K.define({combine:n=>n.length?n[0]:!0});let Y2=0;const xr=K.define({combine(n){return n.filter((e,t)=>{for(let r=0;r<t;r++)if(n[r].plugin==e.plugin)return!1;return!0})}});class $e{constructor(e,t,r,i,s){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=i,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(xr.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(xr.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:r,eventObservers:i,provide:s,decorations:o}=t||{};return new $e(Y2++,e,r,i,a=>{let l=[];return o&&l.push(Hi.of(c=>{let h=c.plugin(a);return h?o(h):ne.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return $e.define((r,i)=>new e(r,i),t)}}class fl{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(dt(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){dt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){dt(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Ag=K.define(),Eh=K.define(),Hi=K.define(),Mg=K.define(),Ng=K.define(),Vs=K.define(),Dg=K.define();function Au(n,e){let t=n.state.facet(Dg);if(!t.length)return t;let r=t.map(s=>s instanceof Function?s(n):s),i=[];return fe.spans(r,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,u=i;for(let f=a.length-1;f>=0;f--,l--){let p=a[f].spec.bidiIsolate,m;if(p==null&&(p=J2(e.text,c,h)),l>0&&u.length&&(m=u[u.length-1]).to==c&&m.direction==p)m.to=h,u=m.inner;else{let g={from:c,to:h,direction:p,inner:[]};u.push(g),u=g.inner}}}}),i}const Tg=K.define();function Rh(n){let e=0,t=0,r=0,i=0;for(let s of n.state.facet(Tg)){let o=s(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:e,right:t,top:r,bottom:i}}const gi=K.define();class Ot{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new Ot(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,r=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>r.toA)){if(i.toA<r.fromA)break;r=r.join(i),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(t.length==0)return e;let r=[];for(let i=0,s=0,o=0;;){let a=i<e.length?e[i].fromB:1e9,l=s<t.length?t[s]:1e9,c=Math.min(a,l);if(c==1e9)break;let h=c+o,u=c,f=h;for(;;)if(s<t.length&&t[s]<=u){let p=t[s+1];s+=2,u=Math.max(u,p);for(let m=i;m<e.length&&e[m].fromB<=u;m++)o=e[m].toA-e[m].toB;f=Math.max(f,p+o)}else if(i<e.length&&e[i].fromB<=u){let p=e[i++];u=Math.max(u,p.toB),f=Math.max(f,p.toA),o=p.toA-p.toB}else break;r.push(new Ot(h,f,c,u))}return r}}class oa{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Ve.empty(this.startState.doc.length);for(let s of r)this.changes=this.changes.compose(s.changes);let i=[];this.changes.iterChangedRanges((s,o,a,l)=>i.push(new Ot(s,o,a,l))),this.changedRanges=i}static create(e,t,r){return new oa(e,t,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const Q2=[];class Fe{constructor(e,t,r=0){this.dom=e,this.length=t,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return Q2}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&T2(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let r=t;for(let i of this.children){if(i==e)return r;r+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t){return null}domPosFor(e,t){let r=Bn(this.dom),i=this.length?e>0:t>0;return new Bt(this.parent.dom,r+(i?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Ra)return e;return null}static get(e){return e.cmTile}}class Ea extends Fe{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,r=null,i,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,i=r?r.nextSibling:t.firstChild,s&&i!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;i&&i!=a.dom;)i=Mu(i);else t.insertBefore(a.dom,i);r=a.dom}for(i=r?r.nextSibling:t.firstChild,s&&i&&(s.written=!0);i;)i=Mu(i);this.length=o}}function Mu(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class Ra extends Ea{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=Fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],r=this,i=0,s=0;;)if(i==r.children.length){if(!t.length)return;r=r.parent,r.breakAfter&&s++,i=t.pop()}else{let o=r.children[i++];if(o instanceof Dn)t.push(i),r=o,i=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let r,i=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(r=void 0)}(l<e||e==c&&(t<-1?a.length:a.covers(1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,i=e-l),(c>e||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!r&&!s)throw new Error("No tile at position "+e);return r&&t<0||!s?{tile:r,offset:i}:{tile:s,offset:o}}}class Dn extends Ea{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let r=new Dn(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class Rr extends Ea{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let i=new Rr(t||document.createElement("div"),e);return(!t||!r)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,t,r){let i=null,s=-1,o=null,a=-1;function l(h,u){for(let f=0,p=0;f<h.children.length&&p<=u;f++){let m=h.children[f],g=p+m.length;g>=u&&(m.isComposite()?l(m,u-p):(!o||o.isHidden&&(t>0||r&&Z2(o,m)))&&(g>u||m.flags&32)?(o=m,a=u-p):(p<u||m.flags&16&&!m.isHidden)&&(i=m,s=u-p)),p=g}}l(this,e);let c=(t<0?i:o)||i||o;return c?{tile:c,offset:c==i?s:a}:null}coordsIn(e,t){let r=this.resolveInline(e,t,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),t):X2(this)}domIn(e,t){let r=this.resolveInline(e,t);if(r){let{tile:i,offset:s}=r;if(this.dom.contains(i.dom))return i.isText()?new Bt(i.dom,Math.min(i.dom.nodeValue.length,s)):i.domPosFor(s,i.flags&16?1:i.flags&32?-1:t);let o=r.tile.parent,a=!1;for(let l of o.children){if(a)return new Bt(l.dom,0);l==r.tile&&(a=!0)}}return new Bt(this.dom,0)}}function X2(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Ci(e);return t[t.length-1]||null}function Z2(n,e){let t=n.coordsIn(0,1),r=e.coordsIn(0,1);return t&&r&&r.top<t.bottom}class ht extends Ea{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let r=new ht(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class er extends Fe{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t){let r=this.dom.nodeValue.length;e>r&&(e=r);let i=e,s=e,o=0;e==0&&t<0||e==r&&t>=0?U.chrome||U.gecko||(e?(i--,o=1):s<r&&(s++,o=-1)):t<0?i--:s<r&&s++;let a=zi(this.dom,i,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:t>=0)?0:a.length-1];return U.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,c=>c.width)||l),o?Vi(l,o<0):l||null}static of(e,t){let r=new er(t||document.createTextNode(e),e);return t||(r.flags|=2),r}}class Lr extends Fe{constructor(e,t,r,i){super(e,t,i),this.widget=r}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,r){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;if(r)return Vi(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top<o.bottom);l+=a?-1:1);return Vi(o,!a)}}get overrideDOMText(){if(!this.length)return xe.empty;let{root:e}=this;if(!e)return xe.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,r,i,s){return s||(s=e.toDOM(t),e.editable||(s.contentEditable="false")),new Lr(s,r,e,i)}}class aa extends Fe{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!1}get overrideDOMText(){return xe.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class ew{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,r){let{tile:i,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(i.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(s==i.children.length){if(!e&&!a.length)break;r&&r.leave(i),o=!!i.breakAfter,{tile:i,index:s}=a.pop(),s++}else{let l=i.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length<e)&&(!r||r.skip(l,0,l.length)!==!1||!l.isComposite)?(o=!!c,s++,e-=l.length):(a.push({tile:i,index:s}),i=l,s=0,r&&l.isComposite()&&r.enter(l))}else if(s==i.length)o=!!i.breakAfter,{tile:i,index:s}=a.pop(),s++;else if(e){let l=Math.min(e,i.length-s);r&&r.skip(i,s,s+l),e-=l,s+=l}else break;return this.tile=i,this.index=s,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class tw{constructor(e,t,r,i){this.from=e,this.to=t,this.wrapper=r,this.rank=i}}class nw{constructor(e,t,r){this.cache=e,this.root=t,this.blockWrappers=r,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,r,i){var s;this.flushBuffer();let o=this.ensureMarks(t,r),a=o.lastChild;if(a&&a.isText()&&!(a.flags&8)){this.cache.reused.set(a,2);let l=o.children[o.children.length-1]=new er(a.dom,a.text+e);l.parent=o}else o.append(i||er.of(e,(s=this.cache.find(er))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let r=this.curLine;r.dom!=t.line.dom&&(r.setDOM(this.cache.reused.has(t.line)?pl(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let i=r;for(let a=t.marks.length-1;a>=0;a--){let l=t.marks[a],c=i.lastChild;if(c instanceof ht&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(pl(l.dom)),i=c;else{if(this.cache.reused.get(l)){let u=Fe.get(l.dom);u&&u.setDOM(pl(l.dom))}let h=ht.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let s=Fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new er(e.text,e.text.nodeValue);o.flags|=8,i.append(o)}addInlineWidget(e,t,r){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let s=this.ensureMarks(t,r);!i&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,r){this.flushBuffer(),this.ensureMarks(t,r).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var r;e||(e=Eg);let i=Rr.start(e,t||((r=this.cache.find(Rr))===null||r===void 0?void 0:r.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=i)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var r;let i=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=i.lastChild)&&a instanceof ht&&a.mark.eq(o))i=a,t--;else{let l=ht.of(o,(r=this.cache.find(ht,c=>c.mark.eq(o)))===null||r===void 0?void 0:r.dom);i.append(l),i=l,t=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Nu(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(U.ios&&Nu(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(ml,0,32)||new Lr(ml.toDOM(),0,ml,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=new tw(e.from,e.to,e.value,e.rank),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-t.rank||this.wrappers[r-1].to-t.to)<0;)r--;this.wrappers.splice(r,0,t)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let r of this.wrappers){let i=t.lastChild;if(r.from<this.pos&&i instanceof Dn&&i.wrapper.eq(r.wrapper))t=i;else{let s=Dn.of(r.wrapper,(e=this.cache.find(Dn,o=>o.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),r=this.cache.find(aa,void 0,1);return r&&(r.flags=t),r||new aa(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class rw{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:i,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=i;let a=this.textOff=Math.min(e,i.length);return s?null:i.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,t);return this.textOff=t,r}}const la=[Lr,Rr,er,ht,aa,Dn,Ra];for(let n=0;n<la.length;n++)la[n].bucket=n;class iw{constructor(e){this.view=e,this.buckets=la.map(()=>[]),this.index=la.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,r=this.buckets[t];r.length<6?r.push(e):r[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,r=2){let i=e.bucket,s=this.buckets[i],o=this.index[i];for(let a=s.length-1;a>=0;a--){let l=(a+o)%s.length,c=s[l];if((!t||t(c))&&!this.reused.has(c))return s.splice(l,1),l<o&&this.index[i]--,this.reused.set(c,r),c}return null}findWidget(e,t,r){let i=this.buckets[0];if(i.length)for(let s=0,o=0;;s++){if(s==i.length){if(o)return null;o=1,s=0}let a=i[s];if(!this.reused.has(a)&&(o==0?a.widget.compare(e):a.widget.constructor==e.constructor&&e.updateDOM(a.dom,this.view)))return i.splice(s,1),s<this.index[0]&&this.index[0]--,this.reused.set(a,1),a.length=t,a.flags=a.flags&-498|r,a}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}}class sw{constructor(e,t,r,i,s){this.view=e,this.decorations=i,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new iw(e),this.text=new rw(e.state.doc),this.builder=new nw(this.cache,new Ra(e,e.contentDOM),fe.iter(r)),this.cache.reused.set(t,2),this.old=new ew(t),this.reuseWalker={skip:(o,a,l)=>{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let r=t&&this.getCompositionContext(t.text);for(let i=0,s=0,o=0;;){let a=o<e.length?e[o++]:null,l=a?a.fromA:this.old.root.length;if(l>i){let c=l-i;this.preserve(c,!o,!a),i=l,s+=c}if(!a)break;this.forward(a.fromA,a.toA),t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.emit(s,t.range.fromB),this.builder.addComposition(t,r),this.text.skip(t.range.toB-t.range.fromB),this.emit(t.range.toB,a.toB)):this.emit(s,a.toB),s=a.toB,i=a.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,r){let i=lw(this.old),s=this.openMarks;this.old.advance(e,r?1:-1,{skip:(o,a,l)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a<o.length?Lr.of(o.widget,this.view,l-a,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,i,s),s=i.length)}else if(o.isText())this.builder.ensureLine(null),!a&&l==o.length?this.builder.addText(o.text,i,s,this.cache.reuse(o)):(this.cache.add(o),this.builder.addText(o.text.slice(a,l),i,s)),s=i.length;else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof aa)this.cache.add(o);else if(o instanceof ht)this.builder.ensureLine(null),this.builder.addMark(o,i,s),this.cache.reused.set(o,1),s=i.length;else return!1;this.openWidget=!1},enter:o=>{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof ht&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=s=0):o instanceof ht&&(i.shift(),s=Math.min(s,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let r=null,i=this.builder,s=0,o=fe.spans(this.decorations,e,t,{point:(a,l,c,h,u,f)=>{if(c instanceof ir){if(this.disallowBlockEffectsFor[f]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,u>h.length)i.continueWidget(l-a);else{let p=c.widget||(c.block?Ir.block:Ir.inline),m=ow(c),g=this.cache.findWidget(p,l-a,m)||Lr.of(p,this.view,l-a,m);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(r),i.addBlockWidget(g)):(i.ensureLine(r),i.addInlineWidget(g,h,u))}r=null}else r=aw(r,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let u=a;u<l;){let f=this.text.next(Math.min(512,l-u));f==null?(i.addLineStartIfNotCovered(r),i.addBreak(),u++):(i.ensureLine(r),i.addText(f,c,h),u+=f.length),r=null}}});i.addLineStartIfNotCovered(r),this.openWidget=o>s,this.openMarks=o}forward(e,t){t-e<=10?this.old.advance(t-e,1,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,1,this.reuseWalker))}getCompositionContext(e){let t=[],r=null;for(let i=e.parentNode;;i=i.parentNode){let s=Fe.get(i);if(i==this.view.contentDOM)break;s instanceof ht?t.push(s):s?.isLine()?r=s:i.nodeName=="DIV"&&!r&&i!=this.view.contentDOM?r=new Rr(i,Eg):t.push(ht.of(new $s({tagName:i.nodeName.toLowerCase(),attributes:E2(i)}),i))}return{line:r,marks:t}}}function Nu(n,e){let t=r=>{for(let i of r.children)if((e?i.isText():i.length)||t(i))return!0;return!1};return t(n)}function ow(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}const Eg={class:"cm-line"};function aw(n,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(n||(n={class:"cm-line"}),t&&Ah(t,n),r&&(n.class+=" "+r)),n}function lw(n){let e=[];for(let t=n.parents.length;t>1;t--){let r=t==n.parents.length?n.tile:n.parents[t].tile;r instanceof ht&&e.push(r.mark)}return e}function pl(n){let e=Fe.get(n);return e&&e.setDOM(n.cloneNode()),n}class Ir extends on{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Ir.inline=new Ir("span");Ir.block=new Ir("div");const ml=new class extends on{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Du{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=ne.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Ra(e,e.contentDOM),this.updateInner([new Ot(0,0,0,e.state.doc.length)],null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:h,toA:u})=>u<this.minWidthFrom||h>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?i=this.domChanged.newSel.head:!bw(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let s=i>-1?hw(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;r=new Ot(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(U.ie||U.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=fw(o,this.decorations,e.changes);l.length&&(r=Ot.extendWithRanges(r,l));let c=mw(a,this.blockWrappers,e.changes);return c.length&&(r=Ot.extendWithRanges(r,c)),s&&!r.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(r=s.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(t||e.length){let o=this.tile,a=new sw(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,t),$c(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=U.chrome||U.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||r.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof gl&&i.push(s.dom);r.updateGaps(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let r of t.effects)r.is(Pg)&&(this.editContextFormatting=r.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:r}=this.tile,i=this.view.root.activeElement,s=i==r,o=!s&&!(this.view.state.facet(un)||r.tabIndex>-1)&&Uo(r,this.view.observer.selectionRange)&&!(i&&r.contains(i));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),U.gecko&&l.empty&&!this.hasComposition&&cw(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=h=new Bt(f,0),a=!0}let u=this.view.observer.selectionRange;(a||!u.focusNode||(!ji(c.node,c.offset,u.anchorNode,u.anchorOffset)||!ji(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{U.android&&U.chrome&&r.contains(u.focusNode)&&gw(u.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=Fi(this.view.root);if(f)if(l.empty){if(U.gecko){let p=dw(c.node,c.offset);if(p&&p!=3){let m=(p==1?dg:ug)(c.node,c.offset);m&&(c=new Bt(m.node,m.offset))}}f.collapse(c.node,c.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(c.node,c.offset);try{f.extend(h.node,h.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),p.setEnd(h.node,h.offset),p.setStart(c.node,c.offset),f.removeAllRanges(),f.addRange(p)}o&&this.view.root.activeElement==r&&(r.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Bt(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new Bt(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&ji(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=Fi(e.root),{anchorNode:i,anchorOffset:s}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);r.collapse(h.node,h.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&r.collapse(i,s)}posFromDOM(e,t){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=r.posAtStart;if(r.isComposite()){let s;if(e==r.dom)s=r.dom.childNodes[t];else{let o=gn(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==r.dom.firstChild)return i;for(;s&&!Fe.get(s);)s=s.nextSibling;if(!s)return i+r.length;for(let o=0,a=i;;o++){let l=r.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?i+t:i+(t?r.length:0):i}domAtPos(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.domPosFor(e,t):r.domIn(i,t)}inlineDOMNearPos(e,t){let r,i=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let u=h+c.length;if(h<=e&&(r=c,i=e-h,s=u<e),u>=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!r&&!o?this.domAtPos(e,t):(s&&o?r=null:l&&r&&(o=null),r&&t<0||!o?r.domIn(i,t):o.domIn(a,t))}coordsAt(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof gl?null:r.coordsInWidget(i,t,!0):r.coordsIn(i,t)}lineAt(e,t){let{tile:r}=this.tile.resolveBlock(e,t);return r.isLine()?r:null}coordsForChar(e){let{tile:t,offset:r}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function i(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=i(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&o<s.length){let a=ze(s.text,o);if(a==o)return null;let l=zi(s.dom,o,a).getClientRects();for(let c=0;c<l.length;c++){let h=l[c];if(c==l.length-1||h.top<h.bottom&&h.left<h.right)return h}}return null}return i(t,r)}measureVisibleLineHeights(e){let t=[],{from:r,to:i}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Oe.LTR,c=0,h=(u,f,p)=>{for(let m=0;m<u.children.length&&!(f>i);m++){let g=u.children[m],y=f+g.length,v=g.dom.getBoundingClientRect(),{height:w}=v;if(p&&!m&&(c+=v.top-p.top),g instanceof Dn)y>r&&h(g,f,v);else if(f>=r&&(c>0&&t.push(-c),t.push(w+c),c=0,o)){let S=g.dom.lastChild,O=S?Ci(S):[];if(O.length){let C=O[O.length-1],P=l?C.right-v.left:v.right-C.left;P>a&&(a=P,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=y)}}p&&m==u.children.length-1&&(c+=p.bottom-v.bottom),f=y+g.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Oe.RTL:Oe.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=Ci(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),r,i,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=Ci(t.firstChild)[0];r=t.getBoundingClientRect().height,i=o&&o.width?o.width/27:7,s=o&&o.height?o.height:r,t.remove()}),{lineHeight:r,charWidth:i,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,i=0;;i++){let s=i==t.viewports.length?null:t.viewports[i],o=s?s.from-1:this.view.state.doc.length;if(o>r){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(ne.replace({widget:new gl(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return ne.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Hi).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,i=this.view.state.facet(Ng).map((s,o)=>{let a=typeof s=="function";return a&&(r=!0),a?s(this.view):s});for(i.length&&(this.dynamicDecorationMap[e++]=r,t.push(fe.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(Mg).map(s=>typeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Og))try{if(c(this.view,e.range,e))return!0}catch(h){dt(this.view.state,h,"scroll handler")}let{range:t}=e,r=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),i;if(!r)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,i.left),top:Math.min(r.top,i.top),right:Math.max(r.right,i.right),bottom:Math.max(r.bottom,i.bottom)});let s=Rh(this.view),o={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;I2(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==Oe.LTR)}lineHasWidget(e){let t=r=>r.isWidget()||r.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){$c(this.tile)}}function $c(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let r of n.children)$c(r,e)}}function cw(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function Rg(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let r=dg(t.focusNode,t.focusOffset),i=ug(t.focusNode,t.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let a=Fe.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)s=i;else if(n.docView.lastCompositionAfterCursor){let l=Fe.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(s=i)}}if(n.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function hw(n,e,t){let r=Rg(n,t);if(!r)return null;let{node:i,from:s,to:o}=r,a=i.nodeValue;if(/[\n\r]/.test(a)||n.state.doc.sliceString(r.from,r.to)!=a)return null;let l=e.invertedDesc;return{range:new Ot(l.mapPos(s),l.mapPos(o),s,o),text:i}}function dw(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}let uw=class{constructor(){this.changes=[]}compareRange(e,t){Ar(e,t,this.changes)}comparePoint(e,t){Ar(e,t,this.changes)}boundChange(e){Ar(e,e,this.changes)}};function fw(n,e,t){let r=new uw;return fe.compare(n,e,t,r),r.changes}class pw{constructor(){this.changes=[]}compareRange(e,t){Ar(e,t,this.changes)}comparePoint(){}boundChange(e){Ar(e,e,this.changes)}}function mw(n,e,t){let r=new pw;return fe.compare(n,e,t,r),r.changes}function gw(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function bw(n,e){let t=!1;return e&&n.iterChangedRanges((r,i)=>{r<e.to&&i>e.from&&(t=!0)}),t}class gl extends on{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function yw(n,e,t=1){let r=n.charCategorizer(e),i=n.doc.lineAt(e),s=e-i.from;if(i.length==0)return E.cursor(e);s==0?t=1:s==i.length&&(t=-1);let o=s,a=s;t<0?o=ze(i.text,s,!1):a=ze(i.text,s);let l=r(i.text.slice(o,a));for(;o>0;){let c=ze(i.text,o,!1);if(r(i.text.slice(c,o))!=l)break;o=c}for(;a<i.length;){let c=ze(i.text,a);if(r(i.text.slice(a,c))!=l)break;a=c}return E.range(o+i.from,a+i.from)}function xw(n,e,t,r,i){let s=Math.round((r-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let a=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-a)*.5)/a);s+=l*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+Oc(o,s,n.state.tabSize)}function Fc(n,e,t){let r=n.lineBlockAt(e);if(Array.isArray(r.type)){let i;for(let s of r.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!i||s.type==Je.Text&&(i.type!=s.type||(t<0?s.from<e:s.to>e)))&&(i=s)}}return i||r}return r}function vw(n,e,t,r){let i=Fc(n,e.head,e.assoc||-1),s=!r||i.type!=Je.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(s){let o=n.dom.getBoundingClientRect(),a=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(a==Oe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return E.cursor(l,t?-1:1)}return E.cursor(t?i.to:i.from,t?-1:1)}function Tu(n,e,t,r){let i=n.state.doc.lineAt(e.head),s=n.bidiSpans(i),o=n.textDirectionAt(i.from);for(let a=e,l=null;;){let c=q2(i,s,o,a,t),h=bg;if(!c){if(i.number==(t?n.state.doc.lines:1))return a;h=`
59
- `,i=n.state.doc.line(i.number+(t?1:-1)),s=n.bidiSpans(i),c=n.visualLineSide(i,!t)}if(l){if(!l(h))return a}else{if(!r)return c;l=r(h)}a=c}}function ww(n,e,t){let r=n.state.charCategorizer(e),i=r(t);return s=>{let o=r(s);return i==Ne.Space&&(i=o),i==o}}function kw(n,e,t,r){let i=e.head,s=t?1:-1;if(i==(t?n.state.doc.length:0))return E.cursor(i,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(i,e.assoc||-1),h=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=n.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-p.from))),a=(s<0?p.top:p.bottom)+h}let u=l.left+o,f=r??n.viewState.heightOracle.textHeight>>1;for(let p=0;;p+=10){let m=a+(f+p)*s,g=Vc(n,{x:u,y:m},!1,s);return E.cursor(g.pos,g.assoc,void 0,o)}}function Oi(n,e,t){for(;;){let r=0;for(let i of n)i.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=r||t||(e-s<o-e?-1:1);e=l<0?s:o,r=l}});if(!r)return e}}function Lg(n,e){let t=null;for(let r=0;r<e.ranges.length;r++){let i=e.ranges[r],s=null;if(i.empty){let o=Oi(n,i.from,0);o!=i.from&&(s=E.cursor(o,-1))}else{let o=Oi(n,i.from,-1),a=Oi(n,i.to,1);(o!=i.from||a!=i.to)&&(s=E.range(i.from==i.anchor?o:a,i.from==i.head?o:a))}s&&(t||(t=e.ranges.slice()),t[r]=s)}return t?E.create(t,e.mainIndex):e}function bl(n,e,t){let r=Oi(n.state.facet(Vs).map(i=>i(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:E.cursor(r,r<t.from?1:-1)}class Yt{constructor(e,t){this.pos=e,this.assoc=t}}function Vc(n,e,t,r){let i=n.contentDOM.getBoundingClientRect(),s=i.top+n.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new Yt(0,1);if(l>n.viewState.docHeight)return new Yt(n.state.doc.length,-1);if(c=n.elementAtHeight(l),r==null)break;if(c.type==Je.Text){let f=n.docView.coordsAt(r<0?c.from:c.to,r);if(f&&(r<0?f.top<=l+s:f.bottom>=l+s))break}let u=n.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Je.Text){let u=xw(n,i,c,o,a);return new Yt(u,u==c.from?1:-1)}}if(c.type!=Je.Text)return l<(c.top+c.bottom)/2?new Yt(c.from,1):new Yt(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),Ig(n,h,c.from,o,a)}function Ig(n,e,t,r,i){let s=-1,o=null,a=1e9,l=1e9,c=i,h=i,u=(f,p)=>{for(let m=0;m<f.length;m++){let g=f[m];if(g.top==g.bottom)continue;let y=g.left>r?g.left-r:g.right<r?r-g.right:0,v=g.top>i?g.top-i:g.bottom<i?i-g.bottom:0;g.top<=h&&g.bottom>=c&&(c=Math.min(g.top,c),h=Math.max(g.bottom,h),v=0),(s<0||(v-l||y-a)<0)&&(s>=0&&l&&a<y&&o.top<=h-2&&o.bottom>=c+2?l=0:(s=p,a=y,l=v,o=g))}};if(e.isText()){for(let p=0;p<e.length;){let m=ze(e.text,p);if(u(zi(e.dom,p,m).getClientRects(),p),!a&&!l)break;p=m}return r>(o.left+o.right)/2==(Eu(n,s+t)==Oe.LTR)?new Yt(t+ze(e.text,s),-1):new Yt(t+s,1)}else{if(!e.length)return new Yt(t,1);for(let g=0;g<e.children.length;g++){let y=e.children[g];if(y.flags&48)continue;let v=(y.dom.nodeType==1?y.dom:zi(y.dom,0,y.length)).getClientRects();if(u(v,g),!a&&!l)break}let f=e.children[s],p=e.posBefore(f,t);return f.isComposite()||f.isText()?Ig(n,f,p,Math.max(o.left,Math.min(o.right,r)),i):r>(o.left+o.right)/2==(Eu(n,s+t)==Oe.LTR)?new Yt(p+f.length,-1):new Yt(p,1)}}function Eu(n,e){let t=n.state.doc.lineAt(e);return n.bidiSpans(t)[pn.find(n.bidiSpans(t),e-t.from,-1,1)].dir}const bi="￿";class Sw{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(pe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=bi}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let i=e;;){this.findPointBefore(r,i);let s=this.text.length;this.readNode(i);let o=Fe.get(i),a=i.nextSibling;if(a==t){o?.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=Fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:sa(i))||sa(a)&&(i.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!jw(a,t)&&this.lineBreak(),i=a}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(a=i.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(r,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);r=s+o}}readNode(e){let t=Fe.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let i=r.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(Cw(e,r.node,r.offset)?t:0))}}function Cw(n,e,t){for(;;){if(!e||t<gn(e))return!1;if(e==n)return!0;t=Bn(e)+1,e=e.parentNode}}function jw(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let r=Fe.get(n);if(!r?.isWidget())return!1;r&&(t||(t=[])).push(r)}if(t)for(let r of t){let i=r.overrideDOMText;if(i?.length)return!1}return!0}class Ru{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class Ow{constructor(e,t,r,i){this.typeOver=i,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=Bg(e.docView.tile,t,r,0))){let a=s||o?[]:Aw(e),l=new Sw(a,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=Mw(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!Ec(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!Ec(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),h=e.viewport;if((U.ios||U.chrome)&&e.state.selection.main.empty&&l!=c&&(h.from>0||h.to<e.state.doc.length)){let u=Math.min(l,c),f=Math.max(l,c),p=h.from-u,m=h.to-f;(p==0||p==1||u==0)&&(m==0||m==-1||f==e.state.doc.length)&&(l=0,c=e.state.doc.length)}e.inputState.composing>-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(E.range(c,l)):this.newSel=E.single(c,l)}}}function Bg(n,e,t,r){if(n.isComposite()){let i=-1,s=-1,o=-1,a=-1;for(let l=0,c=r,h=r;l<n.children.length;l++){let u=n.children[l],f=c+u.length;if(c<e&&f>t)return Bg(u,e,t,c);if(f>=e&&i==-1&&(i=l,s=c),c>t&&u.dom.parentNode==n.dom){o=l,a=h;break}h=f,c=f+u.breakAfter}return{from:s,to:a<0?r+n.length:a,startDOM:(i?n.children[i-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o<n.children.length&&o>=0?n.children[o].dom:null}}else return n.isText()?{from:r,to:r+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function $g(n,e){let t,{newSel:r}=e,i=n.state.selection.main,s=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,l=i.from,c=null;(s===8||U.android&&e.text.length<a-o)&&(l=i.to,c="end");let h=Fg(n.state.doc.sliceString(o,a,bi),e.text,l-o,c);h&&(U.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==bi+bi&&h.toB--,t={from:o+h.from,to:o+h.toA,insert:xe.of(e.text.slice(h.from,h.toB).split(bi))})}else r&&(!n.hasFocus&&n.state.facet(un)||r.main.eq(i))&&(r=null);if(!t&&!r)return!1;if(!t&&e.typeOver&&!i.empty&&r&&r.main.empty?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,i.to)}:(U.mac||U.android)&&t&&t.from==t.to&&t.from==i.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=E.single(r.main.anchor-1,r.main.head-1)),t={from:t.from,to:t.to,insert:xe.of([t.insert.toString().replace("."," ")])}):t&&t.from>=i.from&&t.to<=i.to&&(t.from!=i.from||t.to!=i.to)&&i.to-i.from-(t.to-t.from)<=4?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,i.to))}:n.state.doc.lineAt(i.from).to<i.to&&n.docView.lineHasWidget(i.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:i.from,to:i.to,insert:n.state.toText(n.inputState.insertingText)}:U.chrome&&t&&t.from==t.to&&t.from==i.head&&t.insert.toString()==`
60
- `&&n.lineWrapping&&(r&&(r=E.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:xe.of([" "])}),t)return Lh(n,t,r,s);if(r&&!r.main.eq(i)){let o=!1,a="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(o=!0),a=n.inputState.lastSelectionOrigin,a=="select.pointer"&&(r=Lg(n.state.facet(Vs).map(l=>l(n)),r))),n.dispatch({selection:r,scrollIntoView:o,userEvent:a}),!0}else return!1}function Lh(n,e,t,r=-1){if(U.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(U.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&n.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Mr(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>i.head)&&Mr(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&Mr(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=Pw(n,e,t));return n.state.facet(kg).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function Pw(n,e,t){let r,i=n.state,s=i.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,h=Oi(i.facet(Vs).map(u=>u(n)),c,l);e.from==h&&(o=h)}if(o>-1)r={changes:e,selection:E.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=s.from<e.from?i.sliceDoc(s.from,e.from):"",c=s.to>e.to?i.sliceDoc(e.to,s.to):"";r=i.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=n.state.sliceDoc(e.from,e.to),u,f=t&&Rg(n,t.main.head);if(f){let m=e.insert.length-(e.to-e.from);u={from:f.from,to:f.to-m}}else u=n.state.doc.lineAt(s.head);let p=s.to-e.to;r=i.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let g=m.to-p,y=g-h.length;if(n.state.sliceDoc(y,g)!=h||g>=u.from&&y<=u.to)return{range:m};let v=i.changes({from:y,to:g,insert:e.insert}),w=m.to-s.to;return{changes:v,range:c?E.range(Math.max(0,c.anchor+w),Math.max(0,c.head+w)):m.map(v)}})}else r={changes:l,selection:c&&i.selection.replaceRange(c)}}let a="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:a,scrollIntoView:!0})}function Fg(n,e,t,r){let i=Math.min(n.length,e.length),s=0;for(;s<i&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==i&&n.length==e.length)return null;let o=n.length,a=e.length;for(;o>0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&n.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function Aw(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new Ru(t,r)),(i!=t||s!=r)&&e.push(new Ru(i,s))),e}function Mw(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t>-1&&r>-1?E.single(t+e,r+e):null}class Nw{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,U.safari&&e.contentDOM.addEventListener("input",()=>null),U.gecko&&Uw(e.contentDOM.ownerDocument)}handleEvent(e){!$w(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let i of r.observers)i(this.view,t);for(let i of r.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Dw(e),r=this.handlers,i=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=r[s];a&&o!=!a.handlers.length&&(i.removeEventListener(s,this.handleEvent),a=null),a||i.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!t[s]&&i.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&zg.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),U.android&&U.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return U.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Vg.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||Tw.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Mr(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:U.safari&&!U.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function Lu(n,e){return(t,r)=>{try{return e.call(n,r,t)}catch(i){dt(t.state,i)}}}function Dw(n){let e=Object.create(null);function t(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of n){let i=r.spec,s=i&&i.plugin.domEventHandlers,o=i&&i.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Lu(r.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Lu(r.value,l))}}for(let r in Ft)t(r).handlers.push(Ft[r]);for(let r in Dt)t(r).observers.push(Dt[r]);return e}const Vg=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Tw="dthko",zg=[16,17,18,20,91,92,224,225],yo=6;function xo(n){return Math.max(0,n)*.7+8}function Ew(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class Rw{constructor(e,t,r,i){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=B2(e.contentDOM),this.atoms=e.state.facet(Vs).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(pe.allowMultipleSelections)&&Lw(e,t),this.dragging=Bw(e,t)&&Wg(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Ew(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,r=0,i=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Rh(this.view);e.clientX-l.left<=i+yo?t=-xo(i-e.clientX):e.clientX+l.right>=o-yo&&(t=xo(e.clientX-o)),e.clientY-l.top<=s+yo?r=-xo(s-e.clientY):e.clientY+l.bottom>=a-yo&&(r=xo(e.clientY-a)),this.setScrollSpeed(t,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,r=Lg(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Lw(n,e){let t=n.state.facet(yg);return t.length?t[0](e):U.mac?e.metaKey:e.ctrlKey}function Iw(n,e){let t=n.state.facet(xg);return t.length?t[0](e):U.mac?!e.altKey:!e.ctrlKey}function Bw(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=Fi(n.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let s=0;s<i.length;s++){let o=i[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function $w(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=Fe.get(t))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const Ft=Object.create(null),Dt=Object.create(null),Hg=U.ie&&U.ie_version<15||U.ios&&U.webkit_version<604;function Fw(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),_g(n,t.value)},50)}function La(n,e,t){for(let r of n.facet(e))t=r(t,n);return t}function _g(n,e){e=La(n.state,Dh,e);let{state:t}=n,r,i=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(zc!=null&&t.selection.ranges.every(l=>l.empty)&&zc==s.toString()){let l=-1;r=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let u=t.toText((o?s.line(i++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:E.cursor(c.from+u.length)}})}else o?r=t.changeByRange(l=>{let c=s.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:E.cursor(l.from+c.length)}}):r=t.replaceSelection(s);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Dt.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};Ft.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Dt.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};Dt.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Ft.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let r of n.state.facet(vg))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=zw(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new Rw(n,e,t,r)),r&&n.observer.ignore(()=>{cg(n.contentDOM);let s=n.root.activeElement;s&&!s.contains(n.contentDOM)&&s.blur()});let i=n.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function Iu(n,e,t,r){if(r==1)return E.cursor(e,t);if(r==2)return yw(n.state,e,t);{let i=n.docView.lineAt(e,t),s=n.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:s.from,a=i?i.posAtEnd:s.to;return a<n.state.doc.length&&a==s.to&&a++,E.range(o,a)}}const Vw=U.ie&&U.ie_version<=11;let Bu=null,$u=0,Fu=0;function Wg(n){if(!Vw)return n.detail;let e=Bu,t=Fu;return Bu=n,Fu=Date.now(),$u=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?($u+1)%3:1}function zw(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=Wg(e),i=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),i=i.map(s.changes))},get(s,o,a){let l=n.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Iu(n,l.pos,l.assoc,r);if(t.pos!=l.pos&&!o){let u=Iu(n,t.pos,t.assoc,r),f=Math.min(u.from,h.from),p=Math.max(u.to,h.to);h=f<h.from?E.range(f,p):E.range(p,f)}return o?i.replaceRange(i.main.extend(h.from,h.to)):a&&r==1&&i.ranges.length>1&&(c=Hw(i,l.pos))?c:a?i.addRange(h):E.create([h])}}}function Hw(n,e){for(let t=0;t<n.ranges.length;t++){let{from:r,to:i}=n.ranges[t];if(r<=e&&i>=e)return E.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}Ft.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let i=n.docView.tile.nearest(e.target);if(i&&i.isWidget()){let s=i.posAtStart,o=s+i.length;(s>=t.to||o<=t.from)&&(t=E.range(s,o))}}let{inputState:r}=n;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",La(n.state,Th,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Ft.dragend=n=>(n.inputState.draggedContent=null,!1);function Vu(n,e,t,r){if(t=La(n.state,Dh,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=r&&s&&Iw(n,e)?{from:s.from,to:s.to}:null,a={from:i,insert:t},l=n.state.changes(o?[o,a]:a);n.focus(),n.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}Ft.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let r=Array(t.length),i=0,s=()=>{++i==t.length&&Vu(n,e,r.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let a=new FileReader;a.onerror=s,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return Vu(n,e,r,!0),!0}return!1};Ft.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=Hg?null:e.clipboardData;return t?(_g(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Fw(n),!1)};function _w(n,e){let t=n.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),n.focus()},50)}function Ww(n){let e=[],t=[],r=!1;for(let i of n.selection.ranges)i.empty||(e.push(n.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let i=-1;for(let{from:s}of n.selection.ranges){let o=n.doc.lineAt(s);o.number>i&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),i=o.number}r=!0}return{text:La(n,Th,e.join(n.lineBreak)),ranges:t,linewise:r}}let zc=null;Ft.copy=Ft.cut=(n,e)=>{let{text:t,ranges:r,linewise:i}=Ww(n.state);if(!t&&!i)return!1;zc=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=Hg?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(_w(n,t),!1)};const Ug=rn.define();function Kg(n,e){let t=[];for(let r of n.facet(Sg)){let i=r(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:Ug.of(!0)}):null}function Gg(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=Kg(n.state,e);t?n.dispatch(t):n.update([])}},10)}Dt.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),Gg(n)};Dt.blur=n=>{n.observer.clearSelectionRange(),Gg(n)};Dt.compositionstart=Dt.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Dt.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,U.chrome&&U.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Dt.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Ft.beforeinput=(n,e)=>{var t,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=n.posAtDOM(a.startContainer,a.startOffset),c=n.posAtDOM(a.endContainer,a.endOffset);return Lh(n,{from:l,to:c,insert:n.state.toText(s)},null),!0}}let i;if(U.chrome&&U.android&&(i=Vg.find(s=>s.inputType==e.inputType))&&(n.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return U.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),U.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Dt.compositionend(n,e),20),!1};const zu=new Set;function Uw(n){zu.has(n)||(zu.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const Hu=["pre-wrap","normal","pre-line","break-spaces"];let Br=!1;function _u(){Br=!1}class Kw{constructor(e){this.lineWrapping=e,this.doc=xe.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Hu.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let i=e[r];i<0?r++:this.heightSamples[Math.floor(i*10)]||(t=!0,this.heightSamples[Math.floor(i*10)]=!0)}return t}refresh(e,t,r,i,s,o){let a=Hu.indexOf(e)>-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=i,this.lineLength=s,l){this.heightSamples={};for(let c=0;c<o.length;c++){let h=o[c];h<0?c++:this.heightSamples[Math.floor(h*10)]=!0}}return l}}class Gw{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class It{constructor(e,t,r,i,s){this.from=e,this.length=t,this.top=r,this.height=i,this._content=s}get type(){return typeof this._content=="number"?Je.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof ir?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new It(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Pe=function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n}(Pe||(Pe={}));const Ko=.001;class ot{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Ko&&(Br=!0),this.height=e)}replace(e,t,r){return ot.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,i){let s=this,o=r.doc;for(let a=i.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:u}=i[a],f=s.lineAt(l,Pe.ByPosNoHeight,r.setDoc(t),0,0),p=f.to>=c?f:s.lineAt(c,Pe.ByPosNoHeight,r,0,0);for(u+=p.to-c,c=p.to;a>0&&f.from<=i[a-1].toA;)l=i[a-1].fromA,h=i[a-1].fromB,a--,l<f.from&&(f=s.lineAt(l,Pe.ByPosNoHeight,r,0,0));h+=f.from-l,l=f.from;let m=Ih.build(r.setDoc(o),e,h,u);s=ca(s,s.replace(l,c,m))}return s.updateHeight(r,0)}static empty(){return new bt(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,r=e.length,i=0,s=0;for(;;)if(t==r)if(i>s*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),r+=1+a.break,i-=a.size}else if(s>i*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,s-=a.size}else break;else if(i<s){let a=e[t++];a&&(i+=a.size)}else{let a=e[--r];a&&(s+=a.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,r++),new Jw(ot.of(e.slice(0,t)),o,ot.of(e.slice(r)))}}function ca(n,e){return n==e?n:(n.constructor!=e.constructor&&(Br=!0),e)}ot.prototype.size=1;const qw=ne.replace({});class qg extends ot{constructor(e,t,r){super(e,t),this.deco=r,this.spaceAbove=0}mainBlock(e,t){return new It(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,r,i){return this.spaceAbove&&e<r+this.spaceAbove?new It(i,0,r,this.spaceAbove,qw):this.mainBlock(r,i)}lineAt(e,t,r,i,s){let o=this.mainBlock(i,s);return this.spaceAbove?this.blockAt(0,r,i,s).join(o):o}forEachLine(e,t,r,i,s,o){e<=s+this.length&&t>=s&&o(this.lineAt(0,Pe.ByPos,r,i,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}}class bt extends qg{constructor(e,t,r){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,t){return new It(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,r){let i=r[0];return r.length==1&&(i instanceof bt||i instanceof Ge&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof Ge?i=new bt(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):ot.of(r)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(r||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Ge extends ot{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,s=i-r+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:i,perLine:o,perChar:a}}blockAt(e,t,r,i){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),h=t.doc.lineAt(c),u=a+h.length*l,f=Math.max(r,e-u/2);return new It(h.from,h.length,f,u,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-r)/a))),{from:h,length:u}=t.doc.line(s+c);return new It(h,u,r+a*c,a,0)}}lineAt(e,t,r,i,s){if(t==Pe.ByHeight)return this.blockAt(e,r,i,s);if(t==Pe.ByPosNoHeight){let{from:p,to:m}=r.doc.lineAt(e);return new It(p,m-p,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(r,s),c=r.doc.lineAt(e),h=a+c.length*l,u=c.number-o,f=i+a*u+l*(c.from-s-u);return new It(c.from,c.length,Math.max(i,Math.min(f,i+this.height-h)),h,0)}forEachLine(e,t,r,i,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:a,perLine:l,perChar:c}=this.heightMetrics(r,s);for(let h=e,u=i;h<=t;){let f=r.doc.lineAt(h);if(h==e){let m=f.number-a;u+=l*m+c*(e-s-m)}let p=l+c*f.length;o(new It(f.from,f.length,u,p,0)),u+=p,h=f.to+1}}replace(e,t,r){let i=this.length-t;if(i>0){let s=r[r.length-1];s instanceof Ge?r[r.length-1]=new Ge(s.length+i):r.push(null,new Ge(i-1))}if(e>0){let s=r[0];s instanceof Ge?r[0]=new Ge(e+s.length):r.unshift(new Ge(e-1),null)}return ot.of(r)}decomposeLeft(e,t){t.push(new Ge(e-1),null)}decomposeRight(e,t){t.push(null,new Ge(this.length-e-1))}updateHeight(e,t=0,r=!1,i){let s=t+this.length;if(i&&i.from<=t+this.length&&i.more){let o=[],a=Math.max(t,i.from),l=-1;for(i.from>t&&o.push(new Ge(i.from-t-1).updateHeight(e,t));a<=s&&i.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let u=i.heights[i.index++],f=0;u<0&&(f=-u,u=i.heights[i.index++]),l==-1?l=u:Math.abs(u-l)>=Ko&&(l=-2);let p=new bt(h,u,f);p.outdated=!1,o.push(p),a+=h+1}a<=s&&o.push(null,new Ge(s-a).updateHeight(e,a));let c=ot.of(o);return(l<0||Math.abs(c.height-this.height)>=Ko||Math.abs(l-this.heightMetrics(e,t).perLine)>=Ko)&&(Br=!0),ca(this,c)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class Jw extends ot{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,i){let s=r+this.left.height;return e<s?this.left.blockAt(e,t,r,i):this.right.blockAt(e,t,s,i+this.left.length+this.break)}lineAt(e,t,r,i,s){let o=i+this.left.height,a=s+this.left.length+this.break,l=t==Pe.ByHeight?e<o:e<a,c=l?this.left.lineAt(e,t,r,i,s):this.right.lineAt(e,t,r,o,a);if(this.break||(l?c.to<a:c.from>a))return c;let h=t==Pe.ByPosNoHeight?Pe.ByPosNoHeight:Pe.ByPos;return l?c.join(this.right.lineAt(a,h,r,o,a)):this.left.lineAt(a,h,r,i,s).join(c)}forEachLine(e,t,r,i,s,o){let a=i+this.left.height,l=s+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,r,i,s,o),t>=l&&this.right.forEachLine(e,t,r,a,l,o);else{let c=this.lineAt(l,Pe.ByPos,r,i,s);e<c.from&&this.left.forEachLine(e,c.from-1,r,i,s,o),c.to>=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,r,a,l,o)}}replace(e,t,r){let i=this.left.length+this.break;if(t<i)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of r)s.push(a);if(e>0&&Wu(s,o-1),t<this.length){let a=s.length;this.decomposeRight(t,s),Wu(s,a)}return ot.of(s)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,i=r+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e<r&&this.left.decomposeRight(e,t),this.break&&e<i&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?ot.of(this.break?[e,null,t]:[e,t]):(this.left=ca(this.left,e),this.right=ca(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,r=!1,i){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return i&&i.from<=t+s.length&&i.more?l=s=s.updateHeight(e,t,r,i):s.updateHeight(e,t,r),i&&i.from<=a+o.length&&i.more?l=o=o.updateHeight(e,a,r,i):o.updateHeight(e,a,r),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Wu(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof Ge&&(r=n[e+1])instanceof Ge&&n.splice(e-1,3,new Ge(t.length+1+r.length))}const Yw=5;class Ih{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let r=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof bt?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new bt(r-this.pos,-1,0)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let i=r.widget?r.widget.estimatedHeight:0,s=r.widget?r.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let o=t-e;r.block?this.addBlock(new qg(o,i,r)):(o||s||i>=Yw)&&this.addLineDeco(i,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new bt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let r=new Ge(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof bt)return e;let t=new bt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,r){let i=this.ensureLine();i.length+=r,i.collapsed+=r,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof bt)&&!this.isCovered?this.nodes.push(new bt(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let i of this.nodes)i instanceof bt&&i.updateHeight(this.oracle,r),r+=i?i.length:1;return this.nodes}static build(e,t,r,i){let s=new Ih(r,e);return fe.spans(t,r,i,s,0),s.finish(r)}}function Qw(n,e,t){let r=new Xw;return fe.compare(n,e,t,r,0),r.changes}class Xw{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,i){(e<t||r&&r.heightRelevant||i&&i.heightRelevant)&&Ar(e,t,this.changes,5)}}function Zw(n,e){let t=n.getBoundingClientRect(),r=n.ownerDocument,i=r.defaultView||window,s=Math.max(0,t.left),o=Math.min(i.innerWidth,t.right),a=Math.max(0,t.top),l=Math.min(i.innerHeight,t.bottom);for(let c=n.parentNode;c&&c!=r.body;)if(c.nodeType==1){let h=c,u=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&u.overflow!="visible"){let f=h.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),a=Math.max(a,f.top),l=Math.min(c==n.parentNode?i.innerHeight:l,f.bottom)}c=u.position=="absolute"||u.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function ek(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function tk(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class yl{constructor(e,t,r,i){this.from=e,this.to=t,this.size=r,this.displaySize=i}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],s=t[r];if(i.from!=s.from||i.to!=s.to||i.size!=s.size)return!1}return!0}draw(e,t){return ne.replace({widget:new nk(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class nk extends on{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class Uu{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Ku,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Oe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Eh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Kw(t),this.stateDeco=e.facet(Hi).filter(r=>typeof r!="function"),this.heightMap=ot.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle.setDoc(e.doc),[new Ot(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ne.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let i=r?t.head:t.anchor;if(!e.some(({from:s,to:o})=>i>=s&&i<=o)){let{from:s,to:o}=this.lineBlockAt(i);e.push(new vo(s,o))}}return this.viewports=e.sort((r,i)=>r.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Ku:new Bh(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(yi(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(Hi).filter(h=>typeof h!="function");let i=e.changedRanges,s=Ot.extendWithRanges(i,Qw(r,this.stateDeco,e?e.changes:Ve.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);_u(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Br)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<l.from||t.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(jg)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Oe.RTL:Oe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:O,scaleY:C}=lg(t,a);(O>.005&&Math.abs(this.scaleX-O)>.005||C>.005&&Math.abs(this.scaleY-C)>.005)&&(this.scaleX=O,this.scaleY=C,c|=16,o=l=!0)}let u=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=f)&&(this.paddingTop=u,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=hg(e.scrollDOM);let m=(this.printing?tk:Zw)(t,this.paddingTop),g=m.top-this.pixelViewport.top,y=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let v=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(v!=this.inView&&(this.inView=v,v&&(l=!0)),!this.inView&&!this.scrollTarget&&!ek(e.dom))return 0;let w=a.width;if((this.contentDOMWidth!=w||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let O=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(O)&&(o=!0),o||i.lineWrapping&&Math.abs(w-this.contentDOMWidth)>i.charWidth){let{lineHeight:C,charWidth:P,textHeight:x}=e.docView.measureTextSize();o=C>0&&i.refresh(s,C,P,x,Math.max(5,w/P),O),o&&(e.docView.minWidth=0,c|=16)}g>0&&y>0?h=Math.max(g,y):g<0&&y<0&&(h=Math.min(g,y)),_u();for(let C of this.viewports){let P=C.from==this.viewport.from?O:e.docView.measureVisibleLineHeights(C);this.heightMap=(o?ot.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle,[new Ot(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new Gw(C.from,P))}Br&&(c|=2)}let S=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return S&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new vo(i.lineAt(o-r*1e3,Pe.ByHeight,s,0,0).from,i.lineAt(a+(1-r)*1e3,Pe.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<l.from||c>l.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=i.lineAt(c,Pe.ByPos,s,0,0),f;t.y=="center"?f=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c<l.from?f=u.top:f=u.bottom-h,l=new vo(i.lineAt(f-1e3/2,Pe.ByHeight,s,0,0).from,i.lineAt(f+h+1e3/2,Pe.ByHeight,s,0,0).to)}}return l}mapViewport(e,t){let r=t.mapPos(e.from,-1),i=t.mapPos(e.to,1);return new vo(this.heightMap.lineAt(r,Pe.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Pe.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(e,Pe.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,Pe.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:a}=this;return(e==0||i<=o-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||s>=a+Math.max(10,Math.min(r,250)))&&i>o-2*1e3&&s<a+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let i of e)t.touchesRange(i.from,i.to)||r.push(new yl(t.mapPos(i.from),t.mapPos(i.to),i.size,i.displaySize));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,i=r?1e4:2e3,s=i>>1,o=i<<1;if(this.defaultTextDirection!=Oe.LTR&&!r)return[];let a=[],l=(h,u,f,p)=>{if(u-h<s)return;let m=this.state.selection.main,g=[m.from];m.empty||g.push(m.to);for(let v of g)if(v>h&&v<u){l(h,v-10,f,p),l(v+10,u,f,p);return}let y=ik(e,v=>v.from>=f.from&&v.to<=f.to&&Math.abs(v.from-h)<s&&Math.abs(v.to-u)<s&&!g.some(w=>v.from<w&&v.to>w));if(!y){if(u<f.to&&t&&r&&t.visibleRanges.some(S=>S.from<=u&&S.to>=u)){let S=t.moveToLineBoundary(E.cursor(u),!1,!0).head;S>h&&(u=S)}let v=this.gapSize(f,h,u,p),w=r||v<2e6?v:2e6;y=new yl(h,u,v,w)}a.push(y)},c=h=>{if(h.length<o||h.type!=Je.Text)return;let u=rk(h.from,h.to,this.stateDeco);if(u.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,p,m;if(r){let g=i/this.heightOracle.lineLength*this.heightOracle.lineHeight,y,v;if(f!=null){let w=ko(u,f),S=((this.visibleBottom-this.visibleTop)/2+g)/h.height;y=w-S,v=w+S}else y=(this.visibleTop-h.top-g)/h.height,v=(this.visibleBottom-h.top+g)/h.height;p=wo(u,y),m=wo(u,v)}else{let g=u.total*this.heightOracle.charWidth,y=i*this.heightOracle.charWidth,v=0;if(g>2e6)for(let P of e)P.from>=h.from&&P.from<h.to&&P.size!=P.displaySize&&P.from*this.heightOracle.charWidth+v<this.pixelViewport.left&&(v=P.size-P.displaySize);let w=this.pixelViewport.left+v,S=this.pixelViewport.right+v,O,C;if(f!=null){let P=ko(u,f),x=((S-w)/2+y)/g;O=P-x,C=P+x}else O=(w-y)/g,C=(S+y)/g;p=wo(u,O),m=wo(u,C)}p>h.from&&l(h.from,p,h,u),m<h.to&&l(m,h.to,h,u)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(c):c(h);return a}gapSize(e,t,r,i){let s=ko(i,r)-ko(i,t);return this.heightOracle.lineWrapping?e.height*s:i.total*this.heightOracle.charWidth*s}updateLineGaps(e){yl.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ne.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let r=[];fe.spans(t,this.viewport.from,this.viewport.to,{span(s,o){r.push({from:s,to:o})},point(){}},20);let i=0;if(r.length!=this.visibleRanges.length)i=12;else for(let s=0;s<r.length&&!(i&8);s++){let o=this.visibleRanges[s],a=r[s];(o.from!=a.from||o.to!=a.to)&&(i|=4,e&&e.mapPos(o.from,-1)==a.from&&e.mapPos(o.to,1)==a.to||(i|=8))}return this.visibleRanges=r,i}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||yi(this.heightMap.lineAt(e,Pe.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||yi(this.heightMap.lineAt(this.scaler.fromDOM(e),Pe.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return yi(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class vo{constructor(e,t){this.from=e,this.to=t}}function rk(n,e,t){let r=[],i=n,s=0;return fe.spans(t,n,e,{span(){},point(o,a){o>i&&(r.push({from:i,to:o}),s+=o-i),i=a}},20),i<e&&(r.push({from:i,to:e}),s+=e-i),{total:s,ranges:r}}function wo({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let r=Math.floor(n*t);for(let i=0;;i++){let{from:s,to:o}=e[i],a=o-s;if(r<=a)return s+r;r-=a}}function ko(n,e){let t=0;for(let{from:r,to:i}of n.ranges){if(e<=i){t+=e-r;break}t+=i-r}return t/n.total}function ik(n,e){for(let t of n)if(e(t))return t}const Ku={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class Bh{constructor(e,t,r){let i=0,s=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let c=t.lineAt(a,Pe.ByPos,e,0,0).top,h=t.lineAt(l,Pe.ByPos,e,0,0).bottom;return i+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,r=0,i=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return i+(e-r)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);r=s.bottom,i=s.domBottom}}fromDOM(e){for(let t=0,r=0,i=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return r+(e-i)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);r=s.bottom,i=s.domBottom}}eq(e){return e instanceof Bh?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,r)=>t.from==e.viewports[r].from&&t.to==e.viewports[r].to):!1}}function yi(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),r=e.toDOM(n.bottom);return new It(n.from,n.length,t,r-t,Array.isArray(n._content)?n._content.map(i=>yi(i,e)):n._content)}const So=K.define({combine:n=>n.join(" ")}),Hc=K.define({combine:n=>n.indexOf(!0)>-1}),_c=Ln.newName(),Jg=Ln.newName(),Yg=Ln.newName(),Qg={"&light":"."+Jg,"&dark":"."+Yg};function Wc(n,e,t){return new Ln(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+r}})}const sk=Wc("."+_c,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Qg),ok={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},xl=U.ie&&U.ie_version<=11;class ak{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new $2,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let r of t)this.queue.push(r);(U.ie&&U.ie_version<=11||U.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&U.android&&e.constructor.EDIT_CONTEXT!==!1&&!(U.chrome&&U.chrome_version<126)&&(this.editContext=new ck(e),e.state.facet(un)&&(e.contentDOM.editContext=this.editContext.editContext)),xl&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,r)=>t!=e[r]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,i=this.selectionRange;if(r.state.facet(un)?r.root.activeElement!=this.dom:!Uo(this.dom,i))return;let s=i.anchorNode&&r.docView.tile.nearest(i.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(U.ie&&U.ie_version<=11||U.android&&U.chrome)&&!r.state.selection.main.empty&&i.focusNode&&ji(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Fi(e.root);if(!t)return!1;let r=U.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&lk(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let i=Uo(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&V2(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),i&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(r.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=t)r.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,ok),xl&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),xl&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let i=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Mr(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,i=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(i=!0),t==-1?{from:t,to:r}=o:(t=Math.min(o.from,t),r=Math.max(o.to,r)))}return{from:t,to:r,typeOver:i}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),i=this.selectionChanged&&Uo(this.dom,this.selectionRange);if(e<0&&!i)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ow(this.view,e,t,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let r=this.view.state,i=$g(this.view,t);return this.view.state==r&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),i}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let r=Gu(t,e.previousSibling||e.target.previousSibling,-1),i=Gu(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(un)!=e.state.facet(un)&&(e.view.contentDOM.editContext=e.state.facet(un)?this.editContext.editContext:null))}destroy(){var e,t,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function Gu(n,e,t){for(;e;){let r=Fe.get(e);if(r&&r.parent==n)return r;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function qu(n,e){let t=e.startContainer,r=e.startOffset,i=e.endContainer,s=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return ji(o.node,o.offset,i,s)&&([t,r,i,s]=[i,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}}function lk(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return qu(n,i)}let t=null;function r(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",r,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",r,!0),t?qu(n,t):null}class ck{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let i=e.state.selection.main,{anchor:s,head:o}=i,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>r.text.length;a==this.from&&s<this.from?a=s:l==this.to&&s>this.to&&(l=s);let h=Fg(e.state.sliceDoc(a,l),r.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let f=E.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));f.main.eq(i)||e.dispatch({selection:f,userEvent:"select"});return}let u={from:h.from+a,to:h.toA+a,insert:xe.of(r.text.slice(h.from,h.toB).split(`
61
- `))};if((U.mac||U.android)&&u.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:a,to:l,insert:xe.of([r.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let f=this.to-this.from+(u.to-u.from+u.insert.length);Lh(e,u,E.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let i=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,i.push(s)}t.updateCharacterBounds(r.rangeStart,i)},this.handlers.textformatupdate=r=>{let i=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let h=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;i.push(ne.mark({attributes:{style:h}}).range(l,c))}}}e.dispatch({effects:Pg.of(ne.set(i))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let i=Fi(r.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,i=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(r)return;let h=c.length-(o-s);if(i&&o>=i.to)if(i.from==s&&i.to==o&&i.insert.eq(c)){i=this.pendingContextChange=null,t+=h,this.to+=h;return}else i=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),i&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(r,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class H{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(i=>i.forEach(s=>r(s,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||F2(e.parent)||document,this.viewState=new Uu(e.state||pe.create(e)),e.scrollTo&&e.scrollTo.is(bo)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(xr).map(i=>new fl(i));for(let i of this.plugins)i.update(this);this.observer=new ak(this),this.inputState=new Nw(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Du(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof He?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,i,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(f=>f.annotation(Ug))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Kg(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(pe.phrases)!=this.state.facet(pe.phrases))return this.setState(s);i=oa.create(this,s,e),i.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(u&&(u=u.map(f.changes)),f.scrollIntoView){let{main:p}=f.state.selection;u=new Nr(p.empty?p:E.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(bo)&&(u=p.value.clip(this.state))}this.viewState.update(i,u),this.bidiCache=ha.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(gi)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(So)!=i.state.facet(So)&&(this.viewState.mustMeasureContent=!0),(t||r||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let f of this.state.facet(Bc))try{f(i)}catch(p){dt(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!$g(this,h)&&c.force&&Mr(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new Uu(e),this.plugins=e.facet(xr).map(r=>new fl(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new Du(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(xr),r=e.state.facet(xr);if(t!=r){let i=[];for(let s of r){let o=t.indexOf(s);if(o<0)i.push(new fl(s));else{let a=this.plugins[o];a.mustUpdate=e,i.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i<this.plugins.length;i++)this.plugins[i].update(this);t!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(r){dt(this.state,r,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,i=r.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(hg(r))s=-1,o=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(i);s=p.from,o=p.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(p=>{try{return p.read(this)}catch(m){return dt(this.state,m),Ju}}),u=oa.create(this,this.state,[]),f=!1;u.flags|=l,t?t.flags|=l:t=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),f=this.docView.update(u),f&&this.docViewUpdate());for(let p=0;p<c.length;p++)if(h[p]!=Ju)try{let m=c[p];m.write&&m.write(h[p],this)}catch(m){dt(this.state,m)}if(f&&this.docView.updateSelection(!0),!u.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let m=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o;if(m>1||m<-1){i=i+m,r.scrollTop=i/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(Bc))a(t)}get themeClasses(){return _c+" "+(this.state.facet(Hc)?Yg:Jg)+" "+this.state.facet(So)}updateAttrs(){let e=Yu(this,Ag,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(un)?"true":"false",class:"cm-content",style:`${U.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Yu(this,Eh,t);let r=this.observer.ignore(()=>{let i=ju(this.contentDOM,this.contentAttrs,t),s=ju(this.dom,this.editorAttrs,e);return i||s});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let i of r.effects)if(i.is(H.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(gi);let e=this.state.facet(H.cspNonce);Ln.mount(this.root,this.styleModules.concat(sk).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(r=>r.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,r){return bl(this,e,Tu(this,e,t,r))}moveByGroup(e,t){return bl(this,e,Tu(this,e,t,r=>ww(this,e.head,r)))}visualLineSide(e,t){let r=this.bidiSpans(e),i=this.textDirectionAt(e.from),s=r[t?r.length-1:0];return E.cursor(s.side(t,i)+e.from,s.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,r=!0){return vw(this,e,t,r)}moveVertically(e,t,r){return bl(this,e,kw(this,e,t,r))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let r=Vc(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Vc(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let i=this.state.doc.lineAt(e),s=this.bidiSpans(i),o=s[pn.find(s,e-i.from,-1,t)];return Vi(r,o.dir==Oe.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Cg)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>hk)return gg(e.length);let t=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||mg(s.isolates,r=Au(this,e))))return s.order;r||(r=Au(this,e));let i=G2(e.text,t,r);return this.bidiCache.push(new ha(e.from,e.to,t,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||U.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{cg(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return bo.of(new Nr(typeof e=="number"?E.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return bo.of(new Nr(E.cursor(r.from),"start","start",r.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return $e.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return $e.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=Ln.newName(),i=[So.of(r),gi.of(Wc(`.${r}`,e))];return t&&t.dark&&i.push(Hc.of(!0)),i}static baseTheme(e){return cr.lowest(gi.of(Wc("."+_c,e,Qg)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&Fe.get(r)||Fe.get(e);return((t=i?.root)===null||t===void 0?void 0:t.view)||null}}H.styleModule=gi;H.inputHandler=kg;H.clipboardInputFilter=Dh;H.clipboardOutputFilter=Th;H.scrollHandler=Og;H.focusChangeEffect=Sg;H.perLineTextDirection=Cg;H.exceptionSink=wg;H.updateListener=Bc;H.editable=un;H.mouseSelectionStyle=vg;H.dragMovesSelection=xg;H.clickAddsSelectionRange=yg;H.decorations=Hi;H.blockWrappers=Mg;H.outerDecorations=Ng;H.atomicRanges=Vs;H.bidiIsolatedRanges=Dg;H.scrollMargins=Tg;H.darkTheme=Hc;H.cspNonce=K.define({combine:n=>n.length?n[0]:""});H.contentAttributes=Eh;H.editorAttributes=Ag;H.lineWrapping=H.contentAttributes.of({class:"cm-lineWrapping"});H.announce=ae.define();const hk=4096,Ju={};class ha{constructor(e,t,r,i,s,o){this.from=e,this.to=t,this.dir=r,this.isolates=i,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let r=[],i=e.length?e[e.length-1].dir:Oe.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==i&&!t.touchesRange(o.from,o.to)&&r.push(new ha(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function Yu(n,e,t){for(let r=n.state.facet(e),i=r.length-1;i>=0;i--){let s=r[i],o=typeof s=="function"?s(n):s;o&&Ah(o,t)}return t}const dk=U.mac?"mac":U.windows?"win":U.linux?"linux":"key";function uk(n,e){const t=n.split(/-(?!$)/);let r=t[t.length-1];r=="Space"&&(r=" ");let i,s,o,a;for(let l=0;l<t.length-1;++l){const c=t[l];if(/^(cmd|meta|m)$/i.test(c))a=!0;else if(/^a(lt)?$/i.test(c))i=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))e=="mac"?a=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return i&&(r="Alt-"+r),s&&(r="Ctrl-"+r),a&&(r="Meta-"+r),o&&(r="Shift-"+r),r}function Co(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}const fk=cr.default(H.domEventHandlers({keydown(n,e){return Zg(Xg(e.state),n,e,"editor")}})),Ia=K.define({enables:fk}),Qu=new WeakMap;function Xg(n){let e=n.facet(Ia),t=Qu.get(e);return t||Qu.set(e,t=gk(e.reduce((r,i)=>r.concat(i),[]))),t}function pk(n,e,t){return Zg(Xg(n.state),e,n,t)}let Pn=null;const mk=4e3;function gk(n,e=dk){let t=Object.create(null),r=Object.create(null),i=(o,a)=>{let l=r[o];if(l==null)r[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var u,f;let p=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(v=>uk(v,e));for(let v=1;v<m.length;v++){let w=m.slice(0,v).join(" ");i(w,!0),p[w]||(p[w]={preventDefault:!0,stopPropagation:!1,run:[S=>{let O=Pn={view:S,prefix:w,scope:o};return setTimeout(()=>{Pn==O&&(Pn=null)},mk),!0}]})}let g=m.join(" ");i(g,!1);let y=p[g]||(p[g]={preventDefault:!1,stopPropagation:!1,run:((f=(u=p._any)===null||u===void 0?void 0:u.run)===null||f===void 0?void 0:f.slice())||[]});l&&y.run.push(l),c&&(y.preventDefault=!0),h&&(y.stopPropagation=!0)};for(let o of n){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=o;for(let f in h)h[f].run.push(p=>u(p,Uc))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}let Uc=null;function Zg(n,e,t,r){Uc=e;let i=N2(e),s=lt(i,0),o=Jt(s)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;Pn&&Pn.view==t&&Pn.scope==r&&(a=Pn.prefix+" ",zg.indexOf(e.keyCode)<0&&(c=!0,Pn=null));let u=new Set,f=y=>{if(y){for(let v of y.run)if(!u.has(v)&&(u.add(v),v(t)))return y.stopPropagation&&(h=!0),!0;y.preventDefault&&(y.stopPropagation&&(h=!0),c=!0)}return!1},p=n[r],m,g;return p&&(f(p[a+Co(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(U.windows&&e.ctrlKey&&e.altKey)&&!(U.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=In[e.keyCode])&&m!=i?(f(p[a+Co(m,e,!0)])||e.shiftKey&&(g=Bi[e.keyCode])!=i&&g!=m&&f(p[a+Co(g,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(p[a+Co(i,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Uc=null,l}class zs{constructor(e,t,r,i,s){this.className=e,this.left=t,this.top=r,this.width=i,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let i=e.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let s=e0(e);return[new zs(t,i.left-s.left,i.top-s.top,null,i.bottom-i.top)]}else return bk(e,t,r)}}function e0(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Oe.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Xu(n,e,t,r){let i=n.coordsAtPos(e,t*2);if(!i)return r;let s=n.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,a=n.posAtCoords({x:s.left+1,y:o}),l=n.posAtCoords({x:s.right-1,y:o});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function bk(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let r=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),s=n.textDirection==Oe.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=e0(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=a.right-(h?parseInt(h.paddingRight):0),p=Fc(n,r,1),m=Fc(n,i,-1),g=p.type==Je.Text?p:null,y=m.type==Je.Text?m:null;if(g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=Xu(n,r,1,g)),y&&(n.lineWrapping||m.widgetLineBreaks)&&(y=Xu(n,i,-1,y)),g&&y&&g.from==y.from&&g.to==y.to)return w(S(t.from,t.to,g));{let C=g?S(t.from,null,g):O(p,!1),P=y?S(null,t.to,y):O(m,!0),x=[];return(g||p).to<(y||m).from-(g&&y?1:0)||p.widgetLineBreaks>1&&C.bottom+n.defaultLineHeight/2<P.top?x.push(v(u,C.bottom,f,P.top)):C.bottom<P.top&&n.elementAtHeight((C.bottom+P.top)/2).type==Je.Text&&(C.bottom=P.top=(C.bottom+P.top)/2),w(C).concat(x).concat(w(P))}function v(C,P,x,D){return new zs(e,C-l.left,P-l.top,x-C,D-P)}function w({top:C,bottom:P,horizontal:x}){let D=[];for(let M=0;M<x.length;M+=2)D.push(v(x[M],C,x[M+1],P));return D}function S(C,P,x){let D=1e9,M=-1e9,L=[];function A(V,$,q,he,_){let J=n.coordsAtPos(V,V==x.to?-2:2),se=n.coordsAtPos(q,q==x.from?2:-2);!J||!se||(D=Math.min(J.top,se.top,D),M=Math.max(J.bottom,se.bottom,M),_==Oe.LTR?L.push(s&&$?u:J.left,s&&he?f:se.right):L.push(!s&&he?u:se.left,!s&&$?f:J.right))}let I=C??x.from,W=P??x.to;for(let V of n.visibleRanges)if(V.to>I&&V.from<W)for(let $=Math.max(V.from,I),q=Math.min(V.to,W);;){let he=n.state.doc.lineAt($);for(let _ of n.bidiSpans(he)){let J=_.from+he.from,se=_.to+he.from;if(J>=q)break;se>$&&A(Math.max(J,$),C==null&&J<=I,Math.min(se,q),P==null&&se>=W,_.dir)}if($=he.to+1,$>=q)break}return L.length==0&&A(I,C==null,W,P==null,n.textDirection),{top:D,bottom:M,horizontal:L}}function O(C,P){let x=a.top+(P?C.top:C.bottom);return{top:x,bottom:x,horizontal:[]}}}function yk(n,e){return n.constructor==e.constructor&&n.eq(e)}class xk{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Go)!=e.state.facet(Go)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,r=e.facet(Go);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,r)=>!yk(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[r].constructor&&i.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e,U.safari&&U.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Go=K.define();function t0(n){return[$e.define(e=>new xk(e,n)),Go.of(n)]}const _i=K.define({combine(n){return sn(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function vk(n={}){return[_i.of(n),wk,kk,Sk,jg.of(!0)]}function n0(n){return n.startState.facet(_i)!=n.state.facet(_i)}const wk=t0({above:!0,markers(n){let{state:e}=n,t=e.facet(_i),r=[];for(let i of e.selection.ranges){let s=i==e.selection.main;if(i.empty||t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:E.cursor(i.head,i.head>i.anchor?-1:1);for(let l of zs.forRange(n,o,a))r.push(l)}}return r},update(n,e){n.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=n0(n);return t&&Zu(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){Zu(e.state,n)},class:"cm-cursorLayer"});function Zu(n,e){e.style.animationDuration=n.facet(_i).cursorBlinkRate+"ms"}const kk=t0({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:zs.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||n0(n)},class:"cm-selectionLayer"}),Sk=cr.highest(H.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),r0=ae.define({map(n,e){return n==null?null:e.mapPos(n)}}),xi=Ye.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(r0)?r.value:t,n)}}),Ck=$e.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(xi);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(xi)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(xi),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let r=n.scrollDOM.getBoundingClientRect();return{left:t.left-r.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-r.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(xi)!=n&&this.view.dispatch({effects:r0.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function jk(){return[xi,Ck]}function ef(n,e,t,r,i){e.lastIndex=0;for(let s=n.iterRange(t,r),o=t,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)i(o+a.index,a)}function Ok(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let r=[];for(let{from:i,to:s}of t)i=Math.max(n.state.doc.lineAt(i).from,i-e),s=Math.min(n.state.doc.lineAt(s).to,s+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=s:r.push({from:i,to:s});return r}class Pk{constructor(e){const{regexp:t,decoration:r,decorate:i,boundary:s,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,i)this.addMatch=(a,l,c,h)=>i(h,c,c+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,c,h)=>{let u=r(a,l,c);u&&h(c,c+a[0].length,u)};else if(r)this.addMatch=(a,l,c,h)=>h(c,c+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let t=new mn,r=t.add.bind(t);for(let{from:i,to:s}of Ok(e,this.maxLength))ef(e.state.doc,this.regexp,i,s,(o,a)=>this.addMatch(a,e,o,r));return t.finish()}updateDeco(e,t){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),i=Math.max(l,i))}),e.viewportMoved||i-r>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),r,i):t}updateRange(e,t,r,i){for(let s of e.visibleRanges){let o=Math.max(s.from,r),a=Math.min(s.to,i);if(a>=o){let l=e.state.doc.lineAt(o),c=l.to<a?e.state.doc.lineAt(a):l,h=Math.max(s.from,l.from),u=Math.min(s.to,c.to);if(this.boundary){for(;o>l.from;o--)if(this.boundary.test(l.text[o-1-l.from])){h=o;break}for(;a<c.to;a++)if(this.boundary.test(c.text[a-c.from])){u=a;break}}let f=[],p,m=(g,y,v)=>f.push(v.range(g,y));if(l==c)for(this.regexp.lastIndex=h-l.from;(p=this.regexp.exec(l.text))&&p.index<u-l.from;)this.addMatch(p,e,p.index+l.from,m);else ef(e.state.doc,this.regexp,h,u,(g,y)=>this.addMatch(y,e,g,m));t=t.update({filterFrom:h,filterTo:u,filter:(g,y)=>g<h||y>u,add:f})}}return t}}const Kc=/x/.unicode!=null?"gu":"g",Ak=new RegExp(`[\0-\b
62
- --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Kc),Mk={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let vl=null;function Nk(){var n;if(vl==null&&typeof document<"u"&&document.body){let e=document.body.style;vl=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return vl||!1}const qo=K.define({combine(n){let e=sn(n,{render:null,specialChars:Ak,addSpecialChars:null});return(e.replaceTabs=!Nk())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Kc)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Kc)),e}});function Dk(n={}){return[qo.of(n),Tk()]}let tf=null;function Tk(){return tf||(tf=$e.fromClass(class{constructor(n){this.view=n,this.decorations=ne.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(qo)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new Pk({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,s=lt(e[0],0);if(s==9){let o=i.lineAt(r),a=t.state.tabSize,l=Hr(o.text,a,r-o.from);return ne.replace({widget:new Ik((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=ne.replace({widget:new Lk(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(qo);n.startState.facet(qo)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const Ek="•";function Rk(n){return n>=32?Ek:n==10?"␤":String.fromCharCode(9216+n)}class Lk extends on{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Rk(this.code),r=e.state.phrase("Control character")+" "+(Mk[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,t);if(i)return i;let s=document.createElement("span");return s.textContent=t,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class Ik extends on{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function Bk(){return Fk}const $k=ne.line({class:"cm-activeLine"}),Fk=$e.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let r of n.state.selection.ranges){let i=n.lineBlockAt(r.head);i.from>e&&(t.push($k.range(i.from)),e=i.from)}return ne.set(t)}},{decorations:n=>n.decorations});class Vk extends on{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?Ci(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),i=Vi(t[0],r.direction!="rtl"),s=parseInt(r.lineHeight);return i.bottom-i.top>s*1.5?{left:i.left,right:i.right,top:i.top,bottom:i.top+s}:i}ignoreEvent(){return!1}}function zk(n){let e=$e.fromClass(class{constructor(t){this.view=t,this.placeholder=n?ne.set([ne.widget({widget:new Vk(n),side:1}).range(0)]):ne.none}get decorations(){return this.view.state.doc.length?ne.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,H.contentAttributes.of({"aria-placeholder":n})]:e}const Gc=2e3;function Hk(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>Gc||t.off>Gc||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=r;l<=i;l++){let c=n.doc.line(l);c.length<=a&&s.push(E.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=r;l<=i;l++){let c=n.doc.line(l),h=Oc(c.text,o,n.tabSize,!0);if(h<0)s.push(E.cursor(c.to));else{let u=Oc(c.text,a,n.tabSize);s.push(E.range(c.from+h,c.from+u))}}}return s}function _k(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function nf(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),r=n.state.doc.lineAt(t),i=t-r.from,s=i>Gc?-1:i==r.length?_k(n,e.clientX):Hr(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:s,off:i}}function Wk(n,e){let t=nf(n,e),r=n.state.selection;return t?{update(i){if(i.docChanged){let s=i.changes.mapPos(i.startState.doc.line(t.line).from),o=i.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},r=r.map(i.changes)}},get(i,s,o){let a=nf(n,i);if(!a)return r;let l=Hk(n.state,t,a);return l.length?o?E.create(l.concat(r.ranges)):E.create(l):r}}:null}function Uk(n){let e=t=>t.altKey&&t.button==0;return H.mouseSelectionStyle.of((t,r)=>e(r)?Wk(t,r):null)}const Kk={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},Gk={style:"cursor: crosshair"};function qk(n={}){let[e,t]=Kk[n.key||"Alt"],r=$e.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}});return[r,H.contentAttributes.of(i=>{var s;return!((s=i.plugin(r))===null||s===void 0)&&s.isDown?Gk:null})]}const jo="-10000px";class i0{constructor(e,t,r,i){this.facet=t,this.createTooltipView=r,this.removeTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=r(o,s))}update(e,t){var r;let i=e.state.facet(this.facet),s=i.filter(l=>l);if(i===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=t?[]:null;for(let l=0;l<s.length;l++){let c=s[l],h=-1;if(c){for(let u=0;u<this.tooltips.length;u++){let f=this.tooltips[u];f&&f.create==c.create&&(h=u)}if(h<0)o[l]=this.createTooltipView(c,l?o[l-1]:null),a&&(a[l]=!!c.above);else{let u=o[l]=this.tooltipViews[h];a&&(a[l]=t[h]),u.update&&u.update(e)}}}for(let l of this.tooltipViews)o.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return t&&(a.forEach((l,c)=>t[c]=l),t.length=a.length),this.input=i,this.tooltips=s,this.tooltipViews=o,!0}}function Jk(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const wl=K.define({combine:n=>{var e,t,r;return{position:U.ios?"absolute":((e=n.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(i=>i.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((r=n.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||Jk}}}),rf=new WeakMap,$h=$e.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(wl);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new i0(n,Fh,(t,r)=>this.createTooltip(t,r),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,r=n.state.facet(wl);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;t=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),r=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let i=document.createElement("div");i.className="cm-tooltip-arrow",t.dom.appendChild(i)}return t.dom.style.position=this.position,t.dom.style.top=jo,t.dom.style.left="0px",this.container.insertBefore(t.dom,r),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(n=r.destroy)===null||n===void 0||n.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(U.safari){let o=s.getBoundingClientRect();t=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}else t=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(n=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=Rh(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,o)=>{let a=this.manager.tooltipViews[o];return a.getCoords?a.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(wl).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:r,scaleX:i,scaleY:s}=n,o=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],c=this.manager.tooltipViews[a],{dom:h}=c,u=n.pos[a],f=n.size[a];if(!u||l.clip!==!1&&(u.bottom<=Math.max(t.top,r.top)||u.top>=Math.min(t.bottom,r.bottom)||u.right<Math.max(t.left,r.left)-.1||u.left>Math.min(t.right,r.right)+.1)){h.style.top=jo;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,g=f.right-f.left,y=(e=rf.get(c))!==null&&e!==void 0?e:f.bottom-f.top,v=c.offset||Qk,w=this.view.textDirection==Oe.LTR,S=f.width>r.right-r.left?w?r.left:r.right-f.width:w?Math.max(r.left,Math.min(u.left-(p?14:0)+v.x,r.right-g)):Math.min(Math.max(r.left,u.left-g+(p?14:0)-v.x),r.right-g),O=this.above[a];!l.strictSide&&(O?u.top-y-m-v.y<r.top:u.bottom+y+m+v.y>r.bottom)&&O==r.bottom-u.bottom>u.top-r.top&&(O=this.above[a]=!O);let C=(O?u.top-r.top:r.bottom-u.bottom)-m;if(C<y&&c.resize!==!1){if(C<this.view.defaultLineHeight){h.style.top=jo;continue}rf.set(c,y),h.style.height=(y=C)/s+"px"}else h.style.height&&(h.style.height="");let P=O?u.top-y-m-v.y:u.bottom+m+v.y,x=S+g;if(c.overlap!==!0)for(let D of o)D.left<x&&D.right>S&&D.top<P+y&&D.bottom>P&&(P=O?D.top-y-2-m:D.bottom+m+2);if(this.position=="absolute"?(h.style.top=(P-n.parent.top)/s+"px",sf(h,(S-n.parent.left)/i)):(h.style.top=P/s+"px",sf(h,S/i)),p){let D=u.left+(w?v.x:-v.x)-(S+14-7);p.style.left=D/i+"px"}c.overlap!==!0&&o.push({left:S,top:P,right:x,bottom:P+y}),h.classList.toggle("cm-tooltip-above",O),h.classList.toggle("cm-tooltip-below",!O),c.positioned&&c.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=jo}},{eventObservers:{scroll(){this.maybeMeasure()}}});function sf(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const Yk=H.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),Qk={x:0,y:0},Fh=K.define({enables:[$h,Yk]}),da=K.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Ba{static create(e){return new Ba(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new i0(e,da,(t,r)=>this.createHostedView(t,r),t=>t.dom.remove())}createHostedView(e,t){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let r of this.manager.tooltipViews){let i=r[e];if(i!==void 0){if(t===void 0)t=i;else if(t!==i)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const Xk=Fh.compute([da],n=>{let e=n.facet(da);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var r;return(r=t.end)!==null&&r!==void 0?r:t.pos})),create:Ba.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class Zk{constructor(e,t,r,i,s){this.view=e,this.source=t,this.field=r,this.setHover=i,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,r=e.docView.tile.nearest(t.target);if(!r)return;let i,s=1;if(r.isWidget())i=r.posAtStart;else{if(i=e.posAtCoords(t),i==null)return;let a=e.coordsAtPos(i);if(!a||t.y<a.top||t.y>a.bottom||t.x<a.left-e.defaultCharacterWidth||t.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(i)).find(h=>h.from<=i&&h.to>=i),c=l&&l.dir==Oe.RTL?-1:1;s=t.x<a.left?-c:c}let o=this.source(e,i,s);if(o?.then){let a=this.pending={pos:i};o.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>dt(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin($h),t=e?e.manager.tooltips.findIndex(r=>r.create==Ba.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:s}=this;if(i.length&&s&&!eS(s.dom,e)||this.pending){let{pos:o}=i[0]||this.pending,a=(r=(t=i[0])===null||t===void 0?void 0:t.end)!==null&&r!==void 0?r:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!tS(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Oo=4;function eS(n,e){let{left:t,right:r,top:i,bottom:s}=n.getBoundingClientRect(),o;if(o=n.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();i=Math.min(a.top,i),s=Math.max(a.bottom,s)}return e.clientX>=t-Oo&&e.clientX<=r+Oo&&e.clientY>=i-Oo&&e.clientY<=s+Oo}function tS(n,e,t,r,i,s){let o=n.scrollDOM.getBoundingClientRect(),a=n.documentTop+n.documentPadding.top+n.contentHeight;if(o.left>r||o.right<r||o.top>i||Math.min(o.bottom,a)<i)return!1;let l=n.posAtCoords({x:r,y:i},!1);return l>=e&&l<=t}function nS(n,e={}){let t=ae.define(),r=Ye.define({create(){return[]},update(i,s){if(i.length&&(e.hideOnChange&&(s.docChanged||s.selection)?i=[]:e.hideOn&&(i=i.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let a of i){let l=s.changes.mapPos(a.pos,-1,st.TrackDel);if(l!=null){let c=Object.assign(Object.create(null),a);c.pos=l,c.end!=null&&(c.end=s.changes.mapPos(c.end)),o.push(c)}}i=o}for(let o of s.effects)o.is(t)&&(i=o.value),o.is(rS)&&(i=[]);return i},provide:i=>da.from(i)});return{active:r,extension:[r,$e.define(i=>new Zk(i,n,r,t,e.hoverTime||300)),Xk]}}function s0(n,e){let t=n.plugin($h);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const rS=ae.define(),of=K.define({combine(n){let e,t;for(let r of n)e=e||r.topContainer,t=t||r.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Wi(n,e){let t=n.plugin(o0),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const o0=$e.fromClass(class{constructor(n){this.input=n.state.facet(Ui),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(of);this.top=new Po(n,!0,e.topContainer),this.bottom=new Po(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(of);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Po(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Po(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(Ui);if(t!=this.input){let r=t.filter(l=>l),i=[],s=[],o=[],a=[];for(let l of r){let c=this.specs.indexOf(l),h;c<0?(h=l(n.view),a.push(h)):(h=this.panels[c],h.update&&h.update(n)),i.push(h),(h.top?s:o).push(h)}this.specs=r,this.panels=i,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>H.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Po{constructor(e,t,r){this.view=e,this.top=t,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=af(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=af(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function af(n){let e=n.nextSibling;return n.remove(),e}const Ui=K.define({enables:o0});class bn extends Rn{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}bn.prototype.elementClass="";bn.prototype.toDOM=void 0;bn.prototype.mapMode=st.TrackBefore;bn.prototype.startSide=bn.prototype.endSide=-1;bn.prototype.point=!0;const Jo=K.define(),iS=K.define(),sS={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>fe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Pi=K.define();function oS(n){return[a0(),Pi.of({...sS,...n})]}const lf=K.define({combine:n=>n.some(e=>e)});function a0(n){return[aS]}const aS=$e.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Pi).map(e=>new hf(n,e)),this.fixed=!n.state.facet(lf);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(lf)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=fe.iter(this.view.state.facet(Jo),this.view.viewport.from),r=[],i=this.gutters.map(s=>new lS(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==Je.Text&&o){qc(t,r,a.from);for(let l of i)l.line(this.view,a,r);o=!1}else if(a.widget)for(let l of i)l.widget(this.view,a)}else if(s.type==Je.Text){qc(t,r,s.from);for(let o of i)o.line(this.view,s,r)}else if(s.widget)for(let o of i)o.widget(this.view,s);for(let s of i)s.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Pi),t=n.state.facet(Pi),r=n.docChanged||n.heightChanged||n.viewportChanged||!fe.eq(n.startState.facet(Jo),n.state.facet(Jo),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(r=!0);else{r=!0;let i=[];for(let s of t){let o=e.indexOf(s);o<0?i.push(new hf(this.view,s)):(this.gutters[o].update(n),i.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),i.indexOf(s)<0&&s.destroy();for(let s of i)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=i}return r}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>H.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let r=t.dom.offsetWidth*e.scaleX,i=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Oe.LTR?{left:r,right:i}:{right:r,left:i}})});function cf(n){return Array.isArray(n)?n:[n]}function qc(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class lS{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=fe.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:i}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==i.elements.length){let a=new l0(e,o,s,r);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,o,s,r);this.height=t.bottom,this.i++}line(e,t,r){let i=[];qc(this.cursor,i,t.from),r.length&&(i=i.concat(r));let s=this.gutter.config.lineMarker(e,t,i);s&&i.unshift(s);let o=this.gutter;i.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t),i=r?[r]:null;for(let s of e.state.facet(iS)){let o=s(e,t.widget,t);o&&(i||(i=[])).push(o)}i&&this.addElement(e,t,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class hf{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in t.domEventHandlers)this.dom.addEventListener(r,i=>{let s=i.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=i.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,i)&&i.preventDefault()});this.markers=cf(t.markers(e)),t.initialSpacer&&(this.spacer=new l0(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=cf(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let r=e.view.viewport;return!fe.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class l0{constructor(e,t,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,i)}update(e,t,r,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),cS(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let r="cm-gutterElement",i=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=s<t.length?t[s++]:null,c=!1;if(l){let h=l.elementClass;h&&(r+=" "+h);for(let u=o;u<this.markers.length;u++)if(this.markers[u].compare(l)){a=u,c=!0;break}}else a=this.markers.length;for(;o<a;){let h=this.markers[o++];if(h.toDOM){h.destroy(i);let u=i.nextSibling;i.remove(),i=u}}if(!l)break;l.toDOM&&(c?i=i.nextSibling:this.dom.insertBefore(l.toDOM(e),i)),c&&o++}this.dom.className=r,this.markers=t}destroy(){this.setMarkers(null,[])}}function cS(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}const hS=K.define(),dS=K.define(),vr=K.define({combine(n){return sn(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let r=Object.assign({},e);for(let i in t){let s=r[i],o=t[i];r[i]=s?(a,l,c)=>s(a,l,c)||o(a,l,c):o}return r}})}});class kl extends bn{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Sl(n,e){return n.state.facet(vr).formatNumber(e,n.state)}const uS=Pi.compute([vr],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(hS)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new kl(Sl(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let i of e.state.facet(dS)){let s=i(e,t,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(vr)!=e.state.facet(vr),initialSpacer(e){return new kl(Sl(e,df(e.state.doc.lines)))},updateSpacer(e,t){let r=Sl(t.view,df(t.view.state.doc.lines));return r==e.number?e:new kl(r)},domEventHandlers:n.facet(vr).domEventHandlers,side:"before"}));function fS(n={}){return[vr.of(n),a0(),uS]}function df(n){let e=9;for(;e<n;)e=e*10+9;return e}const pS=new class extends bn{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},mS=Jo.compute(["selection"],n=>{let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.head).from;i>t&&(t=i,e.push(pS.range(i)))}return fe.of(e)});function gS(){return mS}var Cl;const wr=new ue;function bS(n){return K.define({combine:n?e=>e.concat(n):void 0})}const yS=new ue;class $t{constructor(e,t,r=[],i=""){this.data=e,this.name=i,pe.prototype.hasOwnProperty("tree")||Object.defineProperty(pe.prototype,"tree",{get(){return tt(this)}}),this.parser=t,this.extension=[$n.of(this),pe.languageData.of((s,o,a)=>{let l=uf(s,o,a),c=l.type.prop(wr);if(!c)return[];let h=s.facet(c),u=l.type.prop(yS);if(u){let f=l.resolve(o-l.from,a);for(let p of u)if(p.test(f,s)){let m=s.facet(p.facet);return p.type=="replace"?m:m.concat(h)}}return h})].concat(r)}isActiveAt(e,t,r=-1){return uf(e,t,r).type.prop(wr)==this.data}findRegions(e){let t=e.facet($n);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],i=(s,o)=>{if(s.prop(wr)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(ue.mounted);if(a){if(a.tree.prop(wr)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+o,to:l.to+o});else r.push({from:o,to:o+s.length});return}else if(a.overlay){let l=r.length;if(i(a.tree,a.overlay[0].from+o),r.length>l)return}}for(let l=0;l<s.children.length;l++){let c=s.children[l];c instanceof Be&&i(c,s.positions[l]+o)}};return i(tt(e),0),r}get allowsNesting(){return!0}}$t.setState=ae.define();function uf(n,e,t){let r=n.facet($n),i=tt(n).topNode;if(!r||r.allowsNesting)for(let s=i;s;s=s.enter(e,t,Ee.ExcludeBuffers|Ee.EnterBracketed))s.type.isTop&&(i=s);return i}class ua extends $t{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=bS(e.languageData);return new ua(t,e.parser.configure({props:[wr.add(r=>r.isTop?t:void 0)]}),e.name)}configure(e,t){return new ua(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function tt(n){let e=n.field($t.state,!1);return e?e.tree:Be.empty}class xS{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let li=null;class fa{constructor(e,t,r=[],i,s,o,a,l){this.parser=e,this.state=t,this.fragments=r,this.tree=i,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new fa(e,t,[],Be.empty,0,r,[],null)}startParse(){return this.parser.startParse(new xS(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Be.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let i=this.parse.advance();if(i)if(this.fragments=this.withoutTempSkipped(nr.addTree(i,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=i,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(nr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=li;li=this;try{return e()}finally{li=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=ff(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:i,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,u,f)=>l.push({fromA:c,toA:h,fromB:u,toB:f})),r=nr.applyChanges(r,l),i=Be.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);h<u&&a.push({from:h,to:u})}}}return new fa(this.parser,t,r,i,s,o,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:i,to:s}=this.skipped[r];i<e.to&&s>e.from&&(this.fragments=ff(this.fragments,i,s),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Bm{createParse(t,r,i){let s=i[0].from,o=i[i.length-1].to;return{parsedPos:s,advance(){let l=li;if(l){for(let c of i)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new Be(ft.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return li}}function ff(n,e,t){return nr.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class $r{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new $r(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=fa.create(e.facet($n).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new $r(r)}}$t.state=Ye.define({create:$r.init,update(n,e){for(let t of e.effects)if(t.is($t.setState))return t.value;return e.startState.facet($n)!=e.state.facet($n)?$r.init(e.state):n.apply(e)}});let c0=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(c0=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const jl=typeof navigator<"u"&&(!((Cl=navigator.scheduling)===null||Cl===void 0)&&Cl.isInputPending)?()=>navigator.scheduling.isInputPending():null,vS=$e.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field($t.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field($t.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=c0(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:i}}=this.view,s=r.field($t.state);if(s.tree==s.context.tree&&s.context.isDone(i+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!jl?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<i&&r.doc.length>i+1e3,l=s.context.work(()=>jl&&jl()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:$t.setState.of(new $r(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>dt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),$n=K.define({combine(n){return n.length?n[0]:null},enables:n=>[$t.state,vS,H.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class wS{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const kS=K.define(),$a=K.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function pa(n){let e=n.facet($a);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Ki(n,e){let t="",r=n.tabSize,i=n.facet($a)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let s=0;s<e;s++)t+=i;return t}function Vh(n,e){n instanceof pe&&(n=new Fa(n));for(let r of n.state.facet(kS)){let i=r(n,e);if(i!==void 0)return i}let t=tt(n.state);return t.length>=e?SS(n,t,e):null}class Fa{constructor(e,t={}){this.state=e,this.options=t,this.unit=pa(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:s}=this.options;return i!=null&&i>=r.from&&i<=r.to?s&&i==e?{text:"",from:e}:(t<0?i<e:i<=e)?{text:r.text.slice(i-r.from),from:i}:{text:r.text.slice(0,i-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:i}=this.lineAt(e,t);return r.slice(e-i,Math.min(r.length,e+100-i))}column(e,t=1){let{text:r,from:i}=this.lineAt(e,t),s=this.countColumn(r,e-i),o=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return o>-1&&(s+=o-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,t=e.length){return Hr(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:i}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(i);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const h0=new ue;function SS(n,e,t){let r=e.resolveStack(t),i=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(i!=r.node){let s=[];for(let o=i;o&&!(o.from<r.node.from||o.to>r.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)r={node:s[o],next:r}}return d0(r,n,t)}function d0(n,e,t){for(let r=n;r;r=r.next){let i=jS(r.node);if(i)return i(zh.create(e,t,r))}return 0}function CS(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function jS(n){let e=n.type.prop(h0);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(ue.closedBy))){let i=n.lastChild,s=i&&r.indexOf(i.name)>-1;return o=>MS(o,!0,1,void 0,s&&!CS(o)?i.from:void 0)}return n.parent==null?OS:null}function OS(){return 0}class zh extends Fa{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new zh(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(PS(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return d0(this.context.next,this.base,this.pos)}}function PS(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function AS(n){let e=n.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),o=i==null||i<=s.from?s.to:Math.min(s.to,i);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function MS(n,e,t,r,i){let s=n.textAfter,o=s.match(/^\s*/)[0].length,a=r&&s.slice(o,o+r.length)==r||i==n.pos+o,l=AS(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}function pf({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const NS=200;function DS(){return pe.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:r}=n.newSelection.main,i=t.lineAt(r);if(r>i.from+NS)return n;let s=t.sliceString(i.from,r);if(!e.some(c=>c.test(s)))return n;let{state:o}=n,a=-1,l=[];for(let{head:c}of o.selection.ranges){let h=o.doc.lineAt(c);if(h.from==a)continue;a=h.from;let u=Vh(o,h.from);if(u==null)continue;let f=/^\s*/.exec(h.text)[0],p=Ki(o,u);f!=p&&l.push({from:h.from,to:h.from+f.length,insert:p})}return l.length?[n,{changes:l,sequential:!0}]:n})}const TS=K.define(),u0=new ue;function ES(n){let e=n.firstChild,t=n.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?n.to:t.from}:null}function RS(n,e,t){let r=tt(n);if(r.length<t)return null;let i=r.resolveStack(t,1),s=null;for(let o=i;o;o=o.next){let a=o.node;if(a.to<=t||a.from>t)continue;if(s&&a.from<e)break;let l=a.type.prop(u0);if(l&&(a.to<r.length-50||r.length==n.doc.length||!LS(a))){let c=l(a,n);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function LS(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function ma(n,e,t){for(let r of n.facet(TS)){let i=r(n,e,t);if(i)return i}return RS(n,e,t)}function f0(n,e){let t=e.mapPos(n.from,1),r=e.mapPos(n.to,-1);return t>=r?void 0:{from:t,to:r}}const Va=ae.define({map:f0}),Hs=ae.define({map:f0});function p0(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(r=>r.from<=t&&r.to>=t)||e.push(n.lineBlockAt(t));return e}const or=Ye.define({create(){return ne.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,r)=>n=mf(n,t,r)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Va)&&!IS(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(b0),i=r?ne.replace({widget:new _S(r(e.state,t.value))}):gf;n=n.update({add:[i.range(t.value.from,t.value.to)]})}else t.is(Hs)&&(n=n.update({filter:(r,i)=>t.value.from!=r||t.value.to!=i,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(n=mf(n,e.selection.main.head)),n},provide:n=>H.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(r,i)=>{t.push(r,i)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<n.length;){let r=n[t++],i=n[t++];if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid JSON for fold state");e.push(gf.range(r,i))}return ne.set(e,!0)}});function mf(n,e,t=e){let r=!1;return n.between(e,t,(i,s)=>{i<t&&s>e&&(r=!0)}),r?n.update({filterFrom:e,filterTo:t,filter:(i,s)=>i>=t||s<=e}):n}function ga(n,e,t){var r;let i=null;return(r=n.field(or,!1))===null||r===void 0||r.between(e,t,(s,o)=>{(!i||i.from>s)&&(i={from:s,to:o})}),i}function IS(n,e,t){let r=!1;return n.between(e,e,(i,s)=>{i==e&&s==t&&(r=!0)}),r}function m0(n,e){return n.field(or,!1)?e:e.concat(ae.appendConfig.of(y0()))}const BS=n=>{for(let e of p0(n)){let t=ma(n.state,e.from,e.to);if(t)return n.dispatch({effects:m0(n.state,[Va.of(t),g0(n,t)])}),!0}return!1},$S=n=>{if(!n.state.field(or,!1))return!1;let e=[];for(let t of p0(n)){let r=ga(n.state,t.from,t.to);r&&e.push(Hs.of(r),g0(n,r,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function g0(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,i=n.state.doc.lineAt(e.to).number;return H.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${i}.`)}const FS=n=>{let{state:e}=n,t=[];for(let r=0;r<e.doc.length;){let i=n.lineBlockAt(r),s=ma(e,i.from,i.to);s&&t.push(Va.of(s)),r=(s?n.lineBlockAt(s.to):i).to+1}return t.length&&n.dispatch({effects:m0(n.state,t)}),!!t.length},VS=n=>{let e=n.state.field(or,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(r,i)=>{t.push(Hs.of({from:r,to:i}))}),n.dispatch({effects:t}),!0},zS=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:BS},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:$S},{key:"Ctrl-Alt-[",run:FS},{key:"Ctrl-Alt-]",run:VS}],HS={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},b0=K.define({combine(n){return sn(n,HS)}});function y0(n){return[or,KS]}function x0(n,e){let{state:t}=n,r=t.facet(b0),i=o=>{let a=n.lineBlockAt(n.posAtDOM(o.target)),l=ga(n.state,a.from,a.to);l&&n.dispatch({effects:Hs.of(l)}),o.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(n,i,e);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=i,s}const gf=ne.replace({widget:new class extends on{toDOM(n){return x0(n,null)}}});class _S extends on{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return x0(e,this.value)}}const WS={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Ol extends bn{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function US(n={}){let e={...WS,...n},t=new Ol(e,!0),r=new Ol(e,!1),i=$e.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet($n)!=o.state.facet($n)||o.startState.field(or,!1)!=o.state.field(or,!1)||tt(o.startState)!=tt(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new mn;for(let l of o.viewportLineBlocks){let c=ga(o.state,l.from,l.to)?r:ma(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[i,oS({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(i))===null||a===void 0?void 0:a.markers)||fe.empty},initialSpacer(){return new Ol(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=ga(o.state,a.from,a.to);if(c)return o.dispatch({effects:Hs.of(c)}),!0;let h=ma(o.state,a.from,a.to);return h?(o.dispatch({effects:Va.of(h)}),!0):!1}}}),y0()]}const KS=H.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class _r{constructor(e,t){this.specs=e;let r;function i(a){let l=Ln.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const s=typeof t.all=="string"?t.all:t.all?i(t.all):void 0,o=t.scope;this.scope=o instanceof $t?a=>a.prop(wr)==o.data:o?a=>a==o:void 0,this.style=Vm(e.map(a=>({tag:a.tag,class:a.class||i(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new Ln(r):null,this.themeType=t.themeType}static define(e,t){return new _r(e,t||{})}}const Jc=K.define(),v0=K.define({combine(n){return n.length?[n[0]]:null}});function Pl(n){let e=n.facet(Jc);return e.length?e:n.facet(v0)}function Hh(n,e){let t=[qS],r;return n instanceof _r&&(n.module&&t.push(H.styleModule.of(n.module)),r=n.themeType),e?.fallback?t.push(v0.of(n)):r?t.push(Jc.computeN([H.darkTheme],i=>i.facet(H.darkTheme)==(r=="dark")?[n]:[])):t.push(Jc.of(n)),t}class GS{constructor(e){this.markCache=Object.create(null),this.tree=tt(e.state),this.decorations=this.buildDeco(e,Pl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=tt(e.state),r=Pl(e.state),i=r!=Pl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!i&&t.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return ne.none;let r=new mn;for(let{from:i,to:s}of e.visibleRanges)r2(this.tree,t,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=ne.mark({class:l})))},i,s);return r.finish()}}const qS=cr.high($e.fromClass(GS,{decorations:n=>n.decorations})),JS=_r.define([{tag:T.meta,color:"#404740"},{tag:T.link,textDecoration:"underline"},{tag:T.heading,textDecoration:"underline",fontWeight:"bold"},{tag:T.emphasis,fontStyle:"italic"},{tag:T.strong,fontWeight:"bold"},{tag:T.strikethrough,textDecoration:"line-through"},{tag:T.keyword,color:"#708"},{tag:[T.atom,T.bool,T.url,T.contentSeparator,T.labelName],color:"#219"},{tag:[T.literal,T.inserted],color:"#164"},{tag:[T.string,T.deleted],color:"#a11"},{tag:[T.regexp,T.escape,T.special(T.string)],color:"#e40"},{tag:T.definition(T.variableName),color:"#00f"},{tag:T.local(T.variableName),color:"#30a"},{tag:[T.typeName,T.namespace],color:"#085"},{tag:T.className,color:"#167"},{tag:[T.special(T.variableName),T.macroName],color:"#256"},{tag:T.definition(T.propertyName),color:"#00c"},{tag:T.comment,color:"#940"},{tag:T.invalid,color:"#f00"}]),YS=H.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),w0=1e4,k0="()[]{}",S0=K.define({combine(n){return sn(n,{afterCursor:!0,brackets:k0,maxScanDistance:w0,renderMatch:ZS})}}),QS=ne.mark({class:"cm-matchingBracket"}),XS=ne.mark({class:"cm-nonmatchingBracket"});function ZS(n){let e=[],t=n.matched?QS:XS;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}const e3=Ye.define({create(){return ne.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(S0);for(let i of e.state.selection.ranges){if(!i.empty)continue;let s=Qt(e.state,i.head,-1,r)||i.head>0&&Qt(e.state,i.head-1,1,r)||r.afterCursor&&(Qt(e.state,i.head,1,r)||i.head<e.state.doc.length&&Qt(e.state,i.head+1,-1,r));s&&(t=t.concat(r.renderMatch(s,e.state)))}return ne.set(t,!0)},provide:n=>H.decorations.from(n)}),t3=[e3,YS];function n3(n={}){return[S0.of(n),t3]}const r3=new ue;function Yc(n,e,t){let r=n.prop(e<0?ue.openedBy:ue.closedBy);if(r)return r;if(n.name.length==1){let i=t.indexOf(n.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function Qc(n){let e=n.type.prop(r3);return e?e(n.node):n}function Qt(n,e,t,r={}){let i=r.maxScanDistance||w0,s=r.brackets||k0,o=tt(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=Yc(l.type,t,s);if(c&&l.from<l.to){let h=Qc(l);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return i3(n,e,t,l,h,c,s)}}return s3(n,e,t,o,a.type,i,s)}function i3(n,e,t,r,i,s,o){let a=r.parent,l={from:i.from,to:i.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(r.from):h.childAfter(r.to)))do if(t<0?h.to<=r.from:h.from>=r.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let u=Qc(h);return{start:l,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(Yc(h.type,t,o))c++;else if(Yc(h.type,-t,o)){if(c==0){let u=Qc(h);return{start:l,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}c--}}while(t<0?h.prevSibling():h.nextSibling());return{start:l,matched:!1}}function s3(n,e,t,r,i,s,o){let a=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=n.doc.iterRange(e,t>0?n.doc.length:0),u=0;for(let f=0;!h.next().done&&f<=s;){let p=h.value;t<0&&(f+=p.length);let m=e+f*t;for(let g=t>0?0:p.length-1,y=t>0?p.length:-1;g!=y;g+=t){let v=o.indexOf(p[g]);if(!(v<0||r.resolveInner(m+g,1).type!=i))if(v%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:m+g,to:m+g+1},matched:v>>1==l>>1};u--}}t>0&&(f+=p.length)}return h.done?{start:c,matched:!1}:null}const o3=Object.create(null),bf=[ft.none],yf=[],xf=Object.create(null),a3=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])a3[n]=l3(o3,e);function Al(n,e){yf.indexOf(n)>-1||(yf.push(n),console.warn(e))}function l3(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||T[c];h?typeof h=="function"?l.length?l=l.map(h):Al(c,`Modifier ${c} used at start of tag`):l.length?Al(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Al(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),i=r+" "+t.map(a=>a.id),s=xf[i];if(s)return s.id;let o=xf[i]=ft.define({id:bf.length,name:r,props:[$m({[r]:t})]});return bf.push(o),o.id}Oe.RTL,Oe.LTR;const c3=ua.define({name:"json",parser:a2.configure({props:[h0.add({Object:pf({except:/^\s*\}/}),Array:pf({except:/^\s*\]/})}),u0.add({"Object Array":ES})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function h3(){return new wS(c3)}function Xc(){return Xc=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},Xc.apply(null,arguments)}function d3(n,e){if(n==null)return{};var t={};for(var r in n)if({}.hasOwnProperty.call(n,r)){if(e.indexOf(r)!==-1)continue;t[r]=n[r]}return t}const u3=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=Wh(n.state,t.from);return r.line?f3(n):r.block?m3(n):!1};function _h(n,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(r(t.update(i)),!0):!1}}const f3=_h(y3,0),p3=_h(C0,0),m3=_h((n,e)=>C0(n,e,b3(e)),0);function Wh(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const ci=50;function g3(n,{open:e,close:t},r,i){let s=n.sliceDoc(r-ci,r),o=n.sliceDoc(i,i+ci),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:r-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let h,u;i-r<=2*ci?h=u=n.sliceDoc(r,i):(h=n.sliceDoc(r,r+ci),u=n.sliceDoc(i-ci,i));let f=/^\s*/.exec(h)[0].length,p=/\s*$/.exec(u)[0].length,m=u.length-p-t.length;return h.slice(f,f+e.length)==e&&u.slice(m,m+t.length)==t?{open:{pos:r+f+e.length,margin:/\s/.test(h.charAt(f+e.length))?1:0},close:{pos:i-p-t.length,margin:/\s/.test(u.charAt(m-1))?1:0}}:null}function b3(n){let e=[];for(let t of n.selection.ranges){let r=n.doc.lineAt(t.from),i=t.to<=r.to?r:n.doc.lineAt(t.to);i.from>r.from&&i.from==t.to&&(i=t.to==r.to+1?r:n.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function C0(n,e,t=e.selection.ranges){let r=t.map(s=>Wh(e,s.from).block);if(!r.every(s=>s))return null;let i=t.map((s,o)=>g3(e,r[o],s.from,s.to));if(n!=2&&!i.every(s=>s))return{changes:e.changes(t.map((s,o)=>i[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(n!=1&&i.some(s=>s)){let s=[];for(let o=0,a;o<i.length;o++)if(a=i[o]){let l=r[o],{open:c,close:h}=a;s.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:h.pos-h.margin,to:h.pos+l.close.length})}return{changes:s}}return null}function y3(n,e,t=e.selection.ranges){let r=[],i=-1;for(let{from:s,to:o}of t){let a=r.length,l=1e9,c=Wh(e,s).line;if(c){for(let h=s;h<=o;){let u=e.doc.lineAt(h);if(u.from>i&&(s==o||o>u.from)){i=u.from;let f=/^\s*/.exec(u.text)[0].length,p=f==u.length,m=u.text.slice(f,f+c.length)==c?f:-1;f<u.text.length&&f<l&&(l=f),r.push({line:u,comment:m,token:c,indent:f,empty:p,single:!1})}h=u.to+1}if(l<1e9)for(let h=a;h<r.length;h++)r[h].indent<r[h].line.text.length&&(r[h].indent=l);r.length==a+1&&(r[a].single=!0)}}if(n!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:u}of r)(u||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}const Zc=rn.define(),x3=rn.define(),v3=K.define(),j0=K.define({combine(n){return sn(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,i)=>e(r,i)||t(r,i)})}}),O0=Ye.define({create(){return Xt.empty},update(n,e){let t=e.state.facet(j0),r=e.annotation(Zc);if(r){let l=ut.fromTransaction(e,r.selection),c=r.side,h=c==0?n.undone:n.done;return l?h=ba(h,h.length,t.minDepth,l):h=M0(h,e.startState.selection),new Xt(c==0?r.rest:h,c==0?h:r.rest)}let i=e.annotation(x3);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(He.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=ut.fromTransaction(e),o=e.annotation(He.time),a=e.annotation(He.userEvent);return s?n=n.addChanges(s,o,a,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(i=="full"||i=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new Xt(n.done.map(ut.fromJSON),n.undone.map(ut.fromJSON))}});function w3(n={}){return[O0,j0.of(n),H.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?P0:e.inputType=="historyRedo"?eh:null;return r?(e.preventDefault(),r(t)):!1}})]}function za(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(O0,!1);if(!i)return!1;let s=i.pop(n,t,e);return s?(r(s),!0):!1}}const P0=za(0,!1),eh=za(1,!1),k3=za(0,!0),S3=za(1,!0);class ut{constructor(e,t,r,i,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=i,this.selectionsAfter=s}setSelAfter(e){return new ut(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new ut(e.changes&&Ve.fromJSON(e.changes),[],e.mapped&&en.fromJSON(e.mapped),e.startSelection&&E.fromJSON(e.startSelection),e.selectionsAfter.map(E.fromJSON))}static fromTransaction(e,t){let r=Pt;for(let i of e.startState.facet(v3)){let s=i(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new ut(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,Pt)}static selection(e){return new ut(void 0,Pt,void 0,void 0,e)}}function ba(n,e,t,r){let i=e+1>t+20?e-t-1:0,s=n.slice(i,e);return s.push(r),s}function C3(n,e){let t=[],r=!1;return n.iterChangedRanges((i,s)=>t.push(i,s)),e.iterChangedRanges((i,s,o,a)=>{for(let l=0;l<t.length;){let c=t[l++],h=t[l++];a>=c&&o<=h&&(r=!0)}}),r}function j3(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function A0(n,e){return n.length?e.length?n.concat(e):n:e}const Pt=[],O3=200;function M0(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-O3));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),ba(n,n.length-1,1e9,t.setSelAfter(r)))}else return[ut.selection([e])]}function P3(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Ml(n,e){if(!n.length)return n;let t=n.length,r=Pt;for(;t;){let i=A3(n[t-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let s=n.slice(0,t);return s[t-1]=i,s}else e=i.mapped,t--,r=i.selectionsAfter}return r.length?[ut.selection(r)]:Pt}function A3(n,e,t){let r=A0(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):Pt,t);if(!n.changes)return ut.selection(r);let i=n.changes.map(e),s=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(s):s;return new ut(i,ae.mapEffects(n.effects,e),o,n.startSelection.map(s),r)}const M3=/^(input\.type|delete)($|\.)/;class Xt{constructor(e,t,r=0,i=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new Xt(this.done,this.undone):this}addChanges(e,t,r,i,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||M3.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(s,C3(a.changes,e.changes))||r=="input.type.compose")?o=ba(o,o.length-1,i.minDepth,new ut(e.changes.compose(a.changes),A0(ae.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,Pt)):o=ba(o,o.length,i.minDepth,e),new Xt(o,Pt,t,r)}addSelection(e,t,r,i){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Pt;return s.length>0&&t-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&j3(s[s.length-1],e)?this:new Xt(M0(this.done,e),this.undone,t,r)}addMapping(e){return new Xt(Ml(this.done,e),Ml(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let i=e==0?this.done:this.undone;if(i.length==0)return null;let s=i[i.length-1],o=s.selectionsAfter[0]||t.selection;if(r&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Zc.of({side:e,rest:P3(i),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=i.length==1?Pt:i.slice(0,i.length-1);return s.mapped&&(a=Ml(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Zc.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Xt.empty=new Xt(Pt,Pt);const N3=[{key:"Mod-z",run:P0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:eh,preventDefault:!0},{linux:"Ctrl-Shift-z",run:eh,preventDefault:!0},{key:"Mod-u",run:k3,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:S3,preventDefault:!0}];function Wr(n,e){return E.create(n.ranges.map(e),n.mainIndex)}function Vt(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function zt({state:n,dispatch:e},t){let r=Wr(n.selection,t);return r.eq(n.selection,!0)?!1:(e(Vt(n,r)),!0)}function Ha(n,e){return E.cursor(e?n.to:n.from)}function N0(n,e){return zt(n,t=>t.empty?n.moveByChar(t,e):Ha(t,e))}function nt(n){return n.textDirectionAt(n.state.selection.main.head)==Oe.LTR}const D0=n=>N0(n,!nt(n)),T0=n=>N0(n,nt(n));function E0(n,e){return zt(n,t=>t.empty?n.moveByGroup(t,e):Ha(t,e))}const D3=n=>E0(n,!nt(n)),T3=n=>E0(n,nt(n));function E3(n,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function _a(n,e,t){let r=tt(n).resolveInner(e.head),i=t?ue.closedBy:ue.openedBy;for(let l=e.head;;){let c=t?r.childAfter(l):r.childBefore(l);if(!c)break;E3(n,c,i)?r=c:l=t?c.to:c.from}let s=r.type.prop(i),o,a;return s&&(o=t?Qt(n,r.from,1):Qt(n,r.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?r.to:r.from,E.cursor(a,t?-1:1)}const R3=n=>zt(n,e=>_a(n.state,e,!nt(n))),L3=n=>zt(n,e=>_a(n.state,e,nt(n)));function R0(n,e){return zt(n,t=>{if(!t.empty)return Ha(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const L0=n=>R0(n,!1),I0=n=>R0(n,!0);function B0(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,r=0,i;if(e){for(let s of n.state.facet(H.scrollMargins)){let o=s(n);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(r=Math.max(o?.bottom,r))}i=n.scrollDOM.clientHeight-t-r}else i=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:r,selfScroll:e,height:Math.max(n.defaultLineHeight,i-5)}}function $0(n,e){let t=B0(n),{state:r}=n,i=Wr(r.selection,o=>o.empty?n.moveVertically(o,e,t.height):Ha(o,e));if(i.eq(r.selection))return!1;let s;if(t.selfScroll){let o=n.coordsAtPos(r.selection.main.head),a=n.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottom<c&&(s=H.scrollIntoView(i.main.head,{y:"start",yMargin:o.top-l}))}return n.dispatch(Vt(r,i),{effects:s}),!0}const vf=n=>$0(n,!1),th=n=>$0(n,!0);function Vn(n,e,t){let r=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?r.to:r.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==r.from&&r.length){let s=/^\s*/.exec(n.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(i=E.cursor(r.from+s))}return i}const I3=n=>zt(n,e=>Vn(n,e,!0)),B3=n=>zt(n,e=>Vn(n,e,!1)),$3=n=>zt(n,e=>Vn(n,e,!nt(n))),F3=n=>zt(n,e=>Vn(n,e,nt(n))),V3=n=>zt(n,e=>E.cursor(n.lineBlockAt(e.head).from,1)),z3=n=>zt(n,e=>E.cursor(n.lineBlockAt(e.head).to,-1));function H3(n,e,t){let r=!1,i=Wr(n.selection,s=>{let o=Qt(n,s.head,-1)||Qt(n,s.head,1)||s.head>0&&Qt(n,s.head-1,1)||s.head<n.doc.length&&Qt(n,s.head+1,-1);if(!o||!o.end)return s;r=!0;let a=o.start.from==s.head?o.end.to:o.end.from;return E.cursor(a)});return r?(e(Vt(n,i)),!0):!1}const _3=({state:n,dispatch:e})=>H3(n,e);function Rt(n,e){let t=Wr(n.state.selection,r=>{let i=e(r);return E.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(Vt(n.state,t)),!0)}function F0(n,e){return Rt(n,t=>n.moveByChar(t,e))}const V0=n=>F0(n,!nt(n)),z0=n=>F0(n,nt(n));function H0(n,e){return Rt(n,t=>n.moveByGroup(t,e))}const W3=n=>H0(n,!nt(n)),U3=n=>H0(n,nt(n)),K3=n=>Rt(n,e=>_a(n.state,e,!nt(n))),G3=n=>Rt(n,e=>_a(n.state,e,nt(n)));function _0(n,e){return Rt(n,t=>n.moveVertically(t,e))}const W0=n=>_0(n,!1),U0=n=>_0(n,!0);function K0(n,e){return Rt(n,t=>n.moveVertically(t,e,B0(n).height))}const wf=n=>K0(n,!1),kf=n=>K0(n,!0),q3=n=>Rt(n,e=>Vn(n,e,!0)),J3=n=>Rt(n,e=>Vn(n,e,!1)),Y3=n=>Rt(n,e=>Vn(n,e,!nt(n))),Q3=n=>Rt(n,e=>Vn(n,e,nt(n))),X3=n=>Rt(n,e=>E.cursor(n.lineBlockAt(e.head).from)),Z3=n=>Rt(n,e=>E.cursor(n.lineBlockAt(e.head).to)),Sf=({state:n,dispatch:e})=>(e(Vt(n,{anchor:0})),!0),Cf=({state:n,dispatch:e})=>(e(Vt(n,{anchor:n.doc.length})),!0),jf=({state:n,dispatch:e})=>(e(Vt(n,{anchor:n.selection.main.anchor,head:0})),!0),Of=({state:n,dispatch:e})=>(e(Vt(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),e4=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),t4=({state:n,dispatch:e})=>{let t=Wa(n).map(({from:r,to:i})=>E.range(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:E.create(t),userEvent:"select"})),!0},n4=({state:n,dispatch:e})=>{let t=Wr(n.selection,r=>{let i=tt(n),s=i.resolveStack(r.from,1);if(r.empty){let o=i.resolveStack(r.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&o.next)return E.range(a.to,a.from)}return r});return t.eq(n.selection)?!1:(e(Vt(n,t)),!0)};function G0(n,e){let{state:t}=n,r=t.selection,i=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to<n.state.doc.length:o.from>0)for(let a=s;;){let l=n.moveVertically(a,e);if(l.head<o.from||l.head>o.to){i.some(c=>c.head==l.head)||i.push(l);break}else{if(l.head==a.head)break;a=l}}}return i.length==r.ranges.length?!1:(n.dispatch(Vt(t,E.create(i,i.length-1))),!0)}const r4=n=>G0(n,!1),i4=n=>G0(n,!0),s4=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=E.create([t.main]):t.main.empty||(r=E.create([E.cursor(t.main.head)])),r?(e(Vt(n,r)),!0):!1};function _s(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:r}=n,i=r.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);l<o?(t="delete.backward",l=Ao(n,l,!1)):l>o&&(t="delete.forward",l=Ao(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ao(n,o,!1),a=Ao(n,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:E.cursor(o,o<s.head?-1:1)}});return i.changes.empty?!1:(n.dispatch(r.update(i,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?H.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Ao(n,e,t){if(n instanceof H)for(let r of n.state.facet(H.atomicRanges).map(i=>i(n)))r.between(e,e,(i,s)=>{i<e&&s>e&&(e=t?s:i)});return e}const q0=(n,e,t)=>_s(n,r=>{let i=r.from,{state:s}=n,o=s.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(a=o.text.slice(0,i-o.from))){if(a[a.length-1]==" ")return i-1;let c=Hr(a,s.tabSize),h=c%pa(s)||pa(s);for(let u=0;u<h&&a[a.length-1-u]==" ";u++)i--;l=i}else l=ze(o.text,i-o.from,e,e)+o.from,l==i&&o.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,i-o.from))&&(l=ze(o.text,l-o.from,!1,!1)+o.from);return l}),nh=n=>q0(n,!1,!0),J0=n=>q0(n,!0,!1),Y0=(n,e)=>_s(n,t=>{let r=t.head,{state:i}=n,s=i.doc.lineAt(r),o=i.charCategorizer(r);for(let a=null;;){if(r==(e?s.to:s.from)){r==t.head&&s.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let l=ze(s.text,r-s.from,e)+s.from,c=s.text.slice(Math.min(r,l)-s.from,Math.max(r,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||r!=t.head)&&(a=h),r=l}return r}),Q0=n=>Y0(n,!1),o4=n=>Y0(n,!0),a4=n=>_s(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),l4=n=>_s(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),c4=n=>_s(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),h4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:xe.of(["",""])},range:E.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},d4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>{if(!r.empty||r.from==0||r.from==n.doc.length)return{range:r};let i=r.from,s=n.doc.lineAt(i),o=i==s.from?i-1:ze(s.text,i-s.from,!1)+s.from,a=i==s.to?i+1:ze(s.text,i-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:n.doc.slice(i,a).append(n.doc.slice(o,i))},range:E.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Wa(n){let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.from),s=n.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=n.doc.lineAt(r.to-1)),t>=i.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(r)}else e.push({from:i.from,to:s.to,ranges:[r]});t=s.number+1}return e}function X0(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let s of Wa(n)){if(t?s.to==n.doc.length:s.from==0)continue;let o=n.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+n.lineBreak});for(let l of s.ranges)i.push(E.range(Math.min(n.doc.length,l.anchor+a),Math.min(n.doc.length,l.head+a)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:n.lineBreak+o.text});for(let l of s.ranges)i.push(E.range(l.anchor-a,l.head-a))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:E.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const u4=({state:n,dispatch:e})=>X0(n,e,!1),f4=({state:n,dispatch:e})=>X0(n,e,!0);function Z0(n,e,t){if(n.readOnly)return!1;let r=[];for(let s of Wa(n))t?r.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):r.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});let i=n.changes(r);return e(n.update({changes:i,selection:n.selection.map(i,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const p4=({state:n,dispatch:e})=>Z0(n,e,!1),m4=({state:n,dispatch:e})=>Z0(n,e,!0),g4=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Wa(e).map(({from:i,to:s})=>(i>0?i--:s<e.doc.length&&s++,{from:i,to:s}))),r=Wr(e.selection,i=>{let s;if(n.lineWrapping){let o=n.lineBlockAt(i.head),a=n.coordsAtPos(i.head,i.assoc||1);a&&(s=o.bottom+n.documentTop-a.bottom+n.defaultLineHeight/2)}return n.moveVertically(i,!0,s)}).map(t);return n.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function b4(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=tt(n).resolveInner(e),r=t.childBefore(e),i=t.childAfter(e),s;return r&&i&&r.to<=e&&i.from>=e&&(s=r.type.prop(ue.closedBy))&&s.indexOf(i.name)>-1&&n.doc.lineAt(r.to).from==n.doc.lineAt(i.from).from&&!/\S/.test(n.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}const Pf=eb(!1),y4=eb(!0);function eb(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:s,to:o}=i,a=e.doc.lineAt(s),l=!n&&s==o&&b4(e,s);n&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Fa(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=Vh(c,s);for(h==null&&(h=Hr(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<a.to&&/\s/.test(a.text[o-a.from]);)o++;l?{from:s,to:o}=l:s>a.from&&s<a.from+100&&!/\S/.test(a.text.slice(0,s))&&(s=a.from);let u=["",Ki(e,h)];return l&&u.push(Ki(e,c.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:xe.of(u)},range:E.cursor(s+1+u[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Uh(n,e){let t=-1;return n.changeByRange(r=>{let i=[];for(let o=r.from;o<=r.to;){let a=n.doc.lineAt(o);a.number>t&&(r.empty||r.to>a.from)&&(e(a,i,r),t=a.number),o=a.to+1}let s=n.changes(i);return{changes:i,range:E.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const x4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new Fa(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),i=Uh(n,(s,o,a)=>{let l=Vh(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=Ki(n,l);(c!=h||a.from<s.from+c.length)&&(t[s.from]=l,o.push({from:s.from,to:s.from+c.length,insert:h}))});return i.changes.empty||e(n.update(i,{userEvent:"indent"})),!0},tb=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Uh(n,(t,r)=>{r.push({from:t.from,insert:n.facet($a)})}),{userEvent:"input.indent"})),!0),nb=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Uh(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let s=Hr(i,n.tabSize),o=0,a=Ki(n,Math.max(0,s-pa(n)));for(;o<i.length&&o<a.length&&i.charCodeAt(o)==a.charCodeAt(o);)o++;r.push({from:t.from+o,to:t.from+i.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),v4=n=>(n.setTabFocusMode(),!0),w4=[{key:"Ctrl-b",run:D0,shift:V0,preventDefault:!0},{key:"Ctrl-f",run:T0,shift:z0},{key:"Ctrl-p",run:L0,shift:W0},{key:"Ctrl-n",run:I0,shift:U0},{key:"Ctrl-a",run:V3,shift:X3},{key:"Ctrl-e",run:z3,shift:Z3},{key:"Ctrl-d",run:J0},{key:"Ctrl-h",run:nh},{key:"Ctrl-k",run:a4},{key:"Ctrl-Alt-h",run:Q0},{key:"Ctrl-o",run:h4},{key:"Ctrl-t",run:d4},{key:"Ctrl-v",run:th}],k4=[{key:"ArrowLeft",run:D0,shift:V0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:D3,shift:W3,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:$3,shift:Y3,preventDefault:!0},{key:"ArrowRight",run:T0,shift:z0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:T3,shift:U3,preventDefault:!0},{mac:"Cmd-ArrowRight",run:F3,shift:Q3,preventDefault:!0},{key:"ArrowUp",run:L0,shift:W0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Sf,shift:jf},{mac:"Ctrl-ArrowUp",run:vf,shift:wf},{key:"ArrowDown",run:I0,shift:U0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Cf,shift:Of},{mac:"Ctrl-ArrowDown",run:th,shift:kf},{key:"PageUp",run:vf,shift:wf},{key:"PageDown",run:th,shift:kf},{key:"Home",run:B3,shift:J3,preventDefault:!0},{key:"Mod-Home",run:Sf,shift:jf},{key:"End",run:I3,shift:q3,preventDefault:!0},{key:"Mod-End",run:Cf,shift:Of},{key:"Enter",run:Pf,shift:Pf},{key:"Mod-a",run:e4},{key:"Backspace",run:nh,shift:nh,preventDefault:!0},{key:"Delete",run:J0,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Q0,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:o4,preventDefault:!0},{mac:"Mod-Backspace",run:l4,preventDefault:!0},{mac:"Mod-Delete",run:c4,preventDefault:!0}].concat(w4.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),S4=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:R3,shift:K3},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:L3,shift:G3},{key:"Alt-ArrowUp",run:u4},{key:"Shift-Alt-ArrowUp",run:p4},{key:"Alt-ArrowDown",run:f4},{key:"Shift-Alt-ArrowDown",run:m4},{key:"Mod-Alt-ArrowUp",run:r4},{key:"Mod-Alt-ArrowDown",run:i4},{key:"Escape",run:s4},{key:"Mod-Enter",run:y4},{key:"Alt-l",mac:"Ctrl-l",run:t4},{key:"Mod-i",run:n4,preventDefault:!0},{key:"Mod-[",run:nb},{key:"Mod-]",run:tb},{key:"Mod-Alt-\\",run:x4},{key:"Shift-Mod-k",run:g4},{key:"Shift-Mod-\\",run:_3},{key:"Mod-/",run:u3},{key:"Alt-A",run:p3},{key:"Ctrl-m",mac:"Shift-Alt-m",run:v4}].concat(k4),C4={key:"Tab",run:tb,shift:nb},Af=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Fr{constructor(e,t,r=0,i=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=s?a=>s(Af(a)):Af,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return lt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Sh(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Jt(e);let i=this.normalize(t);if(i.length)for(let s=0,o=r;;s++){let a=i.charCodeAt(s),l=this.match(a,o,this.bufferPos+this.bufferStart);if(s==i.length-1){if(l)return this.value=l,this;break}o==r&&s<t.length&&t.charCodeAt(s)==a&&o++}}}match(e,t,r){let i=null;for(let s=0;s<this.matches.length;s+=2){let o=this.matches[s],a=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?i={from:this.matches[s+1],to:r}:(this.matches[s]++,a=!0)),a||(this.matches.splice(s,2),s-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?i={from:t,to:r}:this.matches.push(1,t)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&(Fr.prototype[Symbol.iterator]=function(){return this});const rb={from:-1,to:-1,match:/.*/.exec("")},Kh="gm"+(/x/.unicode==null?"":"u");class ib{constructor(e,t,r,i=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=rb,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new sb(e,t,r,i,s);this.re=new RegExp(t,Kh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let o=e.lineAt(i);this.curLineStart=o.from,this.matchPos=ya(e,i),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,i=r+t[0].length;if(this.matchPos=ya(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<i||r>this.value.to)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Nl=new WeakMap;class Dr{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let i=Nl.get(e);if(!i||i.from>=r||i.to<=t){let a=new Dr(t,e.sliceString(t,r));return Nl.set(e,a),a}if(i.from==t&&i.to==r)return i;let{text:s,from:o}=i;return o>t&&(s=e.sliceString(t,o)+s,o=t),i.to<r&&(s+=e.sliceString(i.to,r)),Nl.set(e,new Dr(o,s)),new Dr(t,s.slice(t-o,r-o))}}class sb{constructor(e,t,r,i,s){this.text=e,this.to=s,this.done=!1,this.value=rb,this.matchPos=ya(e,i),this.re=new RegExp(t,Kh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Dr.get(e,i,this.chunkEnd(i+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let r=this.flat.from+t.index,i=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this.matchPos=ya(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Dr.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(ib.prototype[Symbol.iterator]=sb.prototype[Symbol.iterator]=function(){return this});function j4(n){try{return new RegExp(n,Kh),!0}catch{return!1}}function ya(n,e){if(e>=n.length)return e;let t=n.lineAt(e),r;for(;e<t.to&&(r=t.text.charCodeAt(e-t.from))>=56320&&r<57344;)e++;return e}function rh(n){let e=String(n.state.doc.lineAt(n.state.selection.main.head).number),t=Ce("input",{class:"cm-textfield",name:"line",value:e}),r=Ce("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),n.dispatch({effects:Ai.of(!1)}),n.focus()):s.keyCode==13&&(s.preventDefault(),i())},onsubmit:s=>{s.preventDefault(),i()}},Ce("label",n.state.phrase("Go to line"),": ",t)," ",Ce("button",{class:"cm-button",type:"submit"},n.state.phrase("go")),Ce("button",{name:"close",onclick:()=>{n.dispatch({effects:Ai.of(!1)}),n.focus()},"aria-label":n.state.phrase("close"),type:"button"},["×"]));function i(){let s=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!s)return;let{state:o}=n,a=o.doc.lineAt(o.selection.main.head),[,l,c,h,u]=s,f=h?+h.slice(1):0,p=c?+c:a.number;if(c&&u){let y=p/100;l&&(y=y*(l=="-"?-1:1)+a.number/o.doc.lines),p=Math.round(o.doc.lines*y)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=o.doc.line(Math.max(1,Math.min(o.doc.lines,p))),g=E.cursor(m.from+Math.max(0,Math.min(f,m.length)));n.dispatch({effects:[Ai.of(!1),H.scrollIntoView(g.from,{y:"center"})],selection:g}),n.focus()}return{dom:r}}const Ai=ae.define(),Mf=Ye.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(Ai)&&(n=t.value);return n},provide:n=>Ui.from(n,e=>e?rh:null)}),O4=n=>{let e=Wi(n,rh);if(!e){let t=[Ai.of(!0)];n.state.field(Mf,!1)==null&&t.push(ae.appendConfig.of([Mf,P4])),n.dispatch({effects:t}),e=Wi(n,rh)}return e&&e.dom.querySelector("input").select(),!0},P4=H.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),A4={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},M4=K.define({combine(n){return sn(n,A4,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function N4(n){return[L4,R4]}const D4=ne.mark({class:"cm-selectionMatch"}),T4=ne.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Nf(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=Ne.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=Ne.Word)}function E4(n,e,t,r){return n(e.sliceDoc(t,t+1))==Ne.Word&&n(e.sliceDoc(r-1,r))==Ne.Word}const R4=$e.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(M4),{state:t}=n,r=t.selection;if(r.ranges.length>1)return ne.none;let i=r.main,s,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return ne.none;let l=t.wordAt(i.head);if(!l)return ne.none;o=t.charCategorizer(i.head),s=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l<e.minSelectionLength||l>200)return ne.none;if(e.wholeWords){if(s=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(Nf(o,t,i.from,i.to)&&E4(o,t,i.from,i.to)))return ne.none}else if(s=t.sliceDoc(i.from,i.to),!s)return ne.none}let a=[];for(let l of n.visibleRanges){let c=new Fr(t.doc,s,l.from,l.to);for(;!c.next().done;){let{from:h,to:u}=c.value;if((!o||Nf(o,t,h,u))&&(i.empty&&h<=i.from&&u>=i.to?a.push(T4.range(h,u)):(h>=i.to||u<=i.from)&&a.push(D4.range(h,u)),a.length>e.maxMatches))return ne.none}}return ne.set(a)}},{decorations:n=>n.decorations}),L4=H.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),I4=({state:n,dispatch:e})=>{let{selection:t}=n,r=E.create(t.ranges.map(i=>n.wordAt(i.head)||E.cursor(i.head)),t.mainIndex);return r.eq(t)?!1:(e(n.update({selection:r})),!0)};function B4(n,e){let{main:t,ranges:r}=n.selection,i=n.wordAt(t.head),s=i&&i.from==t.from&&i.to==t.to;for(let o=!1,a=new Fr(n.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Fr(n.doc,e,0,Math.max(0,r[r.length-1].from-1)),o=!0}else{if(o&&r.some(l=>l.from==a.value.from))continue;if(s){let l=n.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const $4=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return I4({state:n,dispatch:e});let r=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(s=>n.sliceDoc(s.from,s.to)!=r))return!1;let i=B4(n,r);return i?(e(n.update({selection:n.selection.addRange(E.range(i.from,i.to),!1),effects:H.scrollIntoView(i.to)})),!0):!1},Ur=K.define({combine(n){return sn(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Y4(e),scrollToMatch:e=>H.scrollIntoView(e)})}});class ob{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||j4(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?`
63
- `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new H4(this):new V4(this)}getCursor(e,t=0,r){let i=e.doc?e:pe.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?br(this,i,t,r):gr(this,i,t,r)}}class ab{constructor(e){this.spec=e}}function gr(n,e,t,r){return new Fr(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:i=>i.toLowerCase(),n.wholeWord?F4(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function F4(n,e){return(t,r,i,s)=>((s>t||s+i.length<r)&&(s=Math.max(0,t-2),i=n.sliceString(s,Math.min(n.length,r+2))),(e(xa(i,t-s))!=Ne.Word||e(va(i,t-s))!=Ne.Word)&&(e(va(i,r-s))!=Ne.Word||e(xa(i,r-s))!=Ne.Word))}class V4 extends ab{constructor(e){super(e)}nextMatch(e,t,r){let i=gr(this.spec,e,r,e.doc.length).nextOverlapping();if(i.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);i=gr(this.spec,e,0,s).nextOverlapping()}return i.done||i.value.from==t&&i.value.to==r?null:i.value}prevMatchInRange(e,t,r){for(let i=r;;){let s=Math.max(t,i-1e4-this.spec.unquoted.length),o=gr(this.spec,e,s,i),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;i-=1e4}}prevMatch(e,t,r){let i=this.prevMatchInRange(e,0,t);return i||(i=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),i&&(i.from!=t||i.to!=r)?i:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=gr(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=gr(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}function br(n,e,t,r){return new ib(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?z4(e.charCategorizer(e.selection.main.head)):void 0},t,r)}function xa(n,e){return n.slice(ze(n,e,!1),e)}function va(n,e){return n.slice(e,ze(n,e))}function z4(n){return(e,t,r)=>!r[0].length||(n(xa(r.input,r.index))!=Ne.Word||n(va(r.input,r.index))!=Ne.Word)&&(n(va(r.input,r.index+r[0].length))!=Ne.Word||n(xa(r.input,r.index+r[0].length))!=Ne.Word)}class H4 extends ab{nextMatch(e,t,r){let i=br(this.spec,e,r,e.doc.length).next();return i.done&&(i=br(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,r){for(let i=1;;i++){let s=Math.max(t,r-i*1e4),o=br(this.spec,e,s,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let i=r.length;i>0;i--){let s=+r.slice(0,i);if(s>0&&s<e.match.length)return e.match[s]+r.slice(i)}return t})}matchAll(e,t){let r=br(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=br(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}const Gi=ae.define(),Gh=ae.define(),Tn=Ye.define({create(n){return new Dl(ih(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Gi)?n=new Dl(t.value.create(),n.panel):t.is(Gh)&&(n=new Dl(n.query,t.value?qh:null));return n},provide:n=>Ui.from(n,e=>e.panel)});class Dl{constructor(e,t){this.query=e,this.panel=t}}const _4=ne.mark({class:"cm-searchMatch"}),W4=ne.mark({class:"cm-searchMatch cm-searchMatch-selected"}),U4=$e.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Tn))}update(n){let e=n.state.field(Tn);(e!=n.startState.field(Tn)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return ne.none;let{view:t}=this,r=new mn;for(let i=0,s=t.visibleRanges,o=s.length;i<o;i++){let{from:a,to:l}=s[i];for(;i<o-1&&l>s[i+1].from-2*250;)l=s[++i].to;n.highlight(t.state,a,l,(c,h)=>{let u=t.state.selection.ranges.some(f=>f.from==c&&f.to==h);r.add(c,h,u?W4:_4)})}return r.finish()}},{decorations:n=>n.decorations});function Ws(n){return e=>{let t=e.state.field(Tn,!1);return t&&t.query.spec.valid?n(e,t):hb(e)}}const wa=Ws((n,{query:e})=>{let{to:t}=n.state.selection.main,r=e.nextMatch(n.state,t,t);if(!r)return!1;let i=E.single(r.from,r.to),s=n.state.facet(Ur);return n.dispatch({selection:i,effects:[Jh(n,r),s.scrollToMatch(i.main,n)],userEvent:"select.search"}),cb(n),!0}),ka=Ws((n,{query:e})=>{let{state:t}=n,{from:r}=t.selection.main,i=e.prevMatch(t,r,r);if(!i)return!1;let s=E.single(i.from,i.to),o=n.state.facet(Ur);return n.dispatch({selection:s,effects:[Jh(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),cb(n),!0}),K4=Ws((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:E.create(t.map(r=>E.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),G4=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:r,to:i}=t.main,s=[],o=0;for(let a=new Fr(n.doc,n.sliceDoc(r,i));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(o=s.length),s.push(E.range(a.value.from,a.value.to))}return e(n.update({selection:E.create(s,o),userEvent:"select.search.matches"})),!0},Df=Ws((n,{query:e})=>{let{state:t}=n,{from:r,to:i}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,r,r);if(!s)return!1;let o=s,a=[],l,c,h=[];o.from==r&&o.to==i&&(c=t.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:c}),o=e.nextMatch(t,o.from,o.to),h.push(H.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+".")));let u=n.state.changes(a);return o&&(l=E.single(o.from,o.to).map(u),h.push(Jh(n,o)),h.push(t.facet(Ur).scrollToMatch(l.main,n))),n.dispatch({changes:u,selection:l,effects:h,userEvent:"input.replace"}),!0}),q4=Ws((n,{query:e})=>{if(n.state.readOnly)return!1;let t=e.matchAll(n.state,1e9).map(i=>{let{from:s,to:o}=i;return{from:s,to:o,insert:e.getReplacement(i)}});if(!t.length)return!1;let r=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:H.announce.of(r),userEvent:"input.replace.all"}),!0});function qh(n){return n.state.facet(Ur).createPanel(n)}function ih(n,e){var t,r,i,s,o;let a=n.selection.main,l=a.empty||a.to>a.from+100?"":n.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=n.facet(Ur);return new ob({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(i=e?.literal)!==null&&i!==void 0?i:c.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function lb(n){let e=Wi(n,qh);return e&&e.dom.querySelector("[main-field]")}function cb(n){let e=lb(n);e&&e==n.root.activeElement&&e.select()}const hb=n=>{let e=n.state.field(Tn,!1);if(e&&e.panel){let t=lb(n);if(t&&t!=n.root.activeElement){let r=ih(n.state,e.query.spec);r.valid&&n.dispatch({effects:Gi.of(r)}),t.focus(),t.select()}}else n.dispatch({effects:[Gh.of(!0),e?Gi.of(ih(n.state,e.query.spec)):ae.appendConfig.of(X4)]});return!0},db=n=>{let e=n.state.field(Tn,!1);if(!e||!e.panel)return!1;let t=Wi(n,qh);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Gh.of(!1)}),!0},J4=[{key:"Mod-f",run:hb,scope:"editor search-panel"},{key:"F3",run:wa,shift:ka,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:wa,shift:ka,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:db,scope:"editor search-panel"},{key:"Mod-Shift-l",run:G4},{key:"Mod-Alt-g",run:O4},{key:"Mod-d",run:$4,preventDefault:!0}];class Y4{constructor(e){this.view=e;let t=this.query=e.state.field(Tn).query.spec;this.commit=this.commit.bind(this),this.searchField=Ce("input",{value:t.search,placeholder:gt(e,"Find"),"aria-label":gt(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Ce("input",{value:t.replace,placeholder:gt(e,"Replace"),"aria-label":gt(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Ce("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Ce("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Ce("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(i,s,o){return Ce("button",{class:"cm-button",name:i,onclick:s,type:"button"},o)}this.dom=Ce("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>wa(e),[gt(e,"next")]),r("prev",()=>ka(e),[gt(e,"previous")]),r("select",()=>K4(e),[gt(e,"all")]),Ce("label",null,[this.caseField,gt(e,"match case")]),Ce("label",null,[this.reField,gt(e,"regexp")]),Ce("label",null,[this.wordField,gt(e,"by word")]),...e.state.readOnly?[]:[Ce("br"),this.replaceField,r("replace",()=>Df(e),[gt(e,"replace")]),r("replaceAll",()=>q4(e),[gt(e,"replace all")])],Ce("button",{name:"close",onclick:()=>db(e),"aria-label":gt(e,"close"),type:"button"},["×"])])}commit(){let e=new ob({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Gi.of(e)}))}keydown(e){pk(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ka:wa)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Df(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(Gi)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Ur).top}}function gt(n,e){return n.state.phrase(e)}const Mo=30,No=/[\s\.,:;?!]/;function Jh(n,{from:e,to:t}){let r=n.state.doc.lineAt(e),i=n.state.doc.lineAt(t).to,s=Math.max(r.from,e-Mo),o=Math.min(i,t+Mo),a=n.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;l<Mo;l++)if(!No.test(a[l+1])&&No.test(a[l])){a=a.slice(l);break}}if(o!=i){for(let l=a.length-1;l>a.length-Mo;l--)if(!No.test(a[l-1])&&No.test(a[l])){a=a.slice(0,l);break}}return H.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${r.number}.`)}const Q4=H.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),X4=[Tn,cr.low(U4),Q4];class ub{constructor(e,t,r,i){this.state=e,this.pos=t,this.explicit=r,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=tt(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),i=t.text.slice(r-t.from,this.pos-t.from),s=i.search(fb(e,!1));return s<0?null:{from:r+s,to:this.pos,text:i.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function Tf(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function Z4(n){let e=Object.create(null),t=Object.create(null);for(let{label:i}of n){e[i[0]]=!0;for(let s=1;s<i.length;s++)t[i[s]]=!0}let r=Tf(e)+Tf(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function e5(n){let e=n.map(i=>typeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:Z4(e);return i=>{let s=i.matchBefore(r);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}class Ef{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}}function rr(n){return n.selection.main.from}function fb(n,e){var t;let{source:r}=n,i=e&&r[0]!="^",s=r[r.length-1]!="$";return!i&&!s?n:new RegExp(`${i?"^":""}(?:${r})${s?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const pb=rn.define();function t5(n,e,t,r){let{main:i}=n.selection,s=t-i.from,o=r-i.from;return{...n.changeByRange(a=>{if(a!=i&&t!=r&&n.sliceDoc(a.from+s,a.from+o)!=n.sliceDoc(t,r))return{range:a};let l=n.toText(e);return{changes:{from:a.from+s,to:r==i.from?a.to:a.from+o,insert:l},range:E.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Rf=new WeakMap;function n5(n){if(!Array.isArray(n))return n;let e=Rf.get(n);return e||Rf.set(n,e=e5(n)),e}const Sa=ae.define(),qi=ae.define();class r5{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let r=lt(e,t),i=Jt(r);this.chars.push(r);let s=e.slice(t,t+i),o=s.toUpperCase();this.folded.push(lt(o==s?s.toLowerCase():o,0)),t+=i}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:r,any:i,precise:s,byWord:o}=this;if(t.length==1){let w=lt(e,0),S=Jt(w),O=S==e.length?0:-100;if(w!=t[0])if(w==r[0])O+=-200;else return null;return this.ret(O,[0,S])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=t.length,c=0;if(a<0){for(let w=0,S=Math.min(e.length,200);w<S&&c<l;){let O=lt(e,w);(O==t[c]||O==r[c])&&(i[c++]=w),w+=Jt(O)}if(c<l)return null}let h=0,u=0,f=!1,p=0,m=-1,g=-1,y=/[a-z]/.test(e),v=!0;for(let w=0,S=Math.min(e.length,200),O=0;w<S&&u<l;){let C=lt(e,w);a<0&&(h<l&&C==t[h]&&(s[h++]=w),p<l&&(C==t[p]||C==r[p]?(p==0&&(m=w),g=w+1,p++):p=0));let P,x=C<255?C>=48&&C<=57||C>=97&&C<=122?2:C>=65&&C<=90?1:0:(P=Sh(C))!=P.toLowerCase()?1:P!=P.toUpperCase()?2:0;(!w||x==1&&y||O==0&&x!=0)&&(t[u]==C||r[u]==C&&(f=!0)?o[u++]=w:o.length&&(v=!1)),O=x,w+=Jt(C)}return u==l&&o[0]==0&&v?this.result(-100+(f?-200:0),o,e):p==l&&m==0?this.ret(-200-e.length+(g==e.length?0:-100),[0,g]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,g]):u==l?this.result(-100+(f?-200:0)+-700+(v?0:-1100),o,e):t.length==2?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,r){let i=[],s=0;for(let o of t){let a=o+(this.astral?Jt(lt(r,o)):1);s&&i[s-1]==o?i[s-1]=a:(i[s++]=o,i[s++]=a)}return this.ret(e-r.length,i)}}class i5{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),r=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,t.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const Ue=K.define({combine(n){return sn(n,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:s5,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>Lf(e(r),t(r)),optionClass:(e,t)=>r=>Lf(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function Lf(n,e){return n?e?n+" "+e:n:e}function s5(n,e,t,r,i,s){let o=n.textDirection==Oe.RTL,a=o,l=!1,c="top",h,u,f=e.left-i.left,p=i.right-e.right,m=r.right-r.left,g=r.bottom-r.top;if(a&&f<Math.min(m,p)?a=!1:!a&&p<Math.min(m,f)&&(a=!0),m<=(a?f:p))h=Math.max(i.top,Math.min(t.top,i.bottom-g))-e.top,u=Math.min(400,a?f:p);else{l=!0,u=Math.min(400,(o?e.right:i.right-e.left)-30);let w=i.bottom-e.bottom;w>=g||w>e.top?h=t.bottom-e.top:(c="bottom",h=e.bottom-t.top)}let y=(e.bottom-e.top)/s.offsetHeight,v=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${h/y}px; max-width: ${u/v}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}function o5(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(i=>"cm-completionIcon-"+i)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,i,s){let o=document.createElement("span");o.className="cm-completionLabel";let a=t.displayLabel||t.label,l=0;for(let c=0;c<s.length;){let h=s[c++],u=s[c++];h>l&&o.appendChild(document.createTextNode(a.slice(l,h)));let f=o.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(h,u))),f.className="cm-completionMatchedText",l=u}return l<a.length&&o.appendChild(document.createTextNode(a.slice(l))),o},position:50},{render(t){if(!t.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=t.detail,r},position:80}),e.sort((t,r)=>t.position-r.position).map(t=>t.render)}function Tl(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let i=Math.floor(e/t);return{from:i*t,to:(i+1)*t}}let r=Math.floor((n-e)/t);return{from:n-(r+1)*t,to:n-r*t}}class a5{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:s,selected:o}=i.open,a=e.state.facet(Ue);this.optionContent=o5(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Tl(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(t).open;for(let h=l.target,u;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(u=/-(\d+)$/.exec(h.id))&&+u[1]<c.length){this.applyCompletion(e,c[+u[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Ue).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:qi.of(null)})}),this.showOptions(s,i.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let r=e.state.field(this.stateField),i=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=i){let{options:s,selected:o,disabled:a}=r.open;(!i.open||i.open.options!=s)&&(this.range=Tl(s.length,o,e.state.facet(Ue).maxRenderedOptions),this.showOptions(s,r.id)),this.updateSel(),a!=((t=i.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=Tl(t.options.length,t.selected,this.view.state.facet(Ue).maxRenderedOptions),this.showOptions(t.options,e.id));let r=this.updateSelectedOption(t.selected);if(r){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:s}=i;if(!s)return;let o=typeof s=="string"?document.createTextNode(s):s(i);if(!o)return;"then"in o?o.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,i)}).catch(a=>dt(this.view.state,a,"completion info")):(this.addInfoPane(o,i),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:s}=e;r.appendChild(i),this.infoDestroy=s||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,i=this.range.from;r;r=r.nextSibling,i++)r.nodeName!="LI"||!r.id?i--:i==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return t&&c5(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return i.top>Math.min(s.bottom,t.bottom)-10||i.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(Ue).positionInfo(this.view,t,i,r,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){const i=document.createElement("ul");i.id=t,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions")),i.addEventListener("mousedown",o=>{o.target==i&&o.preventDefault()});let s=null;for(let o=r.from;o<r.to;o++){let{completion:a,match:l}=e[o],{section:c}=a;if(c){let f=typeof c=="string"?c:c.name;if(f!=s&&(o>r.from||r.from==0))if(s=f,typeof c!="string"&&c.header)i.appendChild(c.header(c));else{let p=i.appendChild(document.createElement("completion-section"));p.textContent=f}}const h=i.appendChild(document.createElement("li"));h.id=t+"-"+o,h.setAttribute("role","option");let u=this.optionClass(a);u&&(h.className=u);for(let f of this.optionContent){let p=f(a,this.view.state,this.view,l);p&&h.appendChild(p)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&i.classList.add("cm-completionListIncompleteBottom"),i}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function l5(n,e){return t=>new a5(t,n,e)}function c5(n,e){let t=n.getBoundingClientRect(),r=e.getBoundingClientRect(),i=t.height/n.offsetHeight;r.top<t.top?n.scrollTop-=(t.top-r.top)/i:r.bottom>t.bottom&&(n.scrollTop+=(r.bottom-t.bottom)/i)}function If(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function h5(n,e){let t=[],r=null,i=null,s=h=>{t.push(h);let{section:u}=h.completion;if(u){r||(r=[]);let f=typeof u=="string"?u:u.name;r.some(p=>p.name==f)||r.push(typeof u=="string"?{name:f}:u)}},o=e.facet(Ue);for(let h of n)if(h.hasResult()){let u=h.result.getMatch;if(h.result.filter===!1)for(let f of h.result.options)s(new Ef(f,h.source,u?u(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),p,m=o.filterStrict?new i5(f):new r5(f);for(let g of h.result.options)if(p=m.match(g.label)){let y=g.displayLabel?u?u(g,p.matched):[]:p.matched,v=p.score+(g.boost||0);if(s(new Ef(g,h.source,y,v)),typeof g.section=="object"&&g.section.rank==="dynamic"){let{name:w}=g.section;i||(i=Object.create(null)),i[w]=Math.max(v,i[w]||-1e9)}}}}if(r){let h=Object.create(null),u=0,f=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?i[m.name]-i[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.name<m.name?-1:1);for(let p of r.sort(f))u-=1e5,h[p.name]=u;for(let p of t){let{section:m}=p.completion;m&&(p.score+=h[typeof m=="string"?m:m.name])}}let a=[],l=null,c=o.compareCompletions;for(let h of t.sort((u,f)=>f.score-u.score||c(u.completion,f.completion))){let u=h.completion;!l||l.label!=u.label||l.detail!=u.detail||l.type!=null&&u.type!=null&&l.type!=u.type||l.apply!=u.apply||l.boost!=u.boost?a.push(h):If(h.completion)>If(l)&&(a[a.length-1]=h),l=h.completion}return a}class kr{constructor(e,t,r,i,s,o){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=i,this.selected=s,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new kr(this.options,Bf(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,i,s,o){if(i&&!o&&e.some(c=>c.isPending))return i.setDisabled();let a=h5(e,t);if(!a.length)return i&&e.some(c=>c.isPending)?i.setDisabled():null;let l=t.facet(Ue).selectOnOpen?0:-1;if(i&&i.selected!=l&&i.selected!=-1){let c=i.options[i.selected].completion;for(let h=0;h<a.length;h++)if(a[h].completion==c){l=h;break}}return new kr(a,Bf(r,l),{pos:e.reduce((c,h)=>h.hasResult()?Math.min(c,h.from):c,1e8),create:g5,above:s.aboveCursor},i?i.timestamp:Date.now(),l,!1)}map(e){return new kr(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new kr(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Ca{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new Ca(p5,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(Ue),s=(r.override||t.languageDataAt("autocomplete",rr(t)).map(n5)).map(l=>(this.active.find(h=>h.source==l)||new At(l,this.active.some(h=>h.state!=0)?1:0)).update(e,r));s.length==this.active.length&&s.every((l,c)=>l==this.active[c])&&(s=this.active);let o=this.open,a=e.effects.some(l=>l.is(Yh));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!d5(s,this.active)||a?o=kr.build(s,t,this.id,o,r,a):o&&o.disabled&&!s.some(l=>l.isPending)&&(o=null),!o&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new At(l.source,0):l));for(let l of e.effects)l.is(gb)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new Ca(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?u5:f5}}function d5(n,e){if(n==e)return!0;for(let t=0,r=0;;){for(;t<n.length&&!n[t].hasResult();)t++;for(;r<e.length&&!e[r].hasResult();)r++;let i=t==n.length,s=r==e.length;if(i||s)return i==s;if(n[t++].result!=e[r++].result)return!1}}const u5={"aria-autocomplete":"list"},f5={};function Bf(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const p5=[];function mb(n,e){if(n.isUserEvent("input.complete")){let r=n.annotation(pb);if(r&&e.activateOnCompletion(r))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class At{constructor(e,t,r=!1){this.source=e,this.state=t,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let r=mb(e,t),i=this;(r&8||r&16&&this.touches(e))&&(i=new At(i.source,0)),r&4&&i.state==0&&(i=new At(this.source,1)),i=i.updateFor(e,r);for(let s of e.effects)if(s.is(Sa))i=new At(i.source,1,s.value);else if(s.is(qi))i=new At(i.source,0);else if(s.is(Yh))for(let o of s.value)o.source==i.source&&(i=o);return i}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(rr(e.state))}}class Tr extends At{constructor(e,t,r,i,s,o){super(e,3,t),this.limit=r,this.result=i,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,t){var r;if(!(t&3))return this.map(e.changes);let i=this.result;i.map&&!e.changes.empty&&(i=i.map(i,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=rr(e.state);if(a>o||!i||t&2&&(rr(e.startState)==this.from||a<this.limit))return new At(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return m5(i.validFor,e.state,s,o)?new Tr(this.source,this.explicit,l,i,s,o):i.update&&(i=i.update(i,s,o,new ub(e.state,a,!1)))?new Tr(this.source,this.explicit,l,i,i.from,(r=i.to)!==null&&r!==void 0?r:rr(e.state)):new At(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new Tr(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new At(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function m5(n,e,t,r){if(!n)return!1;let i=e.sliceDoc(t,r);return typeof n=="function"?n(i,t,r,e):fb(n,!0).test(i)}const Yh=ae.define({map(n,e){return n.map(t=>t.map(e))}}),gb=ae.define(),ct=Ye.define({create(){return Ca.start()},update(n,e){return n.update(e)},provide:n=>[Fh.from(n,e=>e.tooltip),H.contentAttributes.from(n,e=>e.attrs)]});function Qh(n,e){const t=e.completion.apply||e.completion.label;let r=n.state.field(ct).active.find(i=>i.source==e.source);return r instanceof Tr?(typeof t=="string"?n.dispatch({...t5(n.state,t,r.from,r.to),annotations:pb.of(e.completion)}):t(n,e.completion,r.from,r.to),!0):!1}const g5=l5(ct,Qh);function Do(n,e="option"){return t=>{let r=t.state.field(ct,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(Ue).interactionDelay)return!1;let i=1,s;e=="page"&&(s=s0(t,r.open.tooltip))&&(i=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=r.open.options,a=r.open.selected>-1?r.open.selected+i*(n?1:-1):n?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),t.dispatch({effects:gb.of(a)}),!0}}const b5=n=>{let e=n.state.field(ct,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(Ue).interactionDelay?!1:Qh(n,e.open.options[e.open.selected])},El=n=>n.state.field(ct,!1)?(n.dispatch({effects:Sa.of(!0)}),!0):!1,y5=n=>{let e=n.state.field(ct,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:qi.of(null)}),!0)};class x5{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const v5=50,w5=1e3,k5=$e.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(ct).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(ct),t=n.state.facet(Ue);if(!n.selectionSet&&!n.docChanged&&n.startState.field(ct)==e)return;let r=n.transactions.some(s=>{let o=mb(s,t);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;s<this.running.length;s++){let o=this.running[s];if(r||o.context.abortOnDocChange&&n.docChanged||o.updates.length+n.transactions.length>v5&&Date.now()-o.time>w5){for(let a of o.context.abortListeners)try{a()}catch(l){dt(this.view.state,l)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(s=>s.effects.some(o=>o.is(Sa)))&&(this.pendingStart=!0);let i=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let s of n.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(ct);for(let t of e.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ue).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=rr(e),r=new ub(e,t,n.explicit,this.view),i=new x5(n,r);this.running.push(i),Promise.resolve(n.source(r)).then(s=>{i.context.aborted||(i.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:qi.of(null)}),dt(this.view.state,s)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ue).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Ue),r=this.view.state.field(ct);for(let i=0;i<this.running.length;i++){let s=this.running[i];if(s.done===void 0)continue;if(this.running.splice(i--,1),s.done){let a=rr(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),c=new Tr(s.active.source,s.active.explicit,l,s.done,s.done.from,(n=s.done.to)!==null&&n!==void 0?n:a);for(let h of s.updates)c=c.update(h,t);if(c.hasResult()){e.push(c);continue}}let o=r.active.find(a=>a.source==s.active.source);if(o&&o.isPending)if(s.done==null){let a=new At(s.active.source,0);for(let l of s.updates)a=a.update(l,t);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:Yh.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(ct,!1);if(e&&e.tooltip&&this.view.state.facet(Ue).closeOnBlur){let t=e.open&&s0(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:qi.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Sa.of(!1)}),20),this.composing=0}}}),S5=typeof navigator=="object"&&/Win/.test(navigator.platform),C5=cr.highest(H.domEventHandlers({keydown(n,e){let t=e.state.field(ct,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(S5&&n.altKey)||n.metaKey)return!1;let r=t.open.options[t.open.selected],i=t.active.find(o=>o.source==r.source),s=r.completion.commitCharacters||i.result.commitCharacters;return s&&s.indexOf(n.key)>-1&&Qh(e,r),!1}})),j5=H.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Ji={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},tr=ae.define({map(n,e){let t=e.mapPos(n,-1,st.TrackAfter);return t??void 0}}),Xh=new class extends Rn{};Xh.startSide=1;Xh.endSide=-1;const bb=Ye.define({create(){return fe.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:r=>r>=t.from&&r<=t.to})}for(let t of e.effects)t.is(tr)&&(n=n.update({add:[Xh.range(t.value,t.value+1)]}));return n}});function O5(){return[A5,bb]}const Rl="()[]{}<>«»»«[]{}";function yb(n){for(let e=0;e<Rl.length;e+=2)if(Rl.charCodeAt(e)==n)return Rl.charAt(e+1);return Sh(n<128?n:n+1)}function xb(n,e){return n.languageDataAt("closeBrackets",e)[0]||Ji}const P5=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),A5=H.inputHandler.of((n,e,t,r)=>{if((P5?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let i=n.state.selection.main;if(r.length>2||r.length==2&&Jt(lt(r,0))==1||e!=i.from||t!=i.to)return!1;let s=D5(n.state,r);return s?(n.dispatch(s),!0):!1}),M5=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=xb(n,n.selection.main.head).brackets||Ji.brackets,i=null,s=n.changeByRange(o=>{if(o.empty){let a=T5(n.doc,o.head);for(let l of r)if(l==a&&Ua(n.doc,o.head)==yb(lt(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:E.cursor(o.head-l.length)}}return{range:i=o}});return i||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},N5=[{key:"Backspace",run:M5}];function D5(n,e){let t=xb(n,n.selection.main.head),r=t.brackets||Ji.brackets;for(let i of r){let s=yb(lt(i,0));if(e==i)return s==i?L5(n,i,r.indexOf(i+i+i)>-1,t):E5(n,i,s,t.before||Ji.before);if(e==s&&vb(n,n.selection.main.from))return R5(n,i,s)}return null}function vb(n,e){let t=!1;return n.field(bb).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function Ua(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Jt(lt(t,0)))}function T5(n,e){let t=n.sliceString(e-2,e);return Jt(lt(t,0))==t.length?t:t.slice(1)}function E5(n,e,t,r){let i=null,s=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:tr.of(o.to+e.length),range:E.range(o.anchor+e.length,o.head+e.length)};let a=Ua(n.doc,o.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:tr.of(o.head+e.length),range:E.cursor(o.head+e.length)}:{range:i=o}});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function R5(n,e,t){let r=null,i=n.changeByRange(s=>s.empty&&Ua(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:E.cursor(s.head+t.length)}:r={range:s});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function L5(n,e,t,r){let i=r.stringPrefixes||Ji.stringPrefixes,s=null,o=n.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:tr.of(a.to+e.length),range:E.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Ua(n.doc,l),h;if(c==e){if($f(n,l))return{changes:{insert:e+e,from:l},effects:tr.of(l+e.length),range:E.cursor(l+e.length)};if(vb(n,l)){let f=t&&n.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:E.cursor(l+f.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(h=Ff(n,l-2*e.length,i))>-1&&$f(n,h))return{changes:{insert:e+e+e+e,from:l},effects:tr.of(l+e.length),range:E.cursor(l+e.length)};if(n.charCategorizer(l)(c)!=Ne.Word&&Ff(n,l,i)>-1&&!I5(n,l,e,i))return{changes:{insert:e+e,from:l},effects:tr.of(l+e.length),range:E.cursor(l+e.length)}}return{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function $f(n,e){let t=tt(n).resolveInner(e+1);return t.parent&&t.from==e}function I5(n,e,t,r){let i=tt(n).resolveInner(e,-1),s=r.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=n.sliceDoc(i.from,Math.min(i.to,i.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let h=i.firstChild;for(;h&&h.from==i.from&&h.to-h.from>t.length+l;){if(n.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=i.to==e&&i.parent;if(!c)break;i=c}return!1}function Ff(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=Ne.Word)return e;for(let i of t){let s=e-i.length;if(n.sliceDoc(s,e)==i&&r(n.sliceDoc(s-1,s))!=Ne.Word)return s}return-1}function B5(n={}){return[C5,ct,Ue.of(n),k5,$5,j5]}const wb=[{key:"Ctrl-Space",run:El},{mac:"Alt-`",run:El},{mac:"Alt-i",run:El},{key:"Escape",run:y5},{key:"ArrowDown",run:Do(!0)},{key:"ArrowUp",run:Do(!1)},{key:"PageDown",run:Do(!0,"page")},{key:"PageUp",run:Do(!1,"page")},{key:"Enter",run:b5}],$5=cr.highest(Ia.computeN([Ue],n=>n.facet(Ue).defaultKeymap?[wb]:[]));class Vf{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class Qn{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=r.facet(Yi).markerFilter;i&&(e=i(e,r));let s=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),o=new mn,a=[],l=0,c=r.doc.iter(),h=0,u=r.doc.length;for(let p=0;;){let m=p==s.length?null:s[p];if(!m&&!a.length)break;let g,y;if(a.length)g=l,y=a.reduce((S,O)=>Math.min(S,O.to),m&&m.from>g?m.from:1e8);else{if(g=m.from,g>u)break;y=m.to,a.push(m),p++}for(;p<s.length;){let S=s[p];if(S.from==g&&(S.to>S.from||S.to==g))a.push(S),p++,y=Math.min(S.to,y);else{y=Math.min(S.from,y);break}}y=Math.min(y,u);let v=!1;if(a.some(S=>S.from==g&&(S.to==y||y==u))&&(v=g==y,!v&&y-g<10)){let S=g-(h+c.value.length);S>0&&(c.next(S),h=g);for(let O=g;;){if(O>=y){v=!0;break}if(!c.lineBreak&&h+c.value.length>O)break;O=h+c.value.length,h+=c.value.length,c.next()}}let w=Q5(a);if(v)o.add(g,g,ne.widget({widget:new G5(w),diagnostics:a.slice()}));else{let S=a.reduce((O,C)=>C.markClass?O+" "+C.markClass:O,"");o.add(g,y,ne.mark({class:"cm-lintRange cm-lintRange-"+w+S,diagnostics:a.slice(),inclusiveEnd:a.some(O=>O.to>y)}))}if(l=y,l==u)break;for(let S=0;S<a.length;S++)a[S].to<=l&&a.splice(S--,1)}let f=o.finish();return new Qn(f,t,Vr(f))}}function Vr(n,e=null,t=0){let r=null;return n.between(t,1e9,(i,s,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!r)r=new Vf(i,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Vf(r.from,s,r.diagnostic)}}),r}function F5(n,e){let t=e.pos,r=e.end||t,i=n.state.facet(Yi).hideOn(n,t,r);if(i!=null)return i;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(kb))||n.changes.touchesRange(s.from,Math.max(s.to,r)))}function V5(n,e){return n.field(xt,!1)?e:e.concat(ae.appendConfig.of(X5))}const kb=ae.define(),Zh=ae.define(),Sb=ae.define(),xt=Ye.define({create(){return new Qn(ne.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),r=null,i=n.panel;if(n.selected){let s=e.changes.mapPos(n.selected.from,1);r=Vr(t,n.selected.diagnostic,s)||Vr(t,null,s)}!t.size&&i&&e.state.facet(Yi).autoPanel&&(i=null),n=new Qn(t,i,r)}for(let t of e.effects)if(t.is(kb)){let r=e.state.facet(Yi).autoPanel?t.value.length?Qi.open:null:n.panel;n=Qn.init(t.value,r,e.state)}else t.is(Zh)?n=new Qn(n.diagnostics,t.value?Qi.open:null,n.selected):t.is(Sb)&&(n=new Qn(n.diagnostics,n.panel,t.value));return n},provide:n=>[Ui.from(n,e=>e.panel),H.decorations.from(n,e=>e.diagnostics)]}),z5=ne.mark({class:"cm-lintRange cm-lintRange-active"});function H5(n,e,t){let{diagnostics:r}=n.state.field(xt),i,s=-1,o=-1;r.between(e-(t<0?1:0),e+(t>0?1:0),(l,c,{spec:h})=>{if(e>=l&&e<=c&&(l==c||(e>l||t>0)&&(e<c||t<0)))return i=h.diagnostics,s=l,o=c,!1});let a=n.state.facet(Yi).tooltipFilter;return i&&a&&(i=a(i,n.state)),i?{pos:s,end:o,above:n.state.doc.lineAt(s).to<o,create(){return{dom:_5(n,i)}}}:null}function _5(n,e){return Ce("ul",{class:"cm-tooltip-lint"},e.map(t=>jb(n,t,!1)))}const W5=n=>{let e=n.state.field(xt,!1);(!e||!e.panel)&&n.dispatch({effects:V5(n.state,[Zh.of(!0)])});let t=Wi(n,Qi.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},zf=n=>{let e=n.state.field(xt,!1);return!e||!e.panel?!1:(n.dispatch({effects:Zh.of(!1)}),!0)},U5=n=>{let e=n.state.field(xt,!1);if(!e)return!1;let t=n.state.selection.main,r=e.diagnostics.iter(t.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==t.from&&r.to==t.to)?!1:(n.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},K5=[{key:"Mod-Shift-m",run:W5,preventDefault:!0},{key:"F8",run:U5}],Yi=K.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...sn(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Hf,tooltipFilter:Hf,needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t,hideOn:(e,t)=>e?t?(r,i,s)=>e(r,i,s)||t(r,i,s):e:t,autoPanel:(e,t)=>e||t})}}});function Hf(n,e){return n?e?(t,r)=>e(n(t,r),r):n:e}function Cb(n){let e=[];if(n)e:for(let{name:t}of n){for(let r=0;r<t.length;r++){let i=t[r];if(/[a-zA-Z]/.test(i)&&!e.some(s=>s.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function jb(n,e,t){var r;let i=t?Cb(e.actions):[];return Ce("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Ce("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((s,o)=>{let a=!1,l=p=>{if(p.preventDefault(),a)return;a=!0;let m=Vr(n.state.field(xt).diagnostics,e);m&&s.apply(n,m.from,m.to)},{name:c}=s,h=i[o]?c.indexOf(i[o]):-1,u=h<0?c:[c.slice(0,h),Ce("u",c.slice(h,h+1)),c.slice(h+1)],f=s.markClass?" "+s.markClass:"";return Ce("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${h<0?"":` (access key "${i[o]})"`}.`},u)}),e.source&&Ce("div",{class:"cm-diagnosticSource"},e.source))}class G5 extends on{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Ce("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class _f{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=jb(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Qi{constructor(e){this.view=e,this.items=[];let t=i=>{if(i.keyCode==27)zf(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=Cb(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==i.keyCode){let l=Vr(this.view.state.field(xt).diagnostics,s);l&&s.actions[a].apply(e,l.from,l.to)}}else return;i.preventDefault()},r=i=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(i.target)&&this.moveSelection(s)};this.list=Ce("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:r}),this.dom=Ce("div",{class:"cm-panel-lint"},this.list,Ce("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>zf(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(xt).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(xt),r=0,i=!1,s=null,o=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:c})=>{for(let h of c.diagnostics){if(o.has(h))continue;o.add(h);let u=-1,f;for(let p=r;p<this.items.length;p++)if(this.items[p].diagnostic==h){u=p;break}u<0?(f=new _f(this.view,h),this.items.splice(r,0,f),i=!0):(f=this.items[u],u>r&&(this.items.splice(r,u-r),i=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),s=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();this.items.length==0&&(this.items.push(new _f(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let c=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/c:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(xt),r=Vr(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Sb.of(r)})}static open(e){return new Qi(e)}}function q5(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function To(n){return q5(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const J5=H.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:To("#d11")},".cm-lintRange-warning":{backgroundImage:To("orange")},".cm-lintRange-info":{backgroundImage:To("#999")},".cm-lintRange-hint":{backgroundImage:To("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function Y5(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function Q5(n){let e="hint",t=1;for(let r of n){let i=Y5(r.severity);i>t&&(t=i,e=r.severity)}return e}const X5=[xt,H.decorations.compute([xt],n=>{let{selected:e,panel:t}=n.field(xt);return!e||!t||e.from==e.to?ne.none:ne.set([z5.range(e.from,e.to)])}),nS(H5,{hideOn:F5}),J5];var Wf=function(e){e===void 0&&(e={});var{crosshairCursor:t=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(N5)),e.defaultKeymap!==!1&&(r=r.concat(S4)),e.searchKeymap!==!1&&(r=r.concat(J4)),e.historyKeymap!==!1&&(r=r.concat(N3)),e.foldKeymap!==!1&&(r=r.concat(zS)),e.completionKeymap!==!1&&(r=r.concat(wb)),e.lintKeymap!==!1&&(r=r.concat(K5));var i=[];return e.lineNumbers!==!1&&i.push(fS()),e.highlightActiveLineGutter!==!1&&i.push(gS()),e.highlightSpecialChars!==!1&&i.push(Dk()),e.history!==!1&&i.push(w3()),e.foldGutter!==!1&&i.push(US()),e.drawSelection!==!1&&i.push(vk()),e.dropCursor!==!1&&i.push(jk()),e.allowMultipleSelections!==!1&&i.push(pe.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&i.push(DS()),e.syntaxHighlighting!==!1&&i.push(Hh(JS,{fallback:!0})),e.bracketMatching!==!1&&i.push(n3()),e.closeBrackets!==!1&&i.push(O5()),e.autocompletion!==!1&&i.push(B5()),e.rectangularSelection!==!1&&i.push(Uk()),t!==!1&&i.push(qk()),e.highlightActiveLine!==!1&&i.push(Bk()),e.highlightSelectionMatches!==!1&&i.push(N4()),e.tabSize&&typeof e.tabSize=="number"&&i.push($a.of(" ".repeat(e.tabSize))),i.concat([Ia.of(r.flat())]).filter(Boolean)};const Z5="#e5c07b",Uf="#e06c75",eC="#56b6c2",tC="#ffffff",Yo="#abb2bf",sh="#7d8799",nC="#61afef",rC="#98c379",Kf="#d19a66",iC="#c678dd",sC="#21252b",Gf="#2c313a",qf="#282c34",Ll="#353a42",oC="#3E4451",Jf="#528bff",aC=H.theme({"&":{color:Yo,backgroundColor:qf},".cm-content":{caretColor:Jf},".cm-cursor, .cm-dropCursor":{borderLeftColor:Jf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:oC},".cm-panels":{backgroundColor:sC,color:Yo},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:qf,color:sh,border:"none"},".cm-activeLineGutter":{backgroundColor:Gf},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ll},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ll,borderBottomColor:Ll},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Gf,color:Yo}}},{dark:!0}),lC=_r.define([{tag:T.keyword,color:iC},{tag:[T.name,T.deleted,T.character,T.propertyName,T.macroName],color:Uf},{tag:[T.function(T.variableName),T.labelName],color:nC},{tag:[T.color,T.constant(T.name),T.standard(T.name)],color:Kf},{tag:[T.definition(T.name),T.separator],color:Yo},{tag:[T.typeName,T.className,T.number,T.changed,T.annotation,T.modifier,T.self,T.namespace],color:Z5},{tag:[T.operator,T.operatorKeyword,T.url,T.escape,T.regexp,T.link,T.special(T.string)],color:eC},{tag:[T.meta,T.comment],color:sh},{tag:T.strong,fontWeight:"bold"},{tag:T.emphasis,fontStyle:"italic"},{tag:T.strikethrough,textDecoration:"line-through"},{tag:T.link,color:sh,textDecoration:"underline"},{tag:T.heading,fontWeight:"bold",color:Uf},{tag:[T.atom,T.bool,T.special(T.variableName)],color:Kf},{tag:[T.processingInstruction,T.string,T.inserted],color:rC},{tag:T.invalid,color:tC}]),cC=[aC,Hh(lC)];var hC=H.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),dC=function(e){e===void 0&&(e={});var{indentWithTab:t=!0,editable:r=!0,readOnly:i=!1,theme:s="light",placeholder:o="",basicSetup:a=!0}=e,l=[];switch(t&&l.unshift(Ia.of([C4])),a&&(typeof a=="boolean"?l.unshift(Wf()):l.unshift(Wf(a))),o&&l.unshift(zk(o)),s){case"light":l.push(hC);break;case"dark":l.push(cC);break;case"none":break;default:l.push(s);break}return r===!1&&l.push(H.editable.of(!1)),i&&l.push(pe.readOnly.of(!0)),[...l]},uC=n=>({line:n.state.doc.lineAt(n.state.selection.main.from),lineCount:n.state.doc.lines,lineBreak:n.state.lineBreak,length:n.state.doc.length,readOnly:n.state.readOnly,tabSize:n.state.tabSize,selection:n.state.selection,selectionAsSingle:n.state.selection.asSingle().main,ranges:n.state.selection.ranges,selectionCode:n.state.sliceDoc(n.state.selection.main.from,n.state.selection.main.to),selections:n.state.selection.ranges.map(e=>n.state.sliceDoc(e.from,e.to)),selectedText:n.state.selection.ranges.some(e=>!e.empty)});class fC{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class Yf{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var Il=null,pC=()=>typeof window>"u"?new Yf:(Il||(Il=new Yf),Il),Qf=rn.define(),mC=200,gC=[];function bC(n){var{value:e,selection:t,onChange:r,onStatistics:i,onCreateEditor:s,onUpdate:o,extensions:a=gC,autoFocus:l,theme:c="light",height:h=null,minHeight:u=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:g=null,placeholder:y="",editable:v=!0,readOnly:w=!1,indentWithTab:S=!0,basicSetup:O=!0,root:C,initialState:P}=n,[x,D]=b.useState(),[M,L]=b.useState(),[A,I]=b.useState(),W=b.useState(()=>({current:null}))[0],V=b.useState(()=>({current:null}))[0],$=H.theme({"&":{height:h,minHeight:u,maxHeight:f,width:p,minWidth:m,maxWidth:g},"& .cm-scroller":{height:"100% !important"}}),q=H.updateListener.of(J=>{if(J.docChanged&&typeof r=="function"&&!J.transactions.some(oe=>oe.annotation(Qf))){W.current?W.current.reset():(W.current=new fC(()=>{if(V.current){var oe=V.current;V.current=null,oe()}W.current=null},mC),pC().add(W.current));var se=J.state.doc,le=se.toString();r(le,J)}i&&i(uC(J))}),he=dC({theme:c,editable:v,readOnly:w,placeholder:y,indentWithTab:S,basicSetup:O}),_=[q,$,...he];return o&&typeof o=="function"&&_.push(H.updateListener.of(o)),_=_.concat(a),b.useLayoutEffect(()=>{if(x&&!A){var J={doc:e,selection:t,extensions:_},se=P?pe.fromJSON(P.json,J,P.fields):pe.create(J);if(I(se),!M){var le=new H({state:se,parent:x,root:C});L(le),s&&s(le,se)}}return()=>{M&&(I(void 0),L(void 0))}},[x,A]),b.useEffect(()=>{n.container&&D(n.container)},[n.container]),b.useEffect(()=>()=>{M&&(M.destroy(),L(void 0)),W.current&&(W.current.cancel(),W.current=null)},[M]),b.useEffect(()=>{l&&M&&M.focus()},[l,M]),b.useEffect(()=>{M&&M.dispatch({effects:ae.reconfigure.of(_)})},[c,a,h,u,f,p,m,g,y,v,w,S,O,r,o]),b.useEffect(()=>{if(e!==void 0){var J=M?M.state.doc.toString():"";if(M&&e!==J){var se=W.current&&!W.current.isDone,le=()=>{M&&e!==M.state.doc.toString()&&M.dispatch({changes:{from:0,to:M.state.doc.toString().length,insert:e||""},annotations:[Qf.of(!0)]})};se?V.current=le:le()}}},[e,M]),{state:A,setState:I,view:M,setView:L,container:x,setContainer:D}}var yC=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Ob=b.forwardRef((n,e)=>{var{className:t,value:r="",selection:i,extensions:s=[],onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,autoFocus:h,theme:u="light",height:f,minHeight:p,maxHeight:m,width:g,minWidth:y,maxWidth:v,basicSetup:w,placeholder:S,indentWithTab:O,editable:C,readOnly:P,root:x,initialState:D}=n,M=d3(n,yC),L=b.useRef(null),{state:A,view:I,container:W,setContainer:V}=bC({root:x,value:r,autoFocus:h,theme:u,height:f,minHeight:p,maxHeight:m,width:g,minWidth:y,maxWidth:v,basicSetup:w,placeholder:S,indentWithTab:O,editable:C,readOnly:P,selection:i,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:s,initialState:D});b.useImperativeHandle(e,()=>({editor:L.current,state:A,view:I}),[L,W,A,I]);var $=b.useCallback(he=>{L.current=he,V(he)},[V]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var q=typeof u=="string"?"cm-theme-"+u:"cm-theme";return d.jsx("div",Xc({ref:$,className:""+q+(t?" "+t:"")},M))});Ob.displayName="CodeMirror";const xC=()=>{const n=H.theme({"&":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text)",height:"100%"},".cm-editor":{height:"100% !important"},".cm-content":{caretColor:"var(--dash-accent)",fontFamily:"'JetBrains Mono', Menlo, monospace",padding:"1rem"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--dash-accent)"},"& ::selection":{backgroundColor:"var(--dash-accent-selection) !important",color:"inherit !important"},".cm-gutters":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text-muted)",border:"none",borderRight:"1px solid var(--dash-border)",paddingRight:"0.5rem"},".cm-lineNumbers .cm-gutterElement":{padding:"0 0.5rem 0 1rem",minWidth:"3rem"},".cm-activeLineGutter":{backgroundColor:"var(--dash-accent-subtle)",color:"var(--dash-accent)",fontWeight:"600"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--dash-accent) 8%, transparent)"},".cm-matchingBracket":{backgroundColor:"var(--dash-accent-subtle)",outline:"1px solid var(--dash-accent)"},".cm-scroller":{overflow:"auto !important",height:"100%",maxHeight:"100%"}}),e=_r.define([{tag:T.propertyName,color:"var(--dash-accent)"},{tag:T.string,color:"color-mix(in srgb, var(--dash-accent) 70%, var(--dash-text))"},{tag:T.number,color:"var(--dash-accent-hover)"},{tag:T.bool,color:"var(--dash-accent-hover)"},{tag:T.null,color:"var(--dash-text-muted)"},{tag:T.punctuation,color:"var(--dash-text-secondary)"},{tag:T.brace,color:"var(--dash-text-secondary)"},{tag:T.bracket,color:"var(--dash-text-secondary)"}]);return[n,Hh(e)]},vC=({value:n,onChange:e,onCursorLineChange:t,height:r="100%",readOnly:i=!1,className:s})=>{const o=b.useMemo(()=>[h3(),H.lineWrapping,...xC()],[]),a=b.useMemo(()=>{if(t)return l=>{const c=l.state.selection.main.head,h=l.view.state.doc.lineAt(c).number-1;t(h)}},[t]);return d.jsx("div",{className:`h-full [&_.cm-editor]:h-full [&_.cm-editor]:outline-none [&_.cm-focused]:outline-none ${s??""}`.trim(),children:d.jsx(Ob,{value:n,height:r,extensions:o,onChange:e,onUpdate:a,theme:"none",readOnly:i,basicSetup:{lineNumbers:!0,highlightActiveLineGutter:!0,highlightActiveLine:!0,foldGutter:!1,dropCursor:!0,drawSelection:!1,allowMultipleSelections:!1,indentOnInput:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!1,rectangularSelection:!1,crosshairCursor:!1,highlightSelectionMatches:!0}})})},ed=({width:n,isLoading:e,jsonText:t,cursorLine:r,syntaxError:i,onChange:s,onCursorLineChange:o,readOnly:a=!1,headerTitle:l,headerPath:c,headerActions:h})=>{const{t:u}=me(),f=p=>{if(a||!p.target.closest(".cm-editor"))return;const g=p.currentTarget;g.scrollHeight<=g.clientHeight||(g.scrollTop+=p.deltaY)};return d.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0 h-full",children:[d.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:d.jsxs("div",{className:"flex items-end justify-between gap-3",children:[d.jsxs("div",{className:"min-w-0",children:[d.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:l??u("jsonTab")}),c&&d.jsx("p",{className:"mt-1 mono text-[11px] text-dash-text-muted truncate",children:c})]}),h&&d.jsx("div",{className:"flex items-center gap-2 shrink-0",children:h})]})}),d.jsx("div",{className:"flex-1 min-h-0 overflow-auto",onWheelCapture:f,children:e?d.jsx("div",{className:"h-full flex items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:u("loading")})}):a?d.jsx("pre",{className:"h-full overflow-auto p-4 font-mono text-xs leading-4 text-dash-text whitespace-pre m-0",children:t}):d.jsx(vC,{value:t,onChange:s,onCursorLineChange:o,readOnly:a,className:"[&_.cm-content]:text-xs [&_.cm-content]:leading-4 [&_.cm-gutters]:text-xs [&_.cm-gutters]:leading-4"})}),d.jsxs("div",{className:"px-4 py-2 bg-dash-surface-hover/30 border-t border-dash-border text-[10px] text-dash-text-muted flex justify-between uppercase tracking-widest font-bold",children:[d.jsxs("div",{className:"flex gap-4",children:[d.jsx("span",{children:"UTF-8"}),d.jsx("span",{children:"JSON"}),d.jsxs("span",{children:["L:",r+1]})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[a&&d.jsx("span",{children:u("readOnly")}),i?d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-red-500"}),d.jsx("span",{className:"text-red-500 normal-case",children:i})]}):d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),u("syntaxValid")]})]})]})]})},Xf=({label:n,value:e})=>d.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 bg-dash-bg border border-dash-border rounded-md",children:[d.jsxs("span",{className:"text-[9px] font-bold text-dash-text-muted uppercase",children:[n,":"]}),d.jsx("span",{className:"text-[10px] mono font-bold text-dash-text-secondary",children:e})]}),Pb=({width:n,fieldDoc:e,activeFieldPath:t,extraContent:r,overrideBadge:i})=>{const{t:s,lang:o}=me();return d.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl flex flex-col shadow-sm overflow-hidden min-w-0",children:[d.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:d.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:s("configurationHelp")})}),d.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e?d.jsxs("div",{className:"space-y-5 animate-in fade-in duration-500",children:[d.jsxs("header",{children:[d.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[d.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded font-mono uppercase font-bold",children:s("field")}),d.jsx("h2",{className:"text-base font-bold text-dash-text mono break-all",children:e.path}),i]}),d.jsxs("div",{className:"flex flex-wrap gap-2 mt-2",children:[d.jsx(Xf,{label:s("type"),value:e.type}),d.jsx(Xf,{label:s("default"),value:e.default})]})]}),d.jsxs("section",{children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("description")}),d.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed italic",children:o==="vi"?e.descriptionVi:e.description})]}),e.validValues&&d.jsxs("section",{children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("validValues")}),d.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.validValues.map(a=>d.jsx("span",{className:"px-2 py-0.5 bg-dash-bg border border-dash-border rounded text-[11px] mono text-dash-text",children:a},a))})]}),e.effect&&d.jsxs("section",{className:"bg-dash-accent-subtle/30 p-3 rounded-lg border border-dash-accent/10",children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-accent uppercase tracking-widest mb-1",children:s("systemEffect")}),d.jsx("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:o==="vi"&&e.effectVi?e.effectVi:e.effect})]}),e.example&&d.jsxs("section",{children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("exampleUsage")}),d.jsx("div",{className:"bg-dash-bg p-3 rounded-lg border border-dash-border overflow-hidden",children:d.jsx("pre",{className:"text-[11px] mono text-dash-text-secondary whitespace-pre overflow-x-auto",children:e.example})})]}),r]}):d.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center opacity-40 space-y-4",children:[d.jsx("div",{className:"w-10 h-10 rounded-full bg-dash-bg border border-dash-border flex items-center justify-center text-lg",children:"?"}),d.jsxs("div",{className:"max-w-[180px]",children:[d.jsx("p",{className:"text-sm font-bold text-dash-text mb-1 italic",children:s("knowledgeBase")}),d.jsx("p",{className:"text-xs text-dash-text-secondary",children:s("clickToSeeHelp")})]})]})}),e&&d.jsx("div",{className:"p-3 bg-dash-surface-hover/20 border-t border-dash-border shrink-0",children:d.jsxs("p",{className:"text-[10px] text-dash-text-muted font-medium flex items-center gap-1.5 italic",children:[d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),s("extractedFrom")]})})]})},wC=({variant:n="development"})=>{const{t:e}=me(),t={development:e("developmentFeature"),beta:e("betaFeature"),experimental:e("experimentalFeature")};return d.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-2 py-0.5 rounded-full font-bold border border-orange-500/30 uppercase tracking-wider",children:t[n]})},kC=({components:n,isChecking:e,isUpdating:t,onCheckAll:r,onUpdateAll:i,className:s})=>{const{t:o}=me(),a=n.filter(h=>h.status==="update-available").length,l=n.length>0&&n.every(h=>h.status==="up-to-date"||h.status==="idle"),c=n.filter(h=>h.status==="up-to-date").length;return d.jsxs("div",{className:`flex flex-wrap items-center gap-2 ${s??""}`,children:[d.jsxs("div",{className:"inline-flex items-center gap-2 rounded-lg border border-dash-border bg-dash-surface px-3 py-2 text-xs",children:[d.jsx("output",{className:"inline-flex items-center gap-2","aria-live":"polite","aria-atomic":"true",children:e?d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),d.jsx("span",{className:"text-dash-text-secondary",children:o("checkingAll")})]}):a>0?d.jsx("span",{className:"text-amber-500 font-semibold",children:o("updatesAvailable").replace("{count}",a.toString())}):l?d.jsx("span",{className:"text-emerald-500 font-semibold",children:o("allUpToDate")}):d.jsx("span",{className:"text-dash-text-secondary font-medium",children:o("readyToScan")})}),c>0&&d.jsx("span",{className:"mono text-dash-text-muted border-l border-dash-border pl-2",children:c})]}),d.jsx("button",{type:"button",onClick:r,disabled:e||t,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("checkAll")}),a>0&&d.jsx("button",{type:"button",onClick:i,disabled:t,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold bg-dash-accent text-dash-bg hover:bg-dash-accent-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("updateAll")})]})},SC=({value:n,onChange:e,disabled:t=!1})=>{const{t:r}=me();return d.jsxs("fieldset",{className:"inline-flex items-center rounded-xl border border-dash-border bg-dash-surface p-1 gap-1",role:"radiogroup","aria-label":"Update channel",children:[d.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${n==="stable"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[d.jsx("input",{type:"radio",name:"channel",value:"stable",checked:n==="stable",onChange:()=>e("stable"),disabled:t,className:"sr-only"}),r("channelStable")]}),d.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${n==="beta"?"bg-amber-500/15 text-amber-500":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[d.jsx("input",{type:"radio",name:"channel",value:"beta",checked:n==="beta",onChange:()=>e("beta"),disabled:t,className:"sr-only"}),r("channelBeta")]})]})},CC={idle:{color:"bg-dash-text-muted",pulse:!1},checking:{color:"bg-dash-text-muted",pulse:!0},"up-to-date":{color:"bg-emerald-500",pulse:!1},"update-available":{color:"bg-amber-500",pulse:!1}},Ab=({status:n,ariaLabel:e,size:t="sm"})=>{const r=CC[n],i=t==="sm"?"w-2 h-2":"w-2.5 h-2.5";return d.jsx("span",{className:`
52
+ transition-colors`,placeholder:"Enter passphrase..."}),d.jsx("button",{type:"button",onClick:()=>i(!r),className:"absolute right-2 top-1/2 -translate-y-1/2 text-dash-text-muted hover:text-dash-text transition-colors",children:r?d.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"})}):d.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})]})})]})},Bv={default:"bg-gray-500/10 text-gray-500 dark:bg-gray-400/10 dark:text-gray-400",project:"bg-orange-500/10 text-orange-600 dark:text-orange-400",global:"bg-blue-500/10 text-blue-600 dark:text-blue-400"},$v=({source:n})=>{const{t:e}=pe(),t=()=>{switch(n){case"default":return e("default");case"project":return e("scopeProject");case"global":return e("scopeGlobal")}};return d.jsx("span",{className:`text-[9px] px-1.5 py-0.5 rounded font-bold uppercase tracking-wider ${Bv[n]}`,children:t()})};function Fv(n,e){if(e.includes("passphrase")||e.includes("password"))return"password";if(n.enum&&n.enum.length>0)return"enum";switch(Array.isArray(n.type)?n.type.find(r=>r!=="null")||"string":n.type||"string"){case"boolean":return"boolean";case"integer":case"number":return"number";case"array":return"array";case"object":return"object";default:return"string"}}const Vv=({fieldPath:n,label:e,description:t,schema:r,value:i,source:s,onChange:o,disabled:a})=>{const l=Fv(r,n),c=()=>{const h={value:i,onChange:o,schema:r,disabled:a};switch(l){case"boolean":return d.jsx(Ev,{...h});case"number":return d.jsx(Dv,{...h});case"enum":return d.jsx(Rv,{...h});case"array":return d.jsx(Lv,{...h});case"password":return d.jsx(Iv,{...h});case"object":return null;default:return d.jsx(Tv,{...h})}};return l==="object"?null:d.jsx("div",{className:"py-3 border-b border-dash-border/50 last:border-b-0",children:d.jsxs("div",{className:"flex items-start justify-between gap-4",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[d.jsx("span",{className:"text-sm font-medium text-dash-text",children:e}),d.jsx($v,{source:s})]}),t&&d.jsx("p",{className:"text-xs text-dash-text-muted mb-2 leading-relaxed",children:t}),d.jsx("p",{className:"text-[10px] text-dash-text-muted/50 font-mono mb-2",children:n})]}),d.jsx("div",{className:l==="boolean"?"shrink-0":"w-1/2 max-w-xs",children:c()})]})})},zv=({id:n,title:e,defaultCollapsed:t=!1,children:r})=>{const[i,s]=g.useState(t);return d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg overflow-hidden",children:[d.jsxs("button",{type:"button",onClick:()=>s(!i),className:"w-full flex items-center justify-between px-4 py-3 bg-dash-surface-hover/30 hover:bg-dash-surface-hover/50 transition-colors","aria-expanded":!i,"aria-controls":`section-${n}`,children:[d.jsx("h3",{className:"text-sm font-bold text-dash-text uppercase tracking-wider",children:e}),d.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform duration-200 ${i?"":"rotate-180"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),d.jsx("div",{id:`section-${n}`,className:`transition-all duration-200 ease-in-out ${i?"max-h-0 overflow-hidden":"max-h-[2000px]"}`,children:d.jsx("div",{className:"px-4 py-2",children:r})})]})},_v=({schema:n,value:e,sources:t,sections:r,onChange:i,disabled:s})=>d.jsx("div",{className:"space-y-4",children:r.map((o,a)=>d.jsx(zv,{id:o.id,title:o.title,defaultCollapsed:o.defaultCollapsed??a>1,children:o.fields.map(l=>{const c=Mv(n,l.path),h=mc(e,l.path),u=t[l.path]||"default";return d.jsx(Vv,{fieldPath:l.path,label:l.label,description:l.description||c.description,schema:c,value:h,source:u,onChange:f=>i(l.path,f),disabled:s},l.path)})},o.id))}),Vm=({width:n,isLoading:e,schema:t,config:r,sources:i,sections:s,onChange:o})=>{const{t:a}=pe();return d.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0",children:[d.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:d.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:a("formTab")})}),d.jsx("div",{className:"flex-1 overflow-auto p-4",children:e?d.jsx("div",{className:"h-full flex items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:a("loading")})}):t?d.jsx(_v,{schema:t,value:r,sources:i,sections:s,onChange:o}):null})]})},zm=1024;let Hv=0,hl=class{constructor(e,t){this.from=e,this.to=t}};class de{constructor(e={}){this.id=Hv++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=mt.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}}de.closedBy=new de({deserialize:n=>n.split(" ")});de.openedBy=new de({deserialize:n=>n.split(" ")});de.group=new de({deserialize:n=>n.split(" ")});de.isolate=new de({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});de.contextHash=new de({perNode:!0});de.lookAhead=new de({perNode:!0});de.mounted=new de({perNode:!0});class Ci{constructor(e,t,r,i=!1){this.tree=e,this.overlay=t,this.parser=r,this.bracketed=i}static get(e){return e&&e.props&&e.props[de.mounted.id]}}const Wv=Object.create(null);class mt{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):Wv,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new mt(e.name||"",t,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(i)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(de.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return r=>{for(let i=r.prop(de.group),s=-1;s<(i?i.length:0);s++){let o=t[s<0?r.name:i[s]];if(o)return o}}}}mt.none=new mt("",Object.create(null),0,8);class Sh{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let i=null;for(let s of e){let o=s(r);if(o){i||(i=Object.assign({},r.props));let a=o[1],l=o[0];l.combine&&l.id in i&&(a=l.combine(i[l.id],a)),i[l.id]=a}}t.push(i?new mt(r.name,i,r.id,r.flags):r)}return new Sh(t)}}const po=new WeakMap,iu=new WeakMap;var Re;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(Re||(Re={}));class $e{constructor(e,t,r,i,s){if(this.type=e,this.children=t,this.positions=r,this.length=i,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=Ci.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let i=r.toString();i&&(t&&(t+=","),t+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new bc(this.topNode,e)}cursorAt(e,t=0,r=0){let i=po.get(this)||this.topNode,s=new bc(i);return s.moveTo(e,t),po.set(this,s._tree),s}get topNode(){return new Dt(this,0,0,null)}resolve(e,t=0){let r=Li(po.get(this)||this.topNode,e,t,!1);return po.set(this,r),r}resolveInner(e,t=0){let r=Li(iu.get(this)||this.topNode,e,t,!0);return iu.set(this,r),r}resolveStack(e,t=0){return Gv(this,e,t)}iterate(e){let{enter:t,leave:r,from:i=0,to:s=this.length}=e,o=e.mode||0,a=(o&Re.IncludeAnonymous)>0;for(let l=this.cursor(o|Re.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=i&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&r&&(a||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Oh(mt.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new $e(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new $e(mt.none,t,r,i)))}static build(e){return qv(e)}}$e.empty=new $e(mt.none,[],[],0);class Ch{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Ch(this.buffer,this.index)}}class Ln{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return mt.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],i=this.set.types[t],s=i.name;if(/\W/.test(s)&&!i.isError&&(s=JSON.stringify(s)),e+=4,r==e)return s;let o=[];for(;e<r;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,r,i,s){let{buffer:o}=this,a=-1;for(let l=e;l!=t&&!(_m(s,i,o[l+1],o[l+2])&&(a=l,r>0));l=o[l+3]);return a}slice(e,t,r){let i=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a<t;){s[l++]=i[a++],s[l++]=i[a++]-r;let c=s[l++]=i[a++]-r;s[l++]=i[a++]-e,o=Math.max(o,c)}return new Ln(s,o,this.set)}}function _m(n,e,t,r){switch(n){case-2:return t<e;case-1:return r>=e&&t<e;case 0:return t<e&&r>e;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function Li(n,e,t,r){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let o=!r&&n instanceof Dt&&n.index<0?null:n.parent;if(!o)return n;n=o}let s=r?0:Re.IgnoreOverlays;if(r)for(let o=n,a=o.parent;a;o=a,a=o.parent)o instanceof Dt&&o.index<0&&((i=a.enter(e,t,s))===null||i===void 0?void 0:i.from)!=o.from&&(n=a);for(;;){let o=n.enter(e,t,s);if(!o)return n;n=o}}class Hm{cursor(e=0){return new bc(this,e)}getChild(e,t=null,r=null){let i=su(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return su(this,e,t,r)}resolve(e,t=0){return Li(this,e,t,!1)}resolveInner(e,t=0){return Li(this,e,t,!0)}matchContext(e){return gc(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let i=t.lastChild;if(!i||i.to!=t.to)break;i.type.isError&&i.from==i.to?(r=t,t=i.prevSibling):t=i}return r}get node(){return this}get next(){return this.parent}}class Dt extends Hm{constructor(e,t,r,i){super(),this._tree=e,this.from=t,this.index=r,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,i,s=0){var o;for(let a=this;;){for(let{children:l,positions:c}=a._tree,h=t>0?l.length:-1;e!=h;e+=t){let u=l[e],f=c[e]+a.from;if(!(!(s&Re.EnterBracketed&&u instanceof $e&&((o=Ci.get(u))===null||o===void 0?void 0:o.overlay)===null&&(f>=r||f+u.length<=r))&&!_m(i,r,f,f+u.length))){if(u instanceof Ln){if(s&Re.ExcludeBuffers)continue;let p=u.findChild(0,u.buffer.length,t,r-f,i);if(p>-1)return new Tn(new Uv(a,u,e,f),null,p)}else if(s&Re.IncludeAnonymous||!u.type.isAnonymous||jh(u)){let p;if(!(s&Re.IgnoreMounts)&&(p=Ci.get(u))&&!p.overlay)return new Dt(p.tree,f,e,a);let m=new Dt(u,f,e,a);return s&Re.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?u.children.length-1:0,t,r,i,s)}}}if(s&Re.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,r=0){let i;if(!(r&Re.IgnoreOverlays)&&(i=Ci.get(this._tree))&&i.overlay){let s=e-this.from,o=r&Re.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=s:a<s)&&(t<0||o?l>=s:l>s))return new Dt(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function su(n,e,t,r){let i=n.cursor(),s=[];if(!i.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=i.type.is(t),!i.nextSibling())return s}for(;;){if(r!=null&&i.type.is(r))return s;if(i.type.is(e)&&s.push(i.node),!i.nextSibling())return r==null?s:[]}}function gc(n,e,t=e.length-1){for(let r=n;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}class Uv{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class Tn extends Hm{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return s<0?null:new Tn(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,r=0){if(r&Re.ExcludeBuffers)return null;let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new Tn(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Tn(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Tn(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,s=r.buffer[this.index+3];if(s>i){let o=r.buffer[this.index+1];e.push(r.slice(i,s,o)),t.push(0)}return new $e(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Wm(n){if(!n.length)return null;let e=0,t=n[0];for(let s=1;s<n.length;s++){let o=n[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let r=t instanceof Dt&&t.index<0?null:t.parent,i=n.slice();return r?i[e]=r:i.splice(e,1),new Kv(i,t)}class Kv{constructor(e,t){this.heads=e,this.node=t}get next(){return Wm(this.heads)}}function Gv(n,e,t){let r=n.resolveInner(e,t),i=null;for(let s=r instanceof Dt?r:r.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(i||(i=[r])).push(o.resolve(e,t)),s=o}else{let o=Ci.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new Dt(o.tree,o.overlay[0].from+s.from,-1,s);(i||(i=[r])).push(Li(a,e,t,!1))}}return i?Wm(i):r}class bc{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~Re.EnterBracketed,e instanceof Dt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof Dt?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&Re.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Re.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Re.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(i.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:r}=i)}else({index:t,_parent:r}=this._tree);for(;r;{index:t,_parent:r}=r)if(t>-1)for(let s=t+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let a=r._tree.children[s];if(this.mode&Re.IncludeAnonymous||a instanceof Ln||!a.type.isAnonymous||jh(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let i=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;t=o,r=s+1;break e}i=this.stack[--s]}for(let i=r;i<this.stack.length;i++)t=new Tn(this.buffer,t,this.stack[i]);return this.bufferNode=new Tn(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let i=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(i=!0)}for(;;){if(i&&t&&t(this),i=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,i=!0}}}matchContext(e){if(!this.buffer)return gc(this.node.parent,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let i=e.length-1,s=this.stack.length-1;i>=0;s--){if(s<0)return gc(this._tree,e,i);let o=r[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}}function jh(n){return n.children.some(e=>e instanceof Ln||!e.type.isAnonymous||jh(e))}function qv(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=zm,reused:s=[],minRepeatType:o=r.types.length}=n,a=Array.isArray(t)?new Ch(t,t.length):t,l=r.types,c=0,h=0;function u(S,O,x,T,N,R){let{id:A,start:L,end:W,size:F}=a,$=h,q=c;if(F<0)if(a.next(),F==-1){let le=s[A];x.push(le),T.push(L-S);return}else if(F==-3){c=A;return}else if(F==-4){h=A;return}else throw new RangeError(`Unrecognized record size: ${F}`);let he=l[A],z,J,ie=L-S;if(W-L<=i&&(J=y(a.pos-O,N))){let le=new Uint16Array(J.size-J.skip),ue=a.pos-J.size,we=le.length;for(;a.pos>ue;)we=v(J.start,le,we);z=new Ln(le,W-J.start,r),ie=J.start-S}else{let le=a.pos-F;a.next();let ue=[],we=[],ke=A>=o?A:-1,Ne=0,Xe=W;for(;a.pos>le;)ke>=0&&a.id==ke&&a.size>=0?(a.end<=Xe-i&&(m(ue,we,L,Ne,a.end,Xe,ke,$,q),Ne=ue.length,Xe=a.end),a.next()):R>2500?f(L,le,ue,we):u(L,le,ue,we,ke,R+1);if(ke>=0&&Ne>0&&Ne<ue.length&&m(ue,we,L,Ne,L,Xe,ke,$,q),ue.reverse(),we.reverse(),ke>-1&&Ne>0){let gt=p(he,q);z=Oh(he,ue,we,0,ue.length,0,W-L,gt,gt)}else z=b(he,ue,we,W-L,$-W,q)}x.push(z),T.push(ie)}function f(S,O,x,T){let N=[],R=0,A=-1;for(;a.pos>O;){let{id:L,start:W,end:F,size:$}=a;if($>4)a.next();else{if(A>-1&&W<A)break;A<0&&(A=F-i),N.push(L,W,F),R++,a.next()}}if(R){let L=new Uint16Array(R*4),W=N[N.length-2];for(let F=N.length-3,$=0;F>=0;F-=3)L[$++]=N[F],L[$++]=N[F+1]-W,L[$++]=N[F+2]-W,L[$++]=$;x.push(new Ln(L,N[2]-W,r)),T.push(W-S)}}function p(S,O){return(x,T,N)=>{let R=0,A=x.length-1,L,W;if(A>=0&&(L=x[A])instanceof $e){if(!A&&L.type==S&&L.length==N)return L;(W=L.prop(de.lookAhead))&&(R=T[A]+L.length+W)}return b(S,x,T,N,R,O)}}function m(S,O,x,T,N,R,A,L,W){let F=[],$=[];for(;S.length>T;)F.push(S.pop()),$.push(O.pop()+x-N);S.push(b(r.types[A],F,$,R-N,L-R,W)),O.push(N-x)}function b(S,O,x,T,N,R,A){if(R){let L=[de.contextHash,R];A=A?[L].concat(A):[L]}if(N>25){let L=[de.lookAhead,N];A=A?[L].concat(A):[L]}return new $e(S,O,x,T,A)}function y(S,O){let x=a.fork(),T=0,N=0,R=0,A=x.end-i,L={size:0,start:0,skip:0};e:for(let W=x.pos-S;x.pos>W;){let F=x.size;if(x.id==O&&F>=0){L.size=T,L.start=N,L.skip=R,R+=4,T+=4,x.next();continue}let $=x.pos-F;if(F<0||$<W||x.start<A)break;let q=x.id>=o?4:0,he=x.start;for(x.next();x.pos>$;){if(x.size<0)if(x.size==-3||x.size==-4)q+=4;else break e;else x.id>=o&&(q+=4);x.next()}N=he,T+=F,R+=q}return(O<0||T==S)&&(L.size=T,L.start=N,L.skip=R),L.size>4?L:void 0}function v(S,O,x){let{id:T,start:N,end:R,size:A}=a;if(a.next(),A>=0&&T<o){let L=x;if(A>4){let W=a.pos-(A-4);for(;a.pos>W;)x=v(S,O,x)}O[--x]=L,O[--x]=R-S,O[--x]=N-S,O[--x]=T}else A==-3?c=T:A==-4&&(h=T);return x}let w=[],C=[];for(;a.pos>0;)u(n.start||0,n.bufferStart||0,w,C,-1,0);let j=(e=n.length)!==null&&e!==void 0?e:w.length?C[0]+w[0].length:0;return new $e(l[n.topID],w.reverse(),C.reverse(),j)}const ou=new WeakMap;function Ko(n,e){if(!n.isAnonymous||e instanceof Ln||e.type!=n)return 1;let t=ou.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof $e)){t=1;break}t+=Ko(n,r)}ou.set(e,t)}return t}function Oh(n,e,t,r,i,s,o,a,l){let c=0;for(let m=r;m<i;m++)c+=Ko(n,e[m]);let h=Math.ceil(c*1.5/8),u=[],f=[];function p(m,b,y,v,w){for(let C=y;C<v;){let j=C,S=b[C],O=Ko(n,m[C]);for(C++;C<v;C++){let x=Ko(n,m[C]);if(O+x>=h)break;O+=x}if(C==j+1){if(O>h){let x=m[j];p(x.children,x.positions,0,x.children.length,b[j]+w);continue}u.push(m[j])}else{let x=b[C-1]+m[C-1].length-S;u.push(Oh(n,m,b,j,C,S,x,null,l))}f.push(S+w-s)}}return p(e,t,r,i,0),(a||l)(u,f,o)}class or{constructor(e,t,r,i,s=!1,o=!1){this.from=e,this.to=t,this.tree=r,this.offset=i,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let i=[new or(0,e.length,e,0,!1,r)];for(let s of t)s.to>e.length&&i.push(s);return i}static applyChanges(e,t,r=128){if(!t.length)return e;let i=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a<t.length?t[a]:null,u=h?h.fromA:1e9;if(u-l>=r)for(;o&&o.from<u;){let f=o;if(l>=f.from||u<=f.to||c){let p=Math.max(f.from,l)-c,m=Math.min(f.to,u)-c;f=p>=m?null:new or(p,m,f.tree,f.offset+c,a>0,!!h)}if(f&&i.push(f),o.to>u)break;o=s<e.length?e[s++]:null}if(!h)break;l=h.toA,c=h.toA-h.toB}return i}}class Um{startParse(e,t,r){return typeof e=="string"&&(e=new Jv(e)),r=r?r.length?r.map(i=>new hl(i.from,i.to)):[new hl(0,0)]:[new hl(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let s=i.advance();if(s)return s}}}class Jv{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new de({perNode:!0});var au={};class ra{constructor(e,t,r,i,s,o,a,l,c,h=0,u){this.p=e,this.stack=t,this.state=r,this.reducePos=i,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=h,this.parent=u}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let i=e.parser.context;return new ra(e,[],t,r,r,0,[],0,i?new lu(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,i=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=s.dynamicPrecedence(i);if(a&&(this.score+=a),r==0){this.pushState(s.getGoto(this.state,i,!0),this.reducePos),i<s.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(i,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),c=l?this.stack[l-2]:this.p.ranges[0].from,h=this.reducePos-c;h>=2e3&&!(!((t=this.p.parser.nodeSet.types[i])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=h));let u=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-u;if(i<s.minRepeatTerm||e&131072){let p=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,c,p,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let p=this.stack[l-3];this.state=s.getGoto(p,i,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(i,c)}storeNode(e,t,r,i=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(t==r)return;if(o.buffer[a-2]>=t){o.buffer[a-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,t,r,i);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,i>4&&(i-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=i}}shift(e,t,r,i){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=i,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,i,4);else{let s=e,{parser:o}=this.p;(i>this.pos||t<=o.maxNode)&&(this.pos=i,o.stateFlag(s,1)||(this.reducePos=i)),this.pushState(s,r),this.shiftContext(t,r),t<=o.maxNode&&this.buffer.push(t,r,i,4)}}apply(e,t,r,i){e&65536?this.reduce(e):this.shift(e,t,r,i)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new ra(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Yv(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let s=0,o;s<t.length;s+=2)(o=t[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&i.push(t[s],o);if(this.stack.length<120)for(let s=0;i.length<8&&s<t.length;s+=2){let o=t[s+1];i.some((a,l)=>l&1&&a==o)||i.push(t[s],o)}t=i}let r=[];for(let i=0;i<t.length&&r.length<4;i+=2){let s=t[i+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[i],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let r=t>>19,i=t&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],i,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(i,s)=>{if(!t.includes(i))return t.push(i),e.allActions(i,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=r(o,s+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new lu(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class lu{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Yv{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class ia{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new ia(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new ia(this.stack,this.pos,this.index)}}function mo(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,i=0;r<n.length;){let s=0;for(;;){let o=n.charCodeAt(r++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[i++]=s:t=new e(s)}return t}class Go{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const cu=new Go;class Qv{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=cu,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,i=this.rangeIndex,s=this.pos+e;for(;s<r.from;){if(!i)return null;let o=this.ranges[--i];s-=r.from-o.to,r=o}for(;t<0?s>r.to:s>=r.to;){if(i==this.ranges.length-1)return null;let o=this.ranges[++i];s+=o.from-r.to,r=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,i;if(t>=0&&t<this.chunk.length)r=this.pos+e,i=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(r=s,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=cu,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return r}}class Nr{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Xv(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}Nr.prototype.contextual=Nr.prototype.fallback=Nr.prototype.extend=!1;Nr.prototype.fallback=Nr.prototype.extend=!1;function Xv(n,e,t,r,i,s){let o=0,a=1<<r,{dialect:l}=t.p.parser;e:for(;a&n[o];){let c=n[o+1];for(let p=o+3;p<c;p+=2)if((n[p+1]&a)>0){let m=n[p];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||Zv(m,e.token.value,i,s))){e.acceptToken(m);break}}let h=e.next,u=0,f=n[o+2];if(e.next<0&&f>u&&n[c+f*3-3]==65535){o=n[c+f*3-1];continue e}for(;u<f;){let p=u+f>>1,m=c+p+(p<<1),b=n[m],y=n[m+1]||65536;if(h<b)f=p;else if(h>=y)u=p+1;else{o=n[m+2],e.advance();continue e}}break}}function hu(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function Zv(n,e,t,r){let i=hu(t,r,e);return i<0||hu(t,r,n)<i}const yt=typeof process<"u"&&au&&/\bparse\b/.test(au.LOG);let dl=null;function du(n,e,t){let r=n.cursor(Re.IncludeAnonymous);for(r.moveTo(e);;)if(!(t<0?r.childBefore(e):r.childAfter(e)))for(;;){if((t<0?r.to<e:r.from>e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}class e2{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?du(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?du(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],i=this.index[t];if(i==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=r.children[i],o=this.start[t]+r.positions[i];if(o>e)return this.nextStart=o,null;if(s instanceof $e){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(de.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[t]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}}class t2{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Go)}getActions(e){let t=0,r=null,{parser:i}=e.p,{tokenizers:s}=i,o=i.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<s.length;c++){if(!(1<<c&o))continue;let h=s[c],u=this.tokens[c];if(!(r&&!h.fallback)&&((h.contextual||u.start!=e.pos||u.mask!=o||u.context!=a)&&(this.updateCachedToken(u,h,e),u.mask=o,u.context=a),u.lookAhead>u.end+25&&(l=Math.max(u.lookAhead,l)),u.value!=0)){let f=t;if(u.extended>-1&&(t=this.addActions(e,u.extended,u.end,t)),t=this.addActions(e,u.value,u.end,t),!h.extend&&(r=u,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Go,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Go,{pos:r,p:i}=e;return t.start=r,t.end=Math.min(r+1,i.stream.end),t.value=r==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,r){let i=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(i,e),r),e.value>-1){let{parser:s}=r.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let a=s.specializers[o](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,r,i){for(let s=0;s<i;s+=3)if(this.actions[s]==e)return i;return this.actions[i++]=e,this.actions[i++]=t,this.actions[i++]=r,i}addActions(e,t,r,i){let{state:s}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let c=o.stateSlot(s,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=mn(a,c+2);else{i==0&&a[c+1]==2&&(i=this.putAction(mn(a,c+2),t,r,i));break}a[c]==t&&(i=this.putAction(mn(a,c+1),t,r,i))}return i}}class n2{constructor(e,t,r,i){this.parser=e,this.input=t,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Qv(t,i),this.tokens=new t2(e,this.stream),this.topTerm=e.top[1];let{from:s}=i[0];this.stacks=[ra.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new e2(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],i,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>t)r.push(a);else{if(this.advanceStack(a,r,e))continue;{i||(i=[],s=[]),i.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!r.length){let o=i&&i2(i);if(o)return yt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw yt&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&i){let o=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,s,r);if(o)return yt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((a,l)=>l.score-a.score);r.length>o;)r.pop();r.some(a=>a.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let o=0;o<r.length-1;o++){let a=r[o];for(let l=o+1;l<r.length;l++){let c=r[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,a)=>a.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o<r.length;o++)r[o].pos<this.minStackPos&&(this.minStackPos=r[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let i=e.pos,{parser:s}=this,o=yt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let u=this.fragments.nodeAt(i);u;){let f=this.parser.nodeSet.types[u.type.id]==u.type?s.getGoto(e.state,u.type.id):-1;if(f>-1&&u.length&&(!c||(u.prop(de.contextHash)||0)==h))return e.useNode(u,f),yt&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(u.type.id)})`),!0;if(!(u instanceof $e)||u.children.length==0||u.positions[0]>0)break;let p=u.children[0];if(p instanceof $e&&u.positions[0]==0)u=p;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),yt&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let h=l[c++],u=l[c++],f=l[c++],p=c==l.length||!r,m=p?e:e.split(),b=this.tokens.mainToken;if(m.apply(h,u,b?b.start:m.pos,f),yt&&console.log(o+this.stackID(m)+` (via ${h&65536?`reduce of ${s.getName(h&65535)}`:"shift"} for ${s.getName(u)} @ ${i}${m==e?"":", split"})`),p)return!0;m.pos>i?t.push(m):r.push(m)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return uu(e,t),!0}}runRecovery(e,t,r){let i=null,s=!1;for(let o=0;o<e.length;o++){let a=e[o],l=t[o<<1],c=t[(o<<1)+1],h=yt?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),yt&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let u=a.split(),f=h;for(let p=0;p<10&&u.forceReduce()&&(yt&&console.log(f+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));p++)yt&&(f=this.stackID(u)+" -> ");for(let p of a.recoverByInsert(l))yt&&console.log(h+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,r);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),yt&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),uu(a,r)):(!i||i.score<a.score)&&(i=a)}return i}stackToTree(e){return e.close(),$e.build({buffer:ia.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(dl||(dl=new WeakMap)).get(e);return t||dl.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function uu(n,e){for(let t=0;t<e.length;t++){let r=e[t];if(r.pos==n.pos&&r.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}class r2{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class sa extends Um{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;a<e.repeatNodeCount;a++)t.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),i=[];for(let a=0;a<t.length;a++)i.push([]);function s(a,l,c){i[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=de[l]);for(let c=1;c<a.length;){let h=a[c++];if(h>=0)s(h,l,a[c++]);else{let u=a[c+-h];for(let f=-h;f>0;f--)s(a[c++],l,u);c++}}}this.nodeSet=new Sh(t.map((a,l)=>mt.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:i[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=zm;let o=mo(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(fu),this.states=mo(e.states,Uint32Array),this.data=mo(e.stateData),this.goto=mo(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new Nr(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let i=new n2(this,e,t,r);for(let s of this.wrappers)i=s(i,e,t,r);return i}getGoto(e,t,r=!1){let i=this.goto;if(t>=i[0])return-1;for(let s=i[t+1];;){let o=i[s++],a=o&1,l=i[s++];if(a&&r)return l;for(let c=s+(o>>1);s<c;s++)if(i[s]==e)return l;if(a)return-1}}hasAction(e,t){let r=this.data;for(let i=0;i<2;i++)for(let s=this.stateSlot(e,i?2:1),o;;s+=3){if((o=r[s])==65535)if(r[s+1]==1)o=r[s=mn(r,s+2)];else{if(r[s+1]==2)return mn(r,s+2);break}if(o==t||o==0)return mn(r,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),i=r?t(r):void 0;for(let s=this.stateSlot(e,1);i==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=mn(this.data,s+2);else break;i=t(mn(this.data,s+1))}return i}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=mn(this.data,r+2);else break;if(!(this.data[r+2]&1)){let i=this.data[r+1];t.some((s,o)=>o&1&&s==i)||t.push(this.data[r],i)}}return t}configure(e){let t=Object.assign(Object.create(sa.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let i=e.tokenizers.find(s=>s.from==r);return i?i.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,i)=>{let s=e.specializers.find(a=>a.from==r.external);if(!s)return r;let o=Object.assign(Object.assign({},r),{external:s.to});return t.specializers[i]=fu(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(r[o]=!0)}let i=null;for(let s=0;s<t.length;s++)if(!r[s])for(let o=this.dialects[t[s]],a;(a=this.data[o++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[a]=1;return new r2(e,r,i)}static deserialize(e){return new sa(e)}}function mn(n,e){return n[e]|n[e+1]<<16}function i2(n){let e=null;for(let t of n){let r=t.p.stoppedAt;(t.pos==t.p.stream.end||r!=null&&t.pos>r)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function fu(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}let s2=0;class At{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=s2++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r=typeof e=="string"?e:"?";if(e instanceof At&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let i=new At(r,[],null,[]);if(i.set.push(i),t)for(let s of t.set)i.set.push(s);return i}static defineModifier(e){let t=new oa(e);return r=>r.modified.indexOf(t)>-1?r:oa.get(r.base||r,r.modified.concat(t).sort((i,s)=>i.id-s.id))}}let o2=0;class oa{constructor(e){this.name=e,this.instances=[],this.id=o2++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(a=>a.base==e&&a2(t,a.modified));if(r)return r;let i=[],s=new At(e.name,i,e,t);for(let a of t)a.instances.push(s);let o=l2(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(oa.get(a,l));return s}}function a2(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function l2(n){let e=[[]];for(let t=0;t<n.length;t++)for(let r=0,i=e.length;r<i;r++)e.push(e[r].concat(n[t]));return e.sort((t,r)=>r.length-t.length)}function Km(n){let e=Object.create(null);for(let t in n){let r=n[t];Array.isArray(r)||(r=[r]);for(let i of t.split(" "))if(i){let s=[],o=2,a=i;for(let u=0;;){if(a=="..."&&u>0&&u+3==i.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+i);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),u+=f[0].length,u==i.length)break;let p=i[u++];if(u==i.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+i);a=i.slice(u)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+i);let h=new Ii(r,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Gm.add(e)}const Gm=new de({combine(n,e){let t,r,i;for(;n||e;){if(!n||e&&n.depth>=e.depth?(i=e,e=e.next):(i=n,n=n.next),t&&t.mode==i.mode&&!i.context&&!t.context)continue;let s=new Ii(i.tags,i.mode,i.context);t?t.next=s:r=s,t=s}return r}});class Ii{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}Ii.empty=new Ii([],2,null);function qm(n,e){let t=Object.create(null);for(let s of n)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:r,all:i=null}=e||{};return{style:s=>{let o=i;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:r}}function c2(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function h2(n,e,t,r=0,i=n.length){let s=new d2(r,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),r,i,"",s.highlighters),s.flush(i)}class d2{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,s){let{type:o,from:a,to:l}=e;if(a>=r||l<=t)return;o.isTop&&(s=this.highlighters.filter(p=>!p.scope||p.scope(o)));let c=i,h=u2(e)||Ii.empty,u=c2(s,h.tags);if(u&&(c&&(c+=" "),c+=u,h.mode==1&&(i+=(i?" ":"")+u)),this.startSpan(Math.max(t,a),c),h.opaque)return;let f=e.tree&&e.tree.prop(de.mounted);if(f&&f.overlay){let p=e.node.enter(f.overlay[0].from+a,1),m=this.highlighters.filter(y=>!y.scope||y.scope(f.tree.type)),b=e.firstChild();for(let y=0,v=a;;y++){let w=y<f.overlay.length?f.overlay[y]:null,C=w?w.from+a:l,j=Math.max(t,v),S=Math.min(r,C);if(j<S&&b)for(;e.from<S&&(this.highlightRange(e,j,S,i,s),this.startSpan(Math.min(S,e.to),c),!(e.to>=C||!e.nextSibling())););if(!w||C>r)break;v=w.to+a,v>t&&(this.highlightRange(p.cursor(),Math.max(t,w.from+a),Math.min(r,v),"",m),this.startSpan(Math.min(r,v),c))}b&&e.parent()}else if(e.firstChild()){f&&(i="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,s),this.startSpan(Math.min(r,e.to),c)}while(e.nextSibling());e.parent()}}}function u2(n){let e=n.type.prop(Gm);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const _=At.define,go=_(),Cn=_(),pu=_(Cn),mu=_(Cn),jn=_(),bo=_(jn),ul=_(jn),qt=_(),Jn=_(qt),Ut=_(),Kt=_(),yc=_(),li=_(yc),yo=_(),D={comment:go,lineComment:_(go),blockComment:_(go),docComment:_(go),name:Cn,variableName:_(Cn),typeName:pu,tagName:_(pu),propertyName:mu,attributeName:_(mu),className:_(Cn),labelName:_(Cn),namespace:_(Cn),macroName:_(Cn),literal:jn,string:bo,docString:_(bo),character:_(bo),attributeValue:_(bo),number:ul,integer:_(ul),float:_(ul),bool:_(jn),regexp:_(jn),escape:_(jn),color:_(jn),url:_(jn),keyword:Ut,self:_(Ut),null:_(Ut),atom:_(Ut),unit:_(Ut),modifier:_(Ut),operatorKeyword:_(Ut),controlKeyword:_(Ut),definitionKeyword:_(Ut),moduleKeyword:_(Ut),operator:Kt,derefOperator:_(Kt),arithmeticOperator:_(Kt),logicOperator:_(Kt),bitwiseOperator:_(Kt),compareOperator:_(Kt),updateOperator:_(Kt),definitionOperator:_(Kt),typeOperator:_(Kt),controlOperator:_(Kt),punctuation:yc,separator:_(yc),bracket:li,angleBracket:_(li),squareBracket:_(li),paren:_(li),brace:_(li),content:qt,heading:Jn,heading1:_(Jn),heading2:_(Jn),heading3:_(Jn),heading4:_(Jn),heading5:_(Jn),heading6:_(Jn),contentSeparator:_(qt),list:_(qt),quote:_(qt),emphasis:_(qt),strong:_(qt),link:_(qt),monospace:_(qt),strikethrough:_(qt),inserted:_(),deleted:_(),changed:_(),invalid:_(),meta:yo,documentMeta:_(yo),annotation:_(yo),processingInstruction:_(yo),definition:At.defineModifier("definition"),constant:At.defineModifier("constant"),function:At.defineModifier("function"),standard:At.defineModifier("standard"),local:At.defineModifier("local"),special:At.defineModifier("special")};for(let n in D){let e=D[n];e instanceof At&&(e.name=n)}qm([{tag:D.link,class:"tok-link"},{tag:D.heading,class:"tok-heading"},{tag:D.emphasis,class:"tok-emphasis"},{tag:D.strong,class:"tok-strong"},{tag:D.keyword,class:"tok-keyword"},{tag:D.atom,class:"tok-atom"},{tag:D.bool,class:"tok-bool"},{tag:D.url,class:"tok-url"},{tag:D.labelName,class:"tok-labelName"},{tag:D.inserted,class:"tok-inserted"},{tag:D.deleted,class:"tok-deleted"},{tag:D.literal,class:"tok-literal"},{tag:D.string,class:"tok-string"},{tag:D.number,class:"tok-number"},{tag:[D.regexp,D.escape,D.special(D.string)],class:"tok-string2"},{tag:D.variableName,class:"tok-variableName"},{tag:D.local(D.variableName),class:"tok-variableName tok-local"},{tag:D.definition(D.variableName),class:"tok-variableName tok-definition"},{tag:D.special(D.variableName),class:"tok-variableName2"},{tag:D.definition(D.propertyName),class:"tok-propertyName tok-definition"},{tag:D.typeName,class:"tok-typeName"},{tag:D.namespace,class:"tok-namespace"},{tag:D.className,class:"tok-className"},{tag:D.macroName,class:"tok-macroName"},{tag:D.propertyName,class:"tok-propertyName"},{tag:D.operator,class:"tok-operator"},{tag:D.comment,class:"tok-comment"},{tag:D.meta,class:"tok-meta"},{tag:D.invalid,class:"tok-invalid"},{tag:D.punctuation,class:"tok-punctuation"}]);const f2=Km({String:D.string,Number:D.number,"True False":D.bool,PropertyName:D.propertyName,Null:D.null,", :":D.separator,"[ ]":D.squareBracket,"{ }":D.brace}),p2=sa.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[f2],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});let xc=[],Jm=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?Jm:xc).push(t=t+n[e])})();function m2(n){if(n<768)return!1;for(let e=0,t=xc.length;;){let r=e+t>>1;if(n<xc[r])t=r;else if(n>=Jm[r])e=r+1;else return!0;if(e==t)return!1}}function gu(n){return n>=127462&&n<=127487}const bu=8205;function g2(n,e,t=!0,r=!0){return(t?Ym:b2)(n,e,r)}function Ym(n,e,t){if(e==n.length)return e;e&&Qm(n.charCodeAt(e))&&Xm(n.charCodeAt(e-1))&&e--;let r=fl(n,e);for(e+=yu(r);e<n.length;){let i=fl(n,e);if(r==bu||i==bu||t&&m2(i))e+=yu(i),r=i;else if(gu(i)){let s=0,o=e-2;for(;o>=0&&gu(fl(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function b2(n,e,t){for(;e>0;){let r=Ym(n,e-2,t);if(r<e)return r;e--}return 0}function fl(n,e){let t=n.charCodeAt(e);if(!Xm(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return Qm(r)?(t-55296<<10)+(r-56320)+65536:t}function Qm(n){return n>=56320&&n<57344}function Xm(n){return n>=55296&&n<56320}function yu(n){return n<65536?1:2}class xe{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){[e,t]=Br(this,e,t);let i=[];return this.decompose(0,e,i,2),r.length&&r.decompose(0,r.length,i,3),this.decompose(t,this.length,i,1),Qt.from(i,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Br(this,e,t);let r=[];return this.decompose(e,t,r,0),Qt.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),i=new ji(this),s=new ji(e);for(let o=t,a=t;;){if(i.next(o),s.next(o),o=0,i.lineBreak!=s.lineBreak||i.done!=s.done||i.value!=s.value)return!1;if(a+=i.value.length,i.done||a>=r)return!0}}iter(e=1){return new ji(this,e)}iterRange(e,t=this.length){return new Zm(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;r=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new eg(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?xe.empty:e.length<=32?new Be(e):Qt.from(Be.split(e,[]))}}class Be extends xe{constructor(e,t=y2(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.text[s],a=i+o.length;if((t?r:a)>=e)return new x2(i,a,r,o);i=a+1,r++}}decompose(e,t,r,i){let s=e<=0&&t>=this.length?this:new Be(xu(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=r.pop(),a=qo(s.text,o.text.slice(),0,s.length);if(a.length<=32)r.push(new Be(a,o.length+s.length));else{let l=a.length>>1;r.push(new Be(a.slice(0,l)),new Be(a.slice(l)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof Be))return super.replace(e,t,r);[e,t]=Br(this,e,t);let i=qo(this.text,qo(r.text,xu(this.text,0,e)),t),s=this.length+r.length-(t-e);return i.length<=32?new Be(i,s):Qt.from(Be.split(i,[]),s)}sliceString(e,t=this.length,r=`
53
+ `){[e,t]=Br(this,e,t);let i="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(i+=r),e<l&&t>s&&(i+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],i=-1;for(let s of e)r.push(s),i+=s.length+1,r.length==32&&(t.push(new Be(r,i)),r=[],i=-1);return i>-1&&t.push(new Be(r,i)),t}}class Qt extends xe{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.children[s],a=i+o.length,l=r+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,r,i);i=a+1,r=l+1}}decompose(e,t,r,i){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=i&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?r.push(a):a.decompose(e-o,t-o,r,c)}o=l+1}}replace(e,t,r){if([e,t]=Br(this,e,t),r.lines<this.lines)for(let i=0,s=0;i<this.children.length;i++){let o=this.children[i],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,r),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let h=this.children.slice();return h[i]=l,new Qt(h,this.length-(t-e)+r.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=`
54
+ `){[e,t]=Br(this,e,t);let i="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(i+=r),e<l&&t>o&&(i+=a.sliceString(e-o,t-o,r)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Qt))return 0;let r=0,[i,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,s+=t){if(i==o||s==a)return r;let l=this.children[i],c=e.children[s];if(l!=c)return r+l.scanIdentical(c,t);r+=l.length+1}}static from(e,t=e.reduce((r,i)=>r+i.length+1,-1)){let r=0;for(let p of e)r+=p.lines;if(r<32){let p=[];for(let m of e)m.flatten(p);return new Be(p,t)}let i=Math.max(32,r>>5),s=i<<1,o=i>>1,a=[],l=0,c=-1,h=[];function u(p){let m;if(p.lines>s&&p instanceof Qt)for(let b of p.children)u(b);else p.lines>o&&(l>o||!l)?(f(),a.push(p)):p instanceof Be&&l&&(m=h[h.length-1])instanceof Be&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Be(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>i&&f(),l+=p.lines,c+=p.length+1,h.push(p))}function f(){l!=0&&(a.push(h.length==1?h[0]:Qt.from(h,c)),c=-1,l=h.length=0)}for(let p of e)u(p);return f(),a.length==1?a[0]:new Qt(a,t)}}xe.empty=new Be([""],0);function y2(n){let e=-1;for(let t of n)e+=t.length+1;return e}function qo(n,e,t=0,r=1e9){for(let i=0,s=0,o=!0;s<n.length&&i<=r;s++){let a=n[s],l=i+a.length;l>=t&&(l>r&&(a=a.slice(0,r-i)),i<t&&(a=a.slice(t-i)),o?(e[e.length-1]+=a,o=!1):e.push(a)),i=l+1}return e}function xu(n,e,t){return qo(n,[""],e,t)}class ji{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Be?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,i=this.nodes[r],s=this.offsets[r],o=s>>1,a=i instanceof Be?i.text.length:i.children.length;if(o==(t>0?a:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=`
55
+ `,this;e--}else if(i instanceof Be){let l=i.text[o+(t<0?-1:0)];if(this.offsets[r]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Be?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Zm{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new ji(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=r?i:t<0?i.slice(i.length-r):i.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class eg{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(xe.prototype[Symbol.iterator]=function(){return this.iter()},ji.prototype[Symbol.iterator]=Zm.prototype[Symbol.iterator]=eg.prototype[Symbol.iterator]=function(){return this});class x2{constructor(e,t,r,i){this.from=e,this.to=t,this.number=r,this.text=i}get length(){return this.to-this.from}}function Br(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function _e(n,e,t=!0,r=!0){return g2(n,e,t,r)}function v2(n){return n>=56320&&n<57344}function w2(n){return n>=55296&&n<56320}function ht(n,e){let t=n.charCodeAt(e);if(!w2(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return v2(r)?(t-55296<<10)+(r-56320)+65536:t}function Ph(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Xt(n){return n<65536?1:2}const vc=/\r\n?|\n/;var ot=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(ot||(ot={}));class rn{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,i=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(r,i,s),i+=s):i+=o,r+=s}}iterChangedRanges(e,t=!1){wc(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];i<0?e.push(r,i):e.push(i,r)}return new rn(e)}composeDesc(e){return this.empty?e:e.empty?this:tg(this,e)}mapDesc(e,t=!1){return e.empty?this:kc(this,e,t)}mapPos(e,t=-1,r=ot.Simple){let i=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=i+a;if(l<0){if(c>e)return s+(e-i);s+=a}else{if(r!=ot.Simple&&c>=e&&(r==ot.TrackDel&&i<e&&c>e||r==ot.TrackBefore&&i<e||r==ot.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?s:s+l;s+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return s}touchesRange(e,t=e){for(let r=0,i=0;r<this.sections.length&&i<=t;){let s=this.sections[r++],o=this.sections[r++],a=i+s;if(o>=0&&i<=t&&a>=e)return i<e&&a>t?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];e+=(e?" ":"")+r+(i>=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new rn(e)}static create(e){return new rn(e)}}class ze extends rn{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return wc(this,(t,r,i,s,o)=>e=e.replace(i,i+(r-t),o),!1),e}mapDesc(e,t=!1){return kc(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let i=0,s=0;i<t.length;i+=2){let o=t[i],a=t[i+1];if(a>=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;r.length<l;)r.push(xe.empty);r.push(o?e.slice(s,s+o):xe.empty)}s+=o}return new ze(t,r)}compose(e){return this.empty?e:e.empty?this:tg(this,e,!0)}map(e,t=!1){return e.empty?this:kc(this,e,t,!0)}iterChanges(e,t=!1){wc(this,e,t)}get desc(){return rn.create(this.sections)}filter(e){let t=[],r=[],i=[],s=new Bi(this);e:for(let o=0,a=0;;){let l=o==e.length?1e9:e[o++];for(;a<l||a==l&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,l-a);tt(i,h,-1);let u=s.ins==-1?-1:s.off==0?s.ins:0;tt(t,h,u),u>0&&Dn(r,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a<c;){if(s.done)break e;let h=Math.min(s.len,c-a);tt(t,h,-1),tt(i,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),a+=h}}return{changes:new ze(t,r),filtered:rn.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],i=this.sections[t+1];i<0?e.push(r):i==0?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let i=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!i.length)return;o<t&&tt(i,t-o,-1);let u=new ze(i,s);a=a?a.compose(u.map(a)):u,i=[],s=[],o=0}function c(h){if(Array.isArray(h))for(let u of h)c(u);else if(h instanceof ze){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);l(),a=a?a.compose(h.map(a)):h}else{let{from:u,to:f=u,insert:p}=h;if(u>f||u<0||f>t)throw new RangeError(`Invalid change range ${u} to ${f} (in doc of length ${t})`);let m=p?typeof p=="string"?xe.of(p.split(r||vc)):p:xe.empty,b=m.length;if(u==f&&b==0)return;u<o&&l(),u>o&&tt(i,u-o,-1),tt(i,f-u,b),Dn(s,i,m),o=f}}return c(e),l(!a),a}static empty(e){return new ze(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let i=0;i<e.length;i++){let s=e[i];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,a)=>a&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;r.length<i;)r.push(xe.empty);r[i]=xe.of(s.slice(1)),t.push(s[0],r[i].length)}}}return new ze(t,r)}static createSet(e,t){return new ze(e,t)}}function tt(n,e,t,r=!1){if(e==0&&t<=0)return;let i=n.length-2;i>=0&&t<=0&&t==n[i+1]?n[i]+=e:i>=0&&e==0&&n[i]==0?n[i+1]+=t:r?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function Dn(n,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<r;)n.push(xe.empty);n.push(t)}}function wc(n,e,t){let r=n.inserted;for(let i=0,s=0,o=0;o<n.sections.length;){let a=n.sections[o++],l=n.sections[o++];if(l<0)i+=a,s+=a;else{let c=i,h=s,u=xe.empty;for(;c+=a,h+=l,l&&r&&(u=u.append(r[o-2>>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)a=n.sections[o++],l=n.sections[o++];e(i,c,s,h,u),i=c,s=h}}}function kc(n,e,t,r=!1){let i=[],s=r?[]:null,o=new Bi(n),a=new Bi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);tt(i,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len<o.len||a.len==o.len&&!t))){let c=a.len;for(tt(i,a.ins,-1);c;){let h=Math.min(o.len,c);o.ins>=0&&l<o.i&&o.len<=h&&(tt(i,0,o.ins),s&&Dn(s,i,o.text),l=o.i),o.forward(h),c-=h}a.next()}else if(o.ins>=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let u=Math.min(h,a.len);c+=u,h-=u,a.forward(u)}else if(a.ins==0&&a.len<h)h-=a.len,a.next();else break;tt(i,c,l<o.i?o.ins:0),s&&l<o.i&&Dn(s,i,o.text),l=o.i,o.forward(o.len-h)}else{if(o.done&&a.done)return s?ze.createSet(i,s):rn.create(i);throw new Error("Mismatched change set lengths")}}}function tg(n,e,t=!1){let r=[],i=t?[]:null,s=new Bi(n),o=new Bi(e);for(let a=!1;;){if(s.done&&o.done)return i?ze.createSet(r,i):rn.create(r);if(s.ins==0)tt(r,s.len,0,a),s.next();else if(o.len==0&&!o.done)tt(r,0,o.ins,a),i&&Dn(i,r,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let l=Math.min(s.len2,o.len),c=r.length;if(s.ins==-1){let h=o.ins==-1?-1:o.off?0:o.ins;tt(r,l,h,a),i&&h&&Dn(i,r,o.text)}else o.ins==-1?(tt(r,s.off?0:s.len,l,a),i&&Dn(i,r,s.textBit(l))):(tt(r,s.off?0:s.len,o.off?0:o.ins,a),i&&!o.off&&Dn(i,r,o.text));a=(s.ins>l||o.ins>=0&&o.len>l)&&(a||r.length>c),s.forward2(l),o.forward(l)}}}}class Bi{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?xe.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?xe.empty:t[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class rr{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let r,i;return this.empty?r=i=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new rr(r,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return E.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return E.range(this.anchor,r)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return E.range(e.anchor,e.head)}static create(e,t,r){return new rr(e,t,r)}}class E{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:E.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;r<this.ranges.length;r++)if(!this.ranges[r].eq(e.ranges[r],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new E([this.main],0)}addRange(e,t=!0){return E.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,E.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new E(e.ranges.map(t=>rr.fromJSON(t)),e.main)}static single(e,t=e){return new E([E.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,i=0;i<e.length;i++){let s=e[i];if(s.empty?s.from<=r:s.from<r)return E.normalized(e.slice(),t);r=s.to}return new E(e,t)}static cursor(e,t=0,r,i){return rr.create(e,e,(t==0?0:t<0?8:16)|(r==null?7:Math.min(6,r))|(i??16777215)<<6)}static range(e,t,r,i){let s=(r??16777215)<<6|(i==null?7:Math.min(6,i));return t<e?rr.create(t,e,48|s):rr.create(e,t,(t>e?8:0)|s)}static normalized(e,t=0){let r=e[t];e.sort((i,s)=>i.from-s.from),t=e.indexOf(r);for(let i=1;i<e.length;i++){let s=e[i],o=e[i-1];if(s.empty?s.from<=o.to:s.from<o.to){let a=o.from,l=Math.max(s.to,o.to);i<=t&&t--,e.splice(--i,2,s.anchor>s.head?E.range(l,a):E.range(a,l))}}return new E(e,t)}}function ng(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Ah=0;class K{constructor(e,t,r,i,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=Ah++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new K(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:Nh),!!e.static,e.enables)}of(e){return new Jo([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Jo(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Jo(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function Nh(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class Jo{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=Ah++}dynamicSlot(e){var t;let r=this.value,i=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let u of this.dependencies)u=="doc"?l=!0:u=="selection"?c=!0:((t=e[u.id])!==null&&t!==void 0?t:1)&1||h.push(e[u.id]);return{create(u){return u.values[o]=r(u),1},update(u,f){if(l&&f.docChanged||c&&(f.docChanged||f.selection)||Sc(u,h)){let p=r(u);if(a?!vu(p,u.values[o],i):!i(p,u.values[o]))return u.values[o]=p,1}return 0},reconfigure:(u,f)=>{let p,m=f.config.address[s];if(m!=null){let b=la(f,m);if(this.dependencies.every(y=>y instanceof K?f.facet(y)===u.facet(y):y instanceof Qe?f.field(y,!1)==u.field(y,!1):!0)||(a?vu(p=r(u),b,i):i(p=r(u),b)))return u.values[o]=b,0}else p=r(u);return u.values[o]=p,1}}}}function vu(n,e,t){if(n.length!=e.length)return!1;for(let r=0;r<n.length;r++)if(!t(n[r],e[r]))return!1;return!0}function Sc(n,e){let t=!1;for(let r of e)Oi(n,r)&1&&(t=!0);return t}function k2(n,e,t){let r=t.map(l=>n[l.id]),i=t.map(l=>l.type),s=r.filter(l=>!(l&1)),o=n[e.id]>>1;function a(l){let c=[];for(let h=0;h<r.length;h++){let u=la(l,r[h]);if(i[h]==2)for(let f of u)c.push(f);else c.push(u)}return e.combine(c)}return{create(l){for(let c of r)Oi(l,c);return l.values[o]=a(l),1},update(l,c){if(!Sc(l,s))return 0;let h=a(l);return e.compare(h,l.values[o])?0:(l.values[o]=h,1)},reconfigure(l,c){let h=Sc(l,r),u=c.config.facets[e.id],f=c.facet(e);if(u&&!h&&Nh(t,u))return l.values[o]=f,0;let p=a(l);return e.compare(p,f)?(l.values[o]=f,0):(l.values[o]=p,1)}}}const xo=K.define({static:!0});class Qe{constructor(e,t,r,i,s){this.id=e,this.createF=t,this.updateF=r,this.compareF=i,this.spec=s,this.provides=void 0}static define(e){let t=new Qe(Ah++,e.create,e.update,e.compare||((r,i)=>r===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(xo).find(r=>r.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,i)=>{let s=r.values[t],o=this.updateF(s,i);return this.compareF(s,o)?0:(r.values[t]=o,1)},reconfigure:(r,i)=>{let s=r.facet(xo),o=i.facet(xo),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(r.values[t]=a.create(r),1):i.config.address[this.id]!=null?(r.values[t]=i.field(this),0):(r.values[t]=this.create(r),1)}}}init(e){return[this,xo.of({field:this,create:e})]}get extension(){return this}}const Xn={lowest:4,low:3,default:2,high:1,highest:0};function ci(n){return e=>new rg(e,n)}const fr={highest:ci(Xn.highest),high:ci(Xn.high),default:ci(Xn.default),low:ci(Xn.low),lowest:ci(Xn.lowest)};class rg{constructor(e,t){this.inner=e,this.prec=t}}class Ia{of(e){return new Cc(this,e)}reconfigure(e){return Ia.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Cc{constructor(e,t){this.compartment=e,this.inner=t}}class aa{constructor(e,t,r,i,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=i,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let i=[],s=Object.create(null),o=new Map;for(let f of S2(e,t,o))f instanceof Qe?i.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let a=Object.create(null),l=[],c=[];for(let f of i)a[f.id]=c.length<<1,c.push(p=>f.slot(p));let h=r?.config.facets;for(let f in s){let p=s[f],m=p[0].facet,b=h&&h[f]||[];if(p.every(y=>y.type==0))if(a[m.id]=l.length<<1|1,Nh(b,p))l.push(r.facet(m));else{let y=m.combine(p.map(v=>v.value));l.push(r&&m.compare(y,r.facet(m))?r.facet(m):y)}else{for(let y of p)y.type==0?(a[y.id]=l.length<<1|1,l.push(y.value)):(a[y.id]=c.length<<1,c.push(v=>y.dynamicSlot(v)));a[m.id]=c.length<<1,c.push(y=>k2(y,m,p))}}let u=c.map(f=>f(a));return new aa(e,o,u,a,l,s)}}function S2(n,e,t){let r=[[],[],[],[],[]],i=new Map;function s(o,a){let l=i.get(o);if(l!=null){if(l<=a)return;let c=r[l].indexOf(o);c>-1&&r[l].splice(c,1),o instanceof Cc&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof Cc){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof rg)s(o.inner,o.prec);else if(o instanceof Qe)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Jo)r[a].push(o),o.facet.extensions&&s(o.facet.extensions,Xn.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(n,Xn.default),r.reduce((o,a)=>o.concat(a))}function Oi(n,e){if(e&1)return 2;let t=e>>1,r=n.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function la(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const ig=K.define(),jc=K.define({combine:n=>n.some(e=>e),static:!0}),sg=K.define({combine:n=>n.length?n[0]:void 0,static:!0}),og=K.define(),ag=K.define(),lg=K.define(),cg=K.define({combine:n=>n.length?n[0]:!1});class an{constructor(e,t){this.type=e,this.value=t}static define(){return new C2}}class C2{of(e){return new an(this,e)}}class j2{constructor(e){this.map=e}of(e){return new ae(this,e)}}class ae{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new ae(this.type,t)}is(e){return this.type==e}static define(e={}){return new j2(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let i of e){let s=i.map(t);s&&r.push(s)}return r}}ae.reconfigure=ae.define();ae.appendConfig=ae.define();class He{constructor(e,t,r,i,s,o){this.startState=e,this.changes=t,this.selection=r,this.effects=i,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,r&&ng(r,t.newLength),s.some(a=>a.type==He.time)||(this.annotations=s.concat(He.time.of(Date.now())))}static create(e,t,r,i,s,o){return new He(e,t,r,i,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(He.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}He.time=an.define();He.userEvent=an.define();He.addToHistory=an.define();He.remote=an.define();function O2(n,e){let t=[];for(let r=0,i=0;;){let s,o;if(r<n.length&&(i==e.length||e[i]>=n[r]))s=n[r++],o=n[r++];else if(i<e.length)s=e[i++],o=e[i++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function hg(n,e,t){var r;let i,s,o;return t?(i=e.changes,s=ze.empty(e.changes.length),o=n.changes.compose(e.changes)):(i=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),o=n.changes.compose(i)),{changes:o,selection:e.selection?e.selection.map(s):(r=n.selection)===null||r===void 0?void 0:r.map(i),effects:ae.mapEffects(n.effects,i).concat(ae.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function Oc(n,e,t){let r=e.selection,i=Mr(e.annotations);return e.userEvent&&(i=i.concat(He.userEvent.of(e.userEvent))),{changes:e.changes instanceof ze?e.changes:ze.of(e.changes||[],t,n.facet(sg)),selection:r&&(r instanceof E?r:E.single(r.anchor,r.head)),effects:Mr(e.effects),annotations:i,scrollIntoView:!!e.scrollIntoView}}function dg(n,e,t){let r=Oc(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;r=hg(r,Oc(n,e[s],o?r.changes.newLength:n.doc.length),o)}let i=He.create(n,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return A2(t?P2(i):i)}function P2(n){let e=n.startState,t=!0;for(let i of e.facet(og)){let s=i(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:O2(t,s))}if(t!==!0){let i,s;if(t===!1)s=n.changes.invertedDesc,i=ze.empty(e.doc.length);else{let o=n.changes.filter(t);i=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}n=He.create(e,i,n.selection&&n.selection.map(s),ae.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let r=e.facet(ag);for(let i=r.length-1;i>=0;i--){let s=r[i](n);s instanceof He?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof He?n=s[0]:n=dg(e,Mr(s),!1)}return n}function A2(n){let e=n.startState,t=e.facet(lg),r=n;for(let i=t.length-1;i>=0;i--){let s=t[i](n);s&&Object.keys(s).length&&(r=hg(r,Oc(e,s,n.changes.newLength),!0))}return r==n?n:He.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const N2=[];function Mr(n){return n==null?N2:Array.isArray(n)?n:[n]}var De=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(De||(De={}));const M2=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Pc;try{Pc=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function T2(n){if(Pc)return Pc.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||M2.test(t)))return!0}return!1}function D2(n){return e=>{if(!/\S/.test(e))return De.Space;if(T2(e))return De.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return De.Word;return De.Other}}class me{constructor(e,t,r,i,s,o){this.config=e,this.doc=t,this.selection=r,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)Oi(this,a<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(r==null){if(t)throw new RangeError("Field is not present in this state");return}return Oi(this,r),la(this,r)}update(...e){return dg(this,e,!0)}applyTransaction(e){let t=this.config,{base:r,compartments:i}=t;for(let a of e.effects)a.is(Ia.reconfigure)?(t&&(i=new Map,t.compartments.forEach((l,c)=>i.set(c,l)),t=null),i.set(a.value.compartment,a.value.extension)):a.is(ae.reconfigure)?(t=null,r=a.value):a.is(ae.appendConfig)&&(t=null,r=Mr(r).concat(a.value));let s;t?s=e.startState.values.slice():(t=aa.resolve(r,i,this),s=new me(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(jc)?e.newSelection:e.newSelection.asSingle();new me(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:E.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),i=this.changes(r.changes),s=[r.range],o=Mr(r.effects);for(let a=1;a<t.ranges.length;a++){let l=e(t.ranges[a]),c=this.changes(l.changes),h=c.map(i);for(let f=0;f<a;f++)s[f]=s[f].map(h);let u=i.mapDesc(c,!0);s.push(l.range.map(u)),i=i.compose(h),o=ae.mapEffects(o,h).concat(ae.mapEffects(Mr(l.effects),u))}return{changes:i,selection:E.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof ze?e:ze.of(e,this.doc.length,this.facet(me.lineSeparator))}toText(e){return xe.of(e.split(this.facet(me.lineSeparator)||vc))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(Oi(this,t),la(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let i=e[r];i instanceof Qe&&this.config.address[i.id]!=null&&(t[r]=i.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(r){for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)){let o=r[s],a=e[s];i.push(o.init(l=>o.spec.fromJSON(a,l)))}}return me.create({doc:e.doc,selection:E.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=aa.resolve(e.extensions||[],new Map),r=e.doc instanceof xe?e.doc:xe.of((e.doc||"").split(t.staticFacet(me.lineSeparator)||vc)),i=e.selection?e.selection instanceof E?e.selection:E.single(e.selection.anchor,e.selection.head):E.single(0);return ng(i,r.length),t.staticFacet(jc)||(i=i.asSingle()),new me(t,r,i,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(me.tabSize)}get lineBreak(){return this.facet(me.lineSeparator)||`
56
+ `}get readOnly(){return this.facet(cg)}phrase(e,...t){for(let r of this.facet(me.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,i)=>{if(i=="$")return"$";let s=+(i||1);return!s||s>t.length?r:t[s-1]})),e}languageDataAt(e,t,r=-1){let i=[];for(let s of this.facet(ig))for(let o of s(this,t,r))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return D2(t.length?t[0]:"")}wordAt(e){let{text:t,from:r,length:i}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let l=_e(t,o,!1);if(s(t.slice(l,o))!=De.Word)break;o=l}for(;a<i;){let l=_e(t,a);if(s(t.slice(a,l))!=De.Word)break;a=l}return o==a?null:E.range(o+r,a+r)}}me.allowMultipleSelections=jc;me.tabSize=K.define({combine:n=>n.length?n[0]:4});me.lineSeparator=sg;me.readOnly=cg;me.phrases=K.define({compare(n,e){let t=Object.keys(n),r=Object.keys(e);return t.length==r.length&&t.every(i=>n[i]==e[i])}});me.languageData=ig;me.changeFilter=og;me.transactionFilter=ag;me.transactionExtender=lg;Ia.reconfigure=ae.define();function ln(n,e,t={}){let r={};for(let i of n)for(let s of Object.keys(i)){let o=i[s],a=r[s];if(a===void 0)r[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))r[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let i in e)r[i]===void 0&&(r[i]=e[i]);return r}class In{eq(e){return this==e}range(e,t=e){return $i.create(e,t,this)}}In.prototype.startSide=In.prototype.endSide=0;In.prototype.point=!1;In.prototype.mapMode=ot.TrackDel;function Mh(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}class $i{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new $i(e,t,r)}}function Ac(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Th{constructor(e,t,r,i){this.from=e,this.to=t,this.value=r,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,i=0){let s=r?this.to:this.from;for(let o=i,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,r,i){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(r,1e9,!1,s);s<o;s++)if(i(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let r=[],i=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],h=this.from[l]+e,u=this.to[l]+e,f,p;if(h==u){let m=t.mapPos(h,c.startSide,c.mapMode);if(m==null||(f=p=m,c.startSide!=c.endSide&&(p=t.mapPos(h,c.endSide),p<f)))continue}else if(f=t.mapPos(h,c.startSide),p=t.mapPos(u,c.endSide),f>p||f==p&&c.startSide>0&&c.endSide<=0)continue;(p-f||c.endSide-c.startSide)<0||(o<0&&(o=f),c.point&&(a=Math.max(a,p-f)),r.push(c),i.push(f-o),s.push(p-o))}return{mapped:r.length?new Th(i,s,r,a):null,pos:o}}}class fe{constructor(e,t,r,i){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=i}static create(e,t,r,i){return new fe(e,t,r,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:i=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(r&&(t=t.slice().sort(Ac)),this.isEmpty)return t.length?fe.of(t):this;let a=new ug(this,null,-1).goto(0),l=0,c=[],h=new yn;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let u=t[l++];h.addInner(u.from,u.to,u.value)||c.push(u)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||i>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&h.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||i>a.to||s<a.from||o(a.from,a.to,a.value))&&(h.addInner(a.from,a.to,a.value)||c.push($i.create(a.from,a.to,a.value))),a.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?fe.empty:this.nextLayer.update({add:c,filter:o,filterFrom:i,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],i=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)i=Math.max(i,l.maxPoint),t.push(l),r.push(e.mapPos(a));else if(c===!0){let{mapped:h,pos:u}=l.map(a,e);h&&(i=Math.max(i,h.maxPoint),t.push(h),r.push(u))}}let s=this.nextLayer.map(e);return t.length==0?s:new fe(r,t,s||fe.empty,i)}between(e,t,r){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let s=this.chunkPos[i],o=this.chunk[i];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return Fi.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Fi.from(e).goto(t)}static compare(e,t,r,i,s=-1){let o=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),a=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),l=wu(o,a,r),c=new hi(o,l,s),h=new hi(a,l,s);r.iterGaps((u,f,p)=>ku(c,u,h,f,p,i)),r.empty&&r.length==0&&ku(c,0,h,0,0,i)}static eq(e,t,r=0,i){i==null&&(i=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=wu(s,o),l=new hi(s,a,0).goto(r),c=new hi(o,a,0).goto(r);for(;;){if(l.to!=c.to||!Nc(l.active,c.active)||l.point&&(!c.point||!Mh(l.point,c.point)))return!1;if(l.to>i)return!0;l.next(),c.next()}}static spans(e,t,r,i,s=-1){let o=new hi(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,r);if(o.point){let h=o.activeForPoint(o.to),u=o.pointFrom<t?h.length+1:o.point.startSide<0?h.length:Math.min(h.length,l);i.point(a,c,o.point,h,u,o.pointRank),l=Math.min(o.openEnd(c),h.length)}else c>a&&(i.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>r)return l+(o.point&&o.to>r?1:0);a=o.to,o.next()}}static of(e,t=!1){let r=new yn;for(let i of e instanceof $i?[e]:t?E2(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(e){if(!e.length)return fe.empty;let t=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let i=e[r];i!=fe.empty;i=i.nextLayer)t=new fe(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}fe.empty=new fe([],[],null,-1);function E2(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let r=n[t];if(Ac(e,r)>0)return n.slice().sort(Ac);e=r}return n}fe.empty.nextLayer=fe.empty;class yn{finishChunk(e){this.chunks.push(new Th(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new yn)).add(e,t,r)}addInner(e,t,r){let i=e-this.lastTo||r.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return i<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(fe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=fe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function wu(n,e,t){let r=new Map;for(let s of n)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&r.set(s.chunk[o],s.chunkPos[o]);let i=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let a=r.get(s.chunk[o]);a!=null&&(t?t.mapPos(a):a)==s.chunkPos[o]&&!t?.touchesRange(a,a+s.chunk[o].length)&&i.add(s.chunk[o])}return i}class ug{constructor(e,t,r,i=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let i=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(i)||this.layer.chunkEnd(this.chunkIndex)<e||i.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Fi{constructor(e){this.heap=e}static from(e,t=null,r=-1){let i=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=r&&i.push(new ug(o,t,r,s));return i.length==1?i[0]:new Fi(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)pl(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)pl(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),pl(this.heap,0)}}}function pl(n,e){for(let t=n[e];;){let r=(e<<1)+1;if(r>=n.length)break;let i=n[r];if(r+1<n.length&&i.compare(n[r+1])>=0&&(i=n[r+1],r++),t.compare(i)<0)break;n[r]=t,n[e]=i,e=r}}class hi{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Fi.from(e,t,r)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){vo(this.active,e),vo(this.activeTo,e),vo(this.activeRank,e),this.minActive=Su(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:i,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||i-this.activeTo[t])>0;)t++;wo(this.active,t,r),wo(this.activeTo,t,i),wo(this.activeRank,t,s),e&&wo(e,t,this.cursor.from),this.minActive=Su(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),r&&vo(r,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(r){this.openStart=0;for(let i=r.length-1;i>=0&&r[i]<e;i--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function ku(n,e,t,r,i,s){n.goto(e),t.goto(r);let o=r+i,a=r,l=r-e,c=!!s.boundChange;for(let h=!1;;){let u=n.to+l-t.to,f=u||n.endSide-t.endSide,p=f<0?n.to+l:t.to,m=Math.min(p,o);if(n.point||t.point?(n.point&&t.point&&Mh(n.point,t.point)&&Nc(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(a,m,n.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!Nc(n.active,t.active)&&s.compareRange(a,m,n.active,t.active),c&&m<o&&(u||n.openEnd(p)!=t.openEnd(p))&&(h=!0)),p>o)break;a=p,f<=0&&n.next(),f>=0&&t.next()}}function Nc(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!Mh(n[t],e[t]))return!1;return!0}function vo(n,e){for(let t=e,r=n.length-1;t<r;t++)n[t]=n[t+1];n.pop()}function wo(n,e,t){for(let r=n.length-1;r>=e;r--)n[r+1]=n[r];n[e]=t}function Su(n,e){let t=-1,r=1e9;for(let i=0;i<e.length;i++)(e[i]-r||n[i].endSide-n[t].endSide)<0&&(t=i,r=e[i]);return t}function Kr(n,e,t=n.length){let r=0;for(let i=0;i<t&&i<n.length;)n.charCodeAt(i)==9?(r+=e-r%e,i++):(r++,i=_e(n,i));return r}function Mc(n,e,t,r){for(let i=0,s=0;;){if(s>=e)return i;if(i==n.length)break;s+=n.charCodeAt(i)==9?t-s%t:1,i=_e(n,i)}return r===!0?-1:n.length}const Tc="ͼ",Cu=typeof Symbol>"u"?"__"+Tc:Symbol.for(Tc),Dc=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),ju=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Bn{constructor(e,t){this.rules=[];let{finish:r}=t||{};function i(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],u=/^@(\w+)\b/.exec(o[0]),f=u&&u[1]=="keyframes";if(u&&a==null)return l.push(o[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))s(p.split(/,\s*/).map(b=>o.map(y=>b.replace(/&/,y))).reduce((b,y)=>b.concat(y)),m,l);else if(m&&typeof m=="object"){if(!u)throw new RangeError("The value of a property ("+p+") should be a primitive value.");s(i(p),m,h,f)}else m!=null&&h.push(p.replace(/_.*/,"").replace(/[A-Z]/g,b=>"-"+b.toLowerCase())+": "+m+";")}(h.length||f)&&l.push((r&&!u&&!c?o.map(r):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(i(o),e[o],this.rules)}getRules(){return this.rules.join(`
57
+ `)}static newName(){let e=ju[Cu]||1;return ju[Cu]=e+1,Tc+e.toString(36)}static mount(e,t,r){let i=e[Dc],s=r&&r.nonce;i?s&&i.setNonce(s):i=new R2(e,s),i.mount(Array.isArray(t)?t:[t],e)}}let Ou=new Map;class R2{constructor(e,t){let r=e.ownerDocument||e,i=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=Ou.get(r);if(s)return e[Dc]=s;this.sheet=new i.CSSStyleSheet,Ou.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Dc]=this}mount(e,t){let r=this.sheet,i=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),r)for(let c=0;c<a.rules.length;c++)r.insertRule(a.rules[c],i++)}else{for(;s<l;)i+=this.modules[s++].rules.length;i+=a.rules.length,s++}}if(r)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
58
+ `;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var $n={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Vi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},L2=typeof navigator<"u"&&/Mac/.test(navigator.platform),I2=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Je=0;Je<10;Je++)$n[48+Je]=$n[96+Je]=String(Je);for(var Je=1;Je<=24;Je++)$n[Je+111]="F"+Je;for(var Je=65;Je<=90;Je++)$n[Je]=String.fromCharCode(Je+32),Vi[Je]=String.fromCharCode(Je);for(var ml in $n)Vi.hasOwnProperty(ml)||(Vi[ml]=$n[ml]);function B2(n){var e=L2&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||I2&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Vi:$n)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function je(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var i=t[r];typeof i=="string"?n.setAttribute(r,i):i!=null&&(n[r]=i)}e++}for(;e<arguments.length;e++)fg(n,arguments[e]);return n}function fg(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)fg(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let st=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Ec=typeof document<"u"?document:{documentElement:{style:{}}};const Rc=/Edge\/(\d+)/.exec(st.userAgent),pg=/MSIE \d/.test(st.userAgent),Lc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(st.userAgent),Ba=!!(pg||Lc||Rc),Pu=!Ba&&/gecko\/(\d+)/i.test(st.userAgent),gl=!Ba&&/Chrome\/(\d+)/.exec(st.userAgent),$2="webkitFontSmoothing"in Ec.documentElement.style,Ic=!Ba&&/Apple Computer/.test(st.vendor),Au=Ic&&(/Mobile\/\w+/.test(st.userAgent)||st.maxTouchPoints>2);var U={mac:Au||/Mac/.test(st.platform),windows:/Win/.test(st.platform),linux:/Linux|X11/.test(st.platform),ie:Ba,ie_version:pg?Ec.documentMode||6:Lc?+Lc[1]:Rc?+Rc[1]:0,gecko:Pu,gecko_version:Pu?+(/Firefox\/(\d+)/.exec(st.userAgent)||[0,0])[1]:0,chrome:!!gl,chrome_version:gl?+gl[1]:0,ios:Au,android:/Android\b/.test(st.userAgent),webkit_version:$2?+(/\bAppleWebKit\/(\d+)/.exec(st.userAgent)||[0,0])[1]:0,safari:Ic,safari_version:Ic?+(/\bVersion\/(\d+(\.\d+)?)/.exec(st.userAgent)||[0,0])[1]:0,tabSize:Ec.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Dh(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const ca=Object.create(null);function Eh(n,e,t){if(n==e)return!0;n||(n=ca),e||(e=ca);let r=Object.keys(n),i=Object.keys(e);if(r.length-0!=i.length-0)return!1;for(let s of r)if(s!=t&&(i.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function F2(n,e){for(let t=n.attributes.length-1;t>=0;t--){let r=n.attributes[t].name;e[r]==null&&n.removeAttribute(r)}for(let t in e){let r=e[t];t=="style"?n.style.cssText=r:n.getAttribute(t)!=r&&n.setAttribute(t,r)}}function Nu(n,e,t){let r=!1;if(e)for(let i in e)t&&i in t||(r=!0,i=="style"?n.style.cssText="":n.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(r=!0,i=="style"?n.style.cssText=t[i]:n.setAttribute(i,t[i]));return r}function V2(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];e[r.name]=r.value}return e}class cn{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Ye=function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n}(Ye||(Ye={}));class ne extends In{constructor(e,t,r,i){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=i}get heightRelevant(){return!1}static mark(e){return new zs(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new lr(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,i;if(e.isBlockGap)r=-5e8,i=4e8;else{let{start:s,end:o}=mg(e,t);r=(s?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new lr(e,r,i,t,e.widget||null,!0)}static line(e){return new _s(e)}static set(e,t=!1){return fe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}ne.none=fe.empty;class zs extends ne{constructor(e){let{start:t,end:r}=mg(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Dh(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ca}eq(e){return this==e||e instanceof zs&&this.tagName==e.tagName&&Eh(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}zs.prototype.point=!1;class _s extends ne{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof _s&&this.spec.class==e.spec.class&&Eh(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}_s.prototype.mapMode=ot.TrackBefore;_s.prototype.point=!0;class lr extends ne{constructor(e,t,r,i,s,o){super(t,r,s,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?ot.TrackBefore:ot.TrackAfter:ot.TrackDel}get type(){return this.startSide!=this.endSide?Ye.WidgetRange:this.startSide<=0?Ye.WidgetBefore:Ye.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof lr&&z2(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}lr.prototype.point=!0;function mg(n,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=n;return t==null&&(t=n.inclusive),r==null&&(r=n.inclusive),{start:t??e,end:r??e}}function z2(n,e){return n==e||!!(n&&e&&n.compare(e))}function Tr(n,e,t,r=0){let i=t.length-1;i>=0&&t[i]+r>=n?t[i]=Math.max(t[i],e):t.push(n,e)}class zi extends In{constructor(e,t){super(),this.tagName=e,this.attributes=t}eq(e){return e==this||e instanceof zi&&this.tagName==e.tagName&&Eh(this.attributes,e.attributes)}static create(e){return new zi(e.tagName,e.attributes||ca)}static set(e,t=!1){return fe.of(e,t)}}zi.prototype.startSide=zi.prototype.endSide=-1;function _i(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Bc(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function Yo(n,e){if(!e.anchorNode)return!1;try{return Bc(n,e.anchorNode)}catch{return!1}}function Pi(n){return n.nodeType==3?Wi(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Ai(n,e,t,r){return t?Mu(n,e,t,r,-1)||Mu(n,e,t,r,1):!1}function Fn(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function ha(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function Mu(n,e,t,r,i){for(;;){if(n==t&&e==r)return!0;if(e==(i<0?0:xn(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=Fn(n)+(i<0?0:1),n=s}else if(n.nodeType==1){if(n=n.childNodes[e+(i<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=i<0?xn(n):0}else return!1}}function xn(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Hi(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function _2(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function gg(n,e){let t=e.width/n.offsetWidth,r=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-n.offsetHeight)<1)&&(r=1),{scaleX:t,scaleY:r}}function H2(n,e,t,r,i,s,o,a){let l=n.ownerDocument,c=l.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let f,p=h==l.body,m=1,b=1;if(p)f=_2(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let w=h.getBoundingClientRect();({scaleX:m,scaleY:b}=gg(h,w)),f={left:w.left,right:w.left+h.clientWidth*m,top:w.top,bottom:w.top+h.clientHeight*b}}let y=0,v=0;if(i=="nearest")e.top<f.top?(v=e.top-(f.top+o),t>0&&e.bottom>f.bottom+v&&(v=e.bottom-f.bottom+o)):e.bottom>f.bottom&&(v=e.bottom-f.bottom+o,t<0&&e.top-v<f.top&&(v=e.top-(f.top+o)));else{let w=e.bottom-e.top,C=f.bottom-f.top;v=(i=="center"&&w<=C?e.top+w/2-C/2:i=="start"||i=="center"&&t<0?e.top-o:e.bottom-C+o)-f.top}if(r=="nearest"?e.left<f.left?(y=e.left-(f.left+s),t>0&&e.right>f.right+y&&(y=e.right-f.right+s)):e.right>f.right&&(y=e.right-f.right+s,t<0&&e.left<f.left+y&&(y=e.left-(f.left+s))):y=(r=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:r=="start"==a?e.left-s:e.right-(f.right-f.left)+s)-f.left,y||v)if(p)c.scrollBy(y,v);else{let w=0,C=0;if(v){let j=h.scrollTop;h.scrollTop+=v/b,C=(h.scrollTop-j)*b}if(y){let j=h.scrollLeft;h.scrollLeft+=y/m,w=(h.scrollLeft-j)*m}e={left:e.left-w,top:e.top-C,right:e.right-w,bottom:e.bottom-C},w&&Math.abs(w-y)<1&&(r="nearest"),C&&Math.abs(C-v)<1&&(i="nearest")}if(p)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function W2(n){let e=n.ownerDocument,t,r;for(let i=n.parentNode;i&&!(i==e.body||t&&r);)if(i.nodeType==1)!r&&i.scrollHeight>i.clientHeight&&(r=i),!t&&i.scrollWidth>i.clientWidth&&(t=i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;return{x:t,y:r}}class U2{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?xn(t):0),r,Math.min(e.focusOffset,r?xn(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}}let Yn=null;U.safari&&U.safari_version>=26&&(Yn=!1);function bg(n){if(n.setActive)return n.setActive();if(Yn)return n.focus(Yn);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(Yn==null?{get preventScroll(){return Yn={preventScroll:!0},!0}}:void 0),!Yn){Yn=!1;for(let t=0;t<e.length;){let r=e[t++],i=e[t++],s=e[t++];r.scrollTop!=i&&(r.scrollTop=i),r.scrollLeft!=s&&(r.scrollLeft=s)}}}let Tu;function Wi(n,e,t=e){let r=Tu||(Tu=document.createRange());return r.setEnd(n,t),r.setStart(n,e),r}function Dr(n,e,t,r){let i={key:e,code:e,keyCode:t,which:t,cancelable:!0};r&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=r);let s=new KeyboardEvent("keydown",i);s.synthetic=!0,n.dispatchEvent(s);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,n.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function K2(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function G2(n,e){let t=e.focusNode,r=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=r)return!1;for(r=Math.min(r,xn(t));;)if(r){if(t.nodeType!=1)return!1;let i=t.childNodes[r-1];i.contentEditable=="false"?r--:(t=i,r=xn(t))}else{if(t==n)return!0;r=Fn(t),t=t.parentNode}}function yg(n){return n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function xg(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&r>0)return{node:t,offset:r};if(t.nodeType==1&&r>0){if(t.contentEditable=="false")return null;t=t.childNodes[r-1],r=xn(t)}else if(t.parentNode&&!ha(t))r=Fn(t),t=t.parentNode;else return null}}function vg(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&r<t.nodeValue.length)return{node:t,offset:r};if(t.nodeType==1&&r<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[r],r=0}else if(t.parentNode&&!ha(t))r=Fn(t)+1,t=t.parentNode;else return null}}class Ft{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Ft(e.parentNode,Fn(e),t)}static after(e,t){return new Ft(e.parentNode,Fn(e)+1,t)}}var Pe=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Pe||(Pe={}));const cr=Pe.LTR,Rh=Pe.RTL;function wg(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const q2=wg("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),J2=wg("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),$c=Object.create(null),Gt=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);$c[e]=t,$c[t]=-e}function kg(n){return n<=247?q2[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?J2[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const Y2=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class bn{get dir(){return this.level%2?Rh:cr}constructor(e,t,r){this.from=e,this.to=t,this.level=r}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,r,i){let s=-1;for(let o=0;o<e.length;o++){let a=e[o];if(a.from<=t&&a.to>=t){if(a.level==r)return o;(s<0||(i!=0?i<0?a.from<t:a.to>t:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function Sg(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let r=n[t],i=e[t];if(r.from!=i.from||r.to!=i.to||r.direction!=i.direction||!Sg(r.inner,i.inner))return!1}return!0}const Oe=[];function Q2(n,e,t,r,i){for(let s=0;s<=r.length;s++){let o=s?r[s-1].to:e,a=s<r.length?r[s].from:t,l=s?256:i;for(let c=o,h=l,u=l;c<a;c++){let f=kg(n.charCodeAt(c));f==512?f=h:f==8&&u==4&&(f=16),Oe[c]=f==4?2:f,f&7&&(u=f),h=f}for(let c=o,h=l,u=l;c<a;c++){let f=Oe[c];if(f==128)c<a-1&&h==Oe[c+1]&&h&24?f=Oe[c]=h:Oe[c]=256;else if(f==64){let p=c+1;for(;p<a&&Oe[p]==64;)p++;let m=c&&h==8||p<t&&Oe[p]==8?u==1?1:8:256;for(let b=c;b<p;b++)Oe[b]=m;c=p-1}else f==8&&u==1&&(Oe[c]=1);h=f,f&7&&(u=f)}}}function X2(n,e,t,r,i){let s=i==1?2:1;for(let o=0,a=0,l=0;o<=r.length;o++){let c=o?r[o-1].to:e,h=o<r.length?r[o].from:t;for(let u=c,f,p,m;u<h;u++)if(p=$c[f=n.charCodeAt(u)])if(p<0){for(let b=a-3;b>=0;b-=3)if(Gt[b+1]==-p){let y=Gt[b+2],v=y&2?i:y&4?y&1?s:i:0;v&&(Oe[u]=Oe[Gt[b]]=v),a=b;break}}else{if(Gt.length==189)break;Gt[a++]=u,Gt[a++]=f,Gt[a++]=l}else if((m=Oe[u])==2||m==1){let b=m==i;l=b?0:1;for(let y=a-3;y>=0;y-=3){let v=Gt[y+2];if(v&2)break;if(b)Gt[y+2]|=2;else{if(v&4)break;Gt[y+2]|=4}}}}}function Z2(n,e,t,r){for(let i=0,s=r;i<=t.length;i++){let o=i?t[i-1].to:n,a=i<t.length?t[i].from:e;for(let l=o;l<a;){let c=Oe[l];if(c==256){let h=l+1;for(;;)if(h==a){if(i==t.length)break;h=t[i++].to,a=i<t.length?t[i].from:e}else if(Oe[h]==256)h++;else break;let u=s==1,f=(h<e?Oe[h]:r)==1,p=u==f?u?1:2:r;for(let m=h,b=i,y=b?t[b-1].to:n;m>l;)m==y&&(m=t[--b].from,y=b?t[b-1].to:n),Oe[--m]=p;l=h}else s=c,l++}}}function Fc(n,e,t,r,i,s,o){let a=r%2?2:1;if(r%2==i%2)for(let l=e,c=0;l<t;){let h=!0,u=!1;if(c==s.length||l<s[c].from){let b=Oe[l];b!=a&&(h=!1,u=b==16)}let f=!h&&a==1?[]:null,p=h?r:r+1,m=l;e:for(;;)if(c<s.length&&m==s[c].from){if(u)break e;let b=s[c];if(!h)for(let y=b.to,v=c+1;;){if(y==t)break e;if(v<s.length&&s[v].from==y)y=s[v++].to;else{if(Oe[y]==a)break e;break}}if(c++,f)f.push(b);else{b.from>l&&o.push(new bn(l,b.from,p));let y=b.direction==cr!=!(p%2);Vc(n,y?r+1:r,i,b.inner,b.from,b.to,o),l=b.to}m=b.to}else{if(m==t||(h?Oe[m]!=a:Oe[m]==a))break;m++}f?Fc(n,l,m,r+1,i,f,o):l<m&&o.push(new bn(l,m,p)),l=m}else for(let l=t,c=s.length;l>e;){let h=!0,u=!1;if(!c||l>s[c-1].to){let b=Oe[l-1];b!=a&&(h=!1,u=b==16)}let f=!h&&a==1?[]:null,p=h?r:r+1,m=l;e:for(;;)if(c&&m==s[c-1].to){if(u)break e;let b=s[--c];if(!h)for(let y=b.from,v=c;;){if(y==e)break e;if(v&&s[v-1].to==y)y=s[--v].from;else{if(Oe[y-1]==a)break e;break}}if(f)f.push(b);else{b.to<l&&o.push(new bn(b.to,l,p));let y=b.direction==cr!=!(p%2);Vc(n,y?r+1:r,i,b.inner,b.from,b.to,o),l=b.from}m=b.from}else{if(m==e||(h?Oe[m-1]!=a:Oe[m-1]==a))break;m--}f?Fc(n,m,l,r+1,i,f,o):m<l&&o.push(new bn(m,l,p)),l=m}}function Vc(n,e,t,r,i,s,o){let a=e%2?2:1;Q2(n,i,s,r,a),X2(n,i,s,r,a),Z2(i,s,r,a),Fc(n,i,s,e,t,r,o)}function ew(n,e,t){if(!n)return[new bn(0,0,e==Rh?1:0)];if(e==cr&&!t.length&&!Y2.test(n))return Cg(n.length);if(t.length)for(;n.length>Oe.length;)Oe[Oe.length]=256;let r=[],i=e==cr?0:1;return Vc(n,i,i,t,0,n.length,r),r}function Cg(n){return[new bn(0,n,0)]}let jg="";function tw(n,e,t,r,i){var s;let o=r.head-n.from,a=bn.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc),l=e[a],c=l.side(i,t);if(o==c){let f=a+=i?1:-1;if(f<0||f>=e.length)return null;l=e[a=f],o=l.side(!i,t),c=l.side(i,t)}let h=_e(n.text,o,l.forward(i,t));(h<l.from||h>l.to)&&(h=c),jg=n.text.slice(Math.min(o,h),Math.max(o,h));let u=a==(i?e.length-1:0)?null:e[a+(i?1:-1)];return u&&h==c&&u.level+(i?0:1)<l.level?E.cursor(u.side(!i,t)+n.from,u.forward(i,t)?1:-1,u.level):E.cursor(h+n.from,l.forward(i,t)?-1:1,l.level)}function nw(n,e,t){for(let r=e;r<t;r++){let i=kg(n.charCodeAt(r));if(i==1)return cr;if(i==2||i==4)return Rh}return cr}const Og=K.define(),Pg=K.define(),Ag=K.define(),Ng=K.define(),zc=K.define(),Mg=K.define(),Tg=K.define(),Lh=K.define(),Ih=K.define(),Dg=K.define({combine:n=>n.some(e=>e)}),Eg=K.define({combine:n=>n.some(e=>e)}),Rg=K.define();class Er{constructor(e,t="nearest",r="nearest",i=5,s=5,o=!1){this.range=e,this.y=t,this.x=r,this.yMargin=i,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new Er(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new Er(E.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const ko=ae.define({map:(n,e)=>n.map(e)}),Lg=ae.define();function ft(n,e,t){let r=n.facet(Ng);r.length?r[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const gn=K.define({combine:n=>n.length?n[0]:!0});let rw=0;const kr=K.define({combine(n){return n.filter((e,t)=>{for(let r=0;r<t;r++)if(n[r].plugin==e.plugin)return!1;return!0})}});class Fe{constructor(e,t,r,i,s){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=i,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(kr.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(kr.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:r,eventObservers:i,provide:s,decorations:o}=t||{};return new Fe(rw++,e,r,i,a=>{let l=[];return o&&l.push(Ui.of(c=>{let h=c.plugin(a);return h?o(h):ne.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return Fe.define((r,i)=>new e(r,i),t)}}class bl{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(ft(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){ft(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){ft(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Ig=K.define(),Bh=K.define(),Ui=K.define(),Bg=K.define(),$g=K.define(),Hs=K.define(),Fg=K.define();function Du(n,e){let t=n.state.facet(Fg);if(!t.length)return t;let r=t.map(s=>s instanceof Function?s(n):s),i=[];return fe.spans(r,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,u=i;for(let f=a.length-1;f>=0;f--,l--){let p=a[f].spec.bidiIsolate,m;if(p==null&&(p=nw(e.text,c,h)),l>0&&u.length&&(m=u[u.length-1]).to==c&&m.direction==p)m.to=h,u=m.inner;else{let b={from:c,to:h,direction:p,inner:[]};u.push(b),u=b.inner}}}}),i}const Vg=K.define();function $h(n){let e=0,t=0,r=0,i=0;for(let s of n.state.facet(Vg)){let o=s(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:e,right:t,top:r,bottom:i}}const xi=K.define();class Nt{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new Nt(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,r=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>r.toA)){if(i.toA<r.fromA)break;r=r.join(i),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(t.length==0)return e;let r=[];for(let i=0,s=0,o=0;;){let a=i<e.length?e[i].fromB:1e9,l=s<t.length?t[s]:1e9,c=Math.min(a,l);if(c==1e9)break;let h=c+o,u=c,f=h;for(;;)if(s<t.length&&t[s]<=u){let p=t[s+1];s+=2,u=Math.max(u,p);for(let m=i;m<e.length&&e[m].fromB<=u;m++)o=e[m].toA-e[m].toB;f=Math.max(f,p+o)}else if(i<e.length&&e[i].fromB<=u){let p=e[i++];u=Math.max(u,p.toB),f=Math.max(f,p.toA),o=p.toA-p.toB}else break;r.push(new Nt(h,f,c,u))}return r}}class da{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=ze.empty(this.startState.doc.length);for(let s of r)this.changes=this.changes.compose(s.changes);let i=[];this.changes.iterChangedRanges((s,o,a,l)=>i.push(new Nt(s,o,a,l))),this.changedRanges=i}static create(e,t,r){return new da(e,t,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const iw=[];class Ve{constructor(e,t,r=0){this.dom=e,this.length=t,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return iw}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&F2(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let r=t;for(let i of this.children){if(i==e)return r;r+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t){return null}domPosFor(e,t){let r=Fn(this.dom),i=this.length?e>0:t>0;return new Ft(this.parent.dom,r+(i?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Fa)return e;return null}static get(e){return e.cmTile}}class $a extends Ve{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,r=null,i,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,i=r?r.nextSibling:t.firstChild,s&&i!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;i&&i!=a.dom;)i=Eu(i);else t.insertBefore(a.dom,i);r=a.dom}for(i=r?r.nextSibling:t.firstChild,s&&i&&(s.written=!0);i;)i=Eu(i);this.length=o}}function Eu(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class Fa extends $a{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=Ve.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],r=this,i=0,s=0;;)if(i==r.children.length){if(!t.length)return;r=r.parent,r.breakAfter&&s++,i=t.pop()}else{let o=r.children[i++];if(o instanceof En)t.push(i),r=o,i=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let r,i=-1,s,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(r=void 0)}(l<e||e==c&&(t<-1?a.length:a.covers(1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,i=e-l),(c>e||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!r&&!s)throw new Error("No tile at position "+e);return r&&t<0||!s?{tile:r,offset:i}:{tile:s,offset:o}}}class En extends $a{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let r=new En(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class $r extends $a{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let i=new $r(t||document.createElement("div"),e);return(!t||!r)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,t,r){let i=null,s=-1,o=null,a=-1;function l(h,u){for(let f=0,p=0;f<h.children.length&&p<=u;f++){let m=h.children[f],b=p+m.length;b>=u&&(m.isComposite()?l(m,u-p):(!o||o.isHidden&&(t>0||r&&ow(o,m)))&&(b>u||m.flags&32)?(o=m,a=u-p):(p<u||m.flags&16&&!m.isHidden)&&(i=m,s=u-p)),p=b}}l(this,e);let c=(t<0?i:o)||i||o;return c?{tile:c,offset:c==i?s:a}:null}coordsIn(e,t){let r=this.resolveInline(e,t,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),t):sw(this)}domIn(e,t){let r=this.resolveInline(e,t);if(r){let{tile:i,offset:s}=r;if(this.dom.contains(i.dom))return i.isText()?new Ft(i.dom,Math.min(i.dom.nodeValue.length,s)):i.domPosFor(s,i.flags&16?1:i.flags&32?-1:t);let o=r.tile.parent,a=!1;for(let l of o.children){if(a)return new Ft(l.dom,0);l==r.tile&&(a=!0)}}return new Ft(this.dom,0)}}function sw(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Pi(e);return t[t.length-1]||null}function ow(n,e){let t=n.coordsIn(0,1),r=e.coordsIn(0,1);return t&&r&&r.top<t.bottom}class ut extends $a{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let r=new ut(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class ir extends Ve{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t){let r=this.dom.nodeValue.length;e>r&&(e=r);let i=e,s=e,o=0;e==0&&t<0||e==r&&t>=0?U.chrome||U.gecko||(e?(i--,o=1):s<r&&(s++,o=-1)):t<0?i--:s<r&&s++;let a=Wi(this.dom,i,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:t>=0)?0:a.length-1];return U.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,c=>c.width)||l),o?Hi(l,o<0):l||null}static of(e,t){let r=new ir(t||document.createTextNode(e),e);return t||(r.flags|=2),r}}class Fr extends Ve{constructor(e,t,r,i){super(e,t,i),this.widget=r}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,r){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;if(r)return Hi(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top<o.bottom);l+=a?-1:1);return Hi(o,!a)}}get overrideDOMText(){if(!this.length)return xe.empty;let{root:e}=this;if(!e)return xe.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,r,i,s){return s||(s=e.toDOM(t),e.editable||(s.contentEditable="false")),new Fr(s,r,e,i)}}class ua extends Ve{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!1}get overrideDOMText(){return xe.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class aw{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,r){let{tile:i,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(i.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(s==i.children.length){if(!e&&!a.length)break;r&&r.leave(i),o=!!i.breakAfter,{tile:i,index:s}=a.pop(),s++}else{let l=i.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length<e)&&(!r||r.skip(l,0,l.length)!==!1||!l.isComposite)?(o=!!c,s++,e-=l.length):(a.push({tile:i,index:s}),i=l,s=0,r&&l.isComposite()&&r.enter(l))}else if(s==i.length)o=!!i.breakAfter,{tile:i,index:s}=a.pop(),s++;else if(e){let l=Math.min(e,i.length-s);r&&r.skip(i,s,s+l),e-=l,s+=l}else break;return this.tile=i,this.index=s,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class lw{constructor(e,t,r,i){this.from=e,this.to=t,this.wrapper=r,this.rank=i}}class cw{constructor(e,t,r){this.cache=e,this.root=t,this.blockWrappers=r,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,r,i){var s;this.flushBuffer();let o=this.ensureMarks(t,r),a=o.lastChild;if(a&&a.isText()&&!(a.flags&8)){this.cache.reused.set(a,2);let l=o.children[o.children.length-1]=new ir(a.dom,a.text+e);l.parent=o}else o.append(i||ir.of(e,(s=this.cache.find(ir))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let r=this.curLine;r.dom!=t.line.dom&&(r.setDOM(this.cache.reused.has(t.line)?yl(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let i=r;for(let a=t.marks.length-1;a>=0;a--){let l=t.marks[a],c=i.lastChild;if(c instanceof ut&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(yl(l.dom)),i=c;else{if(this.cache.reused.get(l)){let u=Ve.get(l.dom);u&&u.setDOM(yl(l.dom))}let h=ut.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let s=Ve.get(e.text);s&&this.cache.reused.set(s,2);let o=new ir(e.text,e.text.nodeValue);o.flags|=8,i.append(o)}addInlineWidget(e,t,r){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let s=this.ensureMarks(t,r);!i&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,r){this.flushBuffer(),this.ensureMarks(t,r).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var r;e||(e=zg);let i=$r.start(e,t||((r=this.cache.find($r))===null||r===void 0?void 0:r.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=i)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var r;let i=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=i.lastChild)&&a instanceof ut&&a.mark.eq(o))i=a,t--;else{let l=ut.of(o,(r=this.cache.find(ut,c=>c.mark.eq(o)))===null||r===void 0?void 0:r.dom);i.append(l),i=l,t=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Ru(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(U.ios&&Ru(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(xl,0,32)||new Fr(xl.toDOM(),0,xl,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=new lw(e.from,e.to,e.value,e.rank),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-t.rank||this.wrappers[r-1].to-t.to)<0;)r--;this.wrappers.splice(r,0,t)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let r of this.wrappers){let i=t.lastChild;if(r.from<this.pos&&i instanceof En&&i.wrapper.eq(r.wrapper))t=i;else{let s=En.of(r.wrapper,(e=this.cache.find(En,o=>o.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),r=this.cache.find(ua,void 0,1);return r&&(r.flags=t),r||new ua(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class hw{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:i,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=i;let a=this.textOff=Math.min(e,i.length);return s?null:i.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,t);return this.textOff=t,r}}const fa=[Fr,$r,ir,ut,ua,En,Fa];for(let n=0;n<fa.length;n++)fa[n].bucket=n;class dw{constructor(e){this.view=e,this.buckets=fa.map(()=>[]),this.index=fa.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,r=this.buckets[t];r.length<6?r.push(e):r[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,r=2){let i=e.bucket,s=this.buckets[i],o=this.index[i];for(let a=s.length-1;a>=0;a--){let l=(a+o)%s.length,c=s[l];if((!t||t(c))&&!this.reused.has(c))return s.splice(l,1),l<o&&this.index[i]--,this.reused.set(c,r),c}return null}findWidget(e,t,r){let i=this.buckets[0];if(i.length)for(let s=0,o=0;;s++){if(s==i.length){if(o)return null;o=1,s=0}let a=i[s];if(!this.reused.has(a)&&(o==0?a.widget.compare(e):a.widget.constructor==e.constructor&&e.updateDOM(a.dom,this.view)))return i.splice(s,1),s<this.index[0]&&this.index[0]--,this.reused.set(a,1),a.length=t,a.flags=a.flags&-498|r,a}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}}class uw{constructor(e,t,r,i,s){this.view=e,this.decorations=i,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new dw(e),this.text=new hw(e.state.doc),this.builder=new cw(this.cache,new Fa(e,e.contentDOM),fe.iter(r)),this.cache.reused.set(t,2),this.old=new aw(t),this.reuseWalker={skip:(o,a,l)=>{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let r=t&&this.getCompositionContext(t.text);for(let i=0,s=0,o=0;;){let a=o<e.length?e[o++]:null,l=a?a.fromA:this.old.root.length;if(l>i){let c=l-i;this.preserve(c,!o,!a),i=l,s+=c}if(!a)break;this.forward(a.fromA,a.toA),t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.emit(s,t.range.fromB),this.builder.addComposition(t,r),this.text.skip(t.range.toB-t.range.fromB),this.emit(t.range.toB,a.toB)):this.emit(s,a.toB),s=a.toB,i=a.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,r){let i=mw(this.old),s=this.openMarks;this.old.advance(e,r?1:-1,{skip:(o,a,l)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a<o.length?Fr.of(o.widget,this.view,l-a,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,i,s),s=i.length)}else if(o.isText())this.builder.ensureLine(null),!a&&l==o.length?this.builder.addText(o.text,i,s,this.cache.reuse(o)):(this.cache.add(o),this.builder.addText(o.text.slice(a,l),i,s)),s=i.length;else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof ua)this.cache.add(o);else if(o instanceof ut)this.builder.ensureLine(null),this.builder.addMark(o,i,s),this.cache.reused.set(o,1),s=i.length;else return!1;this.openWidget=!1},enter:o=>{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof ut&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=s=0):o instanceof ut&&(i.shift(),s=Math.min(s,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let r=null,i=this.builder,s=0,o=fe.spans(this.decorations,e,t,{point:(a,l,c,h,u,f)=>{if(c instanceof lr){if(this.disallowBlockEffectsFor[f]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,u>h.length)i.continueWidget(l-a);else{let p=c.widget||(c.block?Vr.block:Vr.inline),m=fw(c),b=this.cache.findWidget(p,l-a,m)||Fr.of(p,this.view,l-a,m);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(r),i.addBlockWidget(b)):(i.ensureLine(r),i.addInlineWidget(b,h,u))}r=null}else r=pw(r,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let u=a;u<l;){let f=this.text.next(Math.min(512,l-u));f==null?(i.addLineStartIfNotCovered(r),i.addBreak(),u++):(i.ensureLine(r),i.addText(f,c,h),u+=f.length),r=null}}});i.addLineStartIfNotCovered(r),this.openWidget=o>s,this.openMarks=o}forward(e,t){t-e<=10?this.old.advance(t-e,1,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,1,this.reuseWalker))}getCompositionContext(e){let t=[],r=null;for(let i=e.parentNode;;i=i.parentNode){let s=Ve.get(i);if(i==this.view.contentDOM)break;s instanceof ut?t.push(s):s?.isLine()?r=s:i.nodeName=="DIV"&&!r&&i!=this.view.contentDOM?r=new $r(i,zg):t.push(ut.of(new zs({tagName:i.nodeName.toLowerCase(),attributes:V2(i)}),i))}return{line:r,marks:t}}}function Ru(n,e){let t=r=>{for(let i of r.children)if((e?i.isText():i.length)||t(i))return!0;return!1};return t(n)}function fw(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}const zg={class:"cm-line"};function pw(n,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(n||(n={class:"cm-line"}),t&&Dh(t,n),r&&(n.class+=" "+r)),n}function mw(n){let e=[];for(let t=n.parents.length;t>1;t--){let r=t==n.parents.length?n.tile:n.parents[t].tile;r instanceof ut&&e.push(r.mark)}return e}function yl(n){let e=Ve.get(n);return e&&e.setDOM(n.cloneNode()),n}class Vr extends cn{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Vr.inline=new Vr("span");Vr.block=new Vr("div");const xl=new class extends cn{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Lu{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=ne.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Fa(e,e.contentDOM),this.updateInner([new Nt(0,0,0,e.state.doc.length)],null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:h,toA:u})=>u<this.minWidthFrom||h>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?i=this.domChanged.newSel.head:!Cw(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let s=i>-1?bw(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;r=new Nt(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(U.ie||U.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=vw(o,this.decorations,e.changes);l.length&&(r=Nt.extendWithRanges(r,l));let c=kw(a,this.blockWrappers,e.changes);return c.length&&(r=Nt.extendWithRanges(r,c)),s&&!r.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(r=s.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(t||e.length){let o=this.tile,a=new uw(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,t),_c(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=U.chrome||U.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||r.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof vl&&i.push(s.dom);r.updateGaps(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let r of t.effects)r.is(Lg)&&(this.editContextFormatting=r.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:r}=this.tile,i=this.view.root.activeElement,s=i==r,o=!s&&!(this.view.state.facet(gn)||r.tabIndex>-1)&&Yo(r,this.view.observer.selectionRange)&&!(i&&r.contains(i));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),U.gecko&&l.empty&&!this.hasComposition&&gw(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=h=new Ft(f,0),a=!0}let u=this.view.observer.selectionRange;(a||!u.focusNode||(!Ai(c.node,c.offset,u.anchorNode,u.anchorOffset)||!Ai(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{U.android&&U.chrome&&r.contains(u.focusNode)&&Sw(u.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=_i(this.view.root);if(f)if(l.empty){if(U.gecko){let p=yw(c.node,c.offset);if(p&&p!=3){let m=(p==1?xg:vg)(c.node,c.offset);m&&(c=new Ft(m.node,m.offset))}}f.collapse(c.node,c.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(c.node,c.offset);try{f.extend(h.node,h.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),p.setEnd(h.node,h.offset),p.setStart(c.node,c.offset),f.removeAllRanges(),f.addRange(p)}o&&this.view.root.activeElement==r&&(r.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Ft(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new Ft(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Ai(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=_i(e.root),{anchorNode:i,anchorOffset:s}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);r.collapse(h.node,h.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&r.collapse(i,s)}posFromDOM(e,t){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=r.posAtStart;if(r.isComposite()){let s;if(e==r.dom)s=r.dom.childNodes[t];else{let o=xn(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==r.dom.firstChild)return i;for(;s&&!Ve.get(s);)s=s.nextSibling;if(!s)return i+r.length;for(let o=0,a=i;;o++){let l=r.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?i+t:i+(t?r.length:0):i}domAtPos(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.domPosFor(e,t):r.domIn(i,t)}inlineDOMNearPos(e,t){let r,i=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let u=h+c.length;if(h<=e&&(r=c,i=e-h,s=u<e),u>=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!r&&!o?this.domAtPos(e,t):(s&&o?r=null:l&&r&&(o=null),r&&t<0||!o?r.domIn(i,t):o.domIn(a,t))}coordsAt(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof vl?null:r.coordsInWidget(i,t,!0):r.coordsIn(i,t)}lineAt(e,t){let{tile:r}=this.tile.resolveBlock(e,t);return r.isLine()?r:null}coordsForChar(e){let{tile:t,offset:r}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function i(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=i(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&o<s.length){let a=_e(s.text,o);if(a==o)return null;let l=Wi(s.dom,o,a).getClientRects();for(let c=0;c<l.length;c++){let h=l[c];if(c==l.length-1||h.top<h.bottom&&h.left<h.right)return h}}return null}return i(t,r)}measureVisibleLineHeights(e){let t=[],{from:r,to:i}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Pe.LTR,c=0,h=(u,f,p)=>{for(let m=0;m<u.children.length&&!(f>i);m++){let b=u.children[m],y=f+b.length,v=b.dom.getBoundingClientRect(),{height:w}=v;if(p&&!m&&(c+=v.top-p.top),b instanceof En)y>r&&h(b,f,v);else if(f>=r&&(c>0&&t.push(-c),t.push(w+c),c=0,o)){let C=b.dom.lastChild,j=C?Pi(C):[];if(j.length){let S=j[j.length-1],O=l?S.right-v.left:v.right-S.left;O>a&&(a=O,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=y)}}p&&m==u.children.length-1&&(c+=p.bottom-v.bottom),f=y+b.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Pe.RTL:Pe.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=Pi(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),r,i,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=Pi(t.firstChild)[0];r=t.getBoundingClientRect().height,i=o&&o.width?o.width/27:7,s=o&&o.height?o.height:r,t.remove()}),{lineHeight:r,charWidth:i,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,i=0;;i++){let s=i==t.viewports.length?null:t.viewports[i],o=s?s.from-1:this.view.state.doc.length;if(o>r){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(ne.replace({widget:new vl(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return ne.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Ui).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,i=this.view.state.facet($g).map((s,o)=>{let a=typeof s=="function";return a&&(r=!0),a?s(this.view):s});for(i.length&&(this.dynamicDecorationMap[e++]=r,t.push(fe.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(Bg).map(s=>typeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Rg))try{if(c(this.view,e.range,e))return!0}catch(h){ft(this.view.state,h,"scroll handler")}let{range:t}=e,r=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),i;if(!r)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,i.left),top:Math.min(r.top,i.top),right:Math.max(r.right,i.right),bottom:Math.max(r.bottom,i.bottom)});let s=$h(this.view),o={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;H2(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==Pe.LTR)}lineHasWidget(e){let t=r=>r.isWidget()||r.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){_c(this.tile)}}function _c(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let r of n.children)_c(r,e)}}function gw(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function _g(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let r=xg(t.focusNode,t.focusOffset),i=vg(t.focusNode,t.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let a=Ve.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)s=i;else if(n.docView.lastCompositionAfterCursor){let l=Ve.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(s=i)}}if(n.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function bw(n,e,t){let r=_g(n,t);if(!r)return null;let{node:i,from:s,to:o}=r,a=i.nodeValue;if(/[\n\r]/.test(a)||n.state.doc.sliceString(r.from,r.to)!=a)return null;let l=e.invertedDesc;return{range:new Nt(l.mapPos(s),l.mapPos(o),s,o),text:i}}function yw(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}let xw=class{constructor(){this.changes=[]}compareRange(e,t){Tr(e,t,this.changes)}comparePoint(e,t){Tr(e,t,this.changes)}boundChange(e){Tr(e,e,this.changes)}};function vw(n,e,t){let r=new xw;return fe.compare(n,e,t,r),r.changes}class ww{constructor(){this.changes=[]}compareRange(e,t){Tr(e,t,this.changes)}comparePoint(){}boundChange(e){Tr(e,e,this.changes)}}function kw(n,e,t){let r=new ww;return fe.compare(n,e,t,r),r.changes}function Sw(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function Cw(n,e){let t=!1;return e&&n.iterChangedRanges((r,i)=>{r<e.to&&i>e.from&&(t=!0)}),t}class vl extends cn{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function jw(n,e,t=1){let r=n.charCategorizer(e),i=n.doc.lineAt(e),s=e-i.from;if(i.length==0)return E.cursor(e);s==0?t=1:s==i.length&&(t=-1);let o=s,a=s;t<0?o=_e(i.text,s,!1):a=_e(i.text,s);let l=r(i.text.slice(o,a));for(;o>0;){let c=_e(i.text,o,!1);if(r(i.text.slice(c,o))!=l)break;o=c}for(;a<i.length;){let c=_e(i.text,a);if(r(i.text.slice(a,c))!=l)break;a=c}return E.range(o+i.from,a+i.from)}function Ow(n,e,t,r,i){let s=Math.round((r-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let a=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-a)*.5)/a);s+=l*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+Mc(o,s,n.state.tabSize)}function Hc(n,e,t){let r=n.lineBlockAt(e);if(Array.isArray(r.type)){let i;for(let s of r.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!i||s.type==Ye.Text&&(i.type!=s.type||(t<0?s.from<e:s.to>e)))&&(i=s)}}return i||r}return r}function Pw(n,e,t,r){let i=Hc(n,e.head,e.assoc||-1),s=!r||i.type!=Ye.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(s){let o=n.dom.getBoundingClientRect(),a=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(a==Pe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return E.cursor(l,t?-1:1)}return E.cursor(t?i.to:i.from,t?-1:1)}function Iu(n,e,t,r){let i=n.state.doc.lineAt(e.head),s=n.bidiSpans(i),o=n.textDirectionAt(i.from);for(let a=e,l=null;;){let c=tw(i,s,o,a,t),h=jg;if(!c){if(i.number==(t?n.state.doc.lines:1))return a;h=`
59
+ `,i=n.state.doc.line(i.number+(t?1:-1)),s=n.bidiSpans(i),c=n.visualLineSide(i,!t)}if(l){if(!l(h))return a}else{if(!r)return c;l=r(h)}a=c}}function Aw(n,e,t){let r=n.state.charCategorizer(e),i=r(t);return s=>{let o=r(s);return i==De.Space&&(i=o),i==o}}function Nw(n,e,t,r){let i=e.head,s=t?1:-1;if(i==(t?n.state.doc.length:0))return E.cursor(i,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(i,e.assoc||-1),h=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=n.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-p.from))),a=(s<0?p.top:p.bottom)+h}let u=l.left+o,f=r??n.viewState.heightOracle.textHeight>>1;for(let p=0;;p+=10){let m=a+(f+p)*s,b=Wc(n,{x:u,y:m},!1,s);return E.cursor(b.pos,b.assoc,void 0,o)}}function Ni(n,e,t){for(;;){let r=0;for(let i of n)i.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=r||t||(e-s<o-e?-1:1);e=l<0?s:o,r=l}});if(!r)return e}}function Hg(n,e){let t=null;for(let r=0;r<e.ranges.length;r++){let i=e.ranges[r],s=null;if(i.empty){let o=Ni(n,i.from,0);o!=i.from&&(s=E.cursor(o,-1))}else{let o=Ni(n,i.from,-1),a=Ni(n,i.to,1);(o!=i.from||a!=i.to)&&(s=E.range(i.from==i.anchor?o:a,i.from==i.head?o:a))}s&&(t||(t=e.ranges.slice()),t[r]=s)}return t?E.create(t,e.mainIndex):e}function wl(n,e,t){let r=Ni(n.state.facet(Hs).map(i=>i(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:E.cursor(r,r<t.from?1:-1)}class Zt{constructor(e,t){this.pos=e,this.assoc=t}}function Wc(n,e,t,r){let i=n.contentDOM.getBoundingClientRect(),s=i.top+n.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new Zt(0,1);if(l>n.viewState.docHeight)return new Zt(n.state.doc.length,-1);if(c=n.elementAtHeight(l),r==null)break;if(c.type==Ye.Text){let f=n.docView.coordsAt(r<0?c.from:c.to,r);if(f&&(r<0?f.top<=l+s:f.bottom>=l+s))break}let u=n.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Ye.Text){let u=Ow(n,i,c,o,a);return new Zt(u,u==c.from?1:-1)}}if(c.type!=Ye.Text)return l<(c.top+c.bottom)/2?new Zt(c.from,1):new Zt(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),Wg(n,h,c.from,o,a)}function Wg(n,e,t,r,i){let s=-1,o=null,a=1e9,l=1e9,c=i,h=i,u=(f,p)=>{for(let m=0;m<f.length;m++){let b=f[m];if(b.top==b.bottom)continue;let y=b.left>r?b.left-r:b.right<r?r-b.right:0,v=b.top>i?b.top-i:b.bottom<i?i-b.bottom:0;b.top<=h&&b.bottom>=c&&(c=Math.min(b.top,c),h=Math.max(b.bottom,h),v=0),(s<0||(v-l||y-a)<0)&&(s>=0&&l&&a<y&&o.top<=h-2&&o.bottom>=c+2?l=0:(s=p,a=y,l=v,o=b))}};if(e.isText()){for(let p=0;p<e.length;){let m=_e(e.text,p);if(u(Wi(e.dom,p,m).getClientRects(),p),!a&&!l)break;p=m}return r>(o.left+o.right)/2==(Bu(n,s+t)==Pe.LTR)?new Zt(t+_e(e.text,s),-1):new Zt(t+s,1)}else{if(!e.length)return new Zt(t,1);for(let b=0;b<e.children.length;b++){let y=e.children[b];if(y.flags&48)continue;let v=(y.dom.nodeType==1?y.dom:Wi(y.dom,0,y.length)).getClientRects();if(u(v,b),!a&&!l)break}let f=e.children[s],p=e.posBefore(f,t);return f.isComposite()||f.isText()?Wg(n,f,p,Math.max(o.left,Math.min(o.right,r)),i):r>(o.left+o.right)/2==(Bu(n,s+t)==Pe.LTR)?new Zt(p+f.length,-1):new Zt(p,1)}}function Bu(n,e){let t=n.state.doc.lineAt(e);return n.bidiSpans(t)[bn.find(n.bidiSpans(t),e-t.from,-1,1)].dir}const vi="￿";class Mw{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(me.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=vi}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let i=e;;){this.findPointBefore(r,i);let s=this.text.length;this.readNode(i);let o=Ve.get(i),a=i.nextSibling;if(a==t){o?.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=Ve.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:ha(i))||ha(a)&&(i.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!Dw(a,t)&&this.lineBreak(),i=a}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(a=i.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(r,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);r=s+o}}readNode(e){let t=Ve.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let i=r.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(Tw(e,r.node,r.offset)?t:0))}}function Tw(n,e,t){for(;;){if(!e||t<xn(e))return!1;if(e==n)return!0;t=Fn(e)+1,e=e.parentNode}}function Dw(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let r=Ve.get(n);if(!r?.isWidget())return!1;r&&(t||(t=[])).push(r)}if(t)for(let r of t){let i=r.overrideDOMText;if(i?.length)return!1}return!0}class $u{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class Ew{constructor(e,t,r,i){this.typeOver=i,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=Ug(e.docView.tile,t,r,0))){let a=s||o?[]:Lw(e),l=new Mw(a,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=Iw(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!Bc(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!Bc(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),h=e.viewport;if((U.ios||U.chrome)&&e.state.selection.main.empty&&l!=c&&(h.from>0||h.to<e.state.doc.length)){let u=Math.min(l,c),f=Math.max(l,c),p=h.from-u,m=h.to-f;(p==0||p==1||u==0)&&(m==0||m==-1||f==e.state.doc.length)&&(l=0,c=e.state.doc.length)}e.inputState.composing>-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(E.range(c,l)):this.newSel=E.single(c,l)}}}function Ug(n,e,t,r){if(n.isComposite()){let i=-1,s=-1,o=-1,a=-1;for(let l=0,c=r,h=r;l<n.children.length;l++){let u=n.children[l],f=c+u.length;if(c<e&&f>t)return Ug(u,e,t,c);if(f>=e&&i==-1&&(i=l,s=c),c>t&&u.dom.parentNode==n.dom){o=l,a=h;break}h=f,c=f+u.breakAfter}return{from:s,to:a<0?r+n.length:a,startDOM:(i?n.children[i-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o<n.children.length&&o>=0?n.children[o].dom:null}}else return n.isText()?{from:r,to:r+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function Kg(n,e){let t,{newSel:r}=e,i=n.state.selection.main,s=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,l=i.from,c=null;(s===8||U.android&&e.text.length<a-o)&&(l=i.to,c="end");let h=Gg(n.state.doc.sliceString(o,a,vi),e.text,l-o,c);h&&(U.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==vi+vi&&h.toB--,t={from:o+h.from,to:o+h.toA,insert:xe.of(e.text.slice(h.from,h.toB).split(vi))})}else r&&(!n.hasFocus&&n.state.facet(gn)||r.main.eq(i))&&(r=null);if(!t&&!r)return!1;if(!t&&e.typeOver&&!i.empty&&r&&r.main.empty?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,i.to)}:(U.mac||U.android)&&t&&t.from==t.to&&t.from==i.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=E.single(r.main.anchor-1,r.main.head-1)),t={from:t.from,to:t.to,insert:xe.of([t.insert.toString().replace("."," ")])}):t&&t.from>=i.from&&t.to<=i.to&&(t.from!=i.from||t.to!=i.to)&&i.to-i.from-(t.to-t.from)<=4?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,i.to))}:n.state.doc.lineAt(i.from).to<i.to&&n.docView.lineHasWidget(i.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:i.from,to:i.to,insert:n.state.toText(n.inputState.insertingText)}:U.chrome&&t&&t.from==t.to&&t.from==i.head&&t.insert.toString()==`
60
+ `&&n.lineWrapping&&(r&&(r=E.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:xe.of([" "])}),t)return Fh(n,t,r,s);if(r&&!r.main.eq(i)){let o=!1,a="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(o=!0),a=n.inputState.lastSelectionOrigin,a=="select.pointer"&&(r=Hg(n.state.facet(Hs).map(l=>l(n)),r))),n.dispatch({selection:r,scrollIntoView:o,userEvent:a}),!0}else return!1}function Fh(n,e,t,r=-1){if(U.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(U.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&n.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Dr(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>i.head)&&Dr(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&Dr(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=Rw(n,e,t));return n.state.facet(Mg).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function Rw(n,e,t){let r,i=n.state,s=i.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,h=Ni(i.facet(Hs).map(u=>u(n)),c,l);e.from==h&&(o=h)}if(o>-1)r={changes:e,selection:E.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=s.from<e.from?i.sliceDoc(s.from,e.from):"",c=s.to>e.to?i.sliceDoc(e.to,s.to):"";r=i.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=n.state.sliceDoc(e.from,e.to),u,f=t&&_g(n,t.main.head);if(f){let m=e.insert.length-(e.to-e.from);u={from:f.from,to:f.to-m}}else u=n.state.doc.lineAt(s.head);let p=s.to-e.to;r=i.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let b=m.to-p,y=b-h.length;if(n.state.sliceDoc(y,b)!=h||b>=u.from&&y<=u.to)return{range:m};let v=i.changes({from:y,to:b,insert:e.insert}),w=m.to-s.to;return{changes:v,range:c?E.range(Math.max(0,c.anchor+w),Math.max(0,c.head+w)):m.map(v)}})}else r={changes:l,selection:c&&i.selection.replaceRange(c)}}let a="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:a,scrollIntoView:!0})}function Gg(n,e,t,r){let i=Math.min(n.length,e.length),s=0;for(;s<i&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==i&&n.length==e.length)return null;let o=n.length,a=e.length;for(;o>0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&n.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function Lw(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new $u(t,r)),(i!=t||s!=r)&&e.push(new $u(i,s))),e}function Iw(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t>-1&&r>-1?E.single(t+e,r+e):null}class Bw{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,U.safari&&e.contentDOM.addEventListener("input",()=>null),U.gecko&&Xw(e.contentDOM.ownerDocument)}handleEvent(e){!Uw(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let i of r.observers)i(this.view,t);for(let i of r.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=$w(e),r=this.handlers,i=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=r[s];a&&o!=!a.handlers.length&&(i.removeEventListener(s,this.handleEvent),a=null),a||i.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!t[s]&&i.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Jg.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),U.android&&U.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return U.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=qg.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||Fw.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Dr(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:U.safari&&!U.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function Fu(n,e){return(t,r)=>{try{return e.call(n,r,t)}catch(i){ft(t.state,i)}}}function $w(n){let e=Object.create(null);function t(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of n){let i=r.spec,s=i&&i.plugin.domEventHandlers,o=i&&i.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Fu(r.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Fu(r.value,l))}}for(let r in zt)t(r).handlers.push(zt[r]);for(let r in Rt)t(r).observers.push(Rt[r]);return e}const qg=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Fw="dthko",Jg=[16,17,18,20,91,92,224,225],So=6;function Co(n){return Math.max(0,n)*.7+8}function Vw(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class zw{constructor(e,t,r,i){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=W2(e.contentDOM),this.atoms=e.state.facet(Hs).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(me.allowMultipleSelections)&&_w(e,t),this.dragging=Ww(e,t)&&Xg(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Vw(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,r=0,i=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=$h(this.view);e.clientX-l.left<=i+So?t=-Co(i-e.clientX):e.clientX+l.right>=o-So&&(t=Co(e.clientX-o)),e.clientY-l.top<=s+So?r=-Co(s-e.clientY):e.clientY+l.bottom>=a-So&&(r=Co(e.clientY-a)),this.setScrollSpeed(t,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,r=Hg(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function _w(n,e){let t=n.state.facet(Og);return t.length?t[0](e):U.mac?e.metaKey:e.ctrlKey}function Hw(n,e){let t=n.state.facet(Pg);return t.length?t[0](e):U.mac?!e.altKey:!e.ctrlKey}function Ww(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=_i(n.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let s=0;s<i.length;s++){let o=i[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function Uw(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=Ve.get(t))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const zt=Object.create(null),Rt=Object.create(null),Yg=U.ie&&U.ie_version<15||U.ios&&U.webkit_version<604;function Kw(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),Qg(n,t.value)},50)}function Va(n,e,t){for(let r of n.facet(e))t=r(t,n);return t}function Qg(n,e){e=Va(n.state,Lh,e);let{state:t}=n,r,i=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Uc!=null&&t.selection.ranges.every(l=>l.empty)&&Uc==s.toString()){let l=-1;r=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let u=t.toText((o?s.line(i++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:E.cursor(c.from+u.length)}})}else o?r=t.changeByRange(l=>{let c=s.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:E.cursor(l.from+c.length)}}):r=t.replaceSelection(s);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Rt.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};zt.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Rt.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};Rt.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};zt.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let r of n.state.facet(Ag))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=qw(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new zw(n,e,t,r)),r&&n.observer.ignore(()=>{bg(n.contentDOM);let s=n.root.activeElement;s&&!s.contains(n.contentDOM)&&s.blur()});let i=n.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function Vu(n,e,t,r){if(r==1)return E.cursor(e,t);if(r==2)return jw(n.state,e,t);{let i=n.docView.lineAt(e,t),s=n.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:s.from,a=i?i.posAtEnd:s.to;return a<n.state.doc.length&&a==s.to&&a++,E.range(o,a)}}const Gw=U.ie&&U.ie_version<=11;let zu=null,_u=0,Hu=0;function Xg(n){if(!Gw)return n.detail;let e=zu,t=Hu;return zu=n,Hu=Date.now(),_u=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(_u+1)%3:1}function qw(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=Xg(e),i=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),i=i.map(s.changes))},get(s,o,a){let l=n.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Vu(n,l.pos,l.assoc,r);if(t.pos!=l.pos&&!o){let u=Vu(n,t.pos,t.assoc,r),f=Math.min(u.from,h.from),p=Math.max(u.to,h.to);h=f<h.from?E.range(f,p):E.range(p,f)}return o?i.replaceRange(i.main.extend(h.from,h.to)):a&&r==1&&i.ranges.length>1&&(c=Jw(i,l.pos))?c:a?i.addRange(h):E.create([h])}}}function Jw(n,e){for(let t=0;t<n.ranges.length;t++){let{from:r,to:i}=n.ranges[t];if(r<=e&&i>=e)return E.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}zt.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let i=n.docView.tile.nearest(e.target);if(i&&i.isWidget()){let s=i.posAtStart,o=s+i.length;(s>=t.to||o<=t.from)&&(t=E.range(s,o))}}let{inputState:r}=n;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Va(n.state,Ih,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};zt.dragend=n=>(n.inputState.draggedContent=null,!1);function Wu(n,e,t,r){if(t=Va(n.state,Lh,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=r&&s&&Hw(n,e)?{from:s.from,to:s.to}:null,a={from:i,insert:t},l=n.state.changes(o?[o,a]:a);n.focus(),n.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}zt.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let r=Array(t.length),i=0,s=()=>{++i==t.length&&Wu(n,e,r.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let a=new FileReader;a.onerror=s,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return Wu(n,e,r,!0),!0}return!1};zt.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=Yg?null:e.clipboardData;return t?(Qg(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Kw(n),!1)};function Yw(n,e){let t=n.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),n.focus()},50)}function Qw(n){let e=[],t=[],r=!1;for(let i of n.selection.ranges)i.empty||(e.push(n.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let i=-1;for(let{from:s}of n.selection.ranges){let o=n.doc.lineAt(s);o.number>i&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),i=o.number}r=!0}return{text:Va(n,Ih,e.join(n.lineBreak)),ranges:t,linewise:r}}let Uc=null;zt.copy=zt.cut=(n,e)=>{let{text:t,ranges:r,linewise:i}=Qw(n.state);if(!t&&!i)return!1;Uc=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=Yg?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(Yw(n,t),!1)};const Zg=an.define();function e0(n,e){let t=[];for(let r of n.facet(Tg)){let i=r(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:Zg.of(!0)}):null}function t0(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=e0(n.state,e);t?n.dispatch(t):n.update([])}},10)}Rt.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),t0(n)};Rt.blur=n=>{n.observer.clearSelectionRange(),t0(n)};Rt.compositionstart=Rt.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Rt.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,U.chrome&&U.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Rt.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};zt.beforeinput=(n,e)=>{var t,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=n.posAtDOM(a.startContainer,a.startOffset),c=n.posAtDOM(a.endContainer,a.endOffset);return Fh(n,{from:l,to:c,insert:n.state.toText(s)},null),!0}}let i;if(U.chrome&&U.android&&(i=qg.find(s=>s.inputType==e.inputType))&&(n.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return U.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),U.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Rt.compositionend(n,e),20),!1};const Uu=new Set;function Xw(n){Uu.has(n)||(Uu.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const Ku=["pre-wrap","normal","pre-line","break-spaces"];let zr=!1;function Gu(){zr=!1}class Zw{constructor(e){this.lineWrapping=e,this.doc=xe.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Ku.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let i=e[r];i<0?r++:this.heightSamples[Math.floor(i*10)]||(t=!0,this.heightSamples[Math.floor(i*10)]=!0)}return t}refresh(e,t,r,i,s,o){let a=Ku.indexOf(e)>-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=i,this.lineLength=s,l){this.heightSamples={};for(let c=0;c<o.length;c++){let h=o[c];h<0?c++:this.heightSamples[Math.floor(h*10)]=!0}}return l}}class ek{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class $t{constructor(e,t,r,i,s){this.from=e,this.length=t,this.top=r,this.height=i,this._content=s}get type(){return typeof this._content=="number"?Ye.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof lr?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new $t(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Ae=function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n}(Ae||(Ae={}));const Qo=.001;class at{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Qo&&(zr=!0),this.height=e)}replace(e,t,r){return at.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,i){let s=this,o=r.doc;for(let a=i.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:u}=i[a],f=s.lineAt(l,Ae.ByPosNoHeight,r.setDoc(t),0,0),p=f.to>=c?f:s.lineAt(c,Ae.ByPosNoHeight,r,0,0);for(u+=p.to-c,c=p.to;a>0&&f.from<=i[a-1].toA;)l=i[a-1].fromA,h=i[a-1].fromB,a--,l<f.from&&(f=s.lineAt(l,Ae.ByPosNoHeight,r,0,0));h+=f.from-l,l=f.from;let m=Vh.build(r.setDoc(o),e,h,u);s=pa(s,s.replace(l,c,m))}return s.updateHeight(r,0)}static empty(){return new vt(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,r=e.length,i=0,s=0;for(;;)if(t==r)if(i>s*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),r+=1+a.break,i-=a.size}else if(s>i*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,s-=a.size}else break;else if(i<s){let a=e[t++];a&&(i+=a.size)}else{let a=e[--r];a&&(s+=a.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,r++),new nk(at.of(e.slice(0,t)),o,at.of(e.slice(r)))}}function pa(n,e){return n==e?n:(n.constructor!=e.constructor&&(zr=!0),e)}at.prototype.size=1;const tk=ne.replace({});class n0 extends at{constructor(e,t,r){super(e,t),this.deco=r,this.spaceAbove=0}mainBlock(e,t){return new $t(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,r,i){return this.spaceAbove&&e<r+this.spaceAbove?new $t(i,0,r,this.spaceAbove,tk):this.mainBlock(r,i)}lineAt(e,t,r,i,s){let o=this.mainBlock(i,s);return this.spaceAbove?this.blockAt(0,r,i,s).join(o):o}forEachLine(e,t,r,i,s,o){e<=s+this.length&&t>=s&&o(this.lineAt(0,Ae.ByPos,r,i,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}}class vt extends n0{constructor(e,t,r){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,t){return new $t(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,r){let i=r[0];return r.length==1&&(i instanceof vt||i instanceof qe&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof qe?i=new vt(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):at.of(r)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(r||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class qe extends at{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,s=i-r+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:i,perLine:o,perChar:a}}blockAt(e,t,r,i){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),h=t.doc.lineAt(c),u=a+h.length*l,f=Math.max(r,e-u/2);return new $t(h.from,h.length,f,u,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-r)/a))),{from:h,length:u}=t.doc.line(s+c);return new $t(h,u,r+a*c,a,0)}}lineAt(e,t,r,i,s){if(t==Ae.ByHeight)return this.blockAt(e,r,i,s);if(t==Ae.ByPosNoHeight){let{from:p,to:m}=r.doc.lineAt(e);return new $t(p,m-p,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(r,s),c=r.doc.lineAt(e),h=a+c.length*l,u=c.number-o,f=i+a*u+l*(c.from-s-u);return new $t(c.from,c.length,Math.max(i,Math.min(f,i+this.height-h)),h,0)}forEachLine(e,t,r,i,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:a,perLine:l,perChar:c}=this.heightMetrics(r,s);for(let h=e,u=i;h<=t;){let f=r.doc.lineAt(h);if(h==e){let m=f.number-a;u+=l*m+c*(e-s-m)}let p=l+c*f.length;o(new $t(f.from,f.length,u,p,0)),u+=p,h=f.to+1}}replace(e,t,r){let i=this.length-t;if(i>0){let s=r[r.length-1];s instanceof qe?r[r.length-1]=new qe(s.length+i):r.push(null,new qe(i-1))}if(e>0){let s=r[0];s instanceof qe?r[0]=new qe(e+s.length):r.unshift(new qe(e-1),null)}return at.of(r)}decomposeLeft(e,t){t.push(new qe(e-1),null)}decomposeRight(e,t){t.push(null,new qe(this.length-e-1))}updateHeight(e,t=0,r=!1,i){let s=t+this.length;if(i&&i.from<=t+this.length&&i.more){let o=[],a=Math.max(t,i.from),l=-1;for(i.from>t&&o.push(new qe(i.from-t-1).updateHeight(e,t));a<=s&&i.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let u=i.heights[i.index++],f=0;u<0&&(f=-u,u=i.heights[i.index++]),l==-1?l=u:Math.abs(u-l)>=Qo&&(l=-2);let p=new vt(h,u,f);p.outdated=!1,o.push(p),a+=h+1}a<=s&&o.push(null,new qe(s-a).updateHeight(e,a));let c=at.of(o);return(l<0||Math.abs(c.height-this.height)>=Qo||Math.abs(l-this.heightMetrics(e,t).perLine)>=Qo)&&(zr=!0),pa(this,c)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class nk extends at{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,i){let s=r+this.left.height;return e<s?this.left.blockAt(e,t,r,i):this.right.blockAt(e,t,s,i+this.left.length+this.break)}lineAt(e,t,r,i,s){let o=i+this.left.height,a=s+this.left.length+this.break,l=t==Ae.ByHeight?e<o:e<a,c=l?this.left.lineAt(e,t,r,i,s):this.right.lineAt(e,t,r,o,a);if(this.break||(l?c.to<a:c.from>a))return c;let h=t==Ae.ByPosNoHeight?Ae.ByPosNoHeight:Ae.ByPos;return l?c.join(this.right.lineAt(a,h,r,o,a)):this.left.lineAt(a,h,r,i,s).join(c)}forEachLine(e,t,r,i,s,o){let a=i+this.left.height,l=s+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,r,i,s,o),t>=l&&this.right.forEachLine(e,t,r,a,l,o);else{let c=this.lineAt(l,Ae.ByPos,r,i,s);e<c.from&&this.left.forEachLine(e,c.from-1,r,i,s,o),c.to>=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,r,a,l,o)}}replace(e,t,r){let i=this.left.length+this.break;if(t<i)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of r)s.push(a);if(e>0&&qu(s,o-1),t<this.length){let a=s.length;this.decomposeRight(t,s),qu(s,a)}return at.of(s)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,i=r+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e<r&&this.left.decomposeRight(e,t),this.break&&e<i&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?at.of(this.break?[e,null,t]:[e,t]):(this.left=pa(this.left,e),this.right=pa(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,r=!1,i){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return i&&i.from<=t+s.length&&i.more?l=s=s.updateHeight(e,t,r,i):s.updateHeight(e,t,r),i&&i.from<=a+o.length&&i.more?l=o=o.updateHeight(e,a,r,i):o.updateHeight(e,a,r),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function qu(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof qe&&(r=n[e+1])instanceof qe&&n.splice(e-1,3,new qe(t.length+1+r.length))}const rk=5;class Vh{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let r=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof vt?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new vt(r-this.pos,-1,0)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let i=r.widget?r.widget.estimatedHeight:0,s=r.widget?r.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let o=t-e;r.block?this.addBlock(new n0(o,i,r)):(o||s||i>=rk)&&this.addLineDeco(i,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new vt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let r=new qe(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof vt)return e;let t=new vt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,r){let i=this.ensureLine();i.length+=r,i.collapsed+=r,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof vt)&&!this.isCovered?this.nodes.push(new vt(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let i of this.nodes)i instanceof vt&&i.updateHeight(this.oracle,r),r+=i?i.length:1;return this.nodes}static build(e,t,r,i){let s=new Vh(r,e);return fe.spans(t,r,i,s,0),s.finish(r)}}function ik(n,e,t){let r=new sk;return fe.compare(n,e,t,r,0),r.changes}class sk{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,i){(e<t||r&&r.heightRelevant||i&&i.heightRelevant)&&Tr(e,t,this.changes,5)}}function ok(n,e){let t=n.getBoundingClientRect(),r=n.ownerDocument,i=r.defaultView||window,s=Math.max(0,t.left),o=Math.min(i.innerWidth,t.right),a=Math.max(0,t.top),l=Math.min(i.innerHeight,t.bottom);for(let c=n.parentNode;c&&c!=r.body;)if(c.nodeType==1){let h=c,u=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&u.overflow!="visible"){let f=h.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),a=Math.max(a,f.top),l=Math.min(c==n.parentNode?i.innerHeight:l,f.bottom)}c=u.position=="absolute"||u.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function ak(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function lk(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class kl{constructor(e,t,r,i){this.from=e,this.to=t,this.size=r,this.displaySize=i}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],s=t[r];if(i.from!=s.from||i.to!=s.to||i.size!=s.size)return!1}return!0}draw(e,t){return ne.replace({widget:new ck(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class ck extends cn{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class Ju{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Yu,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Pe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Bh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Zw(t),this.stateDeco=e.facet(Ui).filter(r=>typeof r!="function"),this.heightMap=at.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle.setDoc(e.doc),[new Nt(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ne.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let i=r?t.head:t.anchor;if(!e.some(({from:s,to:o})=>i>=s&&i<=o)){let{from:s,to:o}=this.lineBlockAt(i);e.push(new jo(s,o))}}return this.viewports=e.sort((r,i)=>r.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Yu:new zh(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(wi(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(Ui).filter(h=>typeof h!="function");let i=e.changedRanges,s=Nt.extendWithRanges(i,ik(r,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Gu(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||zr)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<l.from||t.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Eg)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Pe.RTL:Pe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:j,scaleY:S}=gg(t,a);(j>.005&&Math.abs(this.scaleX-j)>.005||S>.005&&Math.abs(this.scaleY-S)>.005)&&(this.scaleX=j,this.scaleY=S,c|=16,o=l=!0)}let u=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=f)&&(this.paddingTop=u,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=yg(e.scrollDOM);let m=(this.printing?lk:ok)(t,this.paddingTop),b=m.top-this.pixelViewport.top,y=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let v=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(v!=this.inView&&(this.inView=v,v&&(l=!0)),!this.inView&&!this.scrollTarget&&!ak(e.dom))return 0;let w=a.width;if((this.contentDOMWidth!=w||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let j=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(j)&&(o=!0),o||i.lineWrapping&&Math.abs(w-this.contentDOMWidth)>i.charWidth){let{lineHeight:S,charWidth:O,textHeight:x}=e.docView.measureTextSize();o=S>0&&i.refresh(s,S,O,x,Math.max(5,w/O),j),o&&(e.docView.minWidth=0,c|=16)}b>0&&y>0?h=Math.max(b,y):b<0&&y<0&&(h=Math.min(b,y)),Gu();for(let S of this.viewports){let O=S.from==this.viewport.from?j:e.docView.measureVisibleLineHeights(S);this.heightMap=(o?at.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle,[new Nt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new ek(S.from,O))}zr&&(c|=2)}let C=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return C&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||C)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new jo(i.lineAt(o-r*1e3,Ae.ByHeight,s,0,0).from,i.lineAt(a+(1-r)*1e3,Ae.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<l.from||c>l.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=i.lineAt(c,Ae.ByPos,s,0,0),f;t.y=="center"?f=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c<l.from?f=u.top:f=u.bottom-h,l=new jo(i.lineAt(f-1e3/2,Ae.ByHeight,s,0,0).from,i.lineAt(f+h+1e3/2,Ae.ByHeight,s,0,0).to)}}return l}mapViewport(e,t){let r=t.mapPos(e.from,-1),i=t.mapPos(e.to,1);return new jo(this.heightMap.lineAt(r,Ae.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Ae.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(e,Ae.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,Ae.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:a}=this;return(e==0||i<=o-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||s>=a+Math.max(10,Math.min(r,250)))&&i>o-2*1e3&&s<a+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let i of e)t.touchesRange(i.from,i.to)||r.push(new kl(t.mapPos(i.from),t.mapPos(i.to),i.size,i.displaySize));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,i=r?1e4:2e3,s=i>>1,o=i<<1;if(this.defaultTextDirection!=Pe.LTR&&!r)return[];let a=[],l=(h,u,f,p)=>{if(u-h<s)return;let m=this.state.selection.main,b=[m.from];m.empty||b.push(m.to);for(let v of b)if(v>h&&v<u){l(h,v-10,f,p),l(v+10,u,f,p);return}let y=dk(e,v=>v.from>=f.from&&v.to<=f.to&&Math.abs(v.from-h)<s&&Math.abs(v.to-u)<s&&!b.some(w=>v.from<w&&v.to>w));if(!y){if(u<f.to&&t&&r&&t.visibleRanges.some(C=>C.from<=u&&C.to>=u)){let C=t.moveToLineBoundary(E.cursor(u),!1,!0).head;C>h&&(u=C)}let v=this.gapSize(f,h,u,p),w=r||v<2e6?v:2e6;y=new kl(h,u,v,w)}a.push(y)},c=h=>{if(h.length<o||h.type!=Ye.Text)return;let u=hk(h.from,h.to,this.stateDeco);if(u.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,p,m;if(r){let b=i/this.heightOracle.lineLength*this.heightOracle.lineHeight,y,v;if(f!=null){let w=Po(u,f),C=((this.visibleBottom-this.visibleTop)/2+b)/h.height;y=w-C,v=w+C}else y=(this.visibleTop-h.top-b)/h.height,v=(this.visibleBottom-h.top+b)/h.height;p=Oo(u,y),m=Oo(u,v)}else{let b=u.total*this.heightOracle.charWidth,y=i*this.heightOracle.charWidth,v=0;if(b>2e6)for(let O of e)O.from>=h.from&&O.from<h.to&&O.size!=O.displaySize&&O.from*this.heightOracle.charWidth+v<this.pixelViewport.left&&(v=O.size-O.displaySize);let w=this.pixelViewport.left+v,C=this.pixelViewport.right+v,j,S;if(f!=null){let O=Po(u,f),x=((C-w)/2+y)/b;j=O-x,S=O+x}else j=(w-y)/b,S=(C+y)/b;p=Oo(u,j),m=Oo(u,S)}p>h.from&&l(h.from,p,h,u),m<h.to&&l(m,h.to,h,u)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(c):c(h);return a}gapSize(e,t,r,i){let s=Po(i,r)-Po(i,t);return this.heightOracle.lineWrapping?e.height*s:i.total*this.heightOracle.charWidth*s}updateLineGaps(e){kl.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ne.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let r=[];fe.spans(t,this.viewport.from,this.viewport.to,{span(s,o){r.push({from:s,to:o})},point(){}},20);let i=0;if(r.length!=this.visibleRanges.length)i=12;else for(let s=0;s<r.length&&!(i&8);s++){let o=this.visibleRanges[s],a=r[s];(o.from!=a.from||o.to!=a.to)&&(i|=4,e&&e.mapPos(o.from,-1)==a.from&&e.mapPos(o.to,1)==a.to||(i|=8))}return this.visibleRanges=r,i}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||wi(this.heightMap.lineAt(e,Ae.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||wi(this.heightMap.lineAt(this.scaler.fromDOM(e),Ae.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return wi(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class jo{constructor(e,t){this.from=e,this.to=t}}function hk(n,e,t){let r=[],i=n,s=0;return fe.spans(t,n,e,{span(){},point(o,a){o>i&&(r.push({from:i,to:o}),s+=o-i),i=a}},20),i<e&&(r.push({from:i,to:e}),s+=e-i),{total:s,ranges:r}}function Oo({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let r=Math.floor(n*t);for(let i=0;;i++){let{from:s,to:o}=e[i],a=o-s;if(r<=a)return s+r;r-=a}}function Po(n,e){let t=0;for(let{from:r,to:i}of n.ranges){if(e<=i){t+=e-r;break}t+=i-r}return t/n.total}function dk(n,e){for(let t of n)if(e(t))return t}const Yu={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class zh{constructor(e,t,r){let i=0,s=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let c=t.lineAt(a,Ae.ByPos,e,0,0).top,h=t.lineAt(l,Ae.ByPos,e,0,0).bottom;return i+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,r=0,i=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return i+(e-r)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);r=s.bottom,i=s.domBottom}}fromDOM(e){for(let t=0,r=0,i=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return r+(e-i)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);r=s.bottom,i=s.domBottom}}eq(e){return e instanceof zh?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,r)=>t.from==e.viewports[r].from&&t.to==e.viewports[r].to):!1}}function wi(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),r=e.toDOM(n.bottom);return new $t(n.from,n.length,t,r-t,Array.isArray(n._content)?n._content.map(i=>wi(i,e)):n._content)}const Ao=K.define({combine:n=>n.join(" ")}),Kc=K.define({combine:n=>n.indexOf(!0)>-1}),Gc=Bn.newName(),r0=Bn.newName(),i0=Bn.newName(),s0={"&light":"."+r0,"&dark":"."+i0};function qc(n,e,t){return new Bn(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+r}})}const uk=qc("."+Gc,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},s0),fk={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Sl=U.ie&&U.ie_version<=11;class pk{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new U2,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let r of t)this.queue.push(r);(U.ie&&U.ie_version<=11||U.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&U.android&&e.constructor.EDIT_CONTEXT!==!1&&!(U.chrome&&U.chrome_version<126)&&(this.editContext=new gk(e),e.state.facet(gn)&&(e.contentDOM.editContext=this.editContext.editContext)),Sl&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,r)=>t!=e[r]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,i=this.selectionRange;if(r.state.facet(gn)?r.root.activeElement!=this.dom:!Yo(this.dom,i))return;let s=i.anchorNode&&r.docView.tile.nearest(i.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(U.ie&&U.ie_version<=11||U.android&&U.chrome)&&!r.state.selection.main.empty&&i.focusNode&&Ai(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=_i(e.root);if(!t)return!1;let r=U.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&mk(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let i=Yo(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&G2(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),i&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(r.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=t)r.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,fk),Sl&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Sl&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let i=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Dr(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,i=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(i=!0),t==-1?{from:t,to:r}=o:(t=Math.min(o.from,t),r=Math.max(o.to,r)))}return{from:t,to:r,typeOver:i}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),i=this.selectionChanged&&Yo(this.dom,this.selectionRange);if(e<0&&!i)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Ew(this.view,e,t,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let r=this.view.state,i=Kg(this.view,t);return this.view.state==r&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),i}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let r=Qu(t,e.previousSibling||e.target.previousSibling,-1),i=Qu(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(gn)!=e.state.facet(gn)&&(e.view.contentDOM.editContext=e.state.facet(gn)?this.editContext.editContext:null))}destroy(){var e,t,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function Qu(n,e,t){for(;e;){let r=Ve.get(e);if(r&&r.parent==n)return r;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function Xu(n,e){let t=e.startContainer,r=e.startOffset,i=e.endContainer,s=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return Ai(o.node,o.offset,i,s)&&([t,r,i,s]=[i,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}}function mk(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return Xu(n,i)}let t=null;function r(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",r,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",r,!0),t?Xu(n,t):null}class gk{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let i=e.state.selection.main,{anchor:s,head:o}=i,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>r.text.length;a==this.from&&s<this.from?a=s:l==this.to&&s>this.to&&(l=s);let h=Gg(e.state.sliceDoc(a,l),r.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let f=E.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));f.main.eq(i)||e.dispatch({selection:f,userEvent:"select"});return}let u={from:h.from+a,to:h.toA+a,insert:xe.of(r.text.slice(h.from,h.toB).split(`
61
+ `))};if((U.mac||U.android)&&u.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:a,to:l,insert:xe.of([r.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let f=this.to-this.from+(u.to-u.from+u.insert.length);Fh(e,u,E.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let i=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,i.push(s)}t.updateCharacterBounds(r.rangeStart,i)},this.handlers.textformatupdate=r=>{let i=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let h=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;i.push(ne.mark({attributes:{style:h}}).range(l,c))}}}e.dispatch({effects:Lg.of(ne.set(i))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let i=_i(r.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,i=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(r)return;let h=c.length-(o-s);if(i&&o>=i.to)if(i.from==s&&i.to==o&&i.insert.eq(c)){i=this.pendingContextChange=null,t+=h,this.to+=h;return}else i=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),i&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(r,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class H{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(i=>i.forEach(s=>r(s,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||K2(e.parent)||document,this.viewState=new Ju(e.state||me.create(e)),e.scrollTo&&e.scrollTo.is(ko)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(kr).map(i=>new bl(i));for(let i of this.plugins)i.update(this);this.observer=new pk(this),this.inputState=new Bw(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Lu(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof He?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,i,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(f=>f.annotation(Zg))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=e0(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(me.phrases)!=this.state.facet(me.phrases))return this.setState(s);i=da.create(this,s,e),i.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(u&&(u=u.map(f.changes)),f.scrollIntoView){let{main:p}=f.state.selection;u=new Er(p.empty?p:E.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(ko)&&(u=p.value.clip(this.state))}this.viewState.update(i,u),this.bidiCache=ma.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(xi)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(Ao)!=i.state.facet(Ao)&&(this.viewState.mustMeasureContent=!0),(t||r||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let f of this.state.facet(zc))try{f(i)}catch(p){ft(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!Kg(this,h)&&c.force&&Dr(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new Ju(e),this.plugins=e.facet(kr).map(r=>new bl(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new Lu(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(kr),r=e.state.facet(kr);if(t!=r){let i=[];for(let s of r){let o=t.indexOf(s);if(o<0)i.push(new bl(s));else{let a=this.plugins[o];a.mustUpdate=e,i.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i<this.plugins.length;i++)this.plugins[i].update(this);t!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(r){ft(this.state,r,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.scrollDOM,i=r.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(yg(r))s=-1,o=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(i);s=p.from,o=p.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(p=>{try{return p.read(this)}catch(m){return ft(this.state,m),Zu}}),u=da.create(this,this.state,[]),f=!1;u.flags|=l,t?t.flags|=l:t=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),f=this.docView.update(u),f&&this.docViewUpdate());for(let p=0;p<c.length;p++)if(h[p]!=Zu)try{let m=c[p];m.write&&m.write(h[p],this)}catch(m){ft(this.state,m)}if(f&&this.docView.updateSelection(!0),!u.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let m=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o;if(m>1||m<-1){i=i+m,r.scrollTop=i/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(zc))a(t)}get themeClasses(){return Gc+" "+(this.state.facet(Kc)?i0:r0)+" "+this.state.facet(Ao)}updateAttrs(){let e=ef(this,Ig,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(gn)?"true":"false",class:"cm-content",style:`${U.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),ef(this,Bh,t);let r=this.observer.ignore(()=>{let i=Nu(this.contentDOM,this.contentAttrs,t),s=Nu(this.dom,this.editorAttrs,e);return i||s});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let i of r.effects)if(i.is(H.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(xi);let e=this.state.facet(H.cspNonce);Bn.mount(this.root,this.styleModules.concat(uk).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(r=>r.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,r){return wl(this,e,Iu(this,e,t,r))}moveByGroup(e,t){return wl(this,e,Iu(this,e,t,r=>Aw(this,e.head,r)))}visualLineSide(e,t){let r=this.bidiSpans(e),i=this.textDirectionAt(e.from),s=r[t?r.length-1:0];return E.cursor(s.side(t,i)+e.from,s.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,r=!0){return Pw(this,e,t,r)}moveVertically(e,t,r){return wl(this,e,Nw(this,e,t,r))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let r=Wc(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Wc(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let i=this.state.doc.lineAt(e),s=this.bidiSpans(i),o=s[bn.find(s,e-i.from,-1,t)];return Hi(r,o.dir==Pe.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Dg)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>bk)return Cg(e.length);let t=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||Sg(s.isolates,r=Du(this,e))))return s.order;r||(r=Du(this,e));let i=ew(e.text,t,r);return this.bidiCache.push(new ma(e.from,e.to,t,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||U.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{bg(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return ko.of(new Er(typeof e=="number"?E.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return ko.of(new Er(E.cursor(r.from),"start","start",r.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Fe.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Fe.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=Bn.newName(),i=[Ao.of(r),xi.of(qc(`.${r}`,e))];return t&&t.dark&&i.push(Kc.of(!0)),i}static baseTheme(e){return fr.lowest(xi.of(qc("."+Gc,e,s0)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&Ve.get(r)||Ve.get(e);return((t=i?.root)===null||t===void 0?void 0:t.view)||null}}H.styleModule=xi;H.inputHandler=Mg;H.clipboardInputFilter=Lh;H.clipboardOutputFilter=Ih;H.scrollHandler=Rg;H.focusChangeEffect=Tg;H.perLineTextDirection=Dg;H.exceptionSink=Ng;H.updateListener=zc;H.editable=gn;H.mouseSelectionStyle=Ag;H.dragMovesSelection=Pg;H.clickAddsSelectionRange=Og;H.decorations=Ui;H.blockWrappers=Bg;H.outerDecorations=$g;H.atomicRanges=Hs;H.bidiIsolatedRanges=Fg;H.scrollMargins=Vg;H.darkTheme=Kc;H.cspNonce=K.define({combine:n=>n.length?n[0]:""});H.contentAttributes=Bh;H.editorAttributes=Ig;H.lineWrapping=H.contentAttributes.of({class:"cm-lineWrapping"});H.announce=ae.define();const bk=4096,Zu={};class ma{constructor(e,t,r,i,s,o){this.from=e,this.to=t,this.dir=r,this.isolates=i,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let r=[],i=e.length?e[e.length-1].dir:Pe.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==i&&!t.touchesRange(o.from,o.to)&&r.push(new ma(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function ef(n,e,t){for(let r=n.state.facet(e),i=r.length-1;i>=0;i--){let s=r[i],o=typeof s=="function"?s(n):s;o&&Dh(o,t)}return t}const yk=U.mac?"mac":U.windows?"win":U.linux?"linux":"key";function xk(n,e){const t=n.split(/-(?!$)/);let r=t[t.length-1];r=="Space"&&(r=" ");let i,s,o,a;for(let l=0;l<t.length-1;++l){const c=t[l];if(/^(cmd|meta|m)$/i.test(c))a=!0;else if(/^a(lt)?$/i.test(c))i=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))e=="mac"?a=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return i&&(r="Alt-"+r),s&&(r="Ctrl-"+r),a&&(r="Meta-"+r),o&&(r="Shift-"+r),r}function No(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}const vk=fr.default(H.domEventHandlers({keydown(n,e){return a0(o0(e.state),n,e,"editor")}})),za=K.define({enables:vk}),tf=new WeakMap;function o0(n){let e=n.facet(za),t=tf.get(e);return t||tf.set(e,t=Sk(e.reduce((r,i)=>r.concat(i),[]))),t}function wk(n,e,t){return a0(o0(n.state),e,n,t)}let Nn=null;const kk=4e3;function Sk(n,e=yk){let t=Object.create(null),r=Object.create(null),i=(o,a)=>{let l=r[o];if(l==null)r[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,h)=>{var u,f;let p=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(v=>xk(v,e));for(let v=1;v<m.length;v++){let w=m.slice(0,v).join(" ");i(w,!0),p[w]||(p[w]={preventDefault:!0,stopPropagation:!1,run:[C=>{let j=Nn={view:C,prefix:w,scope:o};return setTimeout(()=>{Nn==j&&(Nn=null)},kk),!0}]})}let b=m.join(" ");i(b,!1);let y=p[b]||(p[b]={preventDefault:!1,stopPropagation:!1,run:((f=(u=p._any)===null||u===void 0?void 0:u.run)===null||f===void 0?void 0:f.slice())||[]});l&&y.run.push(l),c&&(y.preventDefault=!0),h&&(y.stopPropagation=!0)};for(let o of n){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=o;for(let f in h)h[f].run.push(p=>u(p,Jc))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}let Jc=null;function a0(n,e,t,r){Jc=e;let i=B2(e),s=ht(i,0),o=Xt(s)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;Nn&&Nn.view==t&&Nn.scope==r&&(a=Nn.prefix+" ",Jg.indexOf(e.keyCode)<0&&(c=!0,Nn=null));let u=new Set,f=y=>{if(y){for(let v of y.run)if(!u.has(v)&&(u.add(v),v(t)))return y.stopPropagation&&(h=!0),!0;y.preventDefault&&(y.stopPropagation&&(h=!0),c=!0)}return!1},p=n[r],m,b;return p&&(f(p[a+No(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(U.windows&&e.ctrlKey&&e.altKey)&&!(U.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=$n[e.keyCode])&&m!=i?(f(p[a+No(m,e,!0)])||e.shiftKey&&(b=Vi[e.keyCode])!=i&&b!=m&&f(p[a+No(b,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(p[a+No(i,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Jc=null,l}class Ws{constructor(e,t,r,i,s){this.className=e,this.left=t,this.top=r,this.width=i,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let i=e.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let s=l0(e);return[new Ws(t,i.left-s.left,i.top-s.top,null,i.bottom-i.top)]}else return Ck(e,t,r)}}function l0(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Pe.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function nf(n,e,t,r){let i=n.coordsAtPos(e,t*2);if(!i)return r;let s=n.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,a=n.posAtCoords({x:s.left+1,y:o}),l=n.posAtCoords({x:s.right-1,y:o});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function Ck(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let r=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),s=n.textDirection==Pe.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=l0(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=a.right-(h?parseInt(h.paddingRight):0),p=Hc(n,r,1),m=Hc(n,i,-1),b=p.type==Ye.Text?p:null,y=m.type==Ye.Text?m:null;if(b&&(n.lineWrapping||p.widgetLineBreaks)&&(b=nf(n,r,1,b)),y&&(n.lineWrapping||m.widgetLineBreaks)&&(y=nf(n,i,-1,y)),b&&y&&b.from==y.from&&b.to==y.to)return w(C(t.from,t.to,b));{let S=b?C(t.from,null,b):j(p,!1),O=y?C(null,t.to,y):j(m,!0),x=[];return(b||p).to<(y||m).from-(b&&y?1:0)||p.widgetLineBreaks>1&&S.bottom+n.defaultLineHeight/2<O.top?x.push(v(u,S.bottom,f,O.top)):S.bottom<O.top&&n.elementAtHeight((S.bottom+O.top)/2).type==Ye.Text&&(S.bottom=O.top=(S.bottom+O.top)/2),w(S).concat(x).concat(w(O))}function v(S,O,x,T){return new Ws(e,S-l.left,O-l.top,x-S,T-O)}function w({top:S,bottom:O,horizontal:x}){let T=[];for(let N=0;N<x.length;N+=2)T.push(v(x[N],S,x[N+1],O));return T}function C(S,O,x){let T=1e9,N=-1e9,R=[];function A(F,$,q,he,z){let J=n.coordsAtPos(F,F==x.to?-2:2),ie=n.coordsAtPos(q,q==x.from?2:-2);!J||!ie||(T=Math.min(J.top,ie.top,T),N=Math.max(J.bottom,ie.bottom,N),z==Pe.LTR?R.push(s&&$?u:J.left,s&&he?f:ie.right):R.push(!s&&he?u:ie.left,!s&&$?f:J.right))}let L=S??x.from,W=O??x.to;for(let F of n.visibleRanges)if(F.to>L&&F.from<W)for(let $=Math.max(F.from,L),q=Math.min(F.to,W);;){let he=n.state.doc.lineAt($);for(let z of n.bidiSpans(he)){let J=z.from+he.from,ie=z.to+he.from;if(J>=q)break;ie>$&&A(Math.max(J,$),S==null&&J<=L,Math.min(ie,q),O==null&&ie>=W,z.dir)}if($=he.to+1,$>=q)break}return R.length==0&&A(L,S==null,W,O==null,n.textDirection),{top:T,bottom:N,horizontal:R}}function j(S,O){let x=a.top+(O?S.top:S.bottom);return{top:x,bottom:x,horizontal:[]}}}function jk(n,e){return n.constructor==e.constructor&&n.eq(e)}class Ok{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Xo)!=e.state.facet(Xo)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,r=e.facet(Xo);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,r)=>!jk(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[r].constructor&&i.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e,U.safari&&U.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Xo=K.define();function c0(n){return[Fe.define(e=>new Ok(e,n)),Xo.of(n)]}const Ki=K.define({combine(n){return ln(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Pk(n={}){return[Ki.of(n),Ak,Nk,Mk,Eg.of(!0)]}function h0(n){return n.startState.facet(Ki)!=n.state.facet(Ki)}const Ak=c0({above:!0,markers(n){let{state:e}=n,t=e.facet(Ki),r=[];for(let i of e.selection.ranges){let s=i==e.selection.main;if(i.empty||t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:E.cursor(i.head,i.head>i.anchor?-1:1);for(let l of Ws.forRange(n,o,a))r.push(l)}}return r},update(n,e){n.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=h0(n);return t&&rf(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){rf(e.state,n)},class:"cm-cursorLayer"});function rf(n,e){e.style.animationDuration=n.facet(Ki).cursorBlinkRate+"ms"}const Nk=c0({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:Ws.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||h0(n)},class:"cm-selectionLayer"}),Mk=fr.highest(H.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),d0=ae.define({map(n,e){return n==null?null:e.mapPos(n)}}),ki=Qe.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(d0)?r.value:t,n)}}),Tk=Fe.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(ki);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(ki)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(ki),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let r=n.scrollDOM.getBoundingClientRect();return{left:t.left-r.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-r.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(ki)!=n&&this.view.dispatch({effects:d0.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Dk(){return[ki,Tk]}function sf(n,e,t,r,i){e.lastIndex=0;for(let s=n.iterRange(t,r),o=t,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)i(o+a.index,a)}function Ek(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let r=[];for(let{from:i,to:s}of t)i=Math.max(n.state.doc.lineAt(i).from,i-e),s=Math.min(n.state.doc.lineAt(s).to,s+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=s:r.push({from:i,to:s});return r}class Rk{constructor(e){const{regexp:t,decoration:r,decorate:i,boundary:s,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,i)this.addMatch=(a,l,c,h)=>i(h,c,c+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,c,h)=>{let u=r(a,l,c);u&&h(c,c+a[0].length,u)};else if(r)this.addMatch=(a,l,c,h)=>h(c,c+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let t=new yn,r=t.add.bind(t);for(let{from:i,to:s}of Ek(e,this.maxLength))sf(e.state.doc,this.regexp,i,s,(o,a)=>this.addMatch(a,e,o,r));return t.finish()}updateDeco(e,t){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),i=Math.max(l,i))}),e.viewportMoved||i-r>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),r,i):t}updateRange(e,t,r,i){for(let s of e.visibleRanges){let o=Math.max(s.from,r),a=Math.min(s.to,i);if(a>=o){let l=e.state.doc.lineAt(o),c=l.to<a?e.state.doc.lineAt(a):l,h=Math.max(s.from,l.from),u=Math.min(s.to,c.to);if(this.boundary){for(;o>l.from;o--)if(this.boundary.test(l.text[o-1-l.from])){h=o;break}for(;a<c.to;a++)if(this.boundary.test(c.text[a-c.from])){u=a;break}}let f=[],p,m=(b,y,v)=>f.push(v.range(b,y));if(l==c)for(this.regexp.lastIndex=h-l.from;(p=this.regexp.exec(l.text))&&p.index<u-l.from;)this.addMatch(p,e,p.index+l.from,m);else sf(e.state.doc,this.regexp,h,u,(b,y)=>this.addMatch(y,e,b,m));t=t.update({filterFrom:h,filterTo:u,filter:(b,y)=>b<h||y>u,add:f})}}return t}}const Yc=/x/.unicode!=null?"gu":"g",Lk=new RegExp(`[\0-\b
62
+ --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Yc),Ik={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let Cl=null;function Bk(){var n;if(Cl==null&&typeof document<"u"&&document.body){let e=document.body.style;Cl=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return Cl||!1}const Zo=K.define({combine(n){let e=ln(n,{render:null,specialChars:Lk,addSpecialChars:null});return(e.replaceTabs=!Bk())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Yc)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Yc)),e}});function $k(n={}){return[Zo.of(n),Fk()]}let of=null;function Fk(){return of||(of=Fe.fromClass(class{constructor(n){this.view=n,this.decorations=ne.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Zo)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new Rk({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,s=ht(e[0],0);if(s==9){let o=i.lineAt(r),a=t.state.tabSize,l=Kr(o.text,a,r-o.from);return ne.replace({widget:new Hk((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=ne.replace({widget:new _k(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Zo);n.startState.facet(Zo)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const Vk="•";function zk(n){return n>=32?Vk:n==10?"␤":String.fromCharCode(9216+n)}class _k extends cn{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=zk(this.code),r=e.state.phrase("Control character")+" "+(Ik[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,t);if(i)return i;let s=document.createElement("span");return s.textContent=t,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class Hk extends cn{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function Wk(){return Kk}const Uk=ne.line({class:"cm-activeLine"}),Kk=Fe.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let r of n.state.selection.ranges){let i=n.lineBlockAt(r.head);i.from>e&&(t.push(Uk.range(i.from)),e=i.from)}return ne.set(t)}},{decorations:n=>n.decorations});class Gk extends cn{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?Pi(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),i=Hi(t[0],r.direction!="rtl"),s=parseInt(r.lineHeight);return i.bottom-i.top>s*1.5?{left:i.left,right:i.right,top:i.top,bottom:i.top+s}:i}ignoreEvent(){return!1}}function qk(n){let e=Fe.fromClass(class{constructor(t){this.view=t,this.placeholder=n?ne.set([ne.widget({widget:new Gk(n),side:1}).range(0)]):ne.none}get decorations(){return this.view.state.doc.length?ne.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,H.contentAttributes.of({"aria-placeholder":n})]:e}const Qc=2e3;function Jk(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>Qc||t.off>Qc||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=r;l<=i;l++){let c=n.doc.line(l);c.length<=a&&s.push(E.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=r;l<=i;l++){let c=n.doc.line(l),h=Mc(c.text,o,n.tabSize,!0);if(h<0)s.push(E.cursor(c.to));else{let u=Mc(c.text,a,n.tabSize);s.push(E.range(c.from+h,c.from+u))}}}return s}function Yk(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function af(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),r=n.state.doc.lineAt(t),i=t-r.from,s=i>Qc?-1:i==r.length?Yk(n,e.clientX):Kr(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:s,off:i}}function Qk(n,e){let t=af(n,e),r=n.state.selection;return t?{update(i){if(i.docChanged){let s=i.changes.mapPos(i.startState.doc.line(t.line).from),o=i.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},r=r.map(i.changes)}},get(i,s,o){let a=af(n,i);if(!a)return r;let l=Jk(n.state,t,a);return l.length?o?E.create(l.concat(r.ranges)):E.create(l):r}}:null}function Xk(n){let e=t=>t.altKey&&t.button==0;return H.mouseSelectionStyle.of((t,r)=>e(r)?Qk(t,r):null)}const Zk={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},eS={style:"cursor: crosshair"};function tS(n={}){let[e,t]=Zk[n.key||"Alt"],r=Fe.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}});return[r,H.contentAttributes.of(i=>{var s;return!((s=i.plugin(r))===null||s===void 0)&&s.isDown?eS:null})]}const Mo="-10000px";class u0{constructor(e,t,r,i){this.facet=t,this.createTooltipView=r,this.removeTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=r(o,s))}update(e,t){var r;let i=e.state.facet(this.facet),s=i.filter(l=>l);if(i===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=t?[]:null;for(let l=0;l<s.length;l++){let c=s[l],h=-1;if(c){for(let u=0;u<this.tooltips.length;u++){let f=this.tooltips[u];f&&f.create==c.create&&(h=u)}if(h<0)o[l]=this.createTooltipView(c,l?o[l-1]:null),a&&(a[l]=!!c.above);else{let u=o[l]=this.tooltipViews[h];a&&(a[l]=t[h]),u.update&&u.update(e)}}}for(let l of this.tooltipViews)o.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return t&&(a.forEach((l,c)=>t[c]=l),t.length=a.length),this.input=i,this.tooltips=s,this.tooltipViews=o,!0}}function nS(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const jl=K.define({combine:n=>{var e,t,r;return{position:U.ios?"absolute":((e=n.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(i=>i.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((r=n.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||nS}}}),lf=new WeakMap,_h=Fe.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(jl);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new u0(n,Hh,(t,r)=>this.createTooltip(t,r),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,r=n.state.facet(jl);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;t=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),r=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let i=document.createElement("div");i.className="cm-tooltip-arrow",t.dom.appendChild(i)}return t.dom.style.position=this.position,t.dom.style.top=Mo,t.dom.style.left="0px",this.container.insertBefore(t.dom,r),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(n=r.destroy)===null||n===void 0||n.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(U.safari){let o=s.getBoundingClientRect();t=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}else t=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(n=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=$h(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,o)=>{let a=this.manager.tooltipViews[o];return a.getCoords?a.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(jl).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:r,scaleX:i,scaleY:s}=n,o=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],c=this.manager.tooltipViews[a],{dom:h}=c,u=n.pos[a],f=n.size[a];if(!u||l.clip!==!1&&(u.bottom<=Math.max(t.top,r.top)||u.top>=Math.min(t.bottom,r.bottom)||u.right<Math.max(t.left,r.left)-.1||u.left>Math.min(t.right,r.right)+.1)){h.style.top=Mo;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,b=f.right-f.left,y=(e=lf.get(c))!==null&&e!==void 0?e:f.bottom-f.top,v=c.offset||iS,w=this.view.textDirection==Pe.LTR,C=f.width>r.right-r.left?w?r.left:r.right-f.width:w?Math.max(r.left,Math.min(u.left-(p?14:0)+v.x,r.right-b)):Math.min(Math.max(r.left,u.left-b+(p?14:0)-v.x),r.right-b),j=this.above[a];!l.strictSide&&(j?u.top-y-m-v.y<r.top:u.bottom+y+m+v.y>r.bottom)&&j==r.bottom-u.bottom>u.top-r.top&&(j=this.above[a]=!j);let S=(j?u.top-r.top:r.bottom-u.bottom)-m;if(S<y&&c.resize!==!1){if(S<this.view.defaultLineHeight){h.style.top=Mo;continue}lf.set(c,y),h.style.height=(y=S)/s+"px"}else h.style.height&&(h.style.height="");let O=j?u.top-y-m-v.y:u.bottom+m+v.y,x=C+b;if(c.overlap!==!0)for(let T of o)T.left<x&&T.right>C&&T.top<O+y&&T.bottom>O&&(O=j?T.top-y-2-m:T.bottom+m+2);if(this.position=="absolute"?(h.style.top=(O-n.parent.top)/s+"px",cf(h,(C-n.parent.left)/i)):(h.style.top=O/s+"px",cf(h,C/i)),p){let T=u.left+(w?v.x:-v.x)-(C+14-7);p.style.left=T/i+"px"}c.overlap!==!0&&o.push({left:C,top:O,right:x,bottom:O+y}),h.classList.toggle("cm-tooltip-above",j),h.classList.toggle("cm-tooltip-below",!j),c.positioned&&c.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=Mo}},{eventObservers:{scroll(){this.maybeMeasure()}}});function cf(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const rS=H.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),iS={x:0,y:0},Hh=K.define({enables:[_h,rS]}),ga=K.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class _a{static create(e){return new _a(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new u0(e,ga,(t,r)=>this.createHostedView(t,r),t=>t.dom.remove())}createHostedView(e,t){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let r of this.manager.tooltipViews){let i=r[e];if(i!==void 0){if(t===void 0)t=i;else if(t!==i)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const sS=Hh.compute([ga],n=>{let e=n.facet(ga);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var r;return(r=t.end)!==null&&r!==void 0?r:t.pos})),create:_a.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class oS{constructor(e,t,r,i,s){this.view=e,this.source=t,this.field=r,this.setHover=i,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,r=e.docView.tile.nearest(t.target);if(!r)return;let i,s=1;if(r.isWidget())i=r.posAtStart;else{if(i=e.posAtCoords(t),i==null)return;let a=e.coordsAtPos(i);if(!a||t.y<a.top||t.y>a.bottom||t.x<a.left-e.defaultCharacterWidth||t.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(i)).find(h=>h.from<=i&&h.to>=i),c=l&&l.dir==Pe.RTL?-1:1;s=t.x<a.left?-c:c}let o=this.source(e,i,s);if(o?.then){let a=this.pending={pos:i};o.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>ft(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(_h),t=e?e.manager.tooltips.findIndex(r=>r.create==_a.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:s}=this;if(i.length&&s&&!aS(s.dom,e)||this.pending){let{pos:o}=i[0]||this.pending,a=(r=(t=i[0])===null||t===void 0?void 0:t.end)!==null&&r!==void 0?r:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!lS(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const To=4;function aS(n,e){let{left:t,right:r,top:i,bottom:s}=n.getBoundingClientRect(),o;if(o=n.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();i=Math.min(a.top,i),s=Math.max(a.bottom,s)}return e.clientX>=t-To&&e.clientX<=r+To&&e.clientY>=i-To&&e.clientY<=s+To}function lS(n,e,t,r,i,s){let o=n.scrollDOM.getBoundingClientRect(),a=n.documentTop+n.documentPadding.top+n.contentHeight;if(o.left>r||o.right<r||o.top>i||Math.min(o.bottom,a)<i)return!1;let l=n.posAtCoords({x:r,y:i},!1);return l>=e&&l<=t}function cS(n,e={}){let t=ae.define(),r=Qe.define({create(){return[]},update(i,s){if(i.length&&(e.hideOnChange&&(s.docChanged||s.selection)?i=[]:e.hideOn&&(i=i.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let a of i){let l=s.changes.mapPos(a.pos,-1,ot.TrackDel);if(l!=null){let c=Object.assign(Object.create(null),a);c.pos=l,c.end!=null&&(c.end=s.changes.mapPos(c.end)),o.push(c)}}i=o}for(let o of s.effects)o.is(t)&&(i=o.value),o.is(hS)&&(i=[]);return i},provide:i=>ga.from(i)});return{active:r,extension:[r,Fe.define(i=>new oS(i,n,r,t,e.hoverTime||300)),sS]}}function f0(n,e){let t=n.plugin(_h);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const hS=ae.define(),hf=K.define({combine(n){let e,t;for(let r of n)e=e||r.topContainer,t=t||r.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Gi(n,e){let t=n.plugin(p0),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const p0=Fe.fromClass(class{constructor(n){this.input=n.state.facet(qi),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(hf);this.top=new Do(n,!0,e.topContainer),this.bottom=new Do(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(hf);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Do(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Do(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(qi);if(t!=this.input){let r=t.filter(l=>l),i=[],s=[],o=[],a=[];for(let l of r){let c=this.specs.indexOf(l),h;c<0?(h=l(n.view),a.push(h)):(h=this.panels[c],h.update&&h.update(n)),i.push(h),(h.top?s:o).push(h)}this.specs=r,this.panels=i,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>H.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Do{constructor(e,t,r){this.view=e,this.top=t,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=df(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=df(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function df(n){let e=n.nextSibling;return n.remove(),e}const qi=K.define({enables:p0});class vn extends In{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}vn.prototype.elementClass="";vn.prototype.toDOM=void 0;vn.prototype.mapMode=ot.TrackBefore;vn.prototype.startSide=vn.prototype.endSide=-1;vn.prototype.point=!0;const ea=K.define(),dS=K.define(),uS={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>fe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Mi=K.define();function fS(n){return[m0(),Mi.of({...uS,...n})]}const uf=K.define({combine:n=>n.some(e=>e)});function m0(n){return[pS]}const pS=Fe.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Mi).map(e=>new pf(n,e)),this.fixed=!n.state.facet(uf);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(uf)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=fe.iter(this.view.state.facet(ea),this.view.viewport.from),r=[],i=this.gutters.map(s=>new mS(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==Ye.Text&&o){Xc(t,r,a.from);for(let l of i)l.line(this.view,a,r);o=!1}else if(a.widget)for(let l of i)l.widget(this.view,a)}else if(s.type==Ye.Text){Xc(t,r,s.from);for(let o of i)o.line(this.view,s,r)}else if(s.widget)for(let o of i)o.widget(this.view,s);for(let s of i)s.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Mi),t=n.state.facet(Mi),r=n.docChanged||n.heightChanged||n.viewportChanged||!fe.eq(n.startState.facet(ea),n.state.facet(ea),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(r=!0);else{r=!0;let i=[];for(let s of t){let o=e.indexOf(s);o<0?i.push(new pf(this.view,s)):(this.gutters[o].update(n),i.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),i.indexOf(s)<0&&s.destroy();for(let s of i)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=i}return r}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>H.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let r=t.dom.offsetWidth*e.scaleX,i=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Pe.LTR?{left:r,right:i}:{right:r,left:i}})});function ff(n){return Array.isArray(n)?n:[n]}function Xc(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class mS{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=fe.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:i}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==i.elements.length){let a=new g0(e,o,s,r);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,o,s,r);this.height=t.bottom,this.i++}line(e,t,r){let i=[];Xc(this.cursor,i,t.from),r.length&&(i=i.concat(r));let s=this.gutter.config.lineMarker(e,t,i);s&&i.unshift(s);let o=this.gutter;i.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t),i=r?[r]:null;for(let s of e.state.facet(dS)){let o=s(e,t.widget,t);o&&(i||(i=[])).push(o)}i&&this.addElement(e,t,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class pf{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in t.domEventHandlers)this.dom.addEventListener(r,i=>{let s=i.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=i.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,i)&&i.preventDefault()});this.markers=ff(t.markers(e)),t.initialSpacer&&(this.spacer=new g0(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=ff(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let r=e.view.viewport;return!fe.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class g0{constructor(e,t,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,i)}update(e,t,r,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),gS(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let r="cm-gutterElement",i=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=s<t.length?t[s++]:null,c=!1;if(l){let h=l.elementClass;h&&(r+=" "+h);for(let u=o;u<this.markers.length;u++)if(this.markers[u].compare(l)){a=u,c=!0;break}}else a=this.markers.length;for(;o<a;){let h=this.markers[o++];if(h.toDOM){h.destroy(i);let u=i.nextSibling;i.remove(),i=u}}if(!l)break;l.toDOM&&(c?i=i.nextSibling:this.dom.insertBefore(l.toDOM(e),i)),c&&o++}this.dom.className=r,this.markers=t}destroy(){this.setMarkers(null,[])}}function gS(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}const bS=K.define(),yS=K.define(),Sr=K.define({combine(n){return ln(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let r=Object.assign({},e);for(let i in t){let s=r[i],o=t[i];r[i]=s?(a,l,c)=>s(a,l,c)||o(a,l,c):o}return r}})}});class Ol extends vn{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Pl(n,e){return n.state.facet(Sr).formatNumber(e,n.state)}const xS=Mi.compute([Sr],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(bS)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new Ol(Pl(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let i of e.state.facet(yS)){let s=i(e,t,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(Sr)!=e.state.facet(Sr),initialSpacer(e){return new Ol(Pl(e,mf(e.state.doc.lines)))},updateSpacer(e,t){let r=Pl(t.view,mf(t.view.state.doc.lines));return r==e.number?e:new Ol(r)},domEventHandlers:n.facet(Sr).domEventHandlers,side:"before"}));function vS(n={}){return[Sr.of(n),m0(),xS]}function mf(n){let e=9;for(;e<n;)e=e*10+9;return e}const wS=new class extends vn{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},kS=ea.compute(["selection"],n=>{let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.head).from;i>t&&(t=i,e.push(wS.range(i)))}return fe.of(e)});function SS(){return kS}var Al;const Cr=new de;function CS(n){return K.define({combine:n?e=>e.concat(n):void 0})}const jS=new de;class Vt{constructor(e,t,r=[],i=""){this.data=e,this.name=i,me.prototype.hasOwnProperty("tree")||Object.defineProperty(me.prototype,"tree",{get(){return nt(this)}}),this.parser=t,this.extension=[Vn.of(this),me.languageData.of((s,o,a)=>{let l=gf(s,o,a),c=l.type.prop(Cr);if(!c)return[];let h=s.facet(c),u=l.type.prop(jS);if(u){let f=l.resolve(o-l.from,a);for(let p of u)if(p.test(f,s)){let m=s.facet(p.facet);return p.type=="replace"?m:m.concat(h)}}return h})].concat(r)}isActiveAt(e,t,r=-1){return gf(e,t,r).type.prop(Cr)==this.data}findRegions(e){let t=e.facet(Vn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],i=(s,o)=>{if(s.prop(Cr)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(de.mounted);if(a){if(a.tree.prop(Cr)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+o,to:l.to+o});else r.push({from:o,to:o+s.length});return}else if(a.overlay){let l=r.length;if(i(a.tree,a.overlay[0].from+o),r.length>l)return}}for(let l=0;l<s.children.length;l++){let c=s.children[l];c instanceof $e&&i(c,s.positions[l]+o)}};return i(nt(e),0),r}get allowsNesting(){return!0}}Vt.setState=ae.define();function gf(n,e,t){let r=n.facet(Vn),i=nt(n).topNode;if(!r||r.allowsNesting)for(let s=i;s;s=s.enter(e,t,Re.ExcludeBuffers|Re.EnterBracketed))s.type.isTop&&(i=s);return i}class ba extends Vt{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=CS(e.languageData);return new ba(t,e.parser.configure({props:[Cr.add(r=>r.isTop?t:void 0)]}),e.name)}configure(e,t){return new ba(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function nt(n){let e=n.field(Vt.state,!1);return e?e.tree:$e.empty}class OS{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let di=null;class ya{constructor(e,t,r=[],i,s,o,a,l){this.parser=e,this.state=t,this.fragments=r,this.tree=i,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new ya(e,t,[],$e.empty,0,r,[],null)}startParse(){return this.parser.startParse(new OS(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=$e.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let i=this.parse.advance();if(i)if(this.fragments=this.withoutTempSkipped(or.addTree(i,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=i,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(or.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=di;di=this;try{return e()}finally{di=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=bf(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:i,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,u,f)=>l.push({fromA:c,toA:h,fromB:u,toB:f})),r=or.applyChanges(r,l),i=$e.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);h<u&&a.push({from:h,to:u})}}}return new ya(this.parser,t,r,i,s,o,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:i,to:s}=this.skipped[r];i<e.to&&s>e.from&&(this.fragments=bf(this.fragments,i,s),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Um{createParse(t,r,i){let s=i[0].from,o=i[i.length-1].to;return{parsedPos:s,advance(){let l=di;if(l){for(let c of i)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new $e(mt.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return di}}function bf(n,e,t){return or.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class _r{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new _r(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=ya.create(e.facet(Vn).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new _r(r)}}Vt.state=Qe.define({create:_r.init,update(n,e){for(let t of e.effects)if(t.is(Vt.setState))return t.value;return e.startState.facet(Vn)!=e.state.facet(Vn)?_r.init(e.state):n.apply(e)}});let b0=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(b0=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Nl=typeof navigator<"u"&&(!((Al=navigator.scheduling)===null||Al===void 0)&&Al.isInputPending)?()=>navigator.scheduling.isInputPending():null,PS=Fe.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Vt.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Vt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=b0(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:i}}=this.view,s=r.field(Vt.state);if(s.tree==s.context.tree&&s.context.isDone(i+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!Nl?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<i&&r.doc.length>i+1e3,l=s.context.work(()=>Nl&&Nl()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Vt.setState.of(new _r(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ft(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Vn=K.define({combine(n){return n.length?n[0]:null},enables:n=>[Vt.state,PS,H.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class AS{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const NS=K.define(),Ha=K.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function xa(n){let e=n.facet(Ha);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Ji(n,e){let t="",r=n.tabSize,i=n.facet(Ha)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let s=0;s<e;s++)t+=i;return t}function Wh(n,e){n instanceof me&&(n=new Wa(n));for(let r of n.state.facet(NS)){let i=r(n,e);if(i!==void 0)return i}let t=nt(n.state);return t.length>=e?MS(n,t,e):null}class Wa{constructor(e,t={}){this.state=e,this.options=t,this.unit=xa(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:s}=this.options;return i!=null&&i>=r.from&&i<=r.to?s&&i==e?{text:"",from:e}:(t<0?i<e:i<=e)?{text:r.text.slice(i-r.from),from:i}:{text:r.text.slice(0,i-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:i}=this.lineAt(e,t);return r.slice(e-i,Math.min(r.length,e+100-i))}column(e,t=1){let{text:r,from:i}=this.lineAt(e,t),s=this.countColumn(r,e-i),o=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return o>-1&&(s+=o-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,t=e.length){return Kr(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:i}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(i);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const y0=new de;function MS(n,e,t){let r=e.resolveStack(t),i=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(i!=r.node){let s=[];for(let o=i;o&&!(o.from<r.node.from||o.to>r.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)r={node:s[o],next:r}}return x0(r,n,t)}function x0(n,e,t){for(let r=n;r;r=r.next){let i=DS(r.node);if(i)return i(Uh.create(e,t,r))}return 0}function TS(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function DS(n){let e=n.type.prop(y0);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(de.closedBy))){let i=n.lastChild,s=i&&r.indexOf(i.name)>-1;return o=>IS(o,!0,1,void 0,s&&!TS(o)?i.from:void 0)}return n.parent==null?ES:null}function ES(){return 0}class Uh extends Wa{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new Uh(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(RS(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return x0(this.context.next,this.base,this.pos)}}function RS(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function LS(n){let e=n.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),o=i==null||i<=s.from?s.to:Math.min(s.to,i);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function IS(n,e,t,r,i){let s=n.textAfter,o=s.match(/^\s*/)[0].length,a=r&&s.slice(o,o+r.length)==r||i==n.pos+o,l=LS(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}function yf({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const BS=200;function $S(){return me.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:r}=n.newSelection.main,i=t.lineAt(r);if(r>i.from+BS)return n;let s=t.sliceString(i.from,r);if(!e.some(c=>c.test(s)))return n;let{state:o}=n,a=-1,l=[];for(let{head:c}of o.selection.ranges){let h=o.doc.lineAt(c);if(h.from==a)continue;a=h.from;let u=Wh(o,h.from);if(u==null)continue;let f=/^\s*/.exec(h.text)[0],p=Ji(o,u);f!=p&&l.push({from:h.from,to:h.from+f.length,insert:p})}return l.length?[n,{changes:l,sequential:!0}]:n})}const FS=K.define(),v0=new de;function VS(n){let e=n.firstChild,t=n.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?n.to:t.from}:null}function zS(n,e,t){let r=nt(n);if(r.length<t)return null;let i=r.resolveStack(t,1),s=null;for(let o=i;o;o=o.next){let a=o.node;if(a.to<=t||a.from>t)continue;if(s&&a.from<e)break;let l=a.type.prop(v0);if(l&&(a.to<r.length-50||r.length==n.doc.length||!_S(a))){let c=l(a,n);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function _S(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function va(n,e,t){for(let r of n.facet(FS)){let i=r(n,e,t);if(i)return i}return zS(n,e,t)}function w0(n,e){let t=e.mapPos(n.from,1),r=e.mapPos(n.to,-1);return t>=r?void 0:{from:t,to:r}}const Ua=ae.define({map:w0}),Us=ae.define({map:w0});function k0(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(r=>r.from<=t&&r.to>=t)||e.push(n.lineBlockAt(t));return e}const hr=Qe.define({create(){return ne.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,r)=>n=xf(n,t,r)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Ua)&&!HS(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(j0),i=r?ne.replace({widget:new YS(r(e.state,t.value))}):vf;n=n.update({add:[i.range(t.value.from,t.value.to)]})}else t.is(Us)&&(n=n.update({filter:(r,i)=>t.value.from!=r||t.value.to!=i,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(n=xf(n,e.selection.main.head)),n},provide:n=>H.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(r,i)=>{t.push(r,i)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<n.length;){let r=n[t++],i=n[t++];if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid JSON for fold state");e.push(vf.range(r,i))}return ne.set(e,!0)}});function xf(n,e,t=e){let r=!1;return n.between(e,t,(i,s)=>{i<t&&s>e&&(r=!0)}),r?n.update({filterFrom:e,filterTo:t,filter:(i,s)=>i>=t||s<=e}):n}function wa(n,e,t){var r;let i=null;return(r=n.field(hr,!1))===null||r===void 0||r.between(e,t,(s,o)=>{(!i||i.from>s)&&(i={from:s,to:o})}),i}function HS(n,e,t){let r=!1;return n.between(e,e,(i,s)=>{i==e&&s==t&&(r=!0)}),r}function S0(n,e){return n.field(hr,!1)?e:e.concat(ae.appendConfig.of(O0()))}const WS=n=>{for(let e of k0(n)){let t=va(n.state,e.from,e.to);if(t)return n.dispatch({effects:S0(n.state,[Ua.of(t),C0(n,t)])}),!0}return!1},US=n=>{if(!n.state.field(hr,!1))return!1;let e=[];for(let t of k0(n)){let r=wa(n.state,t.from,t.to);r&&e.push(Us.of(r),C0(n,r,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function C0(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,i=n.state.doc.lineAt(e.to).number;return H.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${i}.`)}const KS=n=>{let{state:e}=n,t=[];for(let r=0;r<e.doc.length;){let i=n.lineBlockAt(r),s=va(e,i.from,i.to);s&&t.push(Ua.of(s)),r=(s?n.lineBlockAt(s.to):i).to+1}return t.length&&n.dispatch({effects:S0(n.state,t)}),!!t.length},GS=n=>{let e=n.state.field(hr,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(r,i)=>{t.push(Us.of({from:r,to:i}))}),n.dispatch({effects:t}),!0},qS=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:WS},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:US},{key:"Ctrl-Alt-[",run:KS},{key:"Ctrl-Alt-]",run:GS}],JS={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},j0=K.define({combine(n){return ln(n,JS)}});function O0(n){return[hr,ZS]}function P0(n,e){let{state:t}=n,r=t.facet(j0),i=o=>{let a=n.lineBlockAt(n.posAtDOM(o.target)),l=wa(n.state,a.from,a.to);l&&n.dispatch({effects:Us.of(l)}),o.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(n,i,e);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=i,s}const vf=ne.replace({widget:new class extends cn{toDOM(n){return P0(n,null)}}});class YS extends cn{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return P0(e,this.value)}}const QS={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Ml extends vn{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function XS(n={}){let e={...QS,...n},t=new Ml(e,!0),r=new Ml(e,!1),i=Fe.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(Vn)!=o.state.facet(Vn)||o.startState.field(hr,!1)!=o.state.field(hr,!1)||nt(o.startState)!=nt(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new yn;for(let l of o.viewportLineBlocks){let c=wa(o.state,l.from,l.to)?r:va(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[i,fS({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(i))===null||a===void 0?void 0:a.markers)||fe.empty},initialSpacer(){return new Ml(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=wa(o.state,a.from,a.to);if(c)return o.dispatch({effects:Us.of(c)}),!0;let h=va(o.state,a.from,a.to);return h?(o.dispatch({effects:Ua.of(h)}),!0):!1}}}),O0()]}const ZS=H.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Gr{constructor(e,t){this.specs=e;let r;function i(a){let l=Bn.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const s=typeof t.all=="string"?t.all:t.all?i(t.all):void 0,o=t.scope;this.scope=o instanceof Vt?a=>a.prop(Cr)==o.data:o?a=>a==o:void 0,this.style=qm(e.map(a=>({tag:a.tag,class:a.class||i(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new Bn(r):null,this.themeType=t.themeType}static define(e,t){return new Gr(e,t||{})}}const Zc=K.define(),A0=K.define({combine(n){return n.length?[n[0]]:null}});function Tl(n){let e=n.facet(Zc);return e.length?e:n.facet(A0)}function Kh(n,e){let t=[t3],r;return n instanceof Gr&&(n.module&&t.push(H.styleModule.of(n.module)),r=n.themeType),e?.fallback?t.push(A0.of(n)):r?t.push(Zc.computeN([H.darkTheme],i=>i.facet(H.darkTheme)==(r=="dark")?[n]:[])):t.push(Zc.of(n)),t}class e3{constructor(e){this.markCache=Object.create(null),this.tree=nt(e.state),this.decorations=this.buildDeco(e,Tl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=nt(e.state),r=Tl(e.state),i=r!=Tl(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!i&&t.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return ne.none;let r=new yn;for(let{from:i,to:s}of e.visibleRanges)h2(this.tree,t,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=ne.mark({class:l})))},i,s);return r.finish()}}const t3=fr.high(Fe.fromClass(e3,{decorations:n=>n.decorations})),n3=Gr.define([{tag:D.meta,color:"#404740"},{tag:D.link,textDecoration:"underline"},{tag:D.heading,textDecoration:"underline",fontWeight:"bold"},{tag:D.emphasis,fontStyle:"italic"},{tag:D.strong,fontWeight:"bold"},{tag:D.strikethrough,textDecoration:"line-through"},{tag:D.keyword,color:"#708"},{tag:[D.atom,D.bool,D.url,D.contentSeparator,D.labelName],color:"#219"},{tag:[D.literal,D.inserted],color:"#164"},{tag:[D.string,D.deleted],color:"#a11"},{tag:[D.regexp,D.escape,D.special(D.string)],color:"#e40"},{tag:D.definition(D.variableName),color:"#00f"},{tag:D.local(D.variableName),color:"#30a"},{tag:[D.typeName,D.namespace],color:"#085"},{tag:D.className,color:"#167"},{tag:[D.special(D.variableName),D.macroName],color:"#256"},{tag:D.definition(D.propertyName),color:"#00c"},{tag:D.comment,color:"#940"},{tag:D.invalid,color:"#f00"}]),r3=H.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),N0=1e4,M0="()[]{}",T0=K.define({combine(n){return ln(n,{afterCursor:!0,brackets:M0,maxScanDistance:N0,renderMatch:o3})}}),i3=ne.mark({class:"cm-matchingBracket"}),s3=ne.mark({class:"cm-nonmatchingBracket"});function o3(n){let e=[],t=n.matched?i3:s3;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}const a3=Qe.define({create(){return ne.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(T0);for(let i of e.state.selection.ranges){if(!i.empty)continue;let s=en(e.state,i.head,-1,r)||i.head>0&&en(e.state,i.head-1,1,r)||r.afterCursor&&(en(e.state,i.head,1,r)||i.head<e.state.doc.length&&en(e.state,i.head+1,-1,r));s&&(t=t.concat(r.renderMatch(s,e.state)))}return ne.set(t,!0)},provide:n=>H.decorations.from(n)}),l3=[a3,r3];function c3(n={}){return[T0.of(n),l3]}const h3=new de;function eh(n,e,t){let r=n.prop(e<0?de.openedBy:de.closedBy);if(r)return r;if(n.name.length==1){let i=t.indexOf(n.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function th(n){let e=n.type.prop(h3);return e?e(n.node):n}function en(n,e,t,r={}){let i=r.maxScanDistance||N0,s=r.brackets||M0,o=nt(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=eh(l.type,t,s);if(c&&l.from<l.to){let h=th(l);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return d3(n,e,t,l,h,c,s)}}return u3(n,e,t,o,a.type,i,s)}function d3(n,e,t,r,i,s,o){let a=r.parent,l={from:i.from,to:i.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(r.from):h.childAfter(r.to)))do if(t<0?h.to<=r.from:h.from>=r.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let u=th(h);return{start:l,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(eh(h.type,t,o))c++;else if(eh(h.type,-t,o)){if(c==0){let u=th(h);return{start:l,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}c--}}while(t<0?h.prevSibling():h.nextSibling());return{start:l,matched:!1}}function u3(n,e,t,r,i,s,o){let a=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=n.doc.iterRange(e,t>0?n.doc.length:0),u=0;for(let f=0;!h.next().done&&f<=s;){let p=h.value;t<0&&(f+=p.length);let m=e+f*t;for(let b=t>0?0:p.length-1,y=t>0?p.length:-1;b!=y;b+=t){let v=o.indexOf(p[b]);if(!(v<0||r.resolveInner(m+b,1).type!=i))if(v%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:m+b,to:m+b+1},matched:v>>1==l>>1};u--}}t>0&&(f+=p.length)}return h.done?{start:c,matched:!1}:null}const f3=Object.create(null),wf=[mt.none],kf=[],Sf=Object.create(null),p3=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])p3[n]=m3(f3,e);function Dl(n,e){kf.indexOf(n)>-1||(kf.push(n),console.warn(e))}function m3(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||D[c];h?typeof h=="function"?l.length?l=l.map(h):Dl(c,`Modifier ${c} used at start of tag`):l.length?Dl(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Dl(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),i=r+" "+t.map(a=>a.id),s=Sf[i];if(s)return s.id;let o=Sf[i]=mt.define({id:wf.length,name:r,props:[Km({[r]:t})]});return wf.push(o),o.id}Pe.RTL,Pe.LTR;const g3=ba.define({name:"json",parser:p2.configure({props:[y0.add({Object:yf({except:/^\s*\}/}),Array:yf({except:/^\s*\]/})}),v0.add({"Object Array":VS})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function b3(){return new AS(g3)}function nh(){return nh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},nh.apply(null,arguments)}function y3(n,e){if(n==null)return{};var t={};for(var r in n)if({}.hasOwnProperty.call(n,r)){if(e.indexOf(r)!==-1)continue;t[r]=n[r]}return t}const x3=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=qh(n.state,t.from);return r.line?v3(n):r.block?k3(n):!1};function Gh(n,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(r(t.update(i)),!0):!1}}const v3=Gh(j3,0),w3=Gh(D0,0),k3=Gh((n,e)=>D0(n,e,C3(e)),0);function qh(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const ui=50;function S3(n,{open:e,close:t},r,i){let s=n.sliceDoc(r-ui,r),o=n.sliceDoc(i,i+ui),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:r-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let h,u;i-r<=2*ui?h=u=n.sliceDoc(r,i):(h=n.sliceDoc(r,r+ui),u=n.sliceDoc(i-ui,i));let f=/^\s*/.exec(h)[0].length,p=/\s*$/.exec(u)[0].length,m=u.length-p-t.length;return h.slice(f,f+e.length)==e&&u.slice(m,m+t.length)==t?{open:{pos:r+f+e.length,margin:/\s/.test(h.charAt(f+e.length))?1:0},close:{pos:i-p-t.length,margin:/\s/.test(u.charAt(m-1))?1:0}}:null}function C3(n){let e=[];for(let t of n.selection.ranges){let r=n.doc.lineAt(t.from),i=t.to<=r.to?r:n.doc.lineAt(t.to);i.from>r.from&&i.from==t.to&&(i=t.to==r.to+1?r:n.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function D0(n,e,t=e.selection.ranges){let r=t.map(s=>qh(e,s.from).block);if(!r.every(s=>s))return null;let i=t.map((s,o)=>S3(e,r[o],s.from,s.to));if(n!=2&&!i.every(s=>s))return{changes:e.changes(t.map((s,o)=>i[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(n!=1&&i.some(s=>s)){let s=[];for(let o=0,a;o<i.length;o++)if(a=i[o]){let l=r[o],{open:c,close:h}=a;s.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:h.pos-h.margin,to:h.pos+l.close.length})}return{changes:s}}return null}function j3(n,e,t=e.selection.ranges){let r=[],i=-1;for(let{from:s,to:o}of t){let a=r.length,l=1e9,c=qh(e,s).line;if(c){for(let h=s;h<=o;){let u=e.doc.lineAt(h);if(u.from>i&&(s==o||o>u.from)){i=u.from;let f=/^\s*/.exec(u.text)[0].length,p=f==u.length,m=u.text.slice(f,f+c.length)==c?f:-1;f<u.text.length&&f<l&&(l=f),r.push({line:u,comment:m,token:c,indent:f,empty:p,single:!1})}h=u.to+1}if(l<1e9)for(let h=a;h<r.length;h++)r[h].indent<r[h].line.text.length&&(r[h].indent=l);r.length==a+1&&(r[a].single=!0)}}if(n!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:u}of r)(u||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}const rh=an.define(),O3=an.define(),P3=K.define(),E0=K.define({combine(n){return ln(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,i)=>e(r,i)||t(r,i)})}}),R0=Qe.define({create(){return tn.empty},update(n,e){let t=e.state.facet(E0),r=e.annotation(rh);if(r){let l=pt.fromTransaction(e,r.selection),c=r.side,h=c==0?n.undone:n.done;return l?h=ka(h,h.length,t.minDepth,l):h=B0(h,e.startState.selection),new tn(c==0?r.rest:h,c==0?h:r.rest)}let i=e.annotation(O3);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(He.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=pt.fromTransaction(e),o=e.annotation(He.time),a=e.annotation(He.userEvent);return s?n=n.addChanges(s,o,a,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(i=="full"||i=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new tn(n.done.map(pt.fromJSON),n.undone.map(pt.fromJSON))}});function A3(n={}){return[R0,E0.of(n),H.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?L0:e.inputType=="historyRedo"?ih:null;return r?(e.preventDefault(),r(t)):!1}})]}function Ka(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(R0,!1);if(!i)return!1;let s=i.pop(n,t,e);return s?(r(s),!0):!1}}const L0=Ka(0,!1),ih=Ka(1,!1),N3=Ka(0,!0),M3=Ka(1,!0);class pt{constructor(e,t,r,i,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=i,this.selectionsAfter=s}setSelAfter(e){return new pt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new pt(e.changes&&ze.fromJSON(e.changes),[],e.mapped&&rn.fromJSON(e.mapped),e.startSelection&&E.fromJSON(e.startSelection),e.selectionsAfter.map(E.fromJSON))}static fromTransaction(e,t){let r=Mt;for(let i of e.startState.facet(P3)){let s=i(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new pt(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,Mt)}static selection(e){return new pt(void 0,Mt,void 0,void 0,e)}}function ka(n,e,t,r){let i=e+1>t+20?e-t-1:0,s=n.slice(i,e);return s.push(r),s}function T3(n,e){let t=[],r=!1;return n.iterChangedRanges((i,s)=>t.push(i,s)),e.iterChangedRanges((i,s,o,a)=>{for(let l=0;l<t.length;){let c=t[l++],h=t[l++];a>=c&&o<=h&&(r=!0)}}),r}function D3(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function I0(n,e){return n.length?e.length?n.concat(e):n:e}const Mt=[],E3=200;function B0(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-E3));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),ka(n,n.length-1,1e9,t.setSelAfter(r)))}else return[pt.selection([e])]}function R3(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function El(n,e){if(!n.length)return n;let t=n.length,r=Mt;for(;t;){let i=L3(n[t-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let s=n.slice(0,t);return s[t-1]=i,s}else e=i.mapped,t--,r=i.selectionsAfter}return r.length?[pt.selection(r)]:Mt}function L3(n,e,t){let r=I0(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):Mt,t);if(!n.changes)return pt.selection(r);let i=n.changes.map(e),s=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(s):s;return new pt(i,ae.mapEffects(n.effects,e),o,n.startSelection.map(s),r)}const I3=/^(input\.type|delete)($|\.)/;class tn{constructor(e,t,r=0,i=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new tn(this.done,this.undone):this}addChanges(e,t,r,i,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||I3.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(s,T3(a.changes,e.changes))||r=="input.type.compose")?o=ka(o,o.length-1,i.minDepth,new pt(e.changes.compose(a.changes),I0(ae.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,Mt)):o=ka(o,o.length,i.minDepth,e),new tn(o,Mt,t,r)}addSelection(e,t,r,i){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Mt;return s.length>0&&t-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&D3(s[s.length-1],e)?this:new tn(B0(this.done,e),this.undone,t,r)}addMapping(e){return new tn(El(this.done,e),El(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let i=e==0?this.done:this.undone;if(i.length==0)return null;let s=i[i.length-1],o=s.selectionsAfter[0]||t.selection;if(r&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:rh.of({side:e,rest:R3(i),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=i.length==1?Mt:i.slice(0,i.length-1);return s.mapped&&(a=El(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:rh.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}tn.empty=new tn(Mt,Mt);const B3=[{key:"Mod-z",run:L0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:ih,preventDefault:!0},{linux:"Ctrl-Shift-z",run:ih,preventDefault:!0},{key:"Mod-u",run:N3,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:M3,preventDefault:!0}];function qr(n,e){return E.create(n.ranges.map(e),n.mainIndex)}function _t(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Ht({state:n,dispatch:e},t){let r=qr(n.selection,t);return r.eq(n.selection,!0)?!1:(e(_t(n,r)),!0)}function Ga(n,e){return E.cursor(e?n.to:n.from)}function $0(n,e){return Ht(n,t=>t.empty?n.moveByChar(t,e):Ga(t,e))}function rt(n){return n.textDirectionAt(n.state.selection.main.head)==Pe.LTR}const F0=n=>$0(n,!rt(n)),V0=n=>$0(n,rt(n));function z0(n,e){return Ht(n,t=>t.empty?n.moveByGroup(t,e):Ga(t,e))}const $3=n=>z0(n,!rt(n)),F3=n=>z0(n,rt(n));function V3(n,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function qa(n,e,t){let r=nt(n).resolveInner(e.head),i=t?de.closedBy:de.openedBy;for(let l=e.head;;){let c=t?r.childAfter(l):r.childBefore(l);if(!c)break;V3(n,c,i)?r=c:l=t?c.to:c.from}let s=r.type.prop(i),o,a;return s&&(o=t?en(n,r.from,1):en(n,r.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?r.to:r.from,E.cursor(a,t?-1:1)}const z3=n=>Ht(n,e=>qa(n.state,e,!rt(n))),_3=n=>Ht(n,e=>qa(n.state,e,rt(n)));function _0(n,e){return Ht(n,t=>{if(!t.empty)return Ga(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const H0=n=>_0(n,!1),W0=n=>_0(n,!0);function U0(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,r=0,i;if(e){for(let s of n.state.facet(H.scrollMargins)){let o=s(n);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(r=Math.max(o?.bottom,r))}i=n.scrollDOM.clientHeight-t-r}else i=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:r,selfScroll:e,height:Math.max(n.defaultLineHeight,i-5)}}function K0(n,e){let t=U0(n),{state:r}=n,i=qr(r.selection,o=>o.empty?n.moveVertically(o,e,t.height):Ga(o,e));if(i.eq(r.selection))return!1;let s;if(t.selfScroll){let o=n.coordsAtPos(r.selection.main.head),a=n.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottom<c&&(s=H.scrollIntoView(i.main.head,{y:"start",yMargin:o.top-l}))}return n.dispatch(_t(r,i),{effects:s}),!0}const Cf=n=>K0(n,!1),sh=n=>K0(n,!0);function _n(n,e,t){let r=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?r.to:r.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==r.from&&r.length){let s=/^\s*/.exec(n.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(i=E.cursor(r.from+s))}return i}const H3=n=>Ht(n,e=>_n(n,e,!0)),W3=n=>Ht(n,e=>_n(n,e,!1)),U3=n=>Ht(n,e=>_n(n,e,!rt(n))),K3=n=>Ht(n,e=>_n(n,e,rt(n))),G3=n=>Ht(n,e=>E.cursor(n.lineBlockAt(e.head).from,1)),q3=n=>Ht(n,e=>E.cursor(n.lineBlockAt(e.head).to,-1));function J3(n,e,t){let r=!1,i=qr(n.selection,s=>{let o=en(n,s.head,-1)||en(n,s.head,1)||s.head>0&&en(n,s.head-1,1)||s.head<n.doc.length&&en(n,s.head+1,-1);if(!o||!o.end)return s;r=!0;let a=o.start.from==s.head?o.end.to:o.end.from;return E.cursor(a)});return r?(e(_t(n,i)),!0):!1}const Y3=({state:n,dispatch:e})=>J3(n,e);function Bt(n,e){let t=qr(n.state.selection,r=>{let i=e(r);return E.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(_t(n.state,t)),!0)}function G0(n,e){return Bt(n,t=>n.moveByChar(t,e))}const q0=n=>G0(n,!rt(n)),J0=n=>G0(n,rt(n));function Y0(n,e){return Bt(n,t=>n.moveByGroup(t,e))}const Q3=n=>Y0(n,!rt(n)),X3=n=>Y0(n,rt(n)),Z3=n=>Bt(n,e=>qa(n.state,e,!rt(n))),e4=n=>Bt(n,e=>qa(n.state,e,rt(n)));function Q0(n,e){return Bt(n,t=>n.moveVertically(t,e))}const X0=n=>Q0(n,!1),Z0=n=>Q0(n,!0);function eb(n,e){return Bt(n,t=>n.moveVertically(t,e,U0(n).height))}const jf=n=>eb(n,!1),Of=n=>eb(n,!0),t4=n=>Bt(n,e=>_n(n,e,!0)),n4=n=>Bt(n,e=>_n(n,e,!1)),r4=n=>Bt(n,e=>_n(n,e,!rt(n))),i4=n=>Bt(n,e=>_n(n,e,rt(n))),s4=n=>Bt(n,e=>E.cursor(n.lineBlockAt(e.head).from)),o4=n=>Bt(n,e=>E.cursor(n.lineBlockAt(e.head).to)),Pf=({state:n,dispatch:e})=>(e(_t(n,{anchor:0})),!0),Af=({state:n,dispatch:e})=>(e(_t(n,{anchor:n.doc.length})),!0),Nf=({state:n,dispatch:e})=>(e(_t(n,{anchor:n.selection.main.anchor,head:0})),!0),Mf=({state:n,dispatch:e})=>(e(_t(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),a4=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),l4=({state:n,dispatch:e})=>{let t=Ja(n).map(({from:r,to:i})=>E.range(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:E.create(t),userEvent:"select"})),!0},c4=({state:n,dispatch:e})=>{let t=qr(n.selection,r=>{let i=nt(n),s=i.resolveStack(r.from,1);if(r.empty){let o=i.resolveStack(r.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&o.next)return E.range(a.to,a.from)}return r});return t.eq(n.selection)?!1:(e(_t(n,t)),!0)};function tb(n,e){let{state:t}=n,r=t.selection,i=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to<n.state.doc.length:o.from>0)for(let a=s;;){let l=n.moveVertically(a,e);if(l.head<o.from||l.head>o.to){i.some(c=>c.head==l.head)||i.push(l);break}else{if(l.head==a.head)break;a=l}}}return i.length==r.ranges.length?!1:(n.dispatch(_t(t,E.create(i,i.length-1))),!0)}const h4=n=>tb(n,!1),d4=n=>tb(n,!0),u4=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=E.create([t.main]):t.main.empty||(r=E.create([E.cursor(t.main.head)])),r?(e(_t(n,r)),!0):!1};function Ks(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:r}=n,i=r.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);l<o?(t="delete.backward",l=Eo(n,l,!1)):l>o&&(t="delete.forward",l=Eo(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Eo(n,o,!1),a=Eo(n,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:E.cursor(o,o<s.head?-1:1)}});return i.changes.empty?!1:(n.dispatch(r.update(i,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?H.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Eo(n,e,t){if(n instanceof H)for(let r of n.state.facet(H.atomicRanges).map(i=>i(n)))r.between(e,e,(i,s)=>{i<e&&s>e&&(e=t?s:i)});return e}const nb=(n,e,t)=>Ks(n,r=>{let i=r.from,{state:s}=n,o=s.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(a=o.text.slice(0,i-o.from))){if(a[a.length-1]==" ")return i-1;let c=Kr(a,s.tabSize),h=c%xa(s)||xa(s);for(let u=0;u<h&&a[a.length-1-u]==" ";u++)i--;l=i}else l=_e(o.text,i-o.from,e,e)+o.from,l==i&&o.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,i-o.from))&&(l=_e(o.text,l-o.from,!1,!1)+o.from);return l}),oh=n=>nb(n,!1,!0),rb=n=>nb(n,!0,!1),ib=(n,e)=>Ks(n,t=>{let r=t.head,{state:i}=n,s=i.doc.lineAt(r),o=i.charCategorizer(r);for(let a=null;;){if(r==(e?s.to:s.from)){r==t.head&&s.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let l=_e(s.text,r-s.from,e)+s.from,c=s.text.slice(Math.min(r,l)-s.from,Math.max(r,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||r!=t.head)&&(a=h),r=l}return r}),sb=n=>ib(n,!1),f4=n=>ib(n,!0),p4=n=>Ks(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),m4=n=>Ks(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),g4=n=>Ks(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),b4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:xe.of(["",""])},range:E.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},y4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>{if(!r.empty||r.from==0||r.from==n.doc.length)return{range:r};let i=r.from,s=n.doc.lineAt(i),o=i==s.from?i-1:_e(s.text,i-s.from,!1)+s.from,a=i==s.to?i+1:_e(s.text,i-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:n.doc.slice(i,a).append(n.doc.slice(o,i))},range:E.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ja(n){let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.from),s=n.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=n.doc.lineAt(r.to-1)),t>=i.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(r)}else e.push({from:i.from,to:s.to,ranges:[r]});t=s.number+1}return e}function ob(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let s of Ja(n)){if(t?s.to==n.doc.length:s.from==0)continue;let o=n.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+n.lineBreak});for(let l of s.ranges)i.push(E.range(Math.min(n.doc.length,l.anchor+a),Math.min(n.doc.length,l.head+a)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:n.lineBreak+o.text});for(let l of s.ranges)i.push(E.range(l.anchor-a,l.head-a))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:E.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const x4=({state:n,dispatch:e})=>ob(n,e,!1),v4=({state:n,dispatch:e})=>ob(n,e,!0);function ab(n,e,t){if(n.readOnly)return!1;let r=[];for(let s of Ja(n))t?r.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):r.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});let i=n.changes(r);return e(n.update({changes:i,selection:n.selection.map(i,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const w4=({state:n,dispatch:e})=>ab(n,e,!1),k4=({state:n,dispatch:e})=>ab(n,e,!0),S4=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Ja(e).map(({from:i,to:s})=>(i>0?i--:s<e.doc.length&&s++,{from:i,to:s}))),r=qr(e.selection,i=>{let s;if(n.lineWrapping){let o=n.lineBlockAt(i.head),a=n.coordsAtPos(i.head,i.assoc||1);a&&(s=o.bottom+n.documentTop-a.bottom+n.defaultLineHeight/2)}return n.moveVertically(i,!0,s)}).map(t);return n.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function C4(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=nt(n).resolveInner(e),r=t.childBefore(e),i=t.childAfter(e),s;return r&&i&&r.to<=e&&i.from>=e&&(s=r.type.prop(de.closedBy))&&s.indexOf(i.name)>-1&&n.doc.lineAt(r.to).from==n.doc.lineAt(i.from).from&&!/\S/.test(n.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}const Tf=lb(!1),j4=lb(!0);function lb(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:s,to:o}=i,a=e.doc.lineAt(s),l=!n&&s==o&&C4(e,s);n&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Wa(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=Wh(c,s);for(h==null&&(h=Kr(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<a.to&&/\s/.test(a.text[o-a.from]);)o++;l?{from:s,to:o}=l:s>a.from&&s<a.from+100&&!/\S/.test(a.text.slice(0,s))&&(s=a.from);let u=["",Ji(e,h)];return l&&u.push(Ji(e,c.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:xe.of(u)},range:E.cursor(s+1+u[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Jh(n,e){let t=-1;return n.changeByRange(r=>{let i=[];for(let o=r.from;o<=r.to;){let a=n.doc.lineAt(o);a.number>t&&(r.empty||r.to>a.from)&&(e(a,i,r),t=a.number),o=a.to+1}let s=n.changes(i);return{changes:i,range:E.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const O4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new Wa(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),i=Jh(n,(s,o,a)=>{let l=Wh(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=Ji(n,l);(c!=h||a.from<s.from+c.length)&&(t[s.from]=l,o.push({from:s.from,to:s.from+c.length,insert:h}))});return i.changes.empty||e(n.update(i,{userEvent:"indent"})),!0},cb=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Jh(n,(t,r)=>{r.push({from:t.from,insert:n.facet(Ha)})}),{userEvent:"input.indent"})),!0),hb=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Jh(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let s=Kr(i,n.tabSize),o=0,a=Ji(n,Math.max(0,s-xa(n)));for(;o<i.length&&o<a.length&&i.charCodeAt(o)==a.charCodeAt(o);)o++;r.push({from:t.from+o,to:t.from+i.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),P4=n=>(n.setTabFocusMode(),!0),A4=[{key:"Ctrl-b",run:F0,shift:q0,preventDefault:!0},{key:"Ctrl-f",run:V0,shift:J0},{key:"Ctrl-p",run:H0,shift:X0},{key:"Ctrl-n",run:W0,shift:Z0},{key:"Ctrl-a",run:G3,shift:s4},{key:"Ctrl-e",run:q3,shift:o4},{key:"Ctrl-d",run:rb},{key:"Ctrl-h",run:oh},{key:"Ctrl-k",run:p4},{key:"Ctrl-Alt-h",run:sb},{key:"Ctrl-o",run:b4},{key:"Ctrl-t",run:y4},{key:"Ctrl-v",run:sh}],N4=[{key:"ArrowLeft",run:F0,shift:q0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:$3,shift:Q3,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:U3,shift:r4,preventDefault:!0},{key:"ArrowRight",run:V0,shift:J0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:F3,shift:X3,preventDefault:!0},{mac:"Cmd-ArrowRight",run:K3,shift:i4,preventDefault:!0},{key:"ArrowUp",run:H0,shift:X0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Pf,shift:Nf},{mac:"Ctrl-ArrowUp",run:Cf,shift:jf},{key:"ArrowDown",run:W0,shift:Z0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Af,shift:Mf},{mac:"Ctrl-ArrowDown",run:sh,shift:Of},{key:"PageUp",run:Cf,shift:jf},{key:"PageDown",run:sh,shift:Of},{key:"Home",run:W3,shift:n4,preventDefault:!0},{key:"Mod-Home",run:Pf,shift:Nf},{key:"End",run:H3,shift:t4,preventDefault:!0},{key:"Mod-End",run:Af,shift:Mf},{key:"Enter",run:Tf,shift:Tf},{key:"Mod-a",run:a4},{key:"Backspace",run:oh,shift:oh,preventDefault:!0},{key:"Delete",run:rb,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:sb,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:f4,preventDefault:!0},{mac:"Mod-Backspace",run:m4,preventDefault:!0},{mac:"Mod-Delete",run:g4,preventDefault:!0}].concat(A4.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),M4=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:z3,shift:Z3},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:_3,shift:e4},{key:"Alt-ArrowUp",run:x4},{key:"Shift-Alt-ArrowUp",run:w4},{key:"Alt-ArrowDown",run:v4},{key:"Shift-Alt-ArrowDown",run:k4},{key:"Mod-Alt-ArrowUp",run:h4},{key:"Mod-Alt-ArrowDown",run:d4},{key:"Escape",run:u4},{key:"Mod-Enter",run:j4},{key:"Alt-l",mac:"Ctrl-l",run:l4},{key:"Mod-i",run:c4,preventDefault:!0},{key:"Mod-[",run:hb},{key:"Mod-]",run:cb},{key:"Mod-Alt-\\",run:O4},{key:"Shift-Mod-k",run:S4},{key:"Shift-Mod-\\",run:Y3},{key:"Mod-/",run:x3},{key:"Alt-A",run:w3},{key:"Ctrl-m",mac:"Shift-Alt-m",run:P4}].concat(N4),T4={key:"Tab",run:cb,shift:hb},Df=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Hr{constructor(e,t,r=0,i=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=s?a=>s(Df(a)):Df,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return ht(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Ph(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Xt(e);let i=this.normalize(t);if(i.length)for(let s=0,o=r;;s++){let a=i.charCodeAt(s),l=this.match(a,o,this.bufferPos+this.bufferStart);if(s==i.length-1){if(l)return this.value=l,this;break}o==r&&s<t.length&&t.charCodeAt(s)==a&&o++}}}match(e,t,r){let i=null;for(let s=0;s<this.matches.length;s+=2){let o=this.matches[s],a=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?i={from:this.matches[s+1],to:r}:(this.matches[s]++,a=!0)),a||(this.matches.splice(s,2),s-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?i={from:t,to:r}:this.matches.push(1,t)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&(Hr.prototype[Symbol.iterator]=function(){return this});const db={from:-1,to:-1,match:/.*/.exec("")},Yh="gm"+(/x/.unicode==null?"":"u");class ub{constructor(e,t,r,i=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=db,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new fb(e,t,r,i,s);this.re=new RegExp(t,Yh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let o=e.lineAt(i);this.curLineStart=o.from,this.matchPos=Sa(e,i),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,i=r+t[0].length;if(this.matchPos=Sa(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<i||r>this.value.to)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Rl=new WeakMap;class Rr{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let i=Rl.get(e);if(!i||i.from>=r||i.to<=t){let a=new Rr(t,e.sliceString(t,r));return Rl.set(e,a),a}if(i.from==t&&i.to==r)return i;let{text:s,from:o}=i;return o>t&&(s=e.sliceString(t,o)+s,o=t),i.to<r&&(s+=e.sliceString(i.to,r)),Rl.set(e,new Rr(o,s)),new Rr(t,s.slice(t-o,r-o))}}class fb{constructor(e,t,r,i,s){this.text=e,this.to=s,this.done=!1,this.value=db,this.matchPos=Sa(e,i),this.re=new RegExp(t,Yh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Rr.get(e,i,this.chunkEnd(i+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let r=this.flat.from+t.index,i=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this.matchPos=Sa(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Rr.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(ub.prototype[Symbol.iterator]=fb.prototype[Symbol.iterator]=function(){return this});function D4(n){try{return new RegExp(n,Yh),!0}catch{return!1}}function Sa(n,e){if(e>=n.length)return e;let t=n.lineAt(e),r;for(;e<t.to&&(r=t.text.charCodeAt(e-t.from))>=56320&&r<57344;)e++;return e}function ah(n){let e=String(n.state.doc.lineAt(n.state.selection.main.head).number),t=je("input",{class:"cm-textfield",name:"line",value:e}),r=je("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),n.dispatch({effects:Ti.of(!1)}),n.focus()):s.keyCode==13&&(s.preventDefault(),i())},onsubmit:s=>{s.preventDefault(),i()}},je("label",n.state.phrase("Go to line"),": ",t)," ",je("button",{class:"cm-button",type:"submit"},n.state.phrase("go")),je("button",{name:"close",onclick:()=>{n.dispatch({effects:Ti.of(!1)}),n.focus()},"aria-label":n.state.phrase("close"),type:"button"},["×"]));function i(){let s=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!s)return;let{state:o}=n,a=o.doc.lineAt(o.selection.main.head),[,l,c,h,u]=s,f=h?+h.slice(1):0,p=c?+c:a.number;if(c&&u){let y=p/100;l&&(y=y*(l=="-"?-1:1)+a.number/o.doc.lines),p=Math.round(o.doc.lines*y)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=o.doc.line(Math.max(1,Math.min(o.doc.lines,p))),b=E.cursor(m.from+Math.max(0,Math.min(f,m.length)));n.dispatch({effects:[Ti.of(!1),H.scrollIntoView(b.from,{y:"center"})],selection:b}),n.focus()}return{dom:r}}const Ti=ae.define(),Ef=Qe.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(Ti)&&(n=t.value);return n},provide:n=>qi.from(n,e=>e?ah:null)}),E4=n=>{let e=Gi(n,ah);if(!e){let t=[Ti.of(!0)];n.state.field(Ef,!1)==null&&t.push(ae.appendConfig.of([Ef,R4])),n.dispatch({effects:t}),e=Gi(n,ah)}return e&&e.dom.querySelector("input").select(),!0},R4=H.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),L4={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},I4=K.define({combine(n){return ln(n,L4,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function B4(n){return[_4,z4]}const $4=ne.mark({class:"cm-selectionMatch"}),F4=ne.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Rf(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=De.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=De.Word)}function V4(n,e,t,r){return n(e.sliceDoc(t,t+1))==De.Word&&n(e.sliceDoc(r-1,r))==De.Word}const z4=Fe.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(I4),{state:t}=n,r=t.selection;if(r.ranges.length>1)return ne.none;let i=r.main,s,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return ne.none;let l=t.wordAt(i.head);if(!l)return ne.none;o=t.charCategorizer(i.head),s=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l<e.minSelectionLength||l>200)return ne.none;if(e.wholeWords){if(s=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(Rf(o,t,i.from,i.to)&&V4(o,t,i.from,i.to)))return ne.none}else if(s=t.sliceDoc(i.from,i.to),!s)return ne.none}let a=[];for(let l of n.visibleRanges){let c=new Hr(t.doc,s,l.from,l.to);for(;!c.next().done;){let{from:h,to:u}=c.value;if((!o||Rf(o,t,h,u))&&(i.empty&&h<=i.from&&u>=i.to?a.push(F4.range(h,u)):(h>=i.to||u<=i.from)&&a.push($4.range(h,u)),a.length>e.maxMatches))return ne.none}}return ne.set(a)}},{decorations:n=>n.decorations}),_4=H.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),H4=({state:n,dispatch:e})=>{let{selection:t}=n,r=E.create(t.ranges.map(i=>n.wordAt(i.head)||E.cursor(i.head)),t.mainIndex);return r.eq(t)?!1:(e(n.update({selection:r})),!0)};function W4(n,e){let{main:t,ranges:r}=n.selection,i=n.wordAt(t.head),s=i&&i.from==t.from&&i.to==t.to;for(let o=!1,a=new Hr(n.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Hr(n.doc,e,0,Math.max(0,r[r.length-1].from-1)),o=!0}else{if(o&&r.some(l=>l.from==a.value.from))continue;if(s){let l=n.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const U4=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return H4({state:n,dispatch:e});let r=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(s=>n.sliceDoc(s.from,s.to)!=r))return!1;let i=W4(n,r);return i?(e(n.update({selection:n.selection.addRange(E.range(i.from,i.to),!1),effects:H.scrollIntoView(i.to)})),!0):!1},Jr=K.define({combine(n){return ln(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new r5(e),scrollToMatch:e=>H.scrollIntoView(e)})}});class pb{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||D4(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?`
63
+ `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new J4(this):new G4(this)}getCursor(e,t=0,r){let i=e.doc?e:me.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?vr(this,i,t,r):xr(this,i,t,r)}}class mb{constructor(e){this.spec=e}}function xr(n,e,t,r){return new Hr(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:i=>i.toLowerCase(),n.wholeWord?K4(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function K4(n,e){return(t,r,i,s)=>((s>t||s+i.length<r)&&(s=Math.max(0,t-2),i=n.sliceString(s,Math.min(n.length,r+2))),(e(Ca(i,t-s))!=De.Word||e(ja(i,t-s))!=De.Word)&&(e(ja(i,r-s))!=De.Word||e(Ca(i,r-s))!=De.Word))}class G4 extends mb{constructor(e){super(e)}nextMatch(e,t,r){let i=xr(this.spec,e,r,e.doc.length).nextOverlapping();if(i.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);i=xr(this.spec,e,0,s).nextOverlapping()}return i.done||i.value.from==t&&i.value.to==r?null:i.value}prevMatchInRange(e,t,r){for(let i=r;;){let s=Math.max(t,i-1e4-this.spec.unquoted.length),o=xr(this.spec,e,s,i),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;i-=1e4}}prevMatch(e,t,r){let i=this.prevMatchInRange(e,0,t);return i||(i=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),i&&(i.from!=t||i.to!=r)?i:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=xr(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=xr(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}function vr(n,e,t,r){return new ub(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?q4(e.charCategorizer(e.selection.main.head)):void 0},t,r)}function Ca(n,e){return n.slice(_e(n,e,!1),e)}function ja(n,e){return n.slice(e,_e(n,e))}function q4(n){return(e,t,r)=>!r[0].length||(n(Ca(r.input,r.index))!=De.Word||n(ja(r.input,r.index))!=De.Word)&&(n(ja(r.input,r.index+r[0].length))!=De.Word||n(Ca(r.input,r.index+r[0].length))!=De.Word)}class J4 extends mb{nextMatch(e,t,r){let i=vr(this.spec,e,r,e.doc.length).next();return i.done&&(i=vr(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,r){for(let i=1;;i++){let s=Math.max(t,r-i*1e4),o=vr(this.spec,e,s,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let i=r.length;i>0;i--){let s=+r.slice(0,i);if(s>0&&s<e.match.length)return e.match[s]+r.slice(i)}return t})}matchAll(e,t){let r=vr(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=vr(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}const Yi=ae.define(),Qh=ae.define(),Rn=Qe.define({create(n){return new Ll(lh(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Yi)?n=new Ll(t.value.create(),n.panel):t.is(Qh)&&(n=new Ll(n.query,t.value?Xh:null));return n},provide:n=>qi.from(n,e=>e.panel)});class Ll{constructor(e,t){this.query=e,this.panel=t}}const Y4=ne.mark({class:"cm-searchMatch"}),Q4=ne.mark({class:"cm-searchMatch cm-searchMatch-selected"}),X4=Fe.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Rn))}update(n){let e=n.state.field(Rn);(e!=n.startState.field(Rn)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return ne.none;let{view:t}=this,r=new yn;for(let i=0,s=t.visibleRanges,o=s.length;i<o;i++){let{from:a,to:l}=s[i];for(;i<o-1&&l>s[i+1].from-2*250;)l=s[++i].to;n.highlight(t.state,a,l,(c,h)=>{let u=t.state.selection.ranges.some(f=>f.from==c&&f.to==h);r.add(c,h,u?Q4:Y4)})}return r.finish()}},{decorations:n=>n.decorations});function Gs(n){return e=>{let t=e.state.field(Rn,!1);return t&&t.query.spec.valid?n(e,t):yb(e)}}const Oa=Gs((n,{query:e})=>{let{to:t}=n.state.selection.main,r=e.nextMatch(n.state,t,t);if(!r)return!1;let i=E.single(r.from,r.to),s=n.state.facet(Jr);return n.dispatch({selection:i,effects:[Zh(n,r),s.scrollToMatch(i.main,n)],userEvent:"select.search"}),bb(n),!0}),Pa=Gs((n,{query:e})=>{let{state:t}=n,{from:r}=t.selection.main,i=e.prevMatch(t,r,r);if(!i)return!1;let s=E.single(i.from,i.to),o=n.state.facet(Jr);return n.dispatch({selection:s,effects:[Zh(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),bb(n),!0}),Z4=Gs((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:E.create(t.map(r=>E.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),e5=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:r,to:i}=t.main,s=[],o=0;for(let a=new Hr(n.doc,n.sliceDoc(r,i));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(o=s.length),s.push(E.range(a.value.from,a.value.to))}return e(n.update({selection:E.create(s,o),userEvent:"select.search.matches"})),!0},Lf=Gs((n,{query:e})=>{let{state:t}=n,{from:r,to:i}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,r,r);if(!s)return!1;let o=s,a=[],l,c,h=[];o.from==r&&o.to==i&&(c=t.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:c}),o=e.nextMatch(t,o.from,o.to),h.push(H.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+".")));let u=n.state.changes(a);return o&&(l=E.single(o.from,o.to).map(u),h.push(Zh(n,o)),h.push(t.facet(Jr).scrollToMatch(l.main,n))),n.dispatch({changes:u,selection:l,effects:h,userEvent:"input.replace"}),!0}),t5=Gs((n,{query:e})=>{if(n.state.readOnly)return!1;let t=e.matchAll(n.state,1e9).map(i=>{let{from:s,to:o}=i;return{from:s,to:o,insert:e.getReplacement(i)}});if(!t.length)return!1;let r=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:H.announce.of(r),userEvent:"input.replace.all"}),!0});function Xh(n){return n.state.facet(Jr).createPanel(n)}function lh(n,e){var t,r,i,s,o;let a=n.selection.main,l=a.empty||a.to>a.from+100?"":n.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=n.facet(Jr);return new pb({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(i=e?.literal)!==null&&i!==void 0?i:c.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function gb(n){let e=Gi(n,Xh);return e&&e.dom.querySelector("[main-field]")}function bb(n){let e=gb(n);e&&e==n.root.activeElement&&e.select()}const yb=n=>{let e=n.state.field(Rn,!1);if(e&&e.panel){let t=gb(n);if(t&&t!=n.root.activeElement){let r=lh(n.state,e.query.spec);r.valid&&n.dispatch({effects:Yi.of(r)}),t.focus(),t.select()}}else n.dispatch({effects:[Qh.of(!0),e?Yi.of(lh(n.state,e.query.spec)):ae.appendConfig.of(s5)]});return!0},xb=n=>{let e=n.state.field(Rn,!1);if(!e||!e.panel)return!1;let t=Gi(n,Xh);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Qh.of(!1)}),!0},n5=[{key:"Mod-f",run:yb,scope:"editor search-panel"},{key:"F3",run:Oa,shift:Pa,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Oa,shift:Pa,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:xb,scope:"editor search-panel"},{key:"Mod-Shift-l",run:e5},{key:"Mod-Alt-g",run:E4},{key:"Mod-d",run:U4,preventDefault:!0}];class r5{constructor(e){this.view=e;let t=this.query=e.state.field(Rn).query.spec;this.commit=this.commit.bind(this),this.searchField=je("input",{value:t.search,placeholder:xt(e,"Find"),"aria-label":xt(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=je("input",{value:t.replace,placeholder:xt(e,"Replace"),"aria-label":xt(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=je("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=je("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=je("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(i,s,o){return je("button",{class:"cm-button",name:i,onclick:s,type:"button"},o)}this.dom=je("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>Oa(e),[xt(e,"next")]),r("prev",()=>Pa(e),[xt(e,"previous")]),r("select",()=>Z4(e),[xt(e,"all")]),je("label",null,[this.caseField,xt(e,"match case")]),je("label",null,[this.reField,xt(e,"regexp")]),je("label",null,[this.wordField,xt(e,"by word")]),...e.state.readOnly?[]:[je("br"),this.replaceField,r("replace",()=>Lf(e),[xt(e,"replace")]),r("replaceAll",()=>t5(e),[xt(e,"replace all")])],je("button",{name:"close",onclick:()=>xb(e),"aria-label":xt(e,"close"),type:"button"},["×"])])}commit(){let e=new pb({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Yi.of(e)}))}keydown(e){wk(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Pa:Oa)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Lf(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(Yi)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Jr).top}}function xt(n,e){return n.state.phrase(e)}const Ro=30,Lo=/[\s\.,:;?!]/;function Zh(n,{from:e,to:t}){let r=n.state.doc.lineAt(e),i=n.state.doc.lineAt(t).to,s=Math.max(r.from,e-Ro),o=Math.min(i,t+Ro),a=n.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;l<Ro;l++)if(!Lo.test(a[l+1])&&Lo.test(a[l])){a=a.slice(l);break}}if(o!=i){for(let l=a.length-1;l>a.length-Ro;l--)if(!Lo.test(a[l-1])&&Lo.test(a[l])){a=a.slice(0,l);break}}return H.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${r.number}.`)}const i5=H.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),s5=[Rn,fr.low(X4),i5];class vb{constructor(e,t,r,i){this.state=e,this.pos=t,this.explicit=r,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=nt(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),i=t.text.slice(r-t.from,this.pos-t.from),s=i.search(wb(e,!1));return s<0?null:{from:r+s,to:this.pos,text:i.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function If(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function o5(n){let e=Object.create(null),t=Object.create(null);for(let{label:i}of n){e[i[0]]=!0;for(let s=1;s<i.length;s++)t[i[s]]=!0}let r=If(e)+If(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function a5(n){let e=n.map(i=>typeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:o5(e);return i=>{let s=i.matchBefore(r);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}class Bf{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}}function ar(n){return n.selection.main.from}function wb(n,e){var t;let{source:r}=n,i=e&&r[0]!="^",s=r[r.length-1]!="$";return!i&&!s?n:new RegExp(`${i?"^":""}(?:${r})${s?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const kb=an.define();function l5(n,e,t,r){let{main:i}=n.selection,s=t-i.from,o=r-i.from;return{...n.changeByRange(a=>{if(a!=i&&t!=r&&n.sliceDoc(a.from+s,a.from+o)!=n.sliceDoc(t,r))return{range:a};let l=n.toText(e);return{changes:{from:a.from+s,to:r==i.from?a.to:a.from+o,insert:l},range:E.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const $f=new WeakMap;function c5(n){if(!Array.isArray(n))return n;let e=$f.get(n);return e||$f.set(n,e=a5(n)),e}const Aa=ae.define(),Qi=ae.define();class h5{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let r=ht(e,t),i=Xt(r);this.chars.push(r);let s=e.slice(t,t+i),o=s.toUpperCase();this.folded.push(ht(o==s?s.toLowerCase():o,0)),t+=i}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:r,any:i,precise:s,byWord:o}=this;if(t.length==1){let w=ht(e,0),C=Xt(w),j=C==e.length?0:-100;if(w!=t[0])if(w==r[0])j+=-200;else return null;return this.ret(j,[0,C])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=t.length,c=0;if(a<0){for(let w=0,C=Math.min(e.length,200);w<C&&c<l;){let j=ht(e,w);(j==t[c]||j==r[c])&&(i[c++]=w),w+=Xt(j)}if(c<l)return null}let h=0,u=0,f=!1,p=0,m=-1,b=-1,y=/[a-z]/.test(e),v=!0;for(let w=0,C=Math.min(e.length,200),j=0;w<C&&u<l;){let S=ht(e,w);a<0&&(h<l&&S==t[h]&&(s[h++]=w),p<l&&(S==t[p]||S==r[p]?(p==0&&(m=w),b=w+1,p++):p=0));let O,x=S<255?S>=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(O=Ph(S))!=O.toLowerCase()?1:O!=O.toUpperCase()?2:0;(!w||x==1&&y||j==0&&x!=0)&&(t[u]==S||r[u]==S&&(f=!0)?o[u++]=w:o.length&&(v=!1)),j=x,w+=Xt(S)}return u==l&&o[0]==0&&v?this.result(-100+(f?-200:0),o,e):p==l&&m==0?this.ret(-200-e.length+(b==e.length?0:-100),[0,b]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,b]):u==l?this.result(-100+(f?-200:0)+-700+(v?0:-1100),o,e):t.length==2?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,r){let i=[],s=0;for(let o of t){let a=o+(this.astral?Xt(ht(r,o)):1);s&&i[s-1]==o?i[s-1]=a:(i[s++]=o,i[s++]=a)}return this.ret(e-r.length,i)}}class d5{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),r=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,t.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const Ke=K.define({combine(n){return ln(n,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:u5,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>Ff(e(r),t(r)),optionClass:(e,t)=>r=>Ff(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function Ff(n,e){return n?e?n+" "+e:n:e}function u5(n,e,t,r,i,s){let o=n.textDirection==Pe.RTL,a=o,l=!1,c="top",h,u,f=e.left-i.left,p=i.right-e.right,m=r.right-r.left,b=r.bottom-r.top;if(a&&f<Math.min(m,p)?a=!1:!a&&p<Math.min(m,f)&&(a=!0),m<=(a?f:p))h=Math.max(i.top,Math.min(t.top,i.bottom-b))-e.top,u=Math.min(400,a?f:p);else{l=!0,u=Math.min(400,(o?e.right:i.right-e.left)-30);let w=i.bottom-e.bottom;w>=b||w>e.top?h=t.bottom-e.top:(c="bottom",h=e.bottom-t.top)}let y=(e.bottom-e.top)/s.offsetHeight,v=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${h/y}px; max-width: ${u/v}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}function f5(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(i=>"cm-completionIcon-"+i)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,i,s){let o=document.createElement("span");o.className="cm-completionLabel";let a=t.displayLabel||t.label,l=0;for(let c=0;c<s.length;){let h=s[c++],u=s[c++];h>l&&o.appendChild(document.createTextNode(a.slice(l,h)));let f=o.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(h,u))),f.className="cm-completionMatchedText",l=u}return l<a.length&&o.appendChild(document.createTextNode(a.slice(l))),o},position:50},{render(t){if(!t.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=t.detail,r},position:80}),e.sort((t,r)=>t.position-r.position).map(t=>t.render)}function Il(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let i=Math.floor(e/t);return{from:i*t,to:(i+1)*t}}let r=Math.floor((n-e)/t);return{from:n-(r+1)*t,to:n-r*t}}class p5{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:s,selected:o}=i.open,a=e.state.facet(Ke);this.optionContent=f5(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Il(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(t).open;for(let h=l.target,u;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(u=/-(\d+)$/.exec(h.id))&&+u[1]<c.length){this.applyCompletion(e,c[+u[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Ke).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Qi.of(null)})}),this.showOptions(s,i.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let r=e.state.field(this.stateField),i=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=i){let{options:s,selected:o,disabled:a}=r.open;(!i.open||i.open.options!=s)&&(this.range=Il(s.length,o,e.state.facet(Ke).maxRenderedOptions),this.showOptions(s,r.id)),this.updateSel(),a!=((t=i.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=Il(t.options.length,t.selected,this.view.state.facet(Ke).maxRenderedOptions),this.showOptions(t.options,e.id));let r=this.updateSelectedOption(t.selected);if(r){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:s}=i;if(!s)return;let o=typeof s=="string"?document.createTextNode(s):s(i);if(!o)return;"then"in o?o.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,i)}).catch(a=>ft(this.view.state,a,"completion info")):(this.addInfoPane(o,i),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:s}=e;r.appendChild(i),this.infoDestroy=s||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,i=this.range.from;r;r=r.nextSibling,i++)r.nodeName!="LI"||!r.id?i--:i==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return t&&g5(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return i.top>Math.min(s.bottom,t.bottom)-10||i.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(Ke).positionInfo(this.view,t,i,r,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){const i=document.createElement("ul");i.id=t,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions")),i.addEventListener("mousedown",o=>{o.target==i&&o.preventDefault()});let s=null;for(let o=r.from;o<r.to;o++){let{completion:a,match:l}=e[o],{section:c}=a;if(c){let f=typeof c=="string"?c:c.name;if(f!=s&&(o>r.from||r.from==0))if(s=f,typeof c!="string"&&c.header)i.appendChild(c.header(c));else{let p=i.appendChild(document.createElement("completion-section"));p.textContent=f}}const h=i.appendChild(document.createElement("li"));h.id=t+"-"+o,h.setAttribute("role","option");let u=this.optionClass(a);u&&(h.className=u);for(let f of this.optionContent){let p=f(a,this.view.state,this.view,l);p&&h.appendChild(p)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&i.classList.add("cm-completionListIncompleteBottom"),i}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function m5(n,e){return t=>new p5(t,n,e)}function g5(n,e){let t=n.getBoundingClientRect(),r=e.getBoundingClientRect(),i=t.height/n.offsetHeight;r.top<t.top?n.scrollTop-=(t.top-r.top)/i:r.bottom>t.bottom&&(n.scrollTop+=(r.bottom-t.bottom)/i)}function Vf(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function b5(n,e){let t=[],r=null,i=null,s=h=>{t.push(h);let{section:u}=h.completion;if(u){r||(r=[]);let f=typeof u=="string"?u:u.name;r.some(p=>p.name==f)||r.push(typeof u=="string"?{name:f}:u)}},o=e.facet(Ke);for(let h of n)if(h.hasResult()){let u=h.result.getMatch;if(h.result.filter===!1)for(let f of h.result.options)s(new Bf(f,h.source,u?u(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),p,m=o.filterStrict?new d5(f):new h5(f);for(let b of h.result.options)if(p=m.match(b.label)){let y=b.displayLabel?u?u(b,p.matched):[]:p.matched,v=p.score+(b.boost||0);if(s(new Bf(b,h.source,y,v)),typeof b.section=="object"&&b.section.rank==="dynamic"){let{name:w}=b.section;i||(i=Object.create(null)),i[w]=Math.max(v,i[w]||-1e9)}}}}if(r){let h=Object.create(null),u=0,f=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?i[m.name]-i[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.name<m.name?-1:1);for(let p of r.sort(f))u-=1e5,h[p.name]=u;for(let p of t){let{section:m}=p.completion;m&&(p.score+=h[typeof m=="string"?m:m.name])}}let a=[],l=null,c=o.compareCompletions;for(let h of t.sort((u,f)=>f.score-u.score||c(u.completion,f.completion))){let u=h.completion;!l||l.label!=u.label||l.detail!=u.detail||l.type!=null&&u.type!=null&&l.type!=u.type||l.apply!=u.apply||l.boost!=u.boost?a.push(h):Vf(h.completion)>Vf(l)&&(a[a.length-1]=h),l=h.completion}return a}class jr{constructor(e,t,r,i,s,o){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=i,this.selected=s,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new jr(this.options,zf(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,i,s,o){if(i&&!o&&e.some(c=>c.isPending))return i.setDisabled();let a=b5(e,t);if(!a.length)return i&&e.some(c=>c.isPending)?i.setDisabled():null;let l=t.facet(Ke).selectOnOpen?0:-1;if(i&&i.selected!=l&&i.selected!=-1){let c=i.options[i.selected].completion;for(let h=0;h<a.length;h++)if(a[h].completion==c){l=h;break}}return new jr(a,zf(r,l),{pos:e.reduce((c,h)=>h.hasResult()?Math.min(c,h.from):c,1e8),create:S5,above:s.aboveCursor},i?i.timestamp:Date.now(),l,!1)}map(e){return new jr(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new jr(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Na{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new Na(w5,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(Ke),s=(r.override||t.languageDataAt("autocomplete",ar(t)).map(c5)).map(l=>(this.active.find(h=>h.source==l)||new Tt(l,this.active.some(h=>h.state!=0)?1:0)).update(e,r));s.length==this.active.length&&s.every((l,c)=>l==this.active[c])&&(s=this.active);let o=this.open,a=e.effects.some(l=>l.is(ed));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!y5(s,this.active)||a?o=jr.build(s,t,this.id,o,r,a):o&&o.disabled&&!s.some(l=>l.isPending)&&(o=null),!o&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new Tt(l.source,0):l));for(let l of e.effects)l.is(Cb)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new Na(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?x5:v5}}function y5(n,e){if(n==e)return!0;for(let t=0,r=0;;){for(;t<n.length&&!n[t].hasResult();)t++;for(;r<e.length&&!e[r].hasResult();)r++;let i=t==n.length,s=r==e.length;if(i||s)return i==s;if(n[t++].result!=e[r++].result)return!1}}const x5={"aria-autocomplete":"list"},v5={};function zf(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const w5=[];function Sb(n,e){if(n.isUserEvent("input.complete")){let r=n.annotation(kb);if(r&&e.activateOnCompletion(r))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class Tt{constructor(e,t,r=!1){this.source=e,this.state=t,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let r=Sb(e,t),i=this;(r&8||r&16&&this.touches(e))&&(i=new Tt(i.source,0)),r&4&&i.state==0&&(i=new Tt(this.source,1)),i=i.updateFor(e,r);for(let s of e.effects)if(s.is(Aa))i=new Tt(i.source,1,s.value);else if(s.is(Qi))i=new Tt(i.source,0);else if(s.is(ed))for(let o of s.value)o.source==i.source&&(i=o);return i}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(ar(e.state))}}class Lr extends Tt{constructor(e,t,r,i,s,o){super(e,3,t),this.limit=r,this.result=i,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,t){var r;if(!(t&3))return this.map(e.changes);let i=this.result;i.map&&!e.changes.empty&&(i=i.map(i,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=ar(e.state);if(a>o||!i||t&2&&(ar(e.startState)==this.from||a<this.limit))return new Tt(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return k5(i.validFor,e.state,s,o)?new Lr(this.source,this.explicit,l,i,s,o):i.update&&(i=i.update(i,s,o,new vb(e.state,a,!1)))?new Lr(this.source,this.explicit,l,i,i.from,(r=i.to)!==null&&r!==void 0?r:ar(e.state)):new Tt(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new Lr(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new Tt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function k5(n,e,t,r){if(!n)return!1;let i=e.sliceDoc(t,r);return typeof n=="function"?n(i,t,r,e):wb(n,!0).test(i)}const ed=ae.define({map(n,e){return n.map(t=>t.map(e))}}),Cb=ae.define(),dt=Qe.define({create(){return Na.start()},update(n,e){return n.update(e)},provide:n=>[Hh.from(n,e=>e.tooltip),H.contentAttributes.from(n,e=>e.attrs)]});function td(n,e){const t=e.completion.apply||e.completion.label;let r=n.state.field(dt).active.find(i=>i.source==e.source);return r instanceof Lr?(typeof t=="string"?n.dispatch({...l5(n.state,t,r.from,r.to),annotations:kb.of(e.completion)}):t(n,e.completion,r.from,r.to),!0):!1}const S5=m5(dt,td);function Io(n,e="option"){return t=>{let r=t.state.field(dt,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(Ke).interactionDelay)return!1;let i=1,s;e=="page"&&(s=f0(t,r.open.tooltip))&&(i=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=r.open.options,a=r.open.selected>-1?r.open.selected+i*(n?1:-1):n?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),t.dispatch({effects:Cb.of(a)}),!0}}const C5=n=>{let e=n.state.field(dt,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(Ke).interactionDelay?!1:td(n,e.open.options[e.open.selected])},Bl=n=>n.state.field(dt,!1)?(n.dispatch({effects:Aa.of(!0)}),!0):!1,j5=n=>{let e=n.state.field(dt,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Qi.of(null)}),!0)};class O5{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const P5=50,A5=1e3,N5=Fe.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(dt).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(dt),t=n.state.facet(Ke);if(!n.selectionSet&&!n.docChanged&&n.startState.field(dt)==e)return;let r=n.transactions.some(s=>{let o=Sb(s,t);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;s<this.running.length;s++){let o=this.running[s];if(r||o.context.abortOnDocChange&&n.docChanged||o.updates.length+n.transactions.length>P5&&Date.now()-o.time>A5){for(let a of o.context.abortListeners)try{a()}catch(l){ft(this.view.state,l)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(s=>s.effects.some(o=>o.is(Aa)))&&(this.pendingStart=!0);let i=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let s of n.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(dt);for(let t of e.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ke).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=ar(e),r=new vb(e,t,n.explicit,this.view),i=new O5(n,r);this.running.push(i),Promise.resolve(n.source(r)).then(s=>{i.context.aborted||(i.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:Qi.of(null)}),ft(this.view.state,s)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ke).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Ke),r=this.view.state.field(dt);for(let i=0;i<this.running.length;i++){let s=this.running[i];if(s.done===void 0)continue;if(this.running.splice(i--,1),s.done){let a=ar(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),c=new Lr(s.active.source,s.active.explicit,l,s.done,s.done.from,(n=s.done.to)!==null&&n!==void 0?n:a);for(let h of s.updates)c=c.update(h,t);if(c.hasResult()){e.push(c);continue}}let o=r.active.find(a=>a.source==s.active.source);if(o&&o.isPending)if(s.done==null){let a=new Tt(s.active.source,0);for(let l of s.updates)a=a.update(l,t);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:ed.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(dt,!1);if(e&&e.tooltip&&this.view.state.facet(Ke).closeOnBlur){let t=e.open&&f0(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Qi.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Aa.of(!1)}),20),this.composing=0}}}),M5=typeof navigator=="object"&&/Win/.test(navigator.platform),T5=fr.highest(H.domEventHandlers({keydown(n,e){let t=e.state.field(dt,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(M5&&n.altKey)||n.metaKey)return!1;let r=t.open.options[t.open.selected],i=t.active.find(o=>o.source==r.source),s=r.completion.commitCharacters||i.result.commitCharacters;return s&&s.indexOf(n.key)>-1&&td(e,r),!1}})),D5=H.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Xi={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},sr=ae.define({map(n,e){let t=e.mapPos(n,-1,ot.TrackAfter);return t??void 0}}),nd=new class extends In{};nd.startSide=1;nd.endSide=-1;const jb=Qe.define({create(){return fe.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:r=>r>=t.from&&r<=t.to})}for(let t of e.effects)t.is(sr)&&(n=n.update({add:[nd.range(t.value,t.value+1)]}));return n}});function E5(){return[L5,jb]}const $l="()[]{}<>«»»«[]{}";function Ob(n){for(let e=0;e<$l.length;e+=2)if($l.charCodeAt(e)==n)return $l.charAt(e+1);return Ph(n<128?n:n+1)}function Pb(n,e){return n.languageDataAt("closeBrackets",e)[0]||Xi}const R5=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),L5=H.inputHandler.of((n,e,t,r)=>{if((R5?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let i=n.state.selection.main;if(r.length>2||r.length==2&&Xt(ht(r,0))==1||e!=i.from||t!=i.to)return!1;let s=$5(n.state,r);return s?(n.dispatch(s),!0):!1}),I5=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=Pb(n,n.selection.main.head).brackets||Xi.brackets,i=null,s=n.changeByRange(o=>{if(o.empty){let a=F5(n.doc,o.head);for(let l of r)if(l==a&&Ya(n.doc,o.head)==Ob(ht(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:E.cursor(o.head-l.length)}}return{range:i=o}});return i||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},B5=[{key:"Backspace",run:I5}];function $5(n,e){let t=Pb(n,n.selection.main.head),r=t.brackets||Xi.brackets;for(let i of r){let s=Ob(ht(i,0));if(e==i)return s==i?_5(n,i,r.indexOf(i+i+i)>-1,t):V5(n,i,s,t.before||Xi.before);if(e==s&&Ab(n,n.selection.main.from))return z5(n,i,s)}return null}function Ab(n,e){let t=!1;return n.field(jb).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function Ya(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Xt(ht(t,0)))}function F5(n,e){let t=n.sliceString(e-2,e);return Xt(ht(t,0))==t.length?t:t.slice(1)}function V5(n,e,t,r){let i=null,s=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:sr.of(o.to+e.length),range:E.range(o.anchor+e.length,o.head+e.length)};let a=Ya(n.doc,o.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:sr.of(o.head+e.length),range:E.cursor(o.head+e.length)}:{range:i=o}});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function z5(n,e,t){let r=null,i=n.changeByRange(s=>s.empty&&Ya(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:E.cursor(s.head+t.length)}:r={range:s});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function _5(n,e,t,r){let i=r.stringPrefixes||Xi.stringPrefixes,s=null,o=n.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:sr.of(a.to+e.length),range:E.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Ya(n.doc,l),h;if(c==e){if(_f(n,l))return{changes:{insert:e+e,from:l},effects:sr.of(l+e.length),range:E.cursor(l+e.length)};if(Ab(n,l)){let f=t&&n.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:E.cursor(l+f.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(h=Hf(n,l-2*e.length,i))>-1&&_f(n,h))return{changes:{insert:e+e+e+e,from:l},effects:sr.of(l+e.length),range:E.cursor(l+e.length)};if(n.charCategorizer(l)(c)!=De.Word&&Hf(n,l,i)>-1&&!H5(n,l,e,i))return{changes:{insert:e+e,from:l},effects:sr.of(l+e.length),range:E.cursor(l+e.length)}}return{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function _f(n,e){let t=nt(n).resolveInner(e+1);return t.parent&&t.from==e}function H5(n,e,t,r){let i=nt(n).resolveInner(e,-1),s=r.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=n.sliceDoc(i.from,Math.min(i.to,i.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let h=i.firstChild;for(;h&&h.from==i.from&&h.to-h.from>t.length+l;){if(n.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=i.to==e&&i.parent;if(!c)break;i=c}return!1}function Hf(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=De.Word)return e;for(let i of t){let s=e-i.length;if(n.sliceDoc(s,e)==i&&r(n.sliceDoc(s-1,s))!=De.Word)return s}return-1}function W5(n={}){return[T5,dt,Ke.of(n),N5,U5,D5]}const Nb=[{key:"Ctrl-Space",run:Bl},{mac:"Alt-`",run:Bl},{mac:"Alt-i",run:Bl},{key:"Escape",run:j5},{key:"ArrowDown",run:Io(!0)},{key:"ArrowUp",run:Io(!1)},{key:"PageDown",run:Io(!0,"page")},{key:"PageUp",run:Io(!1,"page")},{key:"Enter",run:C5}],U5=fr.highest(za.computeN([Ke],n=>n.facet(Ke).defaultKeymap?[Nb]:[]));class Wf{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class Zn{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=r.facet(Zi).markerFilter;i&&(e=i(e,r));let s=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),o=new yn,a=[],l=0,c=r.doc.iter(),h=0,u=r.doc.length;for(let p=0;;){let m=p==s.length?null:s[p];if(!m&&!a.length)break;let b,y;if(a.length)b=l,y=a.reduce((C,j)=>Math.min(C,j.to),m&&m.from>b?m.from:1e8);else{if(b=m.from,b>u)break;y=m.to,a.push(m),p++}for(;p<s.length;){let C=s[p];if(C.from==b&&(C.to>C.from||C.to==b))a.push(C),p++,y=Math.min(C.to,y);else{y=Math.min(C.from,y);break}}y=Math.min(y,u);let v=!1;if(a.some(C=>C.from==b&&(C.to==y||y==u))&&(v=b==y,!v&&y-b<10)){let C=b-(h+c.value.length);C>0&&(c.next(C),h=b);for(let j=b;;){if(j>=y){v=!0;break}if(!c.lineBreak&&h+c.value.length>j)break;j=h+c.value.length,h+=c.value.length,c.next()}}let w=iC(a);if(v)o.add(b,b,ne.widget({widget:new eC(w),diagnostics:a.slice()}));else{let C=a.reduce((j,S)=>S.markClass?j+" "+S.markClass:j,"");o.add(b,y,ne.mark({class:"cm-lintRange cm-lintRange-"+w+C,diagnostics:a.slice(),inclusiveEnd:a.some(j=>j.to>y)}))}if(l=y,l==u)break;for(let C=0;C<a.length;C++)a[C].to<=l&&a.splice(C--,1)}let f=o.finish();return new Zn(f,t,Wr(f))}}function Wr(n,e=null,t=0){let r=null;return n.between(t,1e9,(i,s,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!r)r=new Wf(i,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Wf(r.from,s,r.diagnostic)}}),r}function K5(n,e){let t=e.pos,r=e.end||t,i=n.state.facet(Zi).hideOn(n,t,r);if(i!=null)return i;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(Mb))||n.changes.touchesRange(s.from,Math.max(s.to,r)))}function G5(n,e){return n.field(kt,!1)?e:e.concat(ae.appendConfig.of(sC))}const Mb=ae.define(),rd=ae.define(),Tb=ae.define(),kt=Qe.define({create(){return new Zn(ne.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),r=null,i=n.panel;if(n.selected){let s=e.changes.mapPos(n.selected.from,1);r=Wr(t,n.selected.diagnostic,s)||Wr(t,null,s)}!t.size&&i&&e.state.facet(Zi).autoPanel&&(i=null),n=new Zn(t,i,r)}for(let t of e.effects)if(t.is(Mb)){let r=e.state.facet(Zi).autoPanel?t.value.length?es.open:null:n.panel;n=Zn.init(t.value,r,e.state)}else t.is(rd)?n=new Zn(n.diagnostics,t.value?es.open:null,n.selected):t.is(Tb)&&(n=new Zn(n.diagnostics,n.panel,t.value));return n},provide:n=>[qi.from(n,e=>e.panel),H.decorations.from(n,e=>e.diagnostics)]}),q5=ne.mark({class:"cm-lintRange cm-lintRange-active"});function J5(n,e,t){let{diagnostics:r}=n.state.field(kt),i,s=-1,o=-1;r.between(e-(t<0?1:0),e+(t>0?1:0),(l,c,{spec:h})=>{if(e>=l&&e<=c&&(l==c||(e>l||t>0)&&(e<c||t<0)))return i=h.diagnostics,s=l,o=c,!1});let a=n.state.facet(Zi).tooltipFilter;return i&&a&&(i=a(i,n.state)),i?{pos:s,end:o,above:n.state.doc.lineAt(s).to<o,create(){return{dom:Y5(n,i)}}}:null}function Y5(n,e){return je("ul",{class:"cm-tooltip-lint"},e.map(t=>Eb(n,t,!1)))}const Q5=n=>{let e=n.state.field(kt,!1);(!e||!e.panel)&&n.dispatch({effects:G5(n.state,[rd.of(!0)])});let t=Gi(n,es.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},Uf=n=>{let e=n.state.field(kt,!1);return!e||!e.panel?!1:(n.dispatch({effects:rd.of(!1)}),!0)},X5=n=>{let e=n.state.field(kt,!1);if(!e)return!1;let t=n.state.selection.main,r=e.diagnostics.iter(t.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==t.from&&r.to==t.to)?!1:(n.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},Z5=[{key:"Mod-Shift-m",run:Q5,preventDefault:!0},{key:"F8",run:X5}],Zi=K.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...ln(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Kf,tooltipFilter:Kf,needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t,hideOn:(e,t)=>e?t?(r,i,s)=>e(r,i,s)||t(r,i,s):e:t,autoPanel:(e,t)=>e||t})}}});function Kf(n,e){return n?e?(t,r)=>e(n(t,r),r):n:e}function Db(n){let e=[];if(n)e:for(let{name:t}of n){for(let r=0;r<t.length;r++){let i=t[r];if(/[a-zA-Z]/.test(i)&&!e.some(s=>s.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function Eb(n,e,t){var r;let i=t?Db(e.actions):[];return je("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},je("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((s,o)=>{let a=!1,l=p=>{if(p.preventDefault(),a)return;a=!0;let m=Wr(n.state.field(kt).diagnostics,e);m&&s.apply(n,m.from,m.to)},{name:c}=s,h=i[o]?c.indexOf(i[o]):-1,u=h<0?c:[c.slice(0,h),je("u",c.slice(h,h+1)),c.slice(h+1)],f=s.markClass?" "+s.markClass:"";return je("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${h<0?"":` (access key "${i[o]})"`}.`},u)}),e.source&&je("div",{class:"cm-diagnosticSource"},e.source))}class eC extends cn{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return je("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Gf{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Eb(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class es{constructor(e){this.view=e,this.items=[];let t=i=>{if(i.keyCode==27)Uf(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=Db(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==i.keyCode){let l=Wr(this.view.state.field(kt).diagnostics,s);l&&s.actions[a].apply(e,l.from,l.to)}}else return;i.preventDefault()},r=i=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(i.target)&&this.moveSelection(s)};this.list=je("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:r}),this.dom=je("div",{class:"cm-panel-lint"},this.list,je("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Uf(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(kt).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(kt),r=0,i=!1,s=null,o=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:c})=>{for(let h of c.diagnostics){if(o.has(h))continue;o.add(h);let u=-1,f;for(let p=r;p<this.items.length;p++)if(this.items[p].diagnostic==h){u=p;break}u<0?(f=new Gf(this.view,h),this.items.splice(r,0,f),i=!0):(f=this.items[u],u>r&&(this.items.splice(r,u-r),i=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),s=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();this.items.length==0&&(this.items.push(new Gf(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let c=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/c:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(kt),r=Wr(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Tb.of(r)})}static open(e){return new es(e)}}function tC(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function Bo(n){return tC(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const nC=H.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Bo("#d11")},".cm-lintRange-warning":{backgroundImage:Bo("orange")},".cm-lintRange-info":{backgroundImage:Bo("#999")},".cm-lintRange-hint":{backgroundImage:Bo("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function rC(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function iC(n){let e="hint",t=1;for(let r of n){let i=rC(r.severity);i>t&&(t=i,e=r.severity)}return e}const sC=[kt,H.decorations.compute([kt],n=>{let{selected:e,panel:t}=n.field(kt);return!e||!t||e.from==e.to?ne.none:ne.set([q5.range(e.from,e.to)])}),cS(J5,{hideOn:K5}),nC];var qf=function(e){e===void 0&&(e={});var{crosshairCursor:t=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(B5)),e.defaultKeymap!==!1&&(r=r.concat(M4)),e.searchKeymap!==!1&&(r=r.concat(n5)),e.historyKeymap!==!1&&(r=r.concat(B3)),e.foldKeymap!==!1&&(r=r.concat(qS)),e.completionKeymap!==!1&&(r=r.concat(Nb)),e.lintKeymap!==!1&&(r=r.concat(Z5));var i=[];return e.lineNumbers!==!1&&i.push(vS()),e.highlightActiveLineGutter!==!1&&i.push(SS()),e.highlightSpecialChars!==!1&&i.push($k()),e.history!==!1&&i.push(A3()),e.foldGutter!==!1&&i.push(XS()),e.drawSelection!==!1&&i.push(Pk()),e.dropCursor!==!1&&i.push(Dk()),e.allowMultipleSelections!==!1&&i.push(me.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&i.push($S()),e.syntaxHighlighting!==!1&&i.push(Kh(n3,{fallback:!0})),e.bracketMatching!==!1&&i.push(c3()),e.closeBrackets!==!1&&i.push(E5()),e.autocompletion!==!1&&i.push(W5()),e.rectangularSelection!==!1&&i.push(Xk()),t!==!1&&i.push(tS()),e.highlightActiveLine!==!1&&i.push(Wk()),e.highlightSelectionMatches!==!1&&i.push(B4()),e.tabSize&&typeof e.tabSize=="number"&&i.push(Ha.of(" ".repeat(e.tabSize))),i.concat([za.of(r.flat())]).filter(Boolean)};const oC="#e5c07b",Jf="#e06c75",aC="#56b6c2",lC="#ffffff",ta="#abb2bf",ch="#7d8799",cC="#61afef",hC="#98c379",Yf="#d19a66",dC="#c678dd",uC="#21252b",Qf="#2c313a",Xf="#282c34",Fl="#353a42",fC="#3E4451",Zf="#528bff",pC=H.theme({"&":{color:ta,backgroundColor:Xf},".cm-content":{caretColor:Zf},".cm-cursor, .cm-dropCursor":{borderLeftColor:Zf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:fC},".cm-panels":{backgroundColor:uC,color:ta},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Xf,color:ch,border:"none"},".cm-activeLineGutter":{backgroundColor:Qf},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Fl},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Fl,borderBottomColor:Fl},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Qf,color:ta}}},{dark:!0}),mC=Gr.define([{tag:D.keyword,color:dC},{tag:[D.name,D.deleted,D.character,D.propertyName,D.macroName],color:Jf},{tag:[D.function(D.variableName),D.labelName],color:cC},{tag:[D.color,D.constant(D.name),D.standard(D.name)],color:Yf},{tag:[D.definition(D.name),D.separator],color:ta},{tag:[D.typeName,D.className,D.number,D.changed,D.annotation,D.modifier,D.self,D.namespace],color:oC},{tag:[D.operator,D.operatorKeyword,D.url,D.escape,D.regexp,D.link,D.special(D.string)],color:aC},{tag:[D.meta,D.comment],color:ch},{tag:D.strong,fontWeight:"bold"},{tag:D.emphasis,fontStyle:"italic"},{tag:D.strikethrough,textDecoration:"line-through"},{tag:D.link,color:ch,textDecoration:"underline"},{tag:D.heading,fontWeight:"bold",color:Jf},{tag:[D.atom,D.bool,D.special(D.variableName)],color:Yf},{tag:[D.processingInstruction,D.string,D.inserted],color:hC},{tag:D.invalid,color:lC}]),gC=[pC,Kh(mC)];var bC=H.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),yC=function(e){e===void 0&&(e={});var{indentWithTab:t=!0,editable:r=!0,readOnly:i=!1,theme:s="light",placeholder:o="",basicSetup:a=!0}=e,l=[];switch(t&&l.unshift(za.of([T4])),a&&(typeof a=="boolean"?l.unshift(qf()):l.unshift(qf(a))),o&&l.unshift(qk(o)),s){case"light":l.push(bC);break;case"dark":l.push(gC);break;case"none":break;default:l.push(s);break}return r===!1&&l.push(H.editable.of(!1)),i&&l.push(me.readOnly.of(!0)),[...l]},xC=n=>({line:n.state.doc.lineAt(n.state.selection.main.from),lineCount:n.state.doc.lines,lineBreak:n.state.lineBreak,length:n.state.doc.length,readOnly:n.state.readOnly,tabSize:n.state.tabSize,selection:n.state.selection,selectionAsSingle:n.state.selection.asSingle().main,ranges:n.state.selection.ranges,selectionCode:n.state.sliceDoc(n.state.selection.main.from,n.state.selection.main.to),selections:n.state.selection.ranges.map(e=>n.state.sliceDoc(e.from,e.to)),selectedText:n.state.selection.ranges.some(e=>!e.empty)});class vC{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class ep{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var Vl=null,wC=()=>typeof window>"u"?new ep:(Vl||(Vl=new ep),Vl),tp=an.define(),kC=200,SC=[];function CC(n){var{value:e,selection:t,onChange:r,onStatistics:i,onCreateEditor:s,onUpdate:o,extensions:a=SC,autoFocus:l,theme:c="light",height:h=null,minHeight:u=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:b=null,placeholder:y="",editable:v=!0,readOnly:w=!1,indentWithTab:C=!0,basicSetup:j=!0,root:S,initialState:O}=n,[x,T]=g.useState(),[N,R]=g.useState(),[A,L]=g.useState(),W=g.useState(()=>({current:null}))[0],F=g.useState(()=>({current:null}))[0],$=H.theme({"&":{height:h,minHeight:u,maxHeight:f,width:p,minWidth:m,maxWidth:b},"& .cm-scroller":{height:"100% !important"}}),q=H.updateListener.of(J=>{if(J.docChanged&&typeof r=="function"&&!J.transactions.some(ue=>ue.annotation(tp))){W.current?W.current.reset():(W.current=new vC(()=>{if(F.current){var ue=F.current;F.current=null,ue()}W.current=null},kC),wC().add(W.current));var ie=J.state.doc,le=ie.toString();r(le,J)}i&&i(xC(J))}),he=yC({theme:c,editable:v,readOnly:w,placeholder:y,indentWithTab:C,basicSetup:j}),z=[q,$,...he];return o&&typeof o=="function"&&z.push(H.updateListener.of(o)),z=z.concat(a),g.useLayoutEffect(()=>{if(x&&!A){var J={doc:e,selection:t,extensions:z},ie=O?me.fromJSON(O.json,J,O.fields):me.create(J);if(L(ie),!N){var le=new H({state:ie,parent:x,root:S});R(le),s&&s(le,ie)}}return()=>{N&&(L(void 0),R(void 0))}},[x,A]),g.useEffect(()=>{n.container&&T(n.container)},[n.container]),g.useEffect(()=>()=>{N&&(N.destroy(),R(void 0)),W.current&&(W.current.cancel(),W.current=null)},[N]),g.useEffect(()=>{l&&N&&N.focus()},[l,N]),g.useEffect(()=>{N&&N.dispatch({effects:ae.reconfigure.of(z)})},[c,a,h,u,f,p,m,b,y,v,w,C,j,r,o]),g.useEffect(()=>{if(e!==void 0){var J=N?N.state.doc.toString():"";if(N&&e!==J){var ie=W.current&&!W.current.isDone,le=()=>{N&&e!==N.state.doc.toString()&&N.dispatch({changes:{from:0,to:N.state.doc.toString().length,insert:e||""},annotations:[tp.of(!0)]})};ie?F.current=le:le()}}},[e,N]),{state:A,setState:L,view:N,setView:R,container:x,setContainer:T}}var jC=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Rb=g.forwardRef((n,e)=>{var{className:t,value:r="",selection:i,extensions:s=[],onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,autoFocus:h,theme:u="light",height:f,minHeight:p,maxHeight:m,width:b,minWidth:y,maxWidth:v,basicSetup:w,placeholder:C,indentWithTab:j,editable:S,readOnly:O,root:x,initialState:T}=n,N=y3(n,jC),R=g.useRef(null),{state:A,view:L,container:W,setContainer:F}=CC({root:x,value:r,autoFocus:h,theme:u,height:f,minHeight:p,maxHeight:m,width:b,minWidth:y,maxWidth:v,basicSetup:w,placeholder:C,indentWithTab:j,editable:S,readOnly:O,selection:i,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:s,initialState:T});g.useImperativeHandle(e,()=>({editor:R.current,state:A,view:L}),[R,W,A,L]);var $=g.useCallback(he=>{R.current=he,F(he)},[F]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var q=typeof u=="string"?"cm-theme-"+u:"cm-theme";return d.jsx("div",nh({ref:$,className:""+q+(t?" "+t:"")},N))});Rb.displayName="CodeMirror";const OC=()=>{const n=H.theme({"&":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text)",height:"100%"},".cm-editor":{height:"100% !important"},".cm-content":{caretColor:"var(--dash-accent)",fontFamily:"'JetBrains Mono', Menlo, monospace",padding:"1rem"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--dash-accent)"},"& ::selection":{backgroundColor:"var(--dash-accent-selection) !important",color:"inherit !important"},".cm-gutters":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text-muted)",border:"none",borderRight:"1px solid var(--dash-border)",paddingRight:"0.5rem"},".cm-lineNumbers .cm-gutterElement":{padding:"0 0.5rem 0 1rem",minWidth:"3rem"},".cm-activeLineGutter":{backgroundColor:"var(--dash-accent-subtle)",color:"var(--dash-accent)",fontWeight:"600"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--dash-accent) 8%, transparent)"},".cm-matchingBracket":{backgroundColor:"var(--dash-accent-subtle)",outline:"1px solid var(--dash-accent)"},".cm-scroller":{overflow:"auto !important",height:"100%",maxHeight:"100%"}}),e=Gr.define([{tag:D.propertyName,color:"var(--dash-accent)"},{tag:D.string,color:"color-mix(in srgb, var(--dash-accent) 70%, var(--dash-text))"},{tag:D.number,color:"var(--dash-accent-hover)"},{tag:D.bool,color:"var(--dash-accent-hover)"},{tag:D.null,color:"var(--dash-text-muted)"},{tag:D.punctuation,color:"var(--dash-text-secondary)"},{tag:D.brace,color:"var(--dash-text-secondary)"},{tag:D.bracket,color:"var(--dash-text-secondary)"}]);return[n,Kh(e)]},PC=({value:n,onChange:e,onCursorLineChange:t,height:r="100%",readOnly:i=!1,className:s})=>{const o=g.useMemo(()=>[b3(),H.lineWrapping,...OC()],[]),a=g.useMemo(()=>{if(t)return l=>{const c=l.state.selection.main.head,h=l.view.state.doc.lineAt(c).number-1;t(h)}},[t]);return d.jsx("div",{className:`h-full [&_.cm-editor]:h-full [&_.cm-editor]:outline-none [&_.cm-focused]:outline-none ${s??""}`.trim(),children:d.jsx(Rb,{value:n,height:r,extensions:o,onChange:e,onUpdate:a,theme:"none",readOnly:i,basicSetup:{lineNumbers:!0,highlightActiveLineGutter:!0,highlightActiveLine:!0,foldGutter:!1,dropCursor:!0,drawSelection:!1,allowMultipleSelections:!1,indentOnInput:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!1,rectangularSelection:!1,crosshairCursor:!1,highlightSelectionMatches:!0}})})},id=({width:n,isLoading:e,jsonText:t,cursorLine:r,syntaxError:i,onChange:s,onCursorLineChange:o,readOnly:a=!1,headerTitle:l,headerPath:c,headerActions:h})=>{const{t:u}=pe(),f=p=>{if(a||!p.target.closest(".cm-editor"))return;const b=p.currentTarget;b.scrollHeight<=b.clientHeight||(b.scrollTop+=p.deltaY)};return d.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0 h-full",children:[d.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:d.jsxs("div",{className:"flex items-end justify-between gap-3",children:[d.jsxs("div",{className:"min-w-0",children:[d.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:l??u("jsonTab")}),c&&d.jsx("p",{className:"mt-1 mono text-[11px] text-dash-text-muted truncate",children:c})]}),h&&d.jsx("div",{className:"flex items-center gap-2 shrink-0",children:h})]})}),d.jsx("div",{className:"flex-1 min-h-0 overflow-auto",onWheelCapture:f,children:e?d.jsx("div",{className:"h-full flex items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:u("loading")})}):a?d.jsx("pre",{className:"h-full overflow-auto p-4 font-mono text-xs leading-4 text-dash-text whitespace-pre m-0",children:t}):d.jsx(PC,{value:t,onChange:s,onCursorLineChange:o,readOnly:a,className:"[&_.cm-content]:text-xs [&_.cm-content]:leading-4 [&_.cm-gutters]:text-xs [&_.cm-gutters]:leading-4"})}),d.jsxs("div",{className:"px-4 py-2 bg-dash-surface-hover/30 border-t border-dash-border text-[10px] text-dash-text-muted flex justify-between uppercase tracking-widest font-bold",children:[d.jsxs("div",{className:"flex gap-4",children:[d.jsx("span",{children:"UTF-8"}),d.jsx("span",{children:"JSON"}),d.jsxs("span",{children:["L:",r+1]})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[a&&d.jsx("span",{children:u("readOnly")}),i?d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-red-500"}),d.jsx("span",{className:"text-red-500 normal-case",children:i})]}):d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),u("syntaxValid")]})]})]})]})},np=({label:n,value:e})=>d.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 bg-dash-bg border border-dash-border rounded-md",children:[d.jsxs("span",{className:"text-[9px] font-bold text-dash-text-muted uppercase",children:[n,":"]}),d.jsx("span",{className:"text-[10px] mono font-bold text-dash-text-secondary",children:e})]}),Lb=({width:n,fieldDoc:e,activeFieldPath:t,extraContent:r,overrideBadge:i})=>{const{t:s,lang:o}=pe();return d.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl flex flex-col shadow-sm overflow-hidden min-w-0",children:[d.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:d.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:s("configurationHelp")})}),d.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e?d.jsxs("div",{className:"space-y-5 animate-in fade-in duration-500",children:[d.jsxs("header",{children:[d.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[d.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded font-mono uppercase font-bold",children:s("field")}),d.jsx("h2",{className:"text-base font-bold text-dash-text mono break-all",children:e.path}),i]}),d.jsxs("div",{className:"flex flex-wrap gap-2 mt-2",children:[d.jsx(np,{label:s("type"),value:e.type}),d.jsx(np,{label:s("default"),value:e.default})]})]}),d.jsxs("section",{children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("description")}),d.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed italic",children:o==="vi"?e.descriptionVi:e.description})]}),e.validValues&&d.jsxs("section",{children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("validValues")}),d.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.validValues.map(a=>d.jsx("span",{className:"px-2 py-0.5 bg-dash-bg border border-dash-border rounded text-[11px] mono text-dash-text",children:a},a))})]}),e.effect&&d.jsxs("section",{className:"bg-dash-accent-subtle/30 p-3 rounded-lg border border-dash-accent/10",children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-accent uppercase tracking-widest mb-1",children:s("systemEffect")}),d.jsx("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:o==="vi"&&e.effectVi?e.effectVi:e.effect})]}),e.example&&d.jsxs("section",{children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("exampleUsage")}),d.jsx("div",{className:"bg-dash-bg p-3 rounded-lg border border-dash-border overflow-hidden",children:d.jsx("pre",{className:"text-[11px] mono text-dash-text-secondary whitespace-pre overflow-x-auto",children:e.example})})]}),r]}):d.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center opacity-40 space-y-4",children:[d.jsx("div",{className:"w-10 h-10 rounded-full bg-dash-bg border border-dash-border flex items-center justify-center text-lg",children:"?"}),d.jsxs("div",{className:"max-w-[180px]",children:[d.jsx("p",{className:"text-sm font-bold text-dash-text mb-1 italic",children:s("knowledgeBase")}),d.jsx("p",{className:"text-xs text-dash-text-secondary",children:s("clickToSeeHelp")})]})]})}),e&&d.jsx("div",{className:"p-3 bg-dash-surface-hover/20 border-t border-dash-border shrink-0",children:d.jsxs("p",{className:"text-[10px] text-dash-text-muted font-medium flex items-center gap-1.5 italic",children:[d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),s("extractedFrom")]})})]})},AC=({variant:n="development"})=>{const{t:e}=pe(),t={development:e("developmentFeature"),beta:e("betaFeature"),experimental:e("experimentalFeature")};return d.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-2 py-0.5 rounded-full font-bold border border-orange-500/30 uppercase tracking-wider",children:t[n]})},NC=({components:n,isChecking:e,isUpdating:t,onCheckAll:r,onUpdateAll:i,className:s})=>{const{t:o}=pe(),a=n.filter(h=>h.status==="update-available").length,l=n.length>0&&n.every(h=>h.status==="up-to-date"||h.status==="idle"),c=n.filter(h=>h.status==="up-to-date").length;return d.jsxs("div",{className:`flex flex-wrap items-center gap-2 ${s??""}`,children:[d.jsxs("div",{className:"inline-flex items-center gap-2 rounded-lg border border-dash-border bg-dash-surface px-3 py-2 text-xs",children:[d.jsx("output",{className:"inline-flex items-center gap-2","aria-live":"polite","aria-atomic":"true",children:e?d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),d.jsx("span",{className:"text-dash-text-secondary",children:o("checkingAll")})]}):a>0?d.jsx("span",{className:"text-amber-500 font-semibold",children:o("updatesAvailable").replace("{count}",a.toString())}):l?d.jsx("span",{className:"text-emerald-500 font-semibold",children:o("allUpToDate")}):d.jsx("span",{className:"text-dash-text-secondary font-medium",children:o("readyToScan")})}),c>0&&d.jsx("span",{className:"mono text-dash-text-muted border-l border-dash-border pl-2",children:c})]}),d.jsx("button",{type:"button",onClick:r,disabled:e||t,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("checkAll")}),a>0&&d.jsx("button",{type:"button",onClick:i,disabled:t,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold bg-dash-accent text-dash-bg hover:bg-dash-accent-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("updateAll")})]})},MC=({value:n,onChange:e,disabled:t=!1})=>{const{t:r}=pe();return d.jsxs("fieldset",{className:"inline-flex items-center rounded-xl border border-dash-border bg-dash-surface p-1 gap-1",role:"radiogroup","aria-label":"Update channel",children:[d.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${n==="stable"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[d.jsx("input",{type:"radio",name:"channel",value:"stable",checked:n==="stable",onChange:()=>e("stable"),disabled:t,className:"sr-only"}),r("channelStable")]}),d.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${n==="beta"?"bg-amber-500/15 text-amber-500":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[d.jsx("input",{type:"radio",name:"channel",value:"beta",checked:n==="beta",onChange:()=>e("beta"),disabled:t,className:"sr-only"}),r("channelBeta")]})]})},TC={idle:{color:"bg-dash-text-muted",pulse:!1},checking:{color:"bg-dash-text-muted",pulse:!0},"up-to-date":{color:"bg-emerald-500",pulse:!1},"update-available":{color:"bg-amber-500",pulse:!1}},Ib=({status:n,ariaLabel:e,size:t="sm"})=>{const r=TC[n],i=t==="sm"?"w-2 h-2":"w-2.5 h-2.5";return d.jsx("span",{className:`
64
64
  inline-block rounded-full ${i} ${r.color}
65
65
  ${r.pulse?"animate-pulse motion-reduce:animate-none":""}
66
- `,role:"status","aria-label":e})},td=({isOpen:n,onClose:e,target:t,kitName:r,targetVersion:i,onComplete:s,mode:o="single",components:a=[]})=>{const{t:l}=me(),[c,h]=b.useState("running"),[u,f]=b.useState([]),[p,m]=b.useState([]),[g,y]=b.useState(!1),[v,w]=b.useState(0),S=b.useRef(null),O=b.useRef(null);b.useEffect(()=>{g&&O.current&&O.current.scrollIntoView({behavior:"smooth"})},[g]);const C=b.useCallback(async()=>{if(a.length===0){h("success");return}for(let x=0;x<a.length;x++){w(x);const D=a[x];try{const M=D.id==="cli",L=new URLSearchParams({target:M?"cli":"kit"});M||L.set("kit",D.id);const A=new EventSource(`/api/system/update?${L}`);S.current=A,await new Promise((I,W)=>{A.onmessage=V=>{try{const $=JSON.parse(V.data);$.type==="phase"&&$.name&&f(q=>[...q,`[${D.name}] ${$.name}`]),$.type==="output"&&$.text&&m(q=>[...q,$.text]),$.type==="error"&&(h("error"),m(q=>[...q,`[ERROR ${D.name}] ${$.message||"Unknown error"}`]),A.close(),W()),$.type==="complete"&&($.code===0?(A.close(),I()):(h("error"),A.close(),W()))}catch($){console.error("Failed to parse SSE message:",$),A.close(),W($)}},A.onerror=()=>{h("error"),m(V=>[...V,`[ERROR ${D.name}] Connection lost`]),A.close(),W()}})}catch(M){console.error(`Failed to update ${D.name}:`,M)}}h("success"),s()},[a,s]);b.useEffect(()=>{if(n)if(o==="batch")C();else{const x=new URLSearchParams({target:t});r&&x.set("kit",r),i&&x.set("version",i);const D=new EventSource(`/api/system/update?${x}`);return S.current=D,D.onmessage=M=>{try{const L=JSON.parse(M.data);L.type==="phase"&&L.name&&f(A=>[...A,L.name]),L.type==="output"&&L.text&&m(A=>[...A,L.text]),L.type==="error"&&(h("error"),m(A=>[...A,`[ERROR] ${L.message||"Unknown error"}`])),L.type==="complete"&&(h(L.code===0?"success":"error"),D.close(),L.code===0&&s())}catch(L){console.error("Failed to parse SSE message:",L)}},D.onerror=()=>{h("error"),m(M=>[...M,"[ERROR] Connection lost"]),D.close()},()=>{D.close()}}},[n,t,r,i,s,o,C]);const P=()=>{c!=="running"&&(h("running"),f([]),m([]),y(!1),w(0),e())};return n?d.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-lg w-full max-w-2xl max-h-[80vh] flex flex-col",children:[d.jsx("div",{className:"px-6 py-4 border-b border-dash-border",children:d.jsx("h2",{className:"text-lg font-bold text-dash-text",children:l(c==="running"?"updating":c==="success"?"updateSuccess":"updateFailed")})}),d.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-4",children:[o==="batch"&&a.length>0&&d.jsxs("div",{className:"text-sm text-dash-text-secondary",children:[c==="running"&&d.jsxs("span",{children:["Updating ",v+1," of ",a.length,":"," ",a[v]?.name]}),c==="success"&&d.jsxs("span",{className:"text-emerald-500",children:["All ",a.length," components updated"]})]}),u.length>0&&d.jsx("div",{className:"space-y-2",children:u.map((x,D)=>d.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-secondary",children:[d.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),d.jsx("span",{children:x})]},`${x}-${D}`))}),c==="running"&&d.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-muted",children:[d.jsx("span",{className:"w-4 h-4 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),d.jsx("span",{children:l("updating")})]}),p.length>0&&d.jsxs("div",{children:[d.jsx("button",{type:"button",onClick:()=>y(!g),className:"text-xs text-dash-accent hover:text-dash-accent-hover transition-colors",children:l(g?"hideDetails":"showDetails")}),g&&d.jsxs("div",{className:"mt-2 bg-dash-bg border border-dash-border rounded p-3 max-h-64 overflow-y-auto",children:[d.jsx("pre",{className:"text-xs mono text-dash-text whitespace-pre-wrap",children:p.join(`
67
- `)}),d.jsx("div",{ref:O})]})]})]}),d.jsx("div",{className:"px-6 py-4 border-t border-dash-border flex justify-end",children:d.jsx("button",{type:"button",onClick:P,disabled:c==="running",className:`px-4 py-2 rounded text-sm font-medium transition-colors ${c==="running"?"bg-dash-bg text-dash-text-muted cursor-not-allowed":"bg-dash-accent text-white hover:bg-dash-accent-hover"}`,children:l("closeModal")})})]})}):null},Mb=({target:n,kitName:e,currentVersion:t,latestVersion:r,onVersionSelect:i})=>{const{t:s}=me(),[o,a]=b.useState([]),[l,c]=b.useState(!1),[h,u]=b.useState(r);b.useEffect(()=>{(async()=>{c(!0);try{const m=new URLSearchParams({target:n});e&&m.set("kit",e);const y=await(await fetch(`/api/system/versions?${m}`)).json();y.versions&&a(y.versions)}catch(m){console.error("Failed to fetch versions:",m)}finally{c(!1)}})()},[n,e]);const f=p=>{u(p),i(p)};return l?d.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5",children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),s("loadingVersions")]}):d.jsx("select",{value:h,onChange:p=>f(p.target.value),className:`text-xs text-amber-500 hover:text-amber-600 font-medium transition-colors
66
+ `,role:"status","aria-label":e})},sd=({isOpen:n,onClose:e,target:t,kitName:r,targetVersion:i,onComplete:s,mode:o="single",components:a=[]})=>{const{t:l}=pe(),[c,h]=g.useState("running"),[u,f]=g.useState([]),[p,m]=g.useState([]),[b,y]=g.useState(!1),[v,w]=g.useState(0),C=g.useRef(null),j=g.useRef(null);g.useEffect(()=>{b&&j.current&&j.current.scrollIntoView({behavior:"smooth"})},[b]);const S=g.useCallback(async()=>{if(a.length===0){h("success");return}for(let x=0;x<a.length;x++){w(x);const T=a[x];try{const N=T.id==="cli",R=new URLSearchParams({target:N?"cli":"kit"});N||R.set("kit",T.id);const A=new EventSource(`/api/system/update?${R}`);C.current=A,await new Promise((L,W)=>{A.onmessage=F=>{try{const $=JSON.parse(F.data);$.type==="phase"&&$.name&&f(q=>[...q,`[${T.name}] ${$.name}`]),$.type==="output"&&$.text&&m(q=>[...q,$.text]),$.type==="error"&&(h("error"),m(q=>[...q,`[ERROR ${T.name}] ${$.message||"Unknown error"}`]),A.close(),W()),$.type==="complete"&&($.code===0?(A.close(),L()):(h("error"),A.close(),W()))}catch($){console.error("Failed to parse SSE message:",$),A.close(),W($)}},A.onerror=()=>{h("error"),m(F=>[...F,`[ERROR ${T.name}] Connection lost`]),A.close(),W()}})}catch(N){console.error(`Failed to update ${T.name}:`,N)}}h("success"),s()},[a,s]);g.useEffect(()=>{if(n)if(o==="batch")S();else{const x=new URLSearchParams({target:t});r&&x.set("kit",r),i&&x.set("version",i);const T=new EventSource(`/api/system/update?${x}`);return C.current=T,T.onmessage=N=>{try{const R=JSON.parse(N.data);R.type==="phase"&&R.name&&f(A=>[...A,R.name]),R.type==="output"&&R.text&&m(A=>[...A,R.text]),R.type==="error"&&(h("error"),m(A=>[...A,`[ERROR] ${R.message||"Unknown error"}`])),R.type==="complete"&&(h(R.code===0?"success":"error"),T.close(),R.code===0&&s())}catch(R){console.error("Failed to parse SSE message:",R)}},T.onerror=()=>{h("error"),m(N=>[...N,"[ERROR] Connection lost"]),T.close()},()=>{T.close()}}},[n,t,r,i,s,o,S]);const O=()=>{c!=="running"&&(h("running"),f([]),m([]),y(!1),w(0),e())};return n?d.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-lg w-full max-w-2xl max-h-[80vh] flex flex-col",children:[d.jsx("div",{className:"px-6 py-4 border-b border-dash-border",children:d.jsx("h2",{className:"text-lg font-bold text-dash-text",children:l(c==="running"?"updating":c==="success"?"updateSuccess":"updateFailed")})}),d.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-4",children:[o==="batch"&&a.length>0&&d.jsxs("div",{className:"text-sm text-dash-text-secondary",children:[c==="running"&&d.jsxs("span",{children:["Updating ",v+1," of ",a.length,":"," ",a[v]?.name]}),c==="success"&&d.jsxs("span",{className:"text-emerald-500",children:["All ",a.length," components updated"]})]}),u.length>0&&d.jsx("div",{className:"space-y-2",children:u.map((x,T)=>d.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-secondary",children:[d.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),d.jsx("span",{children:x})]},`${x}-${T}`))}),c==="running"&&d.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-muted",children:[d.jsx("span",{className:"w-4 h-4 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),d.jsx("span",{children:l("updating")})]}),p.length>0&&d.jsxs("div",{children:[d.jsx("button",{type:"button",onClick:()=>y(!b),className:"text-xs text-dash-accent hover:text-dash-accent-hover transition-colors",children:l(b?"hideDetails":"showDetails")}),b&&d.jsxs("div",{className:"mt-2 bg-dash-bg border border-dash-border rounded p-3 max-h-64 overflow-y-auto",children:[d.jsx("pre",{className:"text-xs mono text-dash-text whitespace-pre-wrap",children:p.join(`
67
+ `)}),d.jsx("div",{ref:j})]})]})]}),d.jsx("div",{className:"px-6 py-4 border-t border-dash-border flex justify-end",children:d.jsx("button",{type:"button",onClick:O,disabled:c==="running",className:`px-4 py-2 rounded text-sm font-medium transition-colors ${c==="running"?"bg-dash-bg text-dash-text-muted cursor-not-allowed":"bg-dash-accent text-white hover:bg-dash-accent-hover"}`,children:l("closeModal")})})]})}):null},Bb=({target:n,kitName:e,currentVersion:t,latestVersion:r,onVersionSelect:i})=>{const{t:s}=pe(),[o,a]=g.useState([]),[l,c]=g.useState(!1),[h,u]=g.useState(r);g.useEffect(()=>{(async()=>{c(!0);try{const m=new URLSearchParams({target:n});e&&m.set("kit",e);const y=await(await fetch(`/api/system/versions?${m}`)).json();y.versions&&a(y.versions)}catch(m){console.error("Failed to fetch versions:",m)}finally{c(!1)}})()},[n,e]);const f=p=>{u(p),i(p)};return l?d.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5",children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),s("loadingVersions")]}):d.jsx("select",{value:h,onChange:p=>f(p.target.value),className:`text-xs text-amber-500 hover:text-amber-600 font-medium transition-colors
68
68
  bg-transparent border border-amber-500/30 rounded px-2 py-1
69
69
  focus:outline-none focus:ring-2 focus:ring-amber-500/50
70
- cursor-pointer appearance-none`,title:s("selectVersion"),children:o.map(p=>{const m=p.version===r,g=p.version===t,y=`v${p.version.replace(/^v/,"")}${m?` (${s("latestVersion")})`:""}${p.isPrerelease?` [${s("prereleaseLabel")}]`:""}${g?` - ${s("currentVersionLabel")}`:""}`;return d.jsx("option",{value:p.version,disabled:g,children:y},p.version)})})},jC=({version:n,installedAt:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=me(),[l,c]=b.useState("idle"),[h,u]=b.useState(null),[f,p]=b.useState(!1),[m,g]=b.useState(null),y=r??l,v=i??h,w=async()=>{const O=P=>{s||c(P)},C=P=>{s||u(P)};O("checking"),s&&s("checking",null);try{const x=await(await fetch(`/api/system/check-updates?target=cli&channel=${t}`)).json();x.updateAvailable?(O("update-available"),C(x.latest),s&&s("update-available",x.latest)):(O("up-to-date"),s&&s("up-to-date",null))}catch{O("idle"),s&&s("idle",null)}},S=async()=>{window.location.reload()};return d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"dash-panel p-5 transition-colors hover:border-dash-accent/30",children:d.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[d.jsx(Ab,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),d.jsx("h3",{className:"text-base font-semibold text-dash-text",children:a("cliCard")}),t==="beta"&&d.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:a("betaBadge")})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[d.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("currentVersionLabel"),": v",n.replace(/^v/,"")]}),e&&d.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e).toLocaleDateString()})]}),y==="update-available"&&v&&d.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",n.replace(/^v/,"")," ","->"," v",v.replace(/^v/,"")]})]}),d.jsx(OC,{status:y,currentVersion:n,latestVersion:v,onCheck:w,onUpdate:()=>p(!0),onVersionSelect:g,disabled:o})]})}),d.jsx(td,{isOpen:f,onClose:()=>p(!1),target:"cli",targetVersion:m??v??void 0,onComplete:S})]})},OC=({status:n,currentVersion:e,latestVersion:t,onCheck:r,onUpdate:i,onVersionSelect:s,disabled:o})=>{const{t:a}=me();return n==="checking"?d.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),a("checking")]}):n==="up-to-date"?d.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:a("upToDate")}):n==="update-available"&&t?d.jsx("div",{className:"flex items-center gap-2",children:d.jsx(Mb,{target:"cli",currentVersion:e,latestVersion:t,onVersionSelect:l=>{s(l),i()}})}):d.jsx("button",{type:"button",onClick:r,disabled:o,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:a("checkForUpdates")})},PC=({configPath:n,nodeVersion:e,bunVersion:t,os:r})=>{const{t:i}=me();return d.jsxs("div",{className:"dash-panel p-5",children:[d.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text mb-3",children:i("environment")}),d.jsxs("div",{className:"grid grid-cols-1 gap-2 text-sm md:grid-cols-2",children:[d.jsx(Eo,{label:i("claudeConfigPath"),value:n,mono:!0}),d.jsx(Eo,{label:i("osVersion"),value:r}),d.jsx(Eo,{label:i("nodeVersion"),value:e,mono:!0}),t&&d.jsx(Eo,{label:i("bunVersion"),value:t,mono:!0})]})]})},Eo=({label:n,value:e,mono:t})=>d.jsxs("div",{className:"rounded-lg border border-dash-border bg-dash-bg/70 p-2.5",children:[d.jsx("p",{className:"text-dash-text-muted text-[11px] uppercase tracking-wide mb-1",children:n}),d.jsx("p",{className:`text-dash-text-secondary break-all ${t?"mono text-xs":"text-sm"}`,children:e})]});function AC(n){let e=0,t=0,r=0;for(const i of n)i.ownership==="ck"?e++:i.ownership==="user"?t++:i.ownership==="ck-modified"&&r++;return{ck:e,user:t,modified:r}}function MC(n){const e={skills:0,commands:0,rules:0,hooks:0,settings:0,other:0};for(const t of n){const r=t.path;r.startsWith("skills/")?e.skills++:r.startsWith("commands/")?e.commands++:r.startsWith("rules/")?e.rules++:r.startsWith("hooks/")||r==="hooks.json"?e.hooks++:r.startsWith("settings/")||r==="settings.json"?e.settings++:e.other++}return e}const NC=({kitName:n,kit:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=me(),[l,c]=b.useState("idle"),[h,u]=b.useState(null),[f,p]=b.useState(!1),[m,g]=b.useState(null),y=r??l,v=i??h,w=e.files??[],S=AC(w),O=MC(w),C=async()=>{const x=M=>{s||c(M)},D=M=>{s||u(M)};x("checking"),s&&s("checking",null);try{const L=await(await fetch(`/api/system/check-updates?target=kit&kit=${n}&channel=${t}`)).json();L.updateAvailable?(x("update-available"),D(L.latest),s&&s("update-available",L.latest)):(x("up-to-date"),s&&s("up-to-date",null))}catch{x("idle"),s&&s("idle",null)}},P=async()=>{window.location.reload()};return d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"dash-panel p-5 space-y-4 transition-colors hover:border-dash-accent/30",children:[d.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[d.jsx(Ab,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),d.jsxs("h3",{className:"text-base font-semibold text-dash-text capitalize",children:[n," Kit"]}),t==="beta"&&d.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:a("betaBadge")})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[d.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("currentVersionLabel"),": v",(e.version??"?").replace(/^v/,"")]}),e.installedAt&&d.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e.installedAt).toLocaleDateString()}),d.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("components"),": ",w.length]})]}),y==="update-available"&&v&&d.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",(e.version??"?").replace(/^v/,"")," ","->"," v",v.replace(/^v/,"")]})]}),d.jsx(DC,{status:y,currentVersion:e.version??"0.0.0",latestVersion:v,kitName:n,onCheck:C,onUpdate:()=>p(!0),onVersionSelect:g,disabled:o})]}),w.length>0&&d.jsx("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-2 xl:grid-cols-3",children:Object.entries(O).filter(([,x])=>x>0).map(([x,D])=>d.jsxs("div",{className:"flex items-center justify-between px-2.5 py-2 bg-dash-bg/70 border border-dash-border rounded-lg text-xs",children:[d.jsx("span",{className:"text-dash-text-secondary capitalize",children:x}),d.jsx("span",{className:"font-bold mono text-dash-text",children:D})]},x))}),w.length>0&&d.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-muted",children:[d.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-2 h-2 rounded-full bg-emerald-500 shrink-0"}),S.ck," ",a("ownershipCk")]}),S.user>0&&d.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500 shrink-0"}),S.user," ",a("ownershipUser")]}),S.modified>0&&d.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-2 h-2 rounded-full bg-amber-500 shrink-0"}),S.modified," ",a("ownershipModified")]})]}),w.length===0&&d.jsx("p",{className:"text-xs text-dash-text-muted",children:a("noTrackedFiles")})]}),d.jsx(td,{isOpen:f,onClose:()=>p(!1),target:"kit",kitName:n,targetVersion:m??v??void 0,onComplete:P})]})},DC=({status:n,currentVersion:e,latestVersion:t,kitName:r,onCheck:i,onUpdate:s,onVersionSelect:o,disabled:a})=>{const{t:l}=me();return n==="checking"?d.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),l("checking")]}):n==="up-to-date"?d.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:l("upToDate")}):n==="update-available"&&t?d.jsx("div",{className:"flex items-center gap-2",children:d.jsx(Mb,{target:"kit",kitName:r,currentVersion:e,latestVersion:t,onVersionSelect:c=>{o(c),s()}})}):d.jsx("button",{type:"button",onClick:i,disabled:a,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:l("checkForUpdates")})},Zf="claudekit-update-channel",ep="claudekit-system-filter",TC=n=>/-(alpha|beta|rc|dev|next)/.test(n),EC=n=>n==="all"||n==="updates"||n==="up-to-date"||n==="cli"||n==="kits"?n:"all",tp=n=>n==="update-available"?0:n==="checking"?1:n==="idle"?2:3,RC=({metadata:n})=>{const{t:e}=me(),[t,r]=b.useState(null),[i,s]=b.useState([]),[o,a]=b.useState(!1),[l,c]=b.useState(!1),[h,u]=b.useState(!1),[f,p]=b.useState("stable"),[m,g]=b.useState(()=>EC(localStorage.getItem(ep))),y=b.useRef(!1),v=b.useRef(0),w=b.useMemo(()=>!n.kits||typeof n.kits!="object"?[]:Object.entries(n.kits),[n.kits]),S=w.length>0,O=n.name,C=n.version,P=n.installedAt,x=w.length>0||O;b.useEffect(()=>{if(!t)return;const Y=[];if(Y.push({id:"cli",type:"cli",status:"idle",currentVersion:t.cliVersion,latestVersion:null}),S&&w.length>0)for(const[Ae,ve]of w){const Le=ve;Y.push({id:Ae,type:"kit",status:"idle",currentVersion:Le.version??"?",latestVersion:null})}else O&&Y.push({id:O,type:"kit",status:"idle",currentVersion:C??"?",latestVersion:null});s(Y)},[t,S,w,O,C]),b.useEffect(()=>{fetch("/api/system/info").then(Y=>Y.json()).then(r).catch(()=>r(null))},[]),b.useEffect(()=>{const Y=localStorage.getItem(Zf);Y==="stable"||Y==="beta"?p(Y):t?.cliVersion&&p(TC(t.cliVersion)?"beta":"stable")},[t?.cliVersion]);const D=Y=>{p(Y),localStorage.setItem(Zf,Y)};b.useEffect(()=>{localStorage.setItem(ep,m)},[m]);const M=(Y,Ae,ve)=>{s(Le=>Le.map(R=>R.id===Y?{...R,status:Ae,latestVersion:ve}:R))},L=b.useCallback(async()=>{if(i.length===0)return;const Y=v.current+1;v.current=Y,a(!0),s(Ae=>Ae.map(ve=>ve.status==="checking"&&ve.latestVersion===null?ve:{...ve,status:"checking",latestVersion:null}));try{const Ae=i.map(async Le=>{try{const R=Le.type==="cli"?`target=cli&channel=${f}`:`target=kit&kit=${Le.id}&channel=${f}`,ce=await(await fetch(`/api/system/check-updates?${R}`)).json();return{id:Le.id,status:ce.updateAvailable?"update-available":"up-to-date",latestVersion:ce.latest}}catch{return{id:Le.id,status:"idle",latestVersion:null}}}),ve=await Promise.all(Ae);if(v.current!==Y)return;s(Le=>Le.map(R=>{const G=ve.find(ce=>ce.id===R.id);return G?{...R,status:G.status,latestVersion:G.latestVersion}:R}))}finally{v.current===Y&&a(!1)}},[f,i]),A=Y=>{g(Y),(Y==="updates"||Y==="up-to-date")&&!o&&!l&&i.length>0&&i.every(ve=>ve.status==="idle")&&(y.current=!0,L())},I=()=>{u(!0)},W=()=>{window.location.reload()},V=i.filter(Y=>Y.status==="update-available").length,$=i.filter(Y=>Y.status==="up-to-date").length,q=i.filter(Y=>Y.status==="up-to-date"||Y.status==="update-available").length,he=i.some(Y=>Y.status==="checking"),_=S&&w.length>0?w.length:O?1:0,J=i.find(Y=>Y.id==="cli")?.status??"idle",se=b.useMemo(()=>S&&w.length>0?w.map(([Y,Ae])=>({id:Y,kitName:Y,kit:Ae})):O?[{id:O,kitName:O,kit:{version:C,installedAt:P}}]:[],[S,w,O,C,P]),le=b.useMemo(()=>{const Ae=[...se.map(ve=>({...ve,status:i.find(Le=>Le.id===ve.id)?.status??"idle"}))].sort((ve,Le)=>{const R=tp(ve.status)-tp(Le.status);return R!==0?R:ve.kitName.localeCompare(Le.kitName)});return m==="updates"?Ae.filter(ve=>ve.status==="update-available"):m==="up-to-date"?Ae.filter(ve=>ve.status==="up-to-date"):m==="cli"?[]:Ae},[se,i,m]),oe=m==="all"||m==="cli"||m==="updates"&&J==="update-available"||m==="up-to-date"&&J==="up-to-date",we=(oe?1:0)+le.length;b.useEffect(()=>{if(!(!(m==="updates"||m==="up-to-date")||y.current)&&!(o||l||i.length===0)){if(!i.every(Ae=>Ae.status==="idle")){y.current=!0;return}y.current=!0,L()}},[L,o,l,i,m]);const Me=b.useMemo(()=>we!==0?"":(m==="updates"||m==="up-to-date")&&he?e("checkingAll"):(m==="updates"||m==="up-to-date")&&q===0?e("runCheckAllForFilter"):m==="updates"&&q>0&&V===0?e("noUpdatesFound"):m==="up-to-date"&&q>0&&$===0?e("noUpToDateYet"):e("noComponentsMatchFilter"),[we,m,he,q,V,$,e]),Se=!x&&m!=="cli",Qe=e("componentFilterUpdatesCount").replace("{count}",V.toString()),Lt=e("componentFilterUpToDateCount").replace("{count}",$.toString());return d.jsxs("div",{className:"relative",children:[d.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[d.jsx("div",{className:"absolute -top-20 -right-8 h-56 w-56 rounded-full bg-dash-accent/10 blur-3xl"}),d.jsx("div",{className:"absolute -bottom-24 -left-10 h-64 w-64 rounded-full bg-dash-accent/5 blur-3xl"})]}),d.jsxs("div",{className:"space-y-4",children:[d.jsx("section",{className:"dash-panel dash-sticky-glass p-4 md:p-5 sticky top-0 z-10",children:d.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[d.jsxs("div",{className:"space-y-1",children:[d.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:e("systemControlTower")}),d.jsx("h2",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:e("systemOverviewTitle")}),d.jsx("p",{className:"text-sm text-dash-text-secondary max-w-2xl",children:e("systemOverviewDesc")})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[d.jsx(SC,{value:f,onChange:D,disabled:o||l}),i.length>0&&d.jsx(kC,{components:i,isChecking:o,isUpdating:l,onCheckAll:L,onUpdateAll:I})]})]})}),d.jsxs("section",{className:"grid grid-cols-2 gap-3 xl:grid-cols-5",children:[d.jsx(hi,{label:e("components"),value:i.length.toString()}),d.jsx(hi,{label:e("kitsLabel"),value:_.toString()}),d.jsx(hi,{label:e("updateAvailable"),value:V.toString(),tone:"accent"}),d.jsx(hi,{label:e("upToDate"),value:$.toString(),tone:"success"}),d.jsx(hi,{label:e("checkedComponents"),value:q.toString()})]}),d.jsxs("section",{className:"grid gap-4 xl:grid-cols-[minmax(0,1fr)_320px]",children:[d.jsxs("div",{className:"space-y-3 min-w-0",children:[d.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 px-1",children:[d.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("installedComponentsHeading")}),d.jsxs("fieldset",{className:"flex items-center gap-2",children:[d.jsx("legend",{className:"sr-only",children:e("installedComponentsHeading")}),d.jsx(di,{label:e("componentFilterAll"),value:m,activeValue:"all",onClick:()=>A("all")}),d.jsx(di,{label:Qe,value:m,activeValue:"updates",onClick:()=>A("updates")}),d.jsx(di,{label:Lt,value:m,activeValue:"up-to-date",onClick:()=>A("up-to-date")}),d.jsx(di,{label:e("componentFilterCli"),value:m,activeValue:"cli",onClick:()=>A("cli")}),d.jsx(di,{label:e("componentFilterKits"),value:m,activeValue:"kits",onClick:()=>A("kits")})]})]}),oe&&d.jsx(jC,{version:t?.cliVersion??"...",installedAt:void 0,externalStatus:i.find(Y=>Y.id==="cli")?.status,externalLatestVersion:i.find(Y=>Y.id==="cli")?.latestVersion??null,onStatusChange:(Y,Ae)=>M("cli",Y,Ae),disabled:o||l,channel:f}),le.map(Y=>{const Ae=i.find(ve=>ve.id===Y.id);return d.jsx(NC,{kitName:Y.kitName,kit:Y.kit,externalStatus:Ae?.status,externalLatestVersion:Ae?.latestVersion??null,onStatusChange:(ve,Le)=>M(Y.id,ve,Le),disabled:o||l,channel:f},Y.id)}),Se&&d.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:d.jsx("p",{className:"text-sm text-dash-text-secondary",children:e("noKitInstalled")})}),!Se&&we===0&&d.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:d.jsx("p",{className:"text-sm text-dash-text-secondary",children:Me})})]}),d.jsxs("aside",{className:"space-y-3 xl:sticky xl:top-20 self-start",children:[d.jsxs("div",{className:"dash-panel p-4 space-y-3",children:[d.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("updateReadiness")}),d.jsxs("div",{className:"space-y-2",children:[d.jsx(Ro,{label:e("updateAvailable"),value:V.toString(),tone:V>0?"accent":"default"}),d.jsx(Ro,{label:e("upToDate"),value:$.toString(),tone:"success"}),d.jsx(Ro,{label:e("checkedComponents"),value:q.toString()}),d.jsx(Ro,{label:e("activeChannel"),value:e(f==="beta"?"channelBeta":"channelStable")})]})]}),t&&d.jsx(PC,{configPath:t.configPath,nodeVersion:t.nodeVersion,bunVersion:t.bunVersion,os:t.os})]})]})]}),d.jsx(td,{isOpen:h,onClose:()=>u(!1),target:"cli",mode:"batch",components:i.filter(Y=>Y.status==="update-available").map(Y=>({id:Y.id,name:Y.id==="cli"?"CLI":`${Y.id} Kit`})),onComplete:W})]})},hi=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-emerald-500":"text-dash-text";return d.jsxs("div",{className:"dash-panel p-3",children:[d.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:n}),d.jsx("p",{className:`mt-1 mono text-xl font-semibold ${r}`,children:e})]})},Ro=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-emerald-500":"text-dash-text-secondary";return d.jsxs("div",{className:"flex items-center justify-between rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2",children:[d.jsx("span",{className:"text-xs text-dash-text-muted",children:n}),d.jsx("span",{className:`mono text-xs font-semibold ${r}`,children:e})]})},di=({label:n,value:e,activeValue:t,onClick:r})=>{const i=e===t;return d.jsx("button",{type:"button",onClick:r,"aria-pressed":i,className:`dash-focus-ring px-2.5 py-1.5 rounded-lg text-[11px] font-semibold border transition-colors ${i?"border-dash-accent/30 bg-dash-accent-subtle text-dash-accent":"border-dash-border bg-dash-surface text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n})},Bl="~/.claude/settings.json",Lo="{}",LC=()=>{const{t:n}=me(),[e,t]=b.useState(!0),[r,i]=b.useState(Bl),[s,o]=b.useState(Lo),[a,l]=b.useState(Lo),[c,h]=b.useState(0),[u,f]=b.useState(!1),[p,m]=b.useState(!1),[g,y]=b.useState("idle"),[v,w]=b.useState(null),[S,O]=b.useState(null);b.useEffect(()=>{let M=!1;return(async()=>{t(!0),m(!1);try{const A=await dv();if(M)return;const I=JSON.stringify(A.settings??{},null,2);i(A.path||Bl),f(!!A.exists),o(I),l(I),w(null)}catch{if(M)return;m(!0),f(!1),i(Bl),o(Lo),l(Lo)}finally{M||t(!1)}})(),()=>{M=!0}},[]);const C=M=>{l(M),O(null);try{JSON.parse(M),w(null)}catch(L){w(L instanceof Error?L.message:"Invalid JSON")}},P=()=>{l(s),w(null),O(null),y("idle")},x=async()=>{if(!(e||v)){y("saving"),O(null);try{const M=JSON.parse(a),L=JSON.stringify(M,null,2),A=await uv(M);o(L),l(L),f(!0),y("saved"),O(A.backupPath?`${n("settingsBackupSaved")}: ${A.backupPath}`:n("saved")),setTimeout(()=>y("idle"),2e3)}catch(M){y("error"),O(M instanceof Error?M.message:n("saveFailed")),setTimeout(()=>y("idle"),3e3)}}},D=a!==s;return d.jsxs("section",{className:"h-full min-h-0 flex flex-col rounded-xl border border-dash-border bg-dash-surface p-3 shadow-sm",children:[d.jsxs("div",{className:"mb-2 flex items-end justify-between gap-3 px-1",children:[d.jsxs("div",{className:"min-w-0",children:[d.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:n("settingsJsonHeading")}),d.jsx("p",{className:"mono text-[11px] text-dash-text-muted truncate",children:r})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("button",{type:"button",onClick:P,disabled:e||!D||g==="saving",className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border disabled:opacity-50 disabled:cursor-not-allowed",children:n("discard")}),d.jsx("button",{type:"button",onClick:x,disabled:e||g==="saving"||!!v||!D,className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase disabled:opacity-50 disabled:cursor-not-allowed ${g==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":g==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:n(g==="saving"?"saving":g==="saved"?"saved":g==="error"?"saveFailed":"saveChanges")})]})]}),d.jsx("div",{className:"flex-1 min-h-0",children:d.jsx(ed,{width:100,isLoading:e,jsonText:a,cursorLine:c,syntaxError:v,onChange:C,onCursorLineChange:h})}),S&&d.jsx("p",{className:`mt-2 px-1 text-xs ${g==="error"?"text-red-500":"text-dash-text-muted"}`,children:S}),!e&&!p&&!u&&d.jsx("p",{className:"mt-2 px-1 text-xs text-dash-text-muted",children:n("settingsJsonMissing")}),!e&&p&&d.jsx("p",{className:"mt-2 px-1 text-xs text-red-500",children:n("settingsJsonLoadFailed")})]})},IC={plan:{path:"plan",type:"object",default:"{}",description:"Configuration for plan management including naming conventions, resolution strategies, and validation workflows.",descriptionVi:"Cấu hình quản lý kế hoạch bao gồm quy ước đặt tên, chiến lược giải quyết và quy trình xác thực.",effect:"Controls how plans are created (namingFormat), located (resolution), and reviewed (validation) during development.",effectVi:"Điều khiển cách tạo kế hoạch (namingFormat), định vị (resolution) và xem xét (validation) trong quá trình phát triển."},"plan.resolution":{path:"plan.resolution",type:"object",default:"{}",description:"Settings for resolving which plan is currently active. Uses cascading resolution: session state (explicit) → branch name matching (suggested).",descriptionVi:"Cài đặt để xác định kế hoạch đang hoạt động. Sử dụng giải quyết theo tầng: trạng thái phiên (rõ ràng) → khớp tên nhánh (gợi ý).",effect:"'session' = ACTIVE (explicitly set via set-active-plan). 'branch' = SUGGESTED (hint from git branch name). 'mostRecent' was removed to avoid stale plan pollution.",effectVi:"'session' = ĐANG HOẠT ĐỘNG (đặt rõ ràng qua set-active-plan). 'branch' = GỢI Ý (từ tên nhánh git). 'mostRecent' đã bị xóa để tránh ô nhiễm kế hoạch cũ."},"plan.validation":{path:"plan.validation",type:"object",default:"{}",description:"Settings for the plan validation interview that reviews assumptions, risks, and architecture decisions.",descriptionVi:"Cài đặt cho phỏng vấn xác thực kế hoạch để xem xét giả định, rủi ro và quyết định kiến trúc.",effect:"Runs validation interview based on mode: 'auto' (always), 'prompt' (ask first), 'off' (skip). Questions focus on configured areas.",effectVi:"Chạy phỏng vấn xác thực dựa trên chế độ: 'auto' (luôn), 'prompt' (hỏi trước), 'off' (bỏ qua). Câu hỏi tập trung vào các lĩnh vực đã cấu hình."},paths:{path:"paths",type:"object",default:"{}",description:"Custom paths for project directories. Supports relative paths (from project root) or absolute paths for consolidated setups.",descriptionVi:"Đường dẫn tùy chỉnh cho các thư mục dự án. Hỗ trợ đường dẫn tương đối (từ thư mục gốc) hoặc tuyệt đối cho thiết lập tập trung.",effect:"Relative paths are resolved from project root. Absolute paths allow consolidated plans across repos.",effectVi:"Đường dẫn tương đối được giải quyết từ thư mục gốc dự án. Đường dẫn tuyệt đối cho phép kế hoạch tập trung giữa các repo."},locale:{path:"locale",type:"object",default:"{}",description:"Language settings separating internal AI reasoning from user-facing output for optimal precision.",descriptionVi:"Cài đặt ngôn ngữ tách suy luận AI nội bộ khỏi đầu ra cho người dùng để có độ chính xác tối ưu.",effect:"thinkingLanguage: for reasoning/logic (recommended: 'en'). responseLanguage: for user output (e.g., 'vi' for Vietnamese responses).",effectVi:"thinkingLanguage: cho suy luận/logic (khuyến nghị: 'en'). responseLanguage: cho đầu ra người dùng (vd: 'vi' cho phản hồi tiếng Việt)."},trust:{path:"trust",type:"object",default:"{}",description:"Trusted execution mode for bypassing certain security confirmations in controlled environments.",descriptionVi:"Chế độ thực thi tin cậy để bỏ qua một số xác nhận bảo mật trong môi trường được kiểm soát.",effect:"When trust.enabled=true, security prompts may be skipped. passphrase is used for context injection testing.",effectVi:"Khi trust.enabled=true, các lời nhắc bảo mật có thể bị bỏ qua. passphrase dùng để kiểm tra tiêm ngữ cảnh."},project:{path:"project",type:"object",default:"{}",description:"Override automatic project detection. Set to 'auto' for automatic detection or specify exact values.",descriptionVi:"Ghi đè phát hiện dự án tự động. Đặt 'auto' để tự động phát hiện hoặc chỉ định giá trị cụ thể.",effect:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/etc.",effectVi:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/v.v."},codingLevel:{path:"codingLevel",type:"number",default:"-1",validValues:["-1","0","1","2","3","4","5"],description:"Controls the communication style and depth of explanations based on user's coding experience level.",descriptionVi:"Điều khiển phong cách giao tiếp và độ sâu giải thích dựa trên trình độ lập trình của người dùng.",effect:"Loads corresponding output style and injects it into the session context. Changes how Claude explains code and structures responses.",effectVi:"Tải phong cách đầu ra tương ứng và đưa vào ngữ cảnh phiên. Thay đổi cách Claude giải thích code và cấu trúc phản hồi.",example:`{
70
+ cursor-pointer appearance-none`,title:s("selectVersion"),children:o.map(p=>{const m=p.version===r,b=p.version===t,y=`v${p.version.replace(/^v/,"")}${m?` (${s("latestVersion")})`:""}${p.isPrerelease?` [${s("prereleaseLabel")}]`:""}${b?` - ${s("currentVersionLabel")}`:""}`;return d.jsx("option",{value:p.version,disabled:b,children:y},p.version)})})},DC=({version:n,installedAt:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=pe(),[l,c]=g.useState("idle"),[h,u]=g.useState(null),[f,p]=g.useState(!1),[m,b]=g.useState(null),y=r??l,v=i??h,w=async()=>{const j=O=>{s||c(O)},S=O=>{s||u(O)};j("checking"),s&&s("checking",null);try{const x=await(await fetch(`/api/system/check-updates?target=cli&channel=${t}`)).json();x.updateAvailable?(j("update-available"),S(x.latest),s&&s("update-available",x.latest)):(j("up-to-date"),s&&s("up-to-date",null))}catch{j("idle"),s&&s("idle",null)}},C=async()=>{window.location.reload()};return d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"dash-panel p-5 transition-colors hover:border-dash-accent/30",children:d.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[d.jsx(Ib,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),d.jsx("h3",{className:"text-base font-semibold text-dash-text",children:a("cliCard")}),t==="beta"&&d.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:a("betaBadge")})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[d.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("currentVersionLabel"),": v",n.replace(/^v/,"")]}),e&&d.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e).toLocaleDateString()})]}),y==="update-available"&&v&&d.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",n.replace(/^v/,"")," ","->"," v",v.replace(/^v/,"")]})]}),d.jsx(EC,{status:y,currentVersion:n,latestVersion:v,onCheck:w,onUpdate:()=>p(!0),onVersionSelect:b,disabled:o})]})}),d.jsx(sd,{isOpen:f,onClose:()=>p(!1),target:"cli",targetVersion:m??v??void 0,onComplete:C})]})},EC=({status:n,currentVersion:e,latestVersion:t,onCheck:r,onUpdate:i,onVersionSelect:s,disabled:o})=>{const{t:a}=pe();return n==="checking"?d.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),a("checking")]}):n==="up-to-date"?d.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:a("upToDate")}):n==="update-available"&&t?d.jsx("div",{className:"flex items-center gap-2",children:d.jsx(Bb,{target:"cli",currentVersion:e,latestVersion:t,onVersionSelect:l=>{s(l),i()}})}):d.jsx("button",{type:"button",onClick:r,disabled:o,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:a("checkForUpdates")})},RC=({configPath:n,nodeVersion:e,bunVersion:t,os:r})=>{const{t:i}=pe();return d.jsxs("div",{className:"dash-panel p-5",children:[d.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text mb-3",children:i("environment")}),d.jsxs("div",{className:"grid grid-cols-1 gap-2 text-sm md:grid-cols-2",children:[d.jsx($o,{label:i("claudeConfigPath"),value:n,mono:!0}),d.jsx($o,{label:i("osVersion"),value:r}),d.jsx($o,{label:i("nodeVersion"),value:e,mono:!0}),t&&d.jsx($o,{label:i("bunVersion"),value:t,mono:!0})]})]})},$o=({label:n,value:e,mono:t})=>d.jsxs("div",{className:"rounded-lg border border-dash-border bg-dash-bg/70 p-2.5",children:[d.jsx("p",{className:"text-dash-text-muted text-[11px] uppercase tracking-wide mb-1",children:n}),d.jsx("p",{className:`text-dash-text-secondary break-all ${t?"mono text-xs":"text-sm"}`,children:e})]});function LC(n){let e=0,t=0,r=0;for(const i of n)i.ownership==="ck"?e++:i.ownership==="user"?t++:i.ownership==="ck-modified"&&r++;return{ck:e,user:t,modified:r}}function IC(n){const e={skills:0,commands:0,rules:0,hooks:0,settings:0,other:0};for(const t of n){const r=t.path;r.startsWith("skills/")?e.skills++:r.startsWith("commands/")?e.commands++:r.startsWith("rules/")?e.rules++:r.startsWith("hooks/")||r==="hooks.json"?e.hooks++:r.startsWith("settings/")||r==="settings.json"?e.settings++:e.other++}return e}const BC=({kitName:n,kit:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=pe(),[l,c]=g.useState("idle"),[h,u]=g.useState(null),[f,p]=g.useState(!1),[m,b]=g.useState(null),y=r??l,v=i??h,w=e.files??[],C=LC(w),j=IC(w),S=async()=>{const x=N=>{s||c(N)},T=N=>{s||u(N)};x("checking"),s&&s("checking",null);try{const R=await(await fetch(`/api/system/check-updates?target=kit&kit=${n}&channel=${t}`)).json();R.updateAvailable?(x("update-available"),T(R.latest),s&&s("update-available",R.latest)):(x("up-to-date"),s&&s("up-to-date",null))}catch{x("idle"),s&&s("idle",null)}},O=async()=>{window.location.reload()};return d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"dash-panel p-5 space-y-4 transition-colors hover:border-dash-accent/30",children:[d.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[d.jsx(Ib,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),d.jsxs("h3",{className:"text-base font-semibold text-dash-text capitalize",children:[n," Kit"]}),t==="beta"&&d.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:a("betaBadge")})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[d.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("currentVersionLabel"),": v",(e.version??"?").replace(/^v/,"")]}),e.installedAt&&d.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e.installedAt).toLocaleDateString()}),d.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("components"),": ",w.length]})]}),y==="update-available"&&v&&d.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",(e.version??"?").replace(/^v/,"")," ","->"," v",v.replace(/^v/,"")]})]}),d.jsx($C,{status:y,currentVersion:e.version??"0.0.0",latestVersion:v,kitName:n,onCheck:S,onUpdate:()=>p(!0),onVersionSelect:b,disabled:o})]}),w.length>0&&d.jsx("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-2 xl:grid-cols-3",children:Object.entries(j).filter(([,x])=>x>0).map(([x,T])=>d.jsxs("div",{className:"flex items-center justify-between px-2.5 py-2 bg-dash-bg/70 border border-dash-border rounded-lg text-xs",children:[d.jsx("span",{className:"text-dash-text-secondary capitalize",children:x}),d.jsx("span",{className:"font-bold mono text-dash-text",children:T})]},x))}),w.length>0&&d.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-muted",children:[d.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-2 h-2 rounded-full bg-emerald-500 shrink-0"}),C.ck," ",a("ownershipCk")]}),C.user>0&&d.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500 shrink-0"}),C.user," ",a("ownershipUser")]}),C.modified>0&&d.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-2 h-2 rounded-full bg-amber-500 shrink-0"}),C.modified," ",a("ownershipModified")]})]}),w.length===0&&d.jsx("p",{className:"text-xs text-dash-text-muted",children:a("noTrackedFiles")})]}),d.jsx(sd,{isOpen:f,onClose:()=>p(!1),target:"kit",kitName:n,targetVersion:m??v??void 0,onComplete:O})]})},$C=({status:n,currentVersion:e,latestVersion:t,kitName:r,onCheck:i,onUpdate:s,onVersionSelect:o,disabled:a})=>{const{t:l}=pe();return n==="checking"?d.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),l("checking")]}):n==="up-to-date"?d.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:l("upToDate")}):n==="update-available"&&t?d.jsx("div",{className:"flex items-center gap-2",children:d.jsx(Bb,{target:"kit",kitName:r,currentVersion:e,latestVersion:t,onVersionSelect:c=>{o(c),s()}})}):d.jsx("button",{type:"button",onClick:i,disabled:a,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:l("checkForUpdates")})},rp="claudekit-update-channel",ip="claudekit-system-filter",FC=n=>/-(alpha|beta|rc|dev|next)/.test(n),VC=n=>n==="all"||n==="updates"||n==="up-to-date"||n==="cli"||n==="kits"?n:"all",sp=n=>n==="update-available"?0:n==="checking"?1:n==="idle"?2:3,zC=({metadata:n})=>{const{t:e}=pe(),[t,r]=g.useState(null),[i,s]=g.useState([]),[o,a]=g.useState(!1),[l,c]=g.useState(!1),[h,u]=g.useState(!1),[f,p]=g.useState("stable"),[m,b]=g.useState(()=>VC(localStorage.getItem(ip))),y=g.useRef(!1),v=g.useRef(0),w=g.useMemo(()=>!n.kits||typeof n.kits!="object"?[]:Object.entries(n.kits),[n.kits]),C=w.length>0,j=n.name,S=n.version,O=n.installedAt,x=w.length>0||j;g.useEffect(()=>{if(!t)return;const Y=[];if(Y.push({id:"cli",type:"cli",status:"idle",currentVersion:t.cliVersion,latestVersion:null}),C&&w.length>0)for(const[Me,Se]of w){const Ie=Se;Y.push({id:Me,type:"kit",status:"idle",currentVersion:Ie.version??"?",latestVersion:null})}else j&&Y.push({id:j,type:"kit",status:"idle",currentVersion:S??"?",latestVersion:null});s(Y)},[t,C,w,j,S]),g.useEffect(()=>{fetch("/api/system/info").then(Y=>Y.json()).then(r).catch(()=>r(null))},[]),g.useEffect(()=>{const Y=localStorage.getItem(rp);Y==="stable"||Y==="beta"?p(Y):t?.cliVersion&&p(FC(t.cliVersion)?"beta":"stable")},[t?.cliVersion]);const T=Y=>{p(Y),localStorage.setItem(rp,Y)};g.useEffect(()=>{localStorage.setItem(ip,m)},[m]);const N=(Y,Me,Se)=>{s(Ie=>Ie.map(ve=>ve.id===Y?{...ve,status:Me,latestVersion:Se}:ve))},R=g.useCallback(async()=>{if(i.length===0)return;const Y=v.current+1;v.current=Y,a(!0),s(Me=>Me.map(Se=>Se.status==="checking"&&Se.latestVersion===null?Se:{...Se,status:"checking",latestVersion:null}));try{const Me=i.map(async Ie=>{try{const ve=Ie.type==="cli"?`target=cli&channel=${f}`:`target=kit&kit=${Ie.id}&channel=${f}`,I=await(await fetch(`/api/system/check-updates?${ve}`)).json();return{id:Ie.id,status:I.updateAvailable?"update-available":"up-to-date",latestVersion:I.latest}}catch{return{id:Ie.id,status:"idle",latestVersion:null}}}),Se=await Promise.all(Me);if(v.current!==Y)return;s(Ie=>Ie.map(ve=>{const bt=Se.find(I=>I.id===ve.id);return bt?{...ve,status:bt.status,latestVersion:bt.latestVersion}:ve}))}finally{v.current===Y&&a(!1)}},[f,i]),A=Y=>{b(Y),(Y==="updates"||Y==="up-to-date")&&!o&&!l&&i.length>0&&i.every(Se=>Se.status==="idle")&&(y.current=!0,R())},L=()=>{u(!0)},W=()=>{window.location.reload()},F=i.filter(Y=>Y.status==="update-available").length,$=i.filter(Y=>Y.status==="up-to-date").length,q=i.filter(Y=>Y.status==="up-to-date"||Y.status==="update-available").length,he=i.some(Y=>Y.status==="checking"),z=C&&w.length>0?w.length:j?1:0,J=i.find(Y=>Y.id==="cli")?.status??"idle",ie=g.useMemo(()=>C&&w.length>0?w.map(([Y,Me])=>({id:Y,kitName:Y,kit:Me})):j?[{id:j,kitName:j,kit:{version:S,installedAt:O}}]:[],[C,w,j,S,O]),le=g.useMemo(()=>{const Me=[...ie.map(Se=>({...Se,status:i.find(Ie=>Ie.id===Se.id)?.status??"idle"}))].sort((Se,Ie)=>{const ve=sp(Se.status)-sp(Ie.status);return ve!==0?ve:Se.kitName.localeCompare(Ie.kitName)});return m==="updates"?Me.filter(Se=>Se.status==="update-available"):m==="up-to-date"?Me.filter(Se=>Se.status==="up-to-date"):m==="cli"?[]:Me},[ie,i,m]),ue=m==="all"||m==="cli"||m==="updates"&&J==="update-available"||m==="up-to-date"&&J==="up-to-date",we=(ue?1:0)+le.length;g.useEffect(()=>{if(!(!(m==="updates"||m==="up-to-date")||y.current)&&!(o||l||i.length===0)){if(!i.every(Me=>Me.status==="idle")){y.current=!0;return}y.current=!0,R()}},[R,o,l,i,m]);const ke=g.useMemo(()=>we!==0?"":(m==="updates"||m==="up-to-date")&&he?e("checkingAll"):(m==="updates"||m==="up-to-date")&&q===0?e("runCheckAllForFilter"):m==="updates"&&q>0&&F===0?e("noUpdatesFound"):m==="up-to-date"&&q>0&&$===0?e("noUpToDateYet"):e("noComponentsMatchFilter"),[we,m,he,q,F,$,e]),Ne=!x&&m!=="cli",Xe=e("componentFilterUpdatesCount").replace("{count}",F.toString()),gt=e("componentFilterUpToDateCount").replace("{count}",$.toString());return d.jsxs("div",{className:"relative",children:[d.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[d.jsx("div",{className:"absolute -top-20 -right-8 h-56 w-56 rounded-full bg-dash-accent/10 blur-3xl"}),d.jsx("div",{className:"absolute -bottom-24 -left-10 h-64 w-64 rounded-full bg-dash-accent/5 blur-3xl"})]}),d.jsxs("div",{className:"space-y-4",children:[d.jsx("section",{className:"dash-panel dash-sticky-glass p-4 md:p-5 sticky top-0 z-10",children:d.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[d.jsxs("div",{className:"space-y-1",children:[d.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:e("systemControlTower")}),d.jsx("h2",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:e("systemOverviewTitle")}),d.jsx("p",{className:"text-sm text-dash-text-secondary max-w-2xl",children:e("systemOverviewDesc")})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[d.jsx(MC,{value:f,onChange:T,disabled:o||l}),i.length>0&&d.jsx(NC,{components:i,isChecking:o,isUpdating:l,onCheckAll:R,onUpdateAll:L})]})]})}),d.jsxs("section",{className:"grid grid-cols-2 gap-3 xl:grid-cols-5",children:[d.jsx(fi,{label:e("components"),value:i.length.toString()}),d.jsx(fi,{label:e("kitsLabel"),value:z.toString()}),d.jsx(fi,{label:e("updateAvailable"),value:F.toString(),tone:"accent"}),d.jsx(fi,{label:e("upToDate"),value:$.toString(),tone:"success"}),d.jsx(fi,{label:e("checkedComponents"),value:q.toString()})]}),d.jsxs("section",{className:"grid gap-4 xl:grid-cols-[minmax(0,1fr)_320px]",children:[d.jsxs("div",{className:"space-y-3 min-w-0",children:[d.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 px-1",children:[d.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("installedComponentsHeading")}),d.jsxs("fieldset",{className:"flex items-center gap-2",children:[d.jsx("legend",{className:"sr-only",children:e("installedComponentsHeading")}),d.jsx(pi,{label:e("componentFilterAll"),value:m,activeValue:"all",onClick:()=>A("all")}),d.jsx(pi,{label:Xe,value:m,activeValue:"updates",onClick:()=>A("updates")}),d.jsx(pi,{label:gt,value:m,activeValue:"up-to-date",onClick:()=>A("up-to-date")}),d.jsx(pi,{label:e("componentFilterCli"),value:m,activeValue:"cli",onClick:()=>A("cli")}),d.jsx(pi,{label:e("componentFilterKits"),value:m,activeValue:"kits",onClick:()=>A("kits")})]})]}),ue&&d.jsx(DC,{version:t?.cliVersion??"...",installedAt:void 0,externalStatus:i.find(Y=>Y.id==="cli")?.status,externalLatestVersion:i.find(Y=>Y.id==="cli")?.latestVersion??null,onStatusChange:(Y,Me)=>N("cli",Y,Me),disabled:o||l,channel:f}),le.map(Y=>{const Me=i.find(Se=>Se.id===Y.id);return d.jsx(BC,{kitName:Y.kitName,kit:Y.kit,externalStatus:Me?.status,externalLatestVersion:Me?.latestVersion??null,onStatusChange:(Se,Ie)=>N(Y.id,Se,Ie),disabled:o||l,channel:f},Y.id)}),Ne&&d.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:d.jsx("p",{className:"text-sm text-dash-text-secondary",children:e("noKitInstalled")})}),!Ne&&we===0&&d.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:d.jsx("p",{className:"text-sm text-dash-text-secondary",children:ke})})]}),d.jsxs("aside",{className:"space-y-3 xl:sticky xl:top-20 self-start",children:[d.jsxs("div",{className:"dash-panel p-4 space-y-3",children:[d.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("updateReadiness")}),d.jsxs("div",{className:"space-y-2",children:[d.jsx(Fo,{label:e("updateAvailable"),value:F.toString(),tone:F>0?"accent":"default"}),d.jsx(Fo,{label:e("upToDate"),value:$.toString(),tone:"success"}),d.jsx(Fo,{label:e("checkedComponents"),value:q.toString()}),d.jsx(Fo,{label:e("activeChannel"),value:e(f==="beta"?"channelBeta":"channelStable")})]})]}),t&&d.jsx(RC,{configPath:t.configPath,nodeVersion:t.nodeVersion,bunVersion:t.bunVersion,os:t.os})]})]})]}),d.jsx(sd,{isOpen:h,onClose:()=>u(!1),target:"cli",mode:"batch",components:i.filter(Y=>Y.status==="update-available").map(Y=>({id:Y.id,name:Y.id==="cli"?"CLI":`${Y.id} Kit`})),onComplete:W})]})},fi=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-emerald-500":"text-dash-text";return d.jsxs("div",{className:"dash-panel p-3",children:[d.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:n}),d.jsx("p",{className:`mt-1 mono text-xl font-semibold ${r}`,children:e})]})},Fo=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-emerald-500":"text-dash-text-secondary";return d.jsxs("div",{className:"flex items-center justify-between rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2",children:[d.jsx("span",{className:"text-xs text-dash-text-muted",children:n}),d.jsx("span",{className:`mono text-xs font-semibold ${r}`,children:e})]})},pi=({label:n,value:e,activeValue:t,onClick:r})=>{const i=e===t;return d.jsx("button",{type:"button",onClick:r,"aria-pressed":i,className:`dash-focus-ring px-2.5 py-1.5 rounded-lg text-[11px] font-semibold border transition-colors ${i?"border-dash-accent/30 bg-dash-accent-subtle text-dash-accent":"border-dash-border bg-dash-surface text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n})},zl="~/.claude/settings.json",Vo="{}",_C=()=>{const{t:n}=pe(),[e,t]=g.useState(!0),[r,i]=g.useState(zl),[s,o]=g.useState(Vo),[a,l]=g.useState(Vo),[c,h]=g.useState(0),[u,f]=g.useState(!1),[p,m]=g.useState(!1),[b,y]=g.useState("idle"),[v,w]=g.useState(null),[C,j]=g.useState(null);g.useEffect(()=>{let N=!1;return(async()=>{t(!0),m(!1);try{const A=await yv();if(N)return;const L=JSON.stringify(A.settings??{},null,2);i(A.path||zl),f(!!A.exists),o(L),l(L),w(null)}catch{if(N)return;m(!0),f(!1),i(zl),o(Vo),l(Vo)}finally{N||t(!1)}})(),()=>{N=!0}},[]);const S=N=>{l(N),j(null);try{JSON.parse(N),w(null)}catch(R){w(R instanceof Error?R.message:"Invalid JSON")}},O=()=>{l(s),w(null),j(null),y("idle")},x=async()=>{if(!(e||v)){y("saving"),j(null);try{const N=JSON.parse(a),R=JSON.stringify(N,null,2),A=await xv(N);o(R),l(R),f(!0),y("saved"),j(A.backupPath?`${n("settingsBackupSaved")}: ${A.backupPath}`:n("saved")),setTimeout(()=>y("idle"),2e3)}catch(N){y("error"),j(N instanceof Error?N.message:n("saveFailed")),setTimeout(()=>y("idle"),3e3)}}},T=a!==s;return d.jsxs("section",{className:"h-full min-h-0 flex flex-col rounded-xl border border-dash-border bg-dash-surface p-3 shadow-sm",children:[d.jsxs("div",{className:"mb-2 flex items-end justify-between gap-3 px-1",children:[d.jsxs("div",{className:"min-w-0",children:[d.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:n("settingsJsonHeading")}),d.jsx("p",{className:"mono text-[11px] text-dash-text-muted truncate",children:r})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("button",{type:"button",onClick:O,disabled:e||!T||b==="saving",className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border disabled:opacity-50 disabled:cursor-not-allowed",children:n("discard")}),d.jsx("button",{type:"button",onClick:x,disabled:e||b==="saving"||!!v||!T,className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase disabled:opacity-50 disabled:cursor-not-allowed ${b==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":b==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:n(b==="saving"?"saving":b==="saved"?"saved":b==="error"?"saveFailed":"saveChanges")})]})]}),d.jsx("div",{className:"flex-1 min-h-0",children:d.jsx(id,{width:100,isLoading:e,jsonText:a,cursorLine:c,syntaxError:v,onChange:S,onCursorLineChange:h})}),C&&d.jsx("p",{className:`mt-2 px-1 text-xs ${b==="error"?"text-red-500":"text-dash-text-muted"}`,children:C}),!e&&!p&&!u&&d.jsx("p",{className:"mt-2 px-1 text-xs text-dash-text-muted",children:n("settingsJsonMissing")}),!e&&p&&d.jsx("p",{className:"mt-2 px-1 text-xs text-red-500",children:n("settingsJsonLoadFailed")})]})},HC={plan:{path:"plan",type:"object",default:"{}",description:"Configuration for plan management including naming conventions, resolution strategies, and validation workflows.",descriptionVi:"Cấu hình quản lý kế hoạch bao gồm quy ước đặt tên, chiến lược giải quyết và quy trình xác thực.",effect:"Controls how plans are created (namingFormat), located (resolution), and reviewed (validation) during development.",effectVi:"Điều khiển cách tạo kế hoạch (namingFormat), định vị (resolution) và xem xét (validation) trong quá trình phát triển."},"plan.resolution":{path:"plan.resolution",type:"object",default:"{}",description:"Settings for resolving which plan is currently active. Uses cascading resolution: session state (explicit) → branch name matching (suggested).",descriptionVi:"Cài đặt để xác định kế hoạch đang hoạt động. Sử dụng giải quyết theo tầng: trạng thái phiên (rõ ràng) → khớp tên nhánh (gợi ý).",effect:"'session' = ACTIVE (explicitly set via set-active-plan). 'branch' = SUGGESTED (hint from git branch name). 'mostRecent' was removed to avoid stale plan pollution.",effectVi:"'session' = ĐANG HOẠT ĐỘNG (đặt rõ ràng qua set-active-plan). 'branch' = GỢI Ý (từ tên nhánh git). 'mostRecent' đã bị xóa để tránh ô nhiễm kế hoạch cũ."},"plan.validation":{path:"plan.validation",type:"object",default:"{}",description:"Settings for the plan validation interview that reviews assumptions, risks, and architecture decisions.",descriptionVi:"Cài đặt cho phỏng vấn xác thực kế hoạch để xem xét giả định, rủi ro và quyết định kiến trúc.",effect:"Runs validation interview based on mode: 'auto' (always), 'prompt' (ask first), 'off' (skip). Questions focus on configured areas.",effectVi:"Chạy phỏng vấn xác thực dựa trên chế độ: 'auto' (luôn), 'prompt' (hỏi trước), 'off' (bỏ qua). Câu hỏi tập trung vào các lĩnh vực đã cấu hình."},paths:{path:"paths",type:"object",default:"{}",description:"Custom paths for project directories. Supports relative paths (from project root) or absolute paths for consolidated setups.",descriptionVi:"Đường dẫn tùy chỉnh cho các thư mục dự án. Hỗ trợ đường dẫn tương đối (từ thư mục gốc) hoặc tuyệt đối cho thiết lập tập trung.",effect:"Relative paths are resolved from project root. Absolute paths allow consolidated plans across repos.",effectVi:"Đường dẫn tương đối được giải quyết từ thư mục gốc dự án. Đường dẫn tuyệt đối cho phép kế hoạch tập trung giữa các repo."},locale:{path:"locale",type:"object",default:"{}",description:"Language settings separating internal AI reasoning from user-facing output for optimal precision.",descriptionVi:"Cài đặt ngôn ngữ tách suy luận AI nội bộ khỏi đầu ra cho người dùng để có độ chính xác tối ưu.",effect:"thinkingLanguage: for reasoning/logic (recommended: 'en'). responseLanguage: for user output (e.g., 'vi' for Vietnamese responses).",effectVi:"thinkingLanguage: cho suy luận/logic (khuyến nghị: 'en'). responseLanguage: cho đầu ra người dùng (vd: 'vi' cho phản hồi tiếng Việt)."},trust:{path:"trust",type:"object",default:"{}",description:"Trusted execution mode for bypassing certain security confirmations in controlled environments.",descriptionVi:"Chế độ thực thi tin cậy để bỏ qua một số xác nhận bảo mật trong môi trường được kiểm soát.",effect:"When trust.enabled=true, security prompts may be skipped. passphrase is used for context injection testing.",effectVi:"Khi trust.enabled=true, các lời nhắc bảo mật có thể bị bỏ qua. passphrase dùng để kiểm tra tiêm ngữ cảnh."},project:{path:"project",type:"object",default:"{}",description:"Override automatic project detection. Set to 'auto' for automatic detection or specify exact values.",descriptionVi:"Ghi đè phát hiện dự án tự động. Đặt 'auto' để tự động phát hiện hoặc chỉ định giá trị cụ thể.",effect:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/etc.",effectVi:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/v.v."},codingLevel:{path:"codingLevel",type:"number",default:"-1",validValues:["-1","0","1","2","3","4","5"],description:"Controls the communication style and depth of explanations based on user's coding experience level.",descriptionVi:"Điều khiển phong cách giao tiếp và độ sâu giải thích dựa trên trình độ lập trình của người dùng.",effect:"Loads corresponding output style and injects it into the session context. Changes how Claude explains code and structures responses.",effectVi:"Tải phong cách đầu ra tương ứng và đưa vào ngữ cảnh phiên. Thay đổi cách Claude giải thích code và cấu trúc phản hồi.",example:`{
71
71
  "codingLevel": 1
72
72
  }`},privacyBlock:{path:"privacyBlock",type:"boolean",default:"true",description:"Enables or disables the privacy protection hook that blocks access to sensitive files and domains.",descriptionVi:"Bật hoặc tắt hook bảo vệ quyền riêng tư, chặn truy cập vào các tệp và domain nhạy cảm.",effect:"When true, blocks reading files like .env, passwords, credentials, SSH keys, and API tokens.",effectVi:"Khi bật, chặn đọc các tệp như .env, mật khẩu, thông tin xác thực, SSH keys và API tokens.",example:`{
73
73
  "privacyBlock": false
@@ -213,7 +213,7 @@ Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}
213
213
  "statusline": "compact"
214
214
  }`},assertions:{path:"assertions",type:"string[]",default:"[]",description:"List of user-defined assertions that are injected at the start of every session.",descriptionVi:"Danh sách các khẳng định do người dùng định nghĩa, được tiêm vào đầu mỗi phiên.",example:`{
215
215
  "assertions": ["Use strict mode", "No console.logs"]
216
- }`}},BC=(n,e)=>{const[t,r]=b.useState(null);return b.useEffect(()=>{const i=n.split(`
217
- `),s=[];let o=null;for(let a=0;a<=Math.min(e,i.length-1);a++){const l=i[a].trim(),c=l.match(/"([^"]+)"\s*:\s*{/);if(c){s.push(c[1]),a===e&&(o=s.join("."));continue}if(l==="}"||l==="},"){s.pop();continue}const h=l.match(/"([^"]+)"\s*:/);if(h){const u=h[1];if(a===e){o=s.length>0?`${s.join(".")}.${u}`:u;break}}}r(o)},[n,e]),t};function Nb(n){const{scope:e,fetchConfig:t,fetchSchema:r,saveConfig:i,onReset:s}=n,[o,a]=b.useState("{}"),[l,c]=b.useState(0),[h,u]=b.useState(null),[f,p]=b.useState(null),[m,g]=b.useState({}),[y,v]=b.useState({}),[w,S]=b.useState({}),[O,C]=b.useState(!0),[P,x]=b.useState("idle"),[D,M]=b.useState(!1),[L,A]=b.useState(null),I=BC(o,l),W=I?IC[I]:null;b.useEffect(()=>{(async()=>{try{const[J,se]=await Promise.all([t(),r()]),le=J.local??J.config;g(le),v(J.global??{}),S(J.sources),p(se),a(JSON.stringify(le,null,2))}catch(J){console.error("Failed to load config data:",J)}finally{C(!1)}})()},[t,r]),b.useEffect(()=>{try{JSON.parse(o),u(null)}catch(_){u(_ instanceof Error?_.message:"Invalid JSON")}},[o]),b.useEffect(()=>{if(L==="json")try{const _=JSON.parse(o);g(_)}catch{}},[o,L]);const V=b.useCallback(_=>{A("json"),a(_)},[]),$=b.useCallback((_,J)=>{A("form"),g(se=>{const le=kv(se,_,J);return a(JSON.stringify(le,null,2)),le}),S(se=>({...se,[_]:e}))},[e]),q=b.useCallback(async()=>{if(!h){x("saving");try{const _=JSON.parse(o);await i(_),g(_),x("saved"),setTimeout(()=>x("idle"),2e3)}catch{x("error"),setTimeout(()=>x("idle"),3e3)}}},[o,h,i]),he=b.useCallback(async()=>{if(M(!1),s){C(!0);try{const _=await s(),J=_.local??_.config;g(J),S(_.sources),a(JSON.stringify(J,null,2))}catch(_){console.error("Failed to reset:",_)}finally{C(!1)}}else{const _={};g(_),a(JSON.stringify(_,null,2))}},[s]);return{jsonText:o,config:m,globalConfig:y,sources:w,schema:f,isLoading:O,saveStatus:P,syntaxError:h,cursorLine:l,showResetConfirm:D,activeFieldPath:I,fieldDoc:W,handleJsonChange:V,handleFormChange:$,handleSave:q,handleReset:he,setCursorLine:c,setShowResetConfirm:M}}function oh({storageKey:n,defaultSizes:e,minSizes:t}){const[r,i]=b.useState(()=>{if(typeof window>"u")return e;const c=localStorage.getItem(n);if(c)try{const h=JSON.parse(c);if(Array.isArray(h)&&h.length===e.length){const u=h.reduce((f,p)=>f+p,0);if(Math.abs(u-100)<1)return h}}catch{}return e}),[s,o]=b.useState(!1);b.useEffect(()=>{localStorage.setItem(n,JSON.stringify(r))},[r,n]);const a=b.useCallback((c,h)=>{h.preventDefault(),o(!0);const u=h.target.parentElement;if(!u)return;const p=u.getBoundingClientRect().width,m=h.clientX,g=[...r],y=w=>{const O=(w.clientX-m)/p*100,C=[...g],P=c,x=c+1;let D=g[P]+O,M=g[x]-O;D<t[P]&&(D=t[P],M=g[P]+g[x]-D),M<t[x]&&(M=t[x],D=g[P]+g[x]-M),C[P]=D,C[x]=M,i(C)},v=()=>{o(!1),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",v),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",y),document.addEventListener("mouseup",v),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[r,t]),l=b.useCallback(()=>{i(e)},[e]);return{sizes:r,isDragging:s,startDrag:a,reset:l}}const Ka="/api";async function np(n){const e=`${Ka}/ck-config`,t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch ck-config: ${t.status}`);return t.json()}async function rp(n,e){const t=new URLSearchParams({scope:n});e&&t.set("projectId",e);const r=await fetch(`${Ka}/ck-config?${t}`);if(!r.ok)throw new Error(`Failed to fetch ck-config: ${r.status}`);return r.json()}async function Db(n){const e=await fetch(`${Ka}/ck-config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.json().catch(()=>({error:"Unknown error"}));throw new Error(t.error||`Failed to save ck-config: ${e.status}`)}return e.json()}async function Tb(){const n=await fetch(`${Ka}/ck-config/schema`);if(!n.ok)throw new Error(`Failed to fetch schema: ${n.status}`);return n.json()}const $C=()=>{const{t:n}=me(),e=yn(),[t,r]=b.useState("config"),[i,s]=b.useState({}),{sizes:o,isDragging:a,startDrag:l}=oh({storageKey:"claudekit-global-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),{sizes:c,isDragging:h,startDrag:u}=oh({storageKey:"claudekit-global-system-panels",defaultSizes:[70,30],minSizes:[45,20]}),f=b.useCallback(async()=>{const[w,S]=await Promise.all([np(),mv()]);return s(S),w},[]),p=b.useCallback(async w=>{await Db({scope:"global",config:w})},[]),m=b.useCallback(async()=>await np(),[]),g=Nb({scope:"global",fetchConfig:f,fetchSchema:Tb,saveConfig:p,onReset:m}),y=b.useMemo(()=>[{id:"general",title:n("sectionGeneral"),fields:[{path:"codingLevel",label:n("fieldCodingLevel"),description:n("fieldCodingLevelDesc")},{path:"statusline",label:n("fieldStatusline"),description:n("fieldStatuslineDesc")},{path:"locale.thinkingLanguage",label:n("fieldThinkingLanguage"),description:n("fieldThinkingLanguageDesc")},{path:"locale.responseLanguage",label:n("fieldResponseLanguage"),description:n("fieldResponseLanguageDesc")}]},{id:"paths",title:n("sectionPaths"),fields:[{path:"paths.docs",label:n("fieldDocsPath"),description:n("fieldDocsPathDesc")},{path:"paths.plans",label:n("fieldPlansPath"),description:n("fieldPlansPathDesc")}]},{id:"privacy",title:n("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:n("fieldPrivacyBlock"),description:n("fieldPrivacyBlockDesc")},{path:"trust.enabled",label:n("fieldTrustEnabled"),description:n("fieldTrustEnabledDesc")},{path:"trust.passphrase",label:n("fieldTrustPassphrase"),description:n("fieldTrustPassphraseDesc")}]},{id:"project",title:n("sectionProject"),defaultCollapsed:!0,fields:[{path:"project.type",label:n("fieldProjectType"),description:n("fieldProjectTypeDesc")},{path:"project.packageManager",label:n("fieldPackageManager"),description:n("fieldPackageManagerDesc")},{path:"project.framework",label:n("fieldFramework"),description:n("fieldFrameworkDesc")}]},{id:"integrations",title:n("sectionIntegrations"),defaultCollapsed:!0,fields:[{path:"gemini.model",label:n("fieldGeminiModel"),description:n("fieldGeminiModelDesc")},{path:"skills.research.useGemini",label:n("fieldResearchUseGemini"),description:n("fieldResearchUseGeminiDesc")}]},{id:"hooks",title:n("sectionHooks"),defaultCollapsed:!0,fields:[{path:"hooks.session-init",label:n("fieldHookSessionInit"),description:n("fieldHookSessionInitDesc")},{path:"hooks.subagent-init",label:n("fieldHookSubagentInit"),description:n("fieldHookSubagentInitDesc")},{path:"hooks.descriptive-name",label:n("fieldHookDescriptiveName"),description:n("fieldHookDescriptiveNameDesc")},{path:"hooks.dev-rules-reminder",label:n("fieldHookDevRulesReminder"),description:n("fieldHookDevRulesReminderDesc")},{path:"hooks.usage-context-awareness",label:n("fieldHookUsageContextAwareness"),description:n("fieldHookUsageContextAwarenessDesc")},{path:"hooks.context-tracking",label:n("fieldHookContextTracking"),description:n("fieldHookContextTrackingDesc")},{path:"hooks.scout-block",label:n("fieldHookScoutBlock"),description:n("fieldHookScoutBlockDesc")},{path:"hooks.privacy-block",label:n("fieldHookPrivacyBlock"),description:n("fieldHookPrivacyBlockDesc")},{path:"hooks.post-edit-simplify-reminder",label:n("fieldHookPostEditSimplify"),description:n("fieldHookPostEditSimplifyDesc")}]},{id:"advanced",title:n("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:n("fieldDocsMaxLoc"),description:n("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:n("fieldPlanNamingFormat"),description:n("fieldPlanNamingFormatDesc")},{path:"plan.dateFormat",label:n("fieldPlanDateFormat"),description:n("fieldPlanDateFormatDesc")},{path:"plan.validation.mode",label:n("fieldPlanValidationMode"),description:n("fieldPlanValidationModeDesc")},{path:"plan.validation.minQuestions",label:n("fieldPlanMinQuestions"),description:n("fieldPlanMinQuestionsDesc")},{path:"plan.validation.maxQuestions",label:n("fieldPlanMaxQuestions"),description:n("fieldPlanMaxQuestionsDesc")},{path:"assertions",label:n("fieldAssertions"),description:n("fieldAssertionsDesc")}]}],[n]),v=g.showResetConfirm?d.jsxs("div",{className:"flex items-center gap-2 bg-red-500/10 border border-red-500/30 rounded-lg px-2 py-1 animate-in fade-in duration-200",children:[d.jsx("span",{className:"text-xs text-red-500 font-medium",children:n("confirmReset")}),d.jsx("button",{type:"button",onClick:g.handleReset,className:"px-2 py-0.5 rounded bg-red-500 text-white text-xs font-bold hover:bg-red-600 transition-colors",children:n("confirm")}),d.jsx("button",{type:"button",onClick:()=>g.setShowResetConfirm(!1),className:"px-2 py-0.5 rounded bg-dash-surface text-dash-text-secondary text-xs font-bold hover:bg-dash-surface-hover transition-colors border border-dash-border",children:n("cancel")})]}):d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button",onClick:()=>g.setShowResetConfirm(!0),className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:n("resetToDefault")}),d.jsx("button",{type:"button",onClick:g.handleSave,disabled:!!g.syntaxError||g.saveStatus==="saving",className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase ${g.syntaxError?"bg-dash-surface text-dash-text-muted cursor-not-allowed border border-dash-border":g.saveStatus==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":g.saveStatus==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:g.saveStatus==="saving"?n("saving"):g.saveStatus==="saved"?n("saved"):g.saveStatus==="error"?n("saveFailed"):n("saveChanges")})]});return d.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[d.jsx(Dm,{title:n("globalConfig"),filePath:"~/.claude/.ck.json",onBack:()=>e(-1),onSave:g.handleSave,onReset:g.handleReset,saveStatus:g.saveStatus,syntaxError:g.syntaxError,showResetConfirm:g.showResetConfirm,setShowResetConfirm:g.setShowResetConfirm,showActions:!1,showFilePath:!1}),d.jsxs("div",{className:"mb-3 shrink-0 flex items-center justify-between gap-3",children:[d.jsxs("div",{role:"tablist","aria-label":n("globalConfig"),className:"inline-flex items-center rounded-xl border border-dash-border bg-dash-surface p-1 shadow-sm",children:[d.jsx("button",{role:"tab","aria-selected":t==="config",onClick:()=>r("config"),className:`dash-focus-ring px-4 py-2 rounded-lg text-sm font-semibold transition-colors ${t==="config"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n("configTab")}),d.jsx("button",{role:"tab","aria-selected":t==="metadata",onClick:()=>r("metadata"),className:`dash-focus-ring px-4 py-2 rounded-lg text-sm font-semibold transition-colors ${t==="metadata"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n("systemTab")})]}),d.jsx("p",{className:"hidden lg:block text-xs text-dash-text-muted",children:n("configWorkspaceHint")})]}),d.jsxs("div",{className:"flex-1 flex min-h-0",children:[t==="config"&&d.jsxs(d.Fragment,{children:[d.jsx(Tm,{width:o[0],isLoading:g.isLoading,schema:g.schema,config:g.config,sources:g.sources,sections:y,onChange:g.handleFormChange}),d.jsx(jr,{direction:"horizontal",isDragging:a,onMouseDown:w=>l(0,w)}),d.jsx(ed,{width:o[1],isLoading:g.isLoading,jsonText:g.jsonText,cursorLine:g.cursorLine,syntaxError:g.syntaxError,onChange:g.handleJsonChange,onCursorLineChange:g.setCursorLine,headerPath:"~/.claude/.ck.json",headerActions:v}),d.jsx(jr,{direction:"horizontal",isDragging:a,onMouseDown:w=>l(1,w)}),d.jsx(Pb,{width:o[2],fieldDoc:g.fieldDoc,activeFieldPath:g.activeFieldPath})]}),t==="metadata"&&d.jsxs("div",{className:"flex-1 min-h-0 flex",children:[d.jsx("div",{style:{width:`${c[0]}%`},className:"min-w-0 h-full overflow-auto pr-1",children:g.isLoading?d.jsx("div",{className:"dash-panel h-full flex items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:n("loading")})}):d.jsx(RC,{metadata:i})}),d.jsx(jr,{direction:"horizontal",isDragging:h,onMouseDown:w=>u(0,w)}),d.jsx("div",{style:{width:`${c[1]}%`},className:"min-w-0 h-full overflow-hidden",children:d.jsx(LC,{})})]})]})]})};function FC(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function fr(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(FC(r)||(e+=t))}return e}const VC=({results:n,onReset:e})=>{const{t}=me(),r=(()=>{const i=new Map;return n.results.map(s=>{const o=[s.provider,s.providerDisplayName||"",s.type||"",s.item||"",s.path||"",s.success?"1":"0",s.skipped?"1":"0",s.error||"",s.skipReason||""].join(":"),a=i.get(o)??0;return i.set(o,a+1),{result:s,rowKey:a===0?o:`${o}:${a}`}})})();return d.jsx("div",{className:"space-y-4",children:d.jsxs("div",{className:"dash-panel p-5",children:[d.jsxs("div",{className:"flex items-center justify-between mb-4",children:[d.jsx("h2",{className:"text-lg font-semibold text-dash-text",children:t("migrateSummaryTitle")}),d.jsx("button",{type:"button",onClick:e,className:"dash-focus-ring px-4 py-2 text-sm font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:t("migrateSummaryNewMigration")})]}),d.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 mb-4",children:[d.jsxs("div",{className:"px-4 py-3 bg-dash-bg border border-dash-border rounded-md",children:[d.jsx("p",{className:"text-xs uppercase tracking-wide text-dash-text-muted",children:t("migrateInstalled")}),d.jsx("p",{className:"text-2xl font-semibold text-green-400 mt-1",children:n.counts.installed})]}),d.jsxs("div",{className:"px-4 py-3 bg-dash-bg border border-dash-border rounded-md",children:[d.jsx("p",{className:"text-xs uppercase tracking-wide text-dash-text-muted",children:t("migrateSkipped")}),d.jsx("p",{className:"text-2xl font-semibold text-yellow-400 mt-1",children:n.counts.skipped})]}),d.jsxs("div",{className:"px-4 py-3 bg-dash-bg border border-dash-border rounded-md",children:[d.jsx("p",{className:"text-xs uppercase tracking-wide text-dash-text-muted",children:t("migrateFailed")}),d.jsx("p",{className:"text-2xl font-semibold text-red-400 mt-1",children:n.counts.failed})]})]}),n.warnings.length>0&&d.jsx("div",{className:"mb-4 space-y-2",children:n.warnings.map((i,s)=>d.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-xs text-yellow-400",children:fr(i)},s))}),n.results.length>0&&d.jsx("div",{className:"overflow-auto border border-dash-border rounded-md",children:d.jsxs("table",{className:"min-w-full text-xs",children:[d.jsx("thead",{className:"bg-dash-bg text-dash-text-muted uppercase tracking-wide",children:d.jsxs("tr",{children:[d.jsx("th",{className:"text-left px-3 py-2",children:t("migrateProvider")}),d.jsx("th",{className:"text-left px-3 py-2",children:t("migrateType")}),d.jsx("th",{className:"text-left px-3 py-2",children:t("migrateItem")}),d.jsx("th",{className:"text-left px-3 py-2",children:t("migrateStatus")}),d.jsx("th",{className:"text-left px-3 py-2",children:t("migratePath")}),d.jsx("th",{className:"text-left px-3 py-2",children:t("migrateError")})]})}),d.jsx("tbody",{children:r.map(({result:i,rowKey:s},o)=>{const a=zC(i,t);return d.jsxs("tr",{className:o%2===1?"bg-dash-bg/40":void 0,children:[d.jsx("td",{className:"px-3 py-2 border-t border-dash-border",children:fr(i.providerDisplayName||i.provider)}),d.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-dash-text-muted",children:fr(i.type||"-")}),d.jsx("td",{className:"px-3 py-2 border-t border-dash-border font-mono",children:fr(i.item||"-")}),d.jsx("td",{className:`px-3 py-2 border-t border-dash-border ${a.className}`,children:a.label}),d.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-dash-text-muted font-mono text-[10px]",children:fr(i.path||"-")}),d.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-red-400",children:fr(i.error||i.skipReason||"-")})]},s)})})]})})]})})};function zC(n,e){return n.success?n.skipped?{label:e("migrateStatusSkipped"),className:"text-yellow-400"}:{label:e("migrateStatusInstalled"),className:"text-green-400"}:{label:e("migrateStatusFailed"),className:"text-red-400"}}const HC=500;function _C(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function WC(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(_C(r)||(e+=t))}return e}const UC=({diff:n,className:e=""})=>{const t=n.split(`
218
- `),r=t.slice(0,HC),i=t.length-r.length;return d.jsxs("pre",{className:`text-xs font-mono overflow-x-auto p-3 rounded bg-dash-bg border border-dash-border ${e}`,children:[r.map((s,o)=>{const a=WC(s);let l="text-dash-text";return a.startsWith("+")?l="text-green-400 bg-green-500/10":a.startsWith("-")?l="text-red-400 bg-red-500/10":a.startsWith("@@")&&(l="text-blue-400"),d.jsx("div",{className:l,children:a},`${o}:${a.slice(0,24)}`)}),i>0&&d.jsxs("div",{className:"text-dash-text-muted",children:["... truncated ",i," additional line(s)"]})]})};function KC(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function ui(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(KC(r)||(e+=t))}return e}const GC=({action:n,resolution:e,onResolve:t})=>{const{t:r}=me(),[i,s]=b.useState(!1),o=n.ownedSections&&n.ownedSections.length>0;return d.jsxs("div",{className:"border border-dash-border rounded-lg p-4 mb-3 bg-dash-surface",children:[d.jsxs("div",{className:"flex justify-between items-start gap-4",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"font-mono text-sm text-dash-text truncate",children:[ui(n.provider),"/",ui(n.type),"/",ui(n.item)]}),d.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:ui(n.reason)}),n.targetPath&&d.jsx("p",{className:"text-xs text-dash-text-secondary mt-1 font-mono truncate",children:ui(n.targetPath)})]}),d.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[d.jsx("button",{type:"button",onClick:()=>t({type:"overwrite"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="overwrite"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictUseCK")}),d.jsx("button",{type:"button",onClick:()=>t({type:"keep"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="keep"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictKeepMine")}),o&&d.jsx("button",{type:"button",onClick:()=>t({type:"smart-merge"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="smart-merge"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictSmartMerge")}),n.diff&&d.jsx("button",{type:"button",onClick:()=>s(!i),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:r(i?"migrateConflictHideDiff":"migrateConflictShowDiff")})]})]}),i&&n.diff&&d.jsx(UC,{diff:n.diff,className:"mt-3"}),e&&d.jsxs("div",{className:"mt-2 text-xs text-green-400 flex items-center gap-1.5",children:[d.jsx("svg",{className:"w-3.5 h-3.5",fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),d.jsxs("span",{children:[r("migrateConflictResolved"),": ",qC(e.type,r)]})]})]})};function qC(n,e){switch(n){case"overwrite":return e("migrateConflictUseCK");case"keep":return e("migrateConflictKeepMine");case"smart-merge":return e("migrateConflictSmartMerge");case"resolved":return e("migrateConflictManual");default:return String(n)}}const Jn=200;function JC(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function fi(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(JC(r)||(e+=t))}return e}function YC(n){const e={install:[],update:[],skip:[],conflict:[],delete:[]};for(const t of n){const r=t.action;e[r].push(t)}return e}const QC=({plan:n,resolutions:e,onResolve:t,actionKey:r})=>{const{t:i}=me(),[s,o]=b.useState(!1),a=b.useMemo(()=>YC(n.actions),[n.actions]),l=c=>{for(const h of a.conflict)t(h,{type:c})};return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex flex-wrap gap-2 text-xs",children:[n.summary.install>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-green-500/10 border border-green-500/30 text-green-400",children:[n.summary.install," ",i("migrateActionInstall")]}),n.summary.update>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-yellow-500/10 border border-yellow-500/30 text-yellow-400",children:[n.summary.update," ",i("migrateActionUpdate")]}),n.summary.skip>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-muted",children:[n.summary.skip," ",i("migrateActionSkip")]}),n.summary.conflict>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-red-500/10 border border-red-500/30 text-red-400",children:[n.summary.conflict," ",i("migrateActionConflict")]}),n.summary.delete>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary",children:[n.summary.delete," ",i("migrateActionDelete")]})]}),a.conflict.length>0&&d.jsxs("div",{className:"border border-red-500/30 rounded-lg bg-red-500/5",children:[d.jsx("div",{className:"px-4 py-3 border-b border-red-500/20",children:d.jsxs("div",{className:"flex items-center justify-between gap-3",children:[d.jsxs("h3",{className:"text-sm font-semibold text-red-400",children:[i("migrateConflictSectionTitle")," (",a.conflict.length,")"]}),d.jsxs("div",{className:"flex gap-2",children:[d.jsx("button",{type:"button",onClick:()=>l("overwrite"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:i("migrateConflictOverwriteAll")}),d.jsx("button",{type:"button",onClick:()=>l("keep"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:i("migrateConflictKeepAll")})]})]})}),d.jsxs("div",{className:"p-4 space-y-3",children:[a.conflict.slice(0,Jn).map(c=>d.jsx(GC,{action:c,resolution:e.get(r(c))||null,onResolve:h=>t(c,h)},r(c))),a.conflict.length>Jn&&d.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",a.conflict.length-Jn," more conflict(s)"]})]})]}),a.install.length>0&&d.jsx($l,{title:i("migrateActionInstall"),actions:a.install,badgeClass:"bg-green-500/10 border-green-500/30 text-green-400"}),a.update.length>0&&d.jsx($l,{title:i("migrateActionUpdate"),actions:a.update,badgeClass:"bg-yellow-500/10 border-yellow-500/30 text-yellow-400"}),a.delete.length>0&&d.jsx($l,{title:i("migrateActionDelete"),actions:a.delete,badgeClass:"bg-dash-bg border-dash-border text-dash-text-secondary"}),a.skip.length>0&&d.jsxs("div",{className:"border border-dash-border rounded-lg bg-dash-surface",children:[d.jsxs("button",{type:"button",onClick:()=>o(!s),className:"w-full px-4 py-3 flex items-center justify-between text-left hover:bg-dash-surface-hover transition-colors",children:[d.jsx("div",{className:"flex items-center gap-2",children:d.jsxs("span",{className:"text-sm font-semibold text-dash-text-muted",children:[i("migrateActionSkip")," (",a.skip.length," ",i("migrateUnchanged"),")"]})}),d.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform ${s?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),s&&d.jsxs("div",{className:"px-4 pb-4 space-y-2",children:[a.skip.slice(0,Jn).map(c=>d.jsx(Eb,{action:c},r(c))),a.skip.length>Jn&&d.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",a.skip.length-Jn," more skipped action(s)"]})]})]})]})},$l=({title:n,actions:e,badgeClass:t})=>{const r=e.slice(0,Jn),i=e.length-r.length;return d.jsxs("div",{className:"border border-dash-border rounded-lg bg-dash-surface",children:[d.jsx("div",{className:"px-4 py-3 border-b border-dash-border",children:d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("h3",{className:"text-sm font-semibold text-dash-text",children:n}),d.jsx("span",{className:`px-2 py-0.5 text-xs rounded-md border ${t}`,children:e.length})]})}),d.jsxs("div",{className:"p-4 space-y-2",children:[r.map(s=>d.jsx(Eb,{action:s},`${s.provider}:${s.type}:${s.item}:${s.global}:${s.action}`)),i>0&&d.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",i," more action(s)"]})]})]})},Eb=({action:n})=>d.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border",children:[d.jsxs("div",{className:"font-mono text-xs text-dash-text",children:[fi(n.provider),"/",fi(n.type),"/",fi(n.item)]}),d.jsx("div",{className:"text-xs text-dash-text-muted mt-1",children:fi(n.reason)}),n.targetPath&&d.jsx("div",{className:"text-xs text-dash-text-secondary mt-0.5 font-mono truncate",children:fi(n.targetPath)})]});var XC=function(e){return typeof window<"u"?matchMedia&&matchMedia("(prefers-color-scheme: ".concat(e,")")):{matches:!1}},Fl,ZC=b.createContext({appearance:"light",setAppearance:function(){},isDarkMode:!1,themeMode:"light",setThemeMode:function(){},browserPrefers:(Fl=XC("dark"))!==null&&Fl!==void 0&&Fl.matches?"dark":"light"}),ej=function(){return b.useContext(ZC)};const Rb=(n,e)=>{if(e)return"row";switch(n){case"horizontal":return"row";case"horizontal-reverse":return"row-reverse";case"vertical":default:return"column";case"vertical-reverse":return"column-reverse"}},tj=n=>{if(n)return["space-between","space-around","space-evenly"].includes(n)},nj=(n,e)=>Rb(n,e)==="row",pr=n=>typeof n=="number"?`${n}px`:n,rj=({visible:n,flex:e,gap:t,direction:r,horizontal:i,align:s,justify:o,distribution:a,height:l,width:c,padding:h,paddingInline:u,paddingBlock:f,prefixCls:p,as:m="div",className:g,style:y,children:v,wrap:w,ref:S,...O})=>{const C=o||a,x=nj(r,i)&&!c&&tj(C)?"100%":pr(c),D={...e!==void 0?{"--lobe-flex":String(e)}:{},...r||i?{"--lobe-flex-direction":Rb(r,i)}:{},...w!==void 0?{"--lobe-flex-wrap":w}:{},...C!==void 0?{"--lobe-flex-justify":C}:{},...s!==void 0?{"--lobe-flex-align":s}:{},...x!==void 0?{"--lobe-flex-width":x}:{},...l!==void 0?{"--lobe-flex-height":pr(l)}:{},...h!==void 0?{"--lobe-flex-padding":pr(h)}:{},...u!==void 0?{"--lobe-flex-padding-inline":pr(u)}:{},...f!==void 0?{"--lobe-flex-padding-block":pr(f)}:{},...t!==void 0?{"--lobe-flex-gap":pr(t)}:{},...y},M="lobe-flex",L=[M,n===!1?`${M}--hidden`:void 0,p?`${p}-flex`:void 0,g].filter(Boolean).join(" ");return d.jsx(m,{ref:S,...O,className:L,style:D,children:v})};var Lb=b.memo(rj);const ij=({children:n,ref:e,...t})=>d.jsx(Lb,{...t,align:"center",justify:"center",ref:e,children:n});var sj=ij;const oj=/\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;function aj(n){return Array.from(n.match(oj)??[])}function lj(n){return aj(n).map(t=>t.toLowerCase()).join("-")}b.createContext(null);var cj=function(e,t){if(t){if(e&&t==="#000")return"0 0 0 1px rgba(255,255,255,0.1) inset";if(!e&&t==="#fff")return"0 0 0 1px rgba(0,0,0,0.05) inset"}};function Xi(n){"@babel/helpers - typeof";return Xi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xi(n)}var hj=["shape","color","background","size","style","iconMultiple","Icon","iconStyle","iconClassName"];function ip(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Io(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ip(Object(t),!0).forEach(function(r){dj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ip(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function dj(n,e,t){return e=uj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function uj(n){var e=fj(n,"string");return Xi(e)=="symbol"?e:String(e)}function fj(n,e){if(Xi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Xi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function pj(n,e){if(n==null)return{};var t=mj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function mj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var zn=b.memo(function(n){var e=n.shape,t=e===void 0?"circle":e,r=n.color,i=r===void 0?"#fff":r,s=n.background,o=n.size,a=n.style,l=n.iconMultiple,c=l===void 0?.75:l,h=n.Icon,u=n.iconStyle,f=n.iconClassName,p=pj(n,hj),m=ej(),g=m.isDarkMode;return d.jsx(sj,Io(Io({flex:"none",style:Io({background:s,borderRadius:t==="circle"?"50%":Math.floor(o*.1),boxShadow:cj(g,s),color:i,height:o,width:o},a)},p),{},{children:h&&d.jsx(h,{className:f,color:i,size:o,style:Io({transform:"scale(".concat(c,")")},u)})}))});function Zi(n){"@babel/helpers - typeof";return Zi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zi(n)}var gj=["Icon","style","Text","color","size","spaceMultiple","textMultiple","extra","extraStyle","showText","showLogo","extraClassName","iconProps","inverse"];function sp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function vn(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?sp(Object(t),!0).forEach(function(r){bj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):sp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function bj(n,e,t){return e=yj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function yj(n){var e=xj(n,"string");return Zi(e)=="symbol"?e:String(e)}function xj(n,e){if(Zi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Zi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function vj(n,e){if(n==null)return{};var t=wj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function wj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Hn=b.memo(function(n){var e=n.Icon,t=n.style,r=n.Text,i=n.color,s=n.size,o=s===void 0?24:s,a=n.spaceMultiple,l=a===void 0?1:a,c=n.textMultiple,h=c===void 0?1:c,u=n.extra,f=n.extraStyle,p=n.showText,m=p===void 0?!0:p,g=n.showLogo,y=g===void 0?!0:g,v=n.extraClassName,w=n.iconProps,S=n.inverse,O=vj(n,gj),C=e&&y&&d.jsx(e,vn(vn({size:o},w),{},{style:vn(S?{marginLeft:o*l}:{marginRight:o*l},w?.style)})),P=m&&r&&d.jsx(r,{size:o*h});return d.jsxs(Lb,vn(vn({align:"center",flex:"none",horizontal:!0,justify:"flex-start",style:vn({color:i},t)},O),{},{children:[S?d.jsxs(d.Fragment,{children:[P,C]}):d.jsxs(d.Fragment,{children:[C,P]}),u&&d.jsx("span",{className:v,style:vn({fontSize:o*h*.95,lineHeight:1},f),children:u})]}))}),kj=function(e,t){return b.useMemo(function(){var r=Array.from({length:t},function(i,s){var o="lobe-icons-".concat(lj(e),"-fill-").concat(s);return{fill:"url(#".concat(o,")"),id:o}});return r},[e,t])},Kr="Claude",Sj=.8,Cj=.1,Ib="#D97757",jj=Ib,Oj="#fff",Pj=.75;function es(n){"@babel/helpers - typeof";return es=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},es(n)}var Aj=["size","style"];function op(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Vl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?op(Object(t),!0).forEach(function(r){Mj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):op(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Mj(n,e,t){return e=Nj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Nj(n){var e=Dj(n,"string");return es(e)=="symbol"?e:String(e)}function Dj(n,e){if(es(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(es(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Tj(n,e){if(n==null)return{};var t=Ej(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Ej(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var nd=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Tj(n,Aj);return d.jsxs("svg",Vl(Vl({fill:"currentColor",fillRule:"evenodd",height:t,style:Vl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Kr}),d.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"})]}))});function ts(n){"@babel/helpers - typeof";return ts=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ts(n)}function ap(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Rj(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ap(Object(t),!0).forEach(function(r){Lj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ap(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Lj(n,e,t){return e=Ij(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ij(n){var e=Bj(n,"string");return ts(e)=="symbol"?e:String(e)}function Bj(n,e){if(ts(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ts(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function $j(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Fj=b.memo(function(n){var e=Object.assign({},($j(n),n));return d.jsx(zn,Rj({Icon:nd,"aria-label":Kr,background:jj,color:Oj,iconMultiple:Pj},e))});function ns(n){"@babel/helpers - typeof";return ns=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ns(n)}var Vj=["size","style"];function lp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function zl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?lp(Object(t),!0).forEach(function(r){zj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):lp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function zj(n,e,t){return e=Hj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Hj(n){var e=_j(n,"string");return ns(e)=="symbol"?e:String(e)}function _j(n,e){if(ns(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ns(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Wj(n,e){if(n==null)return{};var t=Uj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Uj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Bb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Wj(n,Vj);return d.jsxs("svg",zl(zl({height:t,style:zl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Kr}),d.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z",fill:"#D97757",fillRule:"nonzero"})]}))});function rs(n){"@babel/helpers - typeof";return rs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rs(n)}var Kj=["size","style"];function cp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Hl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?cp(Object(t),!0).forEach(function(r){Gj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):cp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Gj(n,e,t){return e=qj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function qj(n){var e=Jj(n,"string");return rs(e)=="symbol"?e:String(e)}function Jj(n,e){if(rs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(rs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Yj(n,e){if(n==null)return{};var t=Qj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Qj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var $b=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Yj(n,Kj);return d.jsxs("svg",Hl(Hl({fill:"currentColor",fillRule:"nonzero",height:t,style:Hl({flex:"none",lineHeight:1},r),viewBox:"0 0 97 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Kr}),d.jsx("path",{d:"M13.623 20.222c-3.417 0-5.753-1.901-6.855-4.827a12.992 12.992 0 01-.838-4.772c0-4.907 2.206-8.315 7.08-8.315 3.275 0 5.297 1.425 6.448 4.826h1.402l-.19-4.69C18.709 1.18 16.258.543 13.276.543c-4.2 0-7.775 1.874-9.763 5.254a11.357 11.357 0 00-1.511 5.872c0 3.753 1.777 7.08 5.113 8.926a11.95 11.95 0 005.943 1.398c3.254 0 5.835-.617 8.122-1.697l.593-5.172h-1.43c-.858 2.362-1.88 3.78-3.574 4.534-.831.373-1.88.564-3.146.564zm14.74-17.914L28.499 0h-.967L23.23 1.29v.699l1.907.882v16.142c0 1.1-.565 1.344-2.043 1.528v1.18h7.319v-1.18c-1.484-.184-2.042-.428-2.042-1.528V2.315l-.007-.007zm29.104 19.685h.565l4.95-.937v-1.208l-.695-.054c-1.157-.109-1.457-.346-1.457-1.29V9.897l.137-2.763h-.783l-4.678.672v1.181l.457.082c1.266.183 1.64.536 1.64 1.419v7.67c-1.212.937-2.369 1.527-3.744 1.527-1.525 0-2.471-.774-2.471-2.58V9.905l.136-2.763h-.804l-4.684.672v1.181l.484.082c1.266.183 1.64.536 1.64 1.418v7.08c0 3 1.703 4.426 4.412 4.426 2.07 0 3.765-1.1 5.038-2.627L57.474 22l-.007-.007zm-13.602-9.55c0-3.836-2.043-5.309-5.733-5.309-3.254 0-5.616 1.344-5.616 3.57 0 .666.238 1.175.721 1.528l2.478-.326c-.109-.746-.163-1.201-.163-1.391 0-1.263.674-1.901 2.042-1.901 2.022 0 3.044 1.419 3.044 3.7v.746l-5.106 1.527c-1.702.462-2.67.863-3.316 1.8a3.386 3.386 0 00-.476 1.9c0 2.172 1.497 3.706 4.057 3.706 1.852 0 3.493-.835 4.922-2.416.51 1.581 1.294 2.416 2.69 2.416 1.13 0 2.15-.455 3.063-1.344l-.272-.937a4.363 4.363 0 01-1.178.163c-.783 0-1.157-.617-1.157-1.826v-5.607zm-6.536 7.378c-1.396 0-2.26-.808-2.26-2.226 0-.964.456-1.528 1.43-1.854l4.139-1.31v3.965c-1.321.997-2.097 1.425-3.31 1.425zm43.095 1.235v-1.208l-.701-.054c-1.158-.109-1.45-.346-1.45-1.29V2.308L78.409 0h-.974l-4.302 1.29v.699l1.906.882V8.18a6.024 6.024 0 00-3.656-1.046c-4.276 0-7.612 3.245-7.612 8.098 0 3.998 2.397 6.761 6.346 6.761 2.042 0 3.819-.99 4.922-2.525l-.136 2.525h.571l4.95-.937zm-8.96-12.313c2.043 0 3.575 1.181 3.575 3.353v6.11a4.91 4.91 0 01-3.547 1.425c-2.928 0-4.412-2.308-4.412-5.39 0-3.462 1.695-5.498 4.385-5.498zm19.424 3.055c-.381-1.792-1.484-2.81-3.016-2.81-2.288 0-3.874 1.717-3.874 4.18 0 3.646 1.934 6.008 5.059 6.008a5.858 5.858 0 005.03-2.953l.913.245c-.408 3.163-3.281 5.525-6.808 5.525-4.14 0-6.992-3.054-6.992-7.399 0-4.378 3.098-7.46 7.237-7.46 3.09 0 5.27 1.853 5.97 5.07l-10.783 3.3V14.05l7.264-2.247v-.006z"})]}))});function is(n){"@babel/helpers - typeof";return is=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},is(n)}var Xj=["type"];function hp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Zj(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?hp(Object(t),!0).forEach(function(r){e6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):hp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function e6(n,e,t){return e=t6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function t6(n){var e=n6(n,"string");return is(e)=="symbol"?e:String(e)}function n6(n,e){if(is(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(is(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function r6(n,e){if(n==null)return{};var t=i6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function i6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var s6=b.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=r6(n,Xj),i=t==="color"?Bb:nd;return d.jsx(Hn,Zj({Icon:i,Text:$b,"aria-label":Kr,spaceMultiple:Cj,textMultiple:Sj},r))}),hr=nd;hr.Color=Bb;hr.Text=$b;hr.Combine=s6;hr.Avatar=Fj;hr.colorPrimary=Ib;hr.title=Kr;var Us="OpenAI",o6=.75,a6=.1,Fb="#000",Vb="#19C37D",zb="#AB68FF",Hb="#F86AA4",rd="#F9C322",_b="#0099FF",Wb="#0000FE",l6=Fb,c6="#fff",h6=.75;function ss(n){"@babel/helpers - typeof";return ss=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ss(n)}var d6=["size","style"];function dp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function _l(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?dp(Object(t),!0).forEach(function(r){u6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):dp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function u6(n,e,t){return e=f6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function f6(n){var e=p6(n,"string");return ss(e)=="symbol"?e:String(e)}function p6(n,e){if(ss(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ss(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function m6(n,e){if(n==null)return{};var t=g6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function g6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var id=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=m6(n,d6);return d.jsxs("svg",_l(_l({fill:"currentColor",fillRule:"evenodd",height:t,style:_l({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Us}),d.jsx("path",{d:"M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z"})]}))}),ar="Gemini",b6=.8,y6=.2,Ub="#fff",x6=Ub,v6="#fff",w6=.8;function os(n){"@babel/helpers - typeof";return os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},os(n)}var k6=["size","style"];function up(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Wl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?up(Object(t),!0).forEach(function(r){S6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):up(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function S6(n,e,t){return e=C6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function C6(n){var e=j6(n,"string");return os(e)=="symbol"?e:String(e)}function j6(n,e){if(os(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(os(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function O6(n,e){return N6(n)||M6(n,e)||A6(n,e)||P6()}function P6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
219
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A6(n,e){if(n){if(typeof n=="string")return fp(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return fp(n,e)}}function fp(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function M6(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var r,i,s,o,a=[],l=!0,c=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(r=s.call(t)).done)&&(a.push(r.value),a.length!==e);l=!0);}catch(h){c=!0,i=h}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw i}}return a}}function N6(n){if(Array.isArray(n))return n}function D6(n,e){if(n==null)return{};var t=T6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function T6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var sd=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=D6(n,k6),s=kj(ar,3),o=O6(s,3),a=o[0],l=o[1],c=o[2];return d.jsxs("svg",Wl(Wl({height:t,style:Wl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:ar}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:"#3186FF"}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:a.fill}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:l.fill}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:c.fill}),d.jsxs("defs",{children:[d.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:a.id,x1:"7",x2:"11",y1:"15.5",y2:"12",children:[d.jsx("stop",{stopColor:"#08B962"}),d.jsx("stop",{offset:"1",stopColor:"#08B962",stopOpacity:"0"})]}),d.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:l.id,x1:"8",x2:"11.5",y1:"5.5",y2:"11",children:[d.jsx("stop",{stopColor:"#F94543"}),d.jsx("stop",{offset:"1",stopColor:"#F94543",stopOpacity:"0"})]}),d.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:c.id,x1:"3.5",x2:"17.5",y1:"13.5",y2:"12",children:[d.jsx("stop",{stopColor:"#FABC12"}),d.jsx("stop",{offset:".46",stopColor:"#FABC12",stopOpacity:"0"})]})]})]}))});function as(n){"@babel/helpers - typeof";return as=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},as(n)}function pp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function E6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pp(Object(t),!0).forEach(function(r){R6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):pp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function R6(n,e,t){return e=L6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function L6(n){var e=I6(n,"string");return as(e)=="symbol"?e:String(e)}function I6(n,e){if(as(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(as(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function B6(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var $6=b.memo(function(n){var e=Object.assign({},(B6(n),n));return d.jsx(zn,E6({Icon:sd,"aria-label":ar,background:x6,color:v6,iconMultiple:w6},e))});function ls(n){"@babel/helpers - typeof";return ls=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ls(n)}var F6=["size","style"];function mp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ul(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mp(Object(t),!0).forEach(function(r){V6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):mp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function V6(n,e,t){return e=z6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function z6(n){var e=H6(n,"string");return ls(e)=="symbol"?e:String(e)}function H6(n,e){if(ls(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ls(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function _6(n,e){if(n==null)return{};var t=W6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function W6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Kb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=_6(n,F6);return d.jsxs("svg",Ul(Ul({fill:"currentColor",fillRule:"evenodd",height:t,style:Ul({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:ar}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"})]}))});function cs(n){"@babel/helpers - typeof";return cs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},cs(n)}var U6=["size","style"];function gp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Kl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?gp(Object(t),!0).forEach(function(r){K6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):gp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function K6(n,e,t){return e=G6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function G6(n){var e=q6(n,"string");return cs(e)=="symbol"?e:String(e)}function q6(n,e){if(cs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(cs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function J6(n,e){if(n==null)return{};var t=Y6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Y6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Gb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=J6(n,U6);return d.jsxs("svg",Kl(Kl({fill:"currentColor",fillRule:"evenodd",height:t,style:Kl({flex:"none",lineHeight:1},r),viewBox:"0 0 98 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:ar}),d.jsx("path",{d:"M21.186 12.67c0 2.649-.786 4.759-2.359 6.33-1.766 1.87-4.09 2.806-6.969 2.806-2.756 0-5.088-.953-6.996-2.86C2.954 17.04 2 14.693 2 11.904c0-2.789.954-5.137 2.862-7.043C6.77 2.953 9.102 2 11.858 2c1.396 0 2.712.247 3.949.741 1.236.495 2.252 1.192 3.047 2.092l-1.749 1.748c-.583-.706-1.338-1.258-2.266-1.655a7.49 7.49 0 00-2.981-.596c-2.067 0-3.816.715-5.247 2.145-1.413 1.448-2.12 3.257-2.12 5.428s.707 3.98 2.12 5.428c1.431 1.43 3.18 2.145 5.247 2.145 1.89 0 3.463-.53 4.717-1.588 1.254-1.06 1.979-2.516 2.173-4.37h-6.89v-2.277h9.196c.088.495.132.971.132 1.43m7.652-4.633c1.946 0 3.494.629 4.645 1.886 1.15 1.257 1.726 3.018 1.726 5.282l-.027.268H24.877c.036 1.284.464 2.318 1.285 3.102.82.785 1.802 1.177 2.944 1.177 1.57 0 2.802-.784 3.694-2.354l2.195 1.07a6.54 6.54 0 01-2.45 2.595C31.503 21.688 30.32 22 29 22c-1.927 0-3.516-.66-4.765-1.98-1.249-1.319-1.873-2.986-1.873-5.001 0-1.997.606-3.66 1.82-4.988 1.213-1.329 2.766-1.993 4.657-1.993m-.053 2.247c-.928 0-1.727.285-2.396.856-.67.57-1.11 1.337-1.325 2.3h7.522c-.071-.91-.442-1.663-1.111-2.26-.67-.598-1.566-.896-2.69-.896M39.247 21.53h-2.455V8.465h2.348v1.813h.107c.374-.64.947-1.173 1.721-1.6.774-.427 1.544-.64 2.309-.64.96 0 1.806.222 2.535.667a3.931 3.931 0 011.601 1.84c1.085-1.671 2.589-2.507 4.51-2.507 1.513 0 2.678.462 3.496 1.387.819.924 1.228 2.24 1.228 3.946v8.16h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.192-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.191-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227zM61.911 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zM80 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zm-16.343.022h2.349v1.813h.107c.373-.64.947-1.173 1.721-1.6a4.935 4.935 0 012.415-.64c1.601 0 2.833.458 3.696 1.373.863.916 1.294 2.218 1.294 3.907v8.213h-2.455v-8.053c-.053-2.133-1.13-3.2-3.229-3.2-.978 0-1.797.395-2.455 1.187-.658.79-.987 1.737-.987 2.84v7.226h-2.456V8.465z"})]}))});function hs(n){"@babel/helpers - typeof";return hs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hs(n)}var Q6=["type"];function bp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function X6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bp(Object(t),!0).forEach(function(r){Z6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):bp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Z6(n,e,t){return e=eO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function eO(n){var e=tO(n,"string");return hs(e)=="symbol"?e:String(e)}function tO(n,e){if(hs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(hs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function nO(n,e){if(n==null)return{};var t=rO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function rO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var iO=b.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=nO(n,Q6),i=t==="color"?sd:Kb;return d.jsx(Hn,X6({Icon:i,Text:Gb,"aria-label":ar,spaceMultiple:y6,textMultiple:b6},r))}),dr=Kb;dr.Color=sd;dr.Text=Gb;dr.Combine=iO;dr.Avatar=$6;dr.colorPrimary=Ub;dr.title=ar;function ds(n){"@babel/helpers - typeof";return ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ds(n)}var sO=["type"];function yp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function oO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yp(Object(t),!0).forEach(function(r){aO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):yp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function aO(n,e,t){return e=lO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function lO(n){var e=cO(n,"string");return ds(e)=="symbol"?e:String(e)}function cO(n,e){if(ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function hO(n,e){if(n==null)return{};var t=dO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function dO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var uO=b.memo(function(n){var e=n.type,t=e===void 0?"normal":e,r=hO(n,sO),i=b.useMemo(function(){switch(t){case"gpt3":return Vb;case"gpt4":return zb;case"gpt5":return Hb;case"o3":case"o1":return rd;case"oss":return _b;case"platform":return Wb;default:return l6}},[t]);return d.jsx(zn,oO({Icon:id,"aria-label":Us,background:i,color:c6,iconMultiple:h6},r))});function us(n){"@babel/helpers - typeof";return us=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},us(n)}var fO=["size","style"];function xp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Gl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xp(Object(t),!0).forEach(function(r){pO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):xp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function pO(n,e,t){return e=mO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function mO(n){var e=gO(n,"string");return us(e)=="symbol"?e:String(e)}function gO(n,e){if(us(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(us(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function bO(n,e){if(n==null)return{};var t=yO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function yO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var qb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=bO(n,fO);return d.jsxs("svg",Gl(Gl({fill:"currentColor",fillRule:"evenodd",height:t,style:Gl({flex:"none",lineHeight:1},r),viewBox:"0 0 84 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Us}),d.jsx("path",{d:"M2 10.955c0 5.276 3.376 8.955 8.054 8.955 4.678 0 8.054-3.679 8.054-8.955S14.732 2 10.054 2C5.423 2 2.068 5.606 2 10.797L2 10.955zm13.021 0c0 3.775-2.05 6.22-4.967 6.22-2.918 0-4.968-2.445-4.968-6.22 0-3.776 2.05-6.22 4.968-6.22 2.917 0 4.967 2.444 4.967 6.22zm11.778 8.955c3.545 0 5.57-3.001 5.57-6.607 0-3.607-2.025-6.608-5.57-6.608-1.64 0-2.845.654-3.64 1.598V6.937h-2.894V24h2.893v-5.688c.796.944 2.002 1.598 3.641 1.598zm-3.713-6.97c0-2.397 1.35-3.703 3.135-3.703 2.097 0 3.23 1.645 3.23 4.066 0 2.42-1.133 4.066-3.23 4.066-1.785 0-3.135-1.332-3.135-3.68v-.75zM40.2 19.91c2.532 0 4.533-1.331 5.425-3.558l-2.483-.944c-.386 1.307-1.52 2.033-2.942 2.033-1.857 0-3.159-1.331-3.376-3.51h8.874v-.967c0-3.485-1.953-6.269-5.619-6.269-3.665 0-6.028 2.88-6.028 6.608 0 3.92 2.532 6.607 6.15 6.607zm-.145-10.77c1.833 0 2.701 1.21 2.725 2.614H36.97c.434-1.719 1.591-2.614 3.086-2.614zm7.814 10.504h2.894v-7.455c0-1.815 1.326-2.783 2.628-2.783 1.591 0 2.218 1.137 2.218 2.71v7.528h2.894V11.27c0-2.735-1.592-4.575-4.244-4.575-1.64 0-2.773.75-3.496 1.598V6.937h-2.894v12.707zM66.978 2.266l-6.56 17.378h3.063l1.471-3.97h7.475l1.495 3.97h3.11L70.475 2.266h-3.496zm1.687 3.437l2.75 7.26h-5.45l2.7-7.26zM82 2.317h-3.086v17.377H82V2.317z"})]}))});function fs(n){"@babel/helpers - typeof";return fs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fs(n)}var xO=["extraStyle"];function vp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function wp(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vp(Object(t),!0).forEach(function(r){vO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):vp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function vO(n,e,t){return e=wO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function wO(n){var e=kO(n,"string");return fs(e)=="symbol"?e:String(e)}function kO(n,e){if(fs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(fs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function SO(n,e){if(n==null)return{};var t=CO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function CO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var jO=b.memo(function(n){var e=n.extraStyle,t=SO(n,xO);return d.jsx(Hn,wp({Icon:id,Text:qb,"aria-label":Us,extraStyle:wp({fontWeight:600},e),spaceMultiple:a6,textMultiple:o6},t))}),wt=id;wt.Text=qb;wt.Combine=jO;wt.Avatar=uO;wt.colorPrimary=Fb;wt.colorGpt3=Vb;wt.colorGpt4=zb;wt.colorGpt5=Hb;wt.colorO1=rd;wt.colorO3=rd;wt.colorOss=_b;wt.colorPlatform=Wb;wt.title=Us;var Ks="GithubCopilot",OO=.75,PO=.3,Jb="#000",AO=Jb,MO="#fff",NO=.75;function ps(n){"@babel/helpers - typeof";return ps=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ps(n)}var DO=["size","style"];function kp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ql(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kp(Object(t),!0).forEach(function(r){TO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function TO(n,e,t){return e=EO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function EO(n){var e=RO(n,"string");return ps(e)=="symbol"?e:String(e)}function RO(n,e){if(ps(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ps(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function LO(n,e){if(n==null)return{};var t=IO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function IO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var od=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=LO(n,DO);return d.jsxs("svg",ql(ql({fill:"currentColor",fillRule:"evenodd",height:t,style:ql({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Ks}),d.jsx("path",{d:"M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z"})]}))});function ms(n){"@babel/helpers - typeof";return ms=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ms(n)}function Sp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function BO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Sp(Object(t),!0).forEach(function(r){$O(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Sp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function $O(n,e,t){return e=FO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function FO(n){var e=VO(n,"string");return ms(e)=="symbol"?e:String(e)}function VO(n,e){if(ms(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ms(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function zO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var HO=b.memo(function(n){var e=Object.assign({},(zO(n),n));return d.jsx(zn,BO({Icon:od,"aria-label":Ks,background:AO,color:MO,iconMultiple:NO},e))});function gs(n){"@babel/helpers - typeof";return gs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gs(n)}var _O=["size","style"];function Cp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Jl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Cp(Object(t),!0).forEach(function(r){WO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Cp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function WO(n,e,t){return e=UO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function UO(n){var e=KO(n,"string");return gs(e)=="symbol"?e:String(e)}function KO(n,e){if(gs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(gs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function GO(n,e){if(n==null)return{};var t=qO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function qO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Yb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=GO(n,_O);return d.jsxs("svg",Jl(Jl({fill:"currentColor",fillRule:"evenodd",height:t,style:Jl({flex:"none",lineHeight:1},r),viewBox:"0 0 154 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Ks}),d.jsx("path",{d:"M2 11.875c0 5.256 3.013 8.506 8.19 8.506 4.76 0 8.027-2.72 8.027-7.722v-1.545h-7.982v2.928h4.095c-.161 1.96-1.68 3.25-4.049 3.25-2.6 0-4.347-1.498-4.347-4.334V10.7c0-2.582 1.518-4.31 4.186-4.31 1.91 0 3.267.922 3.68 2.374h3.865c-.437-3.366-3.427-5.625-7.499-5.625C5.29 3.138 2 6.366 2 11.875zm17.308-5.44h3.496V3h-3.496v3.435zm0 13.715h3.496V7.795h-3.496V20.15zm10.544-9.52h2.438V7.795h-2.438V3.922h-3.496v3.873H24.17v2.835h2.186v6.8c0 1.637.69 2.72 2.76 2.72h3.174v-2.766h-2.438V10.63zm3.994 9.52h3.727v-7.076h7.568v7.076h3.726V3.346h-3.726v6.777h-7.568V3.346h-3.727V20.15zM62.385 7.795h-3.497v6.523c0 1.868-1.012 3.205-2.668 3.205-1.38 0-2.162-.83-2.162-2.56V7.796h-3.52v7.722c0 2.95 1.357 4.864 4.118 4.864 1.955 0 3.29-.945 4.002-2.49h.207l.46 2.26h3.06V7.794zm1.698 12.355h3.06l.436-2.213h.207c.713 1.591 2.3 2.444 4.072 2.444 3.174 0 5.015-2.374 5.015-6.385 0-4.057-1.887-6.432-5.084-6.432-1.978 0-3.428 1.014-4.003 2.49h-.207V3h-3.496v17.15zm3.496-5.624v-1.06c0-1.845 1.173-3.043 2.99-3.043 1.657 0 2.738.853 2.738 2.581v1.983c0 1.521-.874 2.559-2.714 2.559-1.864 0-3.014-1.222-3.014-3.02zm21.8 5.855c4.21 0 7.177-2.351 7.683-6.063h-3.151c-.46 2.098-2.186 3.389-4.486 3.389-2.852 0-4.67-1.867-4.67-4.518v-2.743c0-2.882 1.887-4.634 4.716-4.634 2.53 0 4.072 1.36 4.44 3.366h3.151c-.368-3.665-3.243-6.063-7.499-6.063-5.038 0-7.982 3.274-7.982 8.668 0 5.348 2.898 8.598 7.798 8.598zm8.533-6.34c0 3.92 2.346 6.34 5.98 6.34 3.796 0 6.004-2.536 6.004-6.34 0-4.056-2.484-6.338-6.003-6.338-3.635 0-5.981 2.397-5.981 6.339zm2.898.992V13.12c0-1.89 1.22-3.066 3.083-3.066 1.817 0 3.082 1.152 3.082 3.066v1.913c0 1.96-1.288 2.997-3.082 2.997-1.749 0-3.083-1.015-3.083-2.997zM111.018 24h2.853v-6.132h.184c.667 1.453 2.116 2.398 4.186 2.398 3.083 0 4.992-2.26 4.992-6.293 0-3.942-1.863-6.27-4.992-6.27-1.863 0-3.427.852-4.186 2.397h-.184l-.345-2.167h-2.508V24zm6.211-6.063c-2.024 0-3.358-1.314-3.358-3.342v-1.222c0-2.005 1.31-3.342 3.381-3.342 2.002 0 3.037 1.152 3.037 2.881v2.144c0 1.815-1.16 2.849-2.973 2.88l-.087.001zm7.1-11.733h2.83V3.115h-2.83v3.09zm0 13.946h2.83V7.933h-2.83V20.15zm4.338 0h2.83V3.115h-2.83V20.15zm9.927-12.447c3.52 0 6.004 2.282 6.004 6.339 0 3.803-2.208 6.339-6.004 6.339-3.634 0-5.98-2.42-5.98-6.34 0-3.941 2.346-6.338 5.98-6.338zm10.922-3.689v3.919H152v2.328h-2.484v7.607H152v2.282h-2.99c-1.749 0-2.324-.922-2.324-2.282v-7.607h-2.185V7.933h2.185V4.014h2.83zm-10.922 6.04c-1.863 0-3.082 1.175-3.082 3.066v1.913c0 1.982 1.334 2.997 3.082 2.997 1.795 0 3.083-1.038 3.083-2.997V13.12c0-1.914-1.265-3.066-3.083-3.066z"})]}))});function bs(n){"@babel/helpers - typeof";return bs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bs(n)}function jp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function JO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jp(Object(t),!0).forEach(function(r){YO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):jp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function YO(n,e,t){return e=QO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function QO(n){var e=XO(n,"string");return bs(e)=="symbol"?e:String(e)}function XO(n,e){if(bs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(bs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function ZO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var eP=b.memo(function(n){var e=Object.assign({},(ZO(n),n));return d.jsx(Hn,JO({Icon:od,Text:Yb,"aria-label":Ks,spaceMultiple:PO,textMultiple:OO},e))}),Gr=od;Gr.Text=Yb;Gr.Combine=eP;Gr.Avatar=HO;Gr.colorPrimary=Jb;Gr.title=Ks;var Gs="Cline",tP=.7,nP=.2,Qb="#323B43",rP=Qb,iP="#fff",sP=.6;function ys(n){"@babel/helpers - typeof";return ys=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ys(n)}var oP=["size","style"];function Op(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Yl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Op(Object(t),!0).forEach(function(r){aP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Op(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function aP(n,e,t){return e=lP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function lP(n){var e=cP(n,"string");return ys(e)=="symbol"?e:String(e)}function cP(n,e){if(ys(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ys(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function hP(n,e){if(n==null)return{};var t=dP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function dP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var ad=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=hP(n,oP);return d.jsxs("svg",Yl(Yl({fill:"currentColor",fillRule:"evenodd",height:t,style:Yl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Gs}),d.jsx("path",{d:"M17.035 3.991c2.75 0 4.98 2.24 4.98 5.003v1.667l1.45 2.896a1.01 1.01 0 01-.002.909l-1.448 2.864v1.668c0 2.762-2.23 5.002-4.98 5.002H7.074c-2.751 0-4.98-2.24-4.98-5.002V17.33l-1.48-2.855a1.01 1.01 0 01-.003-.927l1.482-2.887V8.994c0-2.763 2.23-5.003 4.98-5.003h9.962zM8.265 9.6a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 004.547 0v-4.042A2.274 2.274 0 008.265 9.6zm7.326 0a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 104.548 0v-4.042A2.274 2.274 0 0015.59 9.6z"}),d.jsx("path",{d:"M12.054 5.558a2.779 2.779 0 100-5.558 2.779 2.779 0 000 5.558z"})]}))});function xs(n){"@babel/helpers - typeof";return xs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xs(n)}function Pp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function uP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Pp(Object(t),!0).forEach(function(r){fP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Pp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function fP(n,e,t){return e=pP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function pP(n){var e=mP(n,"string");return xs(e)=="symbol"?e:String(e)}function mP(n,e){if(xs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(xs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function gP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var bP=b.memo(function(n){var e=Object.assign({},(gP(n),n));return d.jsx(zn,uP({Icon:ad,"aria-label":Gs,background:rP,color:iP,iconMultiple:sP},e))});function vs(n){"@babel/helpers - typeof";return vs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vs(n)}var yP=["size","style"];function Ap(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ql(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ap(Object(t),!0).forEach(function(r){xP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ap(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function xP(n,e,t){return e=vP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function vP(n){var e=wP(n,"string");return vs(e)=="symbol"?e:String(e)}function wP(n,e){if(vs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(vs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function kP(n,e){if(n==null)return{};var t=SP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function SP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Xb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=kP(n,yP);return d.jsxs("svg",Ql(Ql({fill:"currentColor",fillRule:"evenodd",height:t,style:Ql({flex:"none",lineHeight:1},r),viewBox:"0 0 88 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Gs}),d.jsx("path",{d:"M79.558 21.986c-1.13 0-2.167-.189-3.108-.565a7.128 7.128 0 01-2.403-1.569 6.933 6.933 0 01-1.554-2.331 7.876 7.876 0 01-.537-2.925v-.58c0-1.196.189-2.279.566-3.25.376-.97.894-1.798 1.554-2.486a6.84 6.84 0 012.289-1.582 7.005 7.005 0 012.797-.566c1.103 0 2.078.189 2.925.566.848.367 1.56.88 2.134 1.54.575.668 1.008 1.464 1.3 2.388.292.923.438 1.93.438 3.023v1.456H75.362v.07c.103.67.263 1.23.48 1.682.217.452.513.857.89 1.215.377.377.82.669 1.328.876.518.207 1.084.31 1.696.31.838 0 1.62-.16 2.346-.48a4.71 4.71 0 001.794-1.398l1.808 1.752c-.508.734-1.29 1.394-2.345 1.978-1.046.584-2.313.876-3.8.876zm-.41-13.113c-.48 0-.927.09-1.342.269-.405.17-.768.414-1.088.735-.32.33-.589.725-.805 1.187a6.25 6.25 0 00-.48 1.568h7.191v-.226c0-.443-.08-.88-.24-1.314a3.545 3.545 0 00-.678-1.159 3.004 3.004 0 00-1.074-.763c-.424-.198-.919-.297-1.484-.297zM55.043 21.703V6.415h3.052l.212 2.176c.207-.292.433-.56.678-.805.255-.255.523-.48.806-.679a5.555 5.555 0 013.179-.975 6.5 6.5 0 012.148.34 4.11 4.11 0 011.667 1.073c.461.49.82 1.117 1.074 1.88.254.753.381 1.667.381 2.74v9.538h-3.377v-9.48c0-.632-.07-1.16-.212-1.583-.141-.424-.348-.763-.621-1.018a2.3 2.3 0 00-.99-.537 4.736 4.736 0 00-1.328-.17c-.414 0-.8.057-1.158.17a3.421 3.421 0 00-1.611 1.004 4.282 4.282 0 00-.523.706v10.908h-3.377zM38.44 6.415h8.111v12.49h4.493v2.798H38.441v-2.797h4.705v-9.68H38.44V6.416zm4.395-3.956c0-.274.047-.523.141-.75a1.69 1.69 0 01.41-.607c.17-.16.372-.282.607-.367.245-.094.519-.141.82-.141.509 0 .918.131 1.23.395.32.254.503.584.55.99.066.414-.004.776-.212 1.087-.207.302-.508.504-.904.608a1.48 1.48 0 01-.706.353c-.273.057-.575.033-.905-.07a1.396 1.396 0 01-.777-.552 1.758 1.758 0 01-.254-.946zM20.934 0h8.238v18.906h4.634v2.797H20.934v-2.797h4.832V2.812h-4.832V0zM16.71 15.373c-.095.999-.33 1.908-.707 2.727a6.672 6.672 0 01-1.484 2.077 6.542 6.542 0 01-2.218 1.357c-.848.31-1.79.466-2.826.466-.848 0-1.63-.113-2.346-.339a6.467 6.467 0 01-1.893-.99 6.55 6.55 0 01-1.413-1.426 9.438 9.438 0 01-1.003-1.851c-.274-.66-.48-1.375-.622-2.148A14.34 14.34 0 012 12.83v-2.812c0-.8.066-1.573.198-2.317.132-.744.33-1.446.593-2.106A8.284 8.284 0 013.88 3.603a7.296 7.296 0 011.555-1.54 6.953 6.953 0 011.836-.904A7.256 7.256 0 019.49.834c1.083 0 2.049.16 2.896.48.858.32 1.588.773 2.19 1.357a6.337 6.337 0 011.442 2.147c.358.839.588 1.771.692 2.798h-3.391a6.568 6.568 0 00-.353-1.653c-.17-.5-.405-.923-.707-1.272a2.977 2.977 0 00-1.144-.791c-.453-.188-.994-.283-1.625-.283-.443 0-.843.062-1.201.184-.349.122-.66.297-.933.523a3.385 3.385 0 00-.947 1.074 7.033 7.033 0 00-.607 1.455c-.123.471-.217.975-.283 1.512a15.25 15.25 0 00-.084 1.625v2.84c0 .688.037 1.333.113 1.936.084.602.212 1.154.381 1.653.132.414.297.791.495 1.13.207.34.452.631.734.876.292.264.627.466 1.004.608.386.132.824.198 1.314.198.584 0 1.102-.085 1.554-.255.452-.17.838-.419 1.159-.749.31-.32.56-.72.748-1.2.189-.481.311-1.032.368-1.654h3.405z"})]}))});function ws(n){"@babel/helpers - typeof";return ws=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ws(n)}function Mp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function CP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mp(Object(t),!0).forEach(function(r){jP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Mp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function jP(n,e,t){return e=OP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function OP(n){var e=PP(n,"string");return ws(e)=="symbol"?e:String(e)}function PP(n,e){if(ws(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ws(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function AP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var MP=b.memo(function(n){var e=Object.assign({},(AP(n),n));return d.jsx(Hn,CP({Icon:ad,Text:Xb,"aria-label":Gs,iconProps:{shape:"square"},spaceMultiple:nP,textMultiple:tP},e))}),qr=ad;qr.Text=Xb;qr.Combine=MP;qr.Avatar=bP;qr.colorPrimary=Qb;qr.title=Gs;var qs="Cursor",NP=.7,DP=.1,Zb="#000",TP=Zb,EP="#fff",RP=.6;function ks(n){"@babel/helpers - typeof";return ks=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ks(n)}var LP=["size","style"];function Np(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Xl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Np(Object(t),!0).forEach(function(r){IP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Np(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function IP(n,e,t){return e=BP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function BP(n){var e=$P(n,"string");return ks(e)=="symbol"?e:String(e)}function $P(n,e){if(ks(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ks(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function FP(n,e){if(n==null)return{};var t=VP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function VP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var ld=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=FP(n,LP);return d.jsxs("svg",Xl(Xl({fill:"currentColor",fillRule:"evenodd",height:t,style:Xl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:qs}),d.jsx("path",{d:"M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z"})]}))});function Ss(n){"@babel/helpers - typeof";return Ss=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ss(n)}function Dp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function zP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dp(Object(t),!0).forEach(function(r){HP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Dp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function HP(n,e,t){return e=_P(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function _P(n){var e=WP(n,"string");return Ss(e)=="symbol"?e:String(e)}function WP(n,e){if(Ss(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ss(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function UP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var KP=b.memo(function(n){var e=Object.assign({},(UP(n),n));return d.jsx(zn,zP({Icon:ld,"aria-label":qs,background:TP,color:EP,iconMultiple:RP},e))});function Cs(n){"@babel/helpers - typeof";return Cs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Cs(n)}var GP=["size","style"];function Tp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Zl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Tp(Object(t),!0).forEach(function(r){qP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Tp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function qP(n,e,t){return e=JP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function JP(n){var e=YP(n,"string");return Cs(e)=="symbol"?e:String(e)}function YP(n,e){if(Cs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Cs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function QP(n,e){if(n==null)return{};var t=XP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function XP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var e1=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=QP(n,GP);return d.jsxs("svg",Zl(Zl({fill:"currentColor",fillRule:"evenodd",height:t,style:Zl({flex:"none",lineHeight:1},r),viewBox:"0 0 123 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:qs}),d.jsx("path",{d:"M11.995 2.33h6.516v3.582h-6.295C8.82 5.912 6.169 7.868 6.169 12c0 4.133 2.65 6.089 6.047 6.089h6.295v3.581H11.72C6.03 21.67 2 18.336 2 12c0-6.337 4.307-9.67 9.995-9.67zm9.829 0h4.03V14.15c0 2.947 1.354 4.325 4.53 4.325 3.175 0 4.528-1.377 4.528-4.325V2.33h4.03v12.644c0 4.297-2.733 7.025-8.559 7.025-5.826 0-8.56-2.755-8.56-7.052V2.33zm38.185 5.483c0 2.149-1.243 3.801-2.9 4.518v.055c1.74.248 2.624 1.488 2.65 3.169l.084 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.71v7.41h-4.03V2.33h11.127c3.644 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561H46.84v5.123h6.626c1.518 0 2.485-.909 2.485-2.562zm19.3 7.66c0-1.378-.884-1.957-2.209-2.067l-4.473-.413c-3.866-.358-5.881-1.873-5.881-5.537 0-3.664 2.485-5.675 6.046-5.675h9.885V5.8h-9.609c-1.38 0-2.263.717-2.263 2.094 0 1.378.91 2.039 2.291 2.15l4.556.385c3.452.303 5.715 1.874 5.715 5.565 0 3.691-2.402 5.675-5.798 5.675H63.184V18.2h9.94c1.297 0 2.126-.882 2.126-2.177zM91.097 2c6.074 0 9.912 3.884 9.912 9.972C101.01 18.061 97.006 22 90.932 22s-9.912-3.94-9.912-10.028C81.02 5.884 85.024 2 91.098 2zm5.743 10c0-4.077-2.374-6.474-5.826-6.474-3.451 0-5.826 2.397-5.826 6.474s2.375 6.473 5.826 6.473c3.452 0 5.826-2.396 5.826-6.473zM121 7.813c0 2.149-1.242 3.801-2.899 4.518v.055c1.739.248 2.623 1.488 2.65 3.169l.083 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.709v7.41h-4.031V2.33h11.127c3.645 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561h-6.571v5.123h6.626c1.518 0 2.485-.909 2.485-2.562z"})]}))});function js(n){"@babel/helpers - typeof";return js=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},js(n)}function Ep(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ZP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ep(Object(t),!0).forEach(function(r){e7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ep(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function e7(n,e,t){return e=t7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function t7(n){var e=n7(n,"string");return js(e)=="symbol"?e:String(e)}function n7(n,e){if(js(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(js(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function r7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var i7=b.memo(function(n){var e=Object.assign({},(r7(n),n));return d.jsx(Hn,ZP({Icon:ld,Text:e1,"aria-label":qs,spaceMultiple:DP,textMultiple:NP},e))}),Jr=ld;Jr.Text=e1;Jr.Combine=i7;Jr.Avatar=KP;Jr.colorPrimary=Zb;Jr.title=qs;var Js="Goose",s7=.7,o7=.2,t1="#fff",a7=t1,l7="#000",c7=.65;function Os(n){"@babel/helpers - typeof";return Os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Os(n)}var h7=["size","style"];function Rp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ec(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Rp(Object(t),!0).forEach(function(r){d7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Rp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function d7(n,e,t){return e=u7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function u7(n){var e=f7(n,"string");return Os(e)=="symbol"?e:String(e)}function f7(n,e){if(Os(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Os(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function p7(n,e){if(n==null)return{};var t=m7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function m7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var cd=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=p7(n,h7);return d.jsxs("svg",ec(ec({fill:"currentColor",fillRule:"evenodd",height:t,style:ec({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Js}),d.jsx("path",{d:"M21.595 23.61c1.167-.254 2.405-.944 2.405-.944l-2.167-1.784a12.124 12.124 0 01-2.695-3.131 12.127 12.127 0 00-3.97-4.049l-.794-.462a1.115 1.115 0 01-.488-.815.844.844 0 01.154-.575c.413-.582 2.548-3.115 2.94-3.44.503-.416 1.065-.762 1.586-1.159.074-.056.148-.112.221-.17.003-.002.007-.004.009-.007.167-.131.325-.272.45-.438.453-.524.563-.988.59-1.193-.061-.197-.244-.639-.753-1.148.319.02.705.272 1.056.569.235-.376.481-.773.727-1.171.165-.266-.08-.465-.086-.471h-.001V3.22c-.007-.007-.206-.25-.471-.086-.567.35-1.134.702-1.639 1.021 0 0-.597-.012-1.305.599a2.464 2.464 0 00-.438.45l-.007.009c-.058.072-.114.147-.17.221-.397.521-.743 1.083-1.16 1.587-.323.391-2.857 2.526-3.44 2.94a.842.842 0 01-.574.153 1.115 1.115 0 01-.815-.488l-.462-.794a12.123 12.123 0 00-4.049-3.97 12.133 12.133 0 01-3.13-2.695L1.332 0S.643 1.238.39 2.405c.352.428 1.27 1.49 2.34 2.302C1.58 4.167.73 3.75.06 3.4c-.103.765-.063 1.92.043 2.816.726.317 1.961.806 3.219 1.066-1.006.236-2.11.278-2.961.262.15.554.358 1.119.64 1.688.119.263.25.52.39.77.452.125 2.222.383 3.164.171l-2.51.897a27.776 27.776 0 002.544 2.726c2.031-1.092 2.494-1.241 4.018-2.238-2.467 2.008-3.108 2.828-3.8 3.67l-.483.678c-.25.351-.469.725-.65 1.117-.61 1.31-1.47 4.1-1.47 4.1-.154.486.202.842.674.674 0 0 2.79-.861 4.1-1.47.392-.182.766-.4 1.118-.65l.677-.483c.227-.187.453-.37.701-.586 0 0 1.705 2.02 3.458 3.349l.896-2.511c-.211.942.046 2.712.17 3.163.252.142.509.272.772.392.569.28 1.134.49 1.688.64-.016-.853.026-1.956.261-2.962.26 1.258.75 2.493 1.067 3.219.895.106 2.051.146 2.816.043a73.87 73.87 0 01-1.308-2.67c.811 1.07 1.874 1.988 2.302 2.34h-.001z"})]}))});function Ps(n){"@babel/helpers - typeof";return Ps=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ps(n)}function Lp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function g7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Lp(Object(t),!0).forEach(function(r){b7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Lp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function b7(n,e,t){return e=y7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function y7(n){var e=x7(n,"string");return Ps(e)=="symbol"?e:String(e)}function x7(n,e){if(Ps(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ps(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function v7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var w7=b.memo(function(n){var e=Object.assign({},(v7(n),n));return d.jsx(zn,g7({Icon:cd,"aria-label":Js,background:a7,color:l7,iconMultiple:c7},e))});function As(n){"@babel/helpers - typeof";return As=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},As(n)}var k7=["size","style"];function Ip(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function tc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ip(Object(t),!0).forEach(function(r){S7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ip(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function S7(n,e,t){return e=C7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function C7(n){var e=j7(n,"string");return As(e)=="symbol"?e:String(e)}function j7(n,e){if(As(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(As(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function O7(n,e){if(n==null)return{};var t=P7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function P7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var n1=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=O7(n,k7);return d.jsxs("svg",tc(tc({fill:"currentColor",fillRule:"evenodd",height:t,style:tc({flex:"none",lineHeight:1},r),viewBox:"0 0 87 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Js}),d.jsx("path",{d:"M17.122 16.607c0 4.696-3.219 7.393-7.774 7.393-3.674 0-6.255-1.546-7.257-4.637l3.401-1.21c.486 1.786 1.852 2.907 3.856 2.907 2.46 0 4.13-1.211 4.13-4.12v-1.122c-.85 1.121-2.46 2-4.494 2C4.61 17.818 2 14.273 2 9.909 2 5.546 4.611 2 8.984 2c2.004 0 3.644.879 4.494 2V2.303h3.644v14.303zm-3.583-6.85c0-2.908-1.58-4.575-3.857-4.575-2.52 0-4.008 1.757-4.008 4.727 0 2.94 1.488 4.727 4.008 4.727 2.278 0 3.857-1.666 3.857-4.515v-.363zM35.546 10.273c0 4.94-3.188 8.273-7.683 8.273-4.494 0-7.682-3.334-7.682-8.273C20.181 5.333 23.37 2 27.863 2c4.495 0 7.683 3.333 7.683 8.273zm-11.69 0c0 3.242 1.548 5.212 4.007 5.212 2.46 0 4.009-1.97 4.009-5.212 0-3.243-1.549-5.212-4.009-5.212-2.46 0-4.008 1.97-4.008 5.212zM52.957 10.273c0 4.94-3.188 8.273-7.682 8.273s-7.682-3.334-7.682-8.273C37.593 5.333 40.78 2 45.275 2s7.682 3.333 7.682 8.273zm-11.69 0c0 3.242 1.548 5.212 4.008 5.212s4.008-1.97 4.008-5.212c0-3.243-1.549-5.212-4.008-5.212-2.46 0-4.008 1.97-4.008 5.212zM54.336 15.182L57.069 13c.941 1.546 2.763 2.576 4.615 2.576 1.549 0 2.976-.546 2.976-1.97 0-1.364-1.336-1.515-3.856-2.03-2.52-.515-5.405-1.152-5.405-4.546 0-2.909 2.55-5.03 6.224-5.03 2.794 0 5.284 1.242 6.438 3L65.6 7.212c-.91-1.424-2.429-2.242-4.19-2.242-1.488 0-2.46.666-2.46 1.727 0 1.152 1.154 1.364 3.158 1.788 2.703.576 6.104 1.151 6.104 4.788 0 3.211-2.946 5.273-6.56 5.273-2.945 0-5.89-1.182-7.317-3.364zM77.965 18.546c-4.555 0-7.743-3.364-7.743-8.273 0-4.667 3.157-8.273 7.59-8.273 4.616 0 7.076 3.485 7.076 7.849v1.212H73.713c.274 2.727 1.913 4.394 4.252 4.394 1.791 0 3.218-.91 3.704-2.546l3.128 1.182c-1.124 2.787-3.644 4.455-6.832 4.455zm-.183-13.485c-1.882 0-3.34 1.12-3.886 3.272h7.318c-.03-1.757-1.124-3.272-3.432-3.272z"})]}))});function Ms(n){"@babel/helpers - typeof";return Ms=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ms(n)}function Bp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function A7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Bp(Object(t),!0).forEach(function(r){M7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Bp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function M7(n,e,t){return e=N7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function N7(n){var e=D7(n,"string");return Ms(e)=="symbol"?e:String(e)}function D7(n,e){if(Ms(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ms(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function T7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var E7=b.memo(function(n){var e=Object.assign({},(T7(n),n));return d.jsx(Hn,A7({Icon:cd,Text:n1,"aria-label":Js,iconProps:{shape:"square"},spaceMultiple:o7,textMultiple:s7},e))}),Yr=cd;Yr.Text=n1;Yr.Combine=E7;Yr.Avatar=w7;Yr.colorPrimary=t1;Yr.title=Js;var Ys="Windsurf",R7=.7,L7=.2,r1="#fff",I7=r1,B7="#000",$7=.75;function Ns(n){"@babel/helpers - typeof";return Ns=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ns(n)}var F7=["size","style"];function $p(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function nc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$p(Object(t),!0).forEach(function(r){V7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):$p(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function V7(n,e,t){return e=z7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function z7(n){var e=H7(n,"string");return Ns(e)=="symbol"?e:String(e)}function H7(n,e){if(Ns(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ns(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function _7(n,e){if(n==null)return{};var t=W7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function W7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var hd=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=_7(n,F7);return d.jsxs("svg",nc(nc({fill:"currentColor",fillRule:"evenodd",height:t,style:nc({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Ys}),d.jsx("path",{clipRule:"evenodd",d:"M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z"})]}))});function Ds(n){"@babel/helpers - typeof";return Ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ds(n)}function Fp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function U7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Fp(Object(t),!0).forEach(function(r){K7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Fp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function K7(n,e,t){return e=G7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function G7(n){var e=q7(n,"string");return Ds(e)=="symbol"?e:String(e)}function q7(n,e){if(Ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function J7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Y7=b.memo(function(n){var e=Object.assign({},(J7(n),n));return d.jsx(zn,U7({Icon:hd,"aria-label":Ys,background:I7,color:B7,iconMultiple:$7},e))});function Ts(n){"@babel/helpers - typeof";return Ts=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ts(n)}var Q7=["size","style"];function Vp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function rc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vp(Object(t),!0).forEach(function(r){X7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Vp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function X7(n,e,t){return e=Z7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Z7(n){var e=e8(n,"string");return Ts(e)=="symbol"?e:String(e)}function e8(n,e){if(Ts(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ts(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function t8(n,e){if(n==null)return{};var t=n8(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function n8(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var i1=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=t8(n,Q7);return d.jsxs("svg",rc(rc({fill:"currentColor",fillRule:"evenodd",height:t,style:rc({flex:"none",lineHeight:1},r),viewBox:"0 0 111 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Ys}),d.jsx("path",{clipRule:"evenodd",d:"M33.412 7.182h-1.715a.316.316 0 00-.315.316v13.79c0 .174.14.316.315.316h1.715a.316.316 0 00.316-.317V7.498a.316.316 0 00-.316-.316zm-1.772-5.18h1.828c.174 0 .315.141.315.316V4.57a.316.316 0 01-.315.316H31.64a.316.316 0 01-.315-.316V2.318c0-.175.141-.317.315-.317zM43.676 6.79c-1.927 0-3.324.671-4.218 1.653a.457.457 0 01-.782-.322v-.623a.316.316 0 00-.316-.316h-1.686a.316.316 0 00-.316.316v13.79c0 .174.142.316.316.316h1.687a.316.316 0 00.316-.317v-8.729c0-3.025.587-3.697 3.8-3.697s3.742.533 3.742 3.557v8.868c0 .175.142.317.316.317h1.715a.316.316 0 00.316-.317v-9.513c0-3.445-1.956-4.986-4.889-4.986v.003h-.001zm17.518 1.849a.457.457 0 00.782-.322V2.319c0-.175.142-.316.316-.316h1.687c.174 0 .316.141.316.316v18.97a.316.316 0 01-.316.316h-1.687a.316.316 0 01-.316-.316v-.819c.017-.418-.489-.62-.782-.322-.81 1.008-2.374 1.848-4.47 1.848-3.685 0-6.088-2.632-6.088-7.533 0-5.18 2.68-7.673 6.172-7.673 2.095 0 3.604.84 4.386 1.849zm-8.018 5.767c0 4.733.587 5.434 4.414 5.434 3.8 0 4.386-.701 4.386-5.434 0-4.733-.559-5.461-4.386-5.461s-4.414.728-4.414 5.461zm20.924-.894l-2.763-.476c-2.04-.364-2.404-.98-2.404-2.045.028-1.457.587-2.184 3.296-2.184 2.538 0 3.35.752 3.525 2.376.017.16.152.284.313.284h1.677c.18 0 .326-.151.316-.333-.163-2.788-2.709-4.346-5.746-4.346-3.408 0-5.67 1.82-5.67 4.426 0 2.38 1.844 3.417 4.05 3.837l3.046.56c1.676.31 2.235.87 2.235 1.933 0 1.709-.587 2.437-3.464 2.437s-3.673-.832-3.858-2.518a.315.315 0 00-.313-.282h-1.687a.318.318 0 00-.317.325c.08 3.004 2.797 4.493 6.034 4.493 3.52 0 5.949-1.82 5.949-4.566 0-2.408-1.845-3.501-4.219-3.921zm12.21 6.414c3.128 0 3.715-.672 3.715-3.697V7.502c0-.174.141-.316.316-.316h1.714c.175 0 .316.142.316.316v13.79a.316.316 0 01-.316.316h-1.714a.316.316 0 01-.316-.317v-.6c-.007-.429-.45-.642-.755-.343-.892.98-2.289 1.652-4.161 1.652-2.877 0-4.833-1.54-4.833-4.986V7.501c0-.175.142-.317.316-.317h1.715c.174 0 .316.142.316.317v8.868c0 3.024.558 3.557 3.687 3.557zm19.782-12.744v-1.85c0-.727.588-1.316 1.314-1.316h1.276a.316.316 0 00.315-.317V2.317a.316.316 0 00-.315-.317h-.885c-2.514 0-4.051 1.4-4.051 3.81v1.372h-1.859c-1.647.002-2.94.229-3.803 1.26-.317.302-.755.076-.755-.36V7.5a.316.316 0 00-.315-.317h-1.715a.316.316 0 00-.316.317v13.789c0 .174.141.316.316.316h1.715a.316.316 0 00.315-.316v-8.645c0-2.857.727-3.528 3.855-3.528h2.562V21.29c0 .175.141.317.316.317h1.715a.316.316 0 00.315-.317V9.116h2.593a.316.316 0 00.315-.317V7.501a.316.316 0 00-.315-.317h-2.593v-.002zM21.834 18.008a.561.561 0 001.091.005l3.933-15.772A.318.318 0 0127.166 2h1.963c.21 0 .363.199.31.403l-4.947 18.972a.305.305 0 01-.295.228h-3.502a.31.31 0 01-.3-.234L16.285 5.5a.56.56 0 00-.543-.42h-.036a.562.562 0 00-.542.42l-4.11 15.87a.31.31 0 01-.299.234H7.253a.304.304 0 01-.295-.228L2.011 2.403A.321.321 0 012.32 2h1.963c.145 0 .272.1.308.241l3.932 15.772a.56.56 0 001.09-.005l3.78-15.764A.316.316 0 0113.7 2h4.047c.146 0 .273.1.307.244l3.779 15.764z"})]}))});function Es(n){"@babel/helpers - typeof";return Es=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Es(n)}function zp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function r8(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?zp(Object(t),!0).forEach(function(r){i8(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):zp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function i8(n,e,t){return e=s8(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function s8(n){var e=o8(n,"string");return Es(e)=="symbol"?e:String(e)}function o8(n,e){if(Es(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Es(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function a8(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var l8=b.memo(function(n){var e=Object.assign({},(a8(n),n));return d.jsx(Hn,r8({Icon:hd,Text:i1,"aria-label":Ys,iconProps:{shape:"square"},spaceMultiple:L7,textMultiple:R7},e))}),Qr=hd;Qr.Text=i1;Qr.Combine=l8;Qr.Avatar=Y7;Qr.colorPrimary=r1;Qr.title=Ys;const c8={"claude-code":hr.Avatar,cursor:Jr.Avatar,codex:wt.Avatar,"gemini-cli":dr.Avatar,goose:Yr.Avatar,"github-copilot":Gr.Avatar,windsurf:Qr.Avatar,cline:qr.Avatar},h8={antigravity:"/agents/antigravity.png",opencode:"/agents/opencode.svg",amp:"/agents/amp.png",kilo:"/agents/kilo.png",roo:"/agents/roo.png",openhands:"/agents/openhands.png"};function d8(n){return n.split(/\s+/).map(e=>e[0]).join("").toUpperCase().slice(0,2)}const s1=({agentName:n,displayName:e,size:t=20})=>{const r=c8[n];if(r)return d.jsx(r,{size:t});const i=h8[n];return i?d.jsx("img",{src:i,alt:e,className:"rounded object-contain",style:{width:t,height:t}}):d.jsx("div",{className:"flex items-center justify-center rounded bg-dash-surface-hover text-dash-text-muted font-semibold",style:{width:t,height:t,fontSize:t*.45},children:d8(e)})};function ic(n){return`${n.provider}:${n.type}:${n.item}:${n.global}`}function u8(){const[n,e]=b.useState("idle"),[t,r]=b.useState(null),[i,s]=b.useState(new Map),[o,a]=b.useState(null),[l,c]=b.useState(null),h=b.useRef(0),u=b.useRef(0),f=b.useRef(null),p=b.useRef(null),m=b.useCallback(async S=>{e("reconciling"),c(null),a(null),h.current+=1;const O=h.current;f.current?.abort();const C=new AbortController;f.current=C;try{const P=new URLSearchParams({providers:S.providers.join(","),global:String(S.global),agents:String(S.include.agents??!0),commands:String(S.include.commands??!0),skills:String(S.include.skills??!0),config:String(S.include.config??!0),rules:String(S.include.rules??!0)});S.source&&P.set("source",S.source);const x=await fetch(`/api/migrate/reconcile?${P.toString()}`,{signal:C.signal});if(!x.ok){const M=await x.json().catch(()=>({error:"Unknown error"}));throw new Error(M.error||"Failed to reconcile migration plan")}const D=await x.json();if(O!==h.current)return;r(D.plan),s(new Map),e("reviewing")}catch(P){if(C.signal.aborted||P instanceof DOMException&&P.name==="AbortError"||O!==h.current)return;c(P instanceof Error?P.message:"Failed to reconcile"),e("error")}},[]),g=b.useCallback((S,O)=>{s(C=>{const P=new Map(C);return P.set(ic(S),O),P})},[]),y=b.useCallback(async()=>{if(!t)return c("No plan to execute"),e("error"),!1;e("executing"),c(null),u.current+=1;const S=u.current;p.current?.abort();const O=new AbortController;p.current=O;try{const C=Object.fromEntries(i.entries()),P=await fetch("/api/migrate/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:t,resolutions:C}),signal:O.signal});if(S!==u.current)return!1;if(!P.ok){const D=await P.json().catch(()=>({error:"Unknown error"}));if(P.status===501)return c(D.error||"Plan execution is not available in this server build"),e("reviewing"),!1;throw new Error(D.error||"Failed to execute migration")}const x=await P.json();return S!==u.current?!1:(a({results:x.results,counts:x.counts,warnings:x.warnings??[]}),e("complete"),!0)}catch(C){return O.signal.aborted||C instanceof DOMException&&C.name==="AbortError"||S!==u.current||(c(C instanceof Error?C.message:"Failed to execute migration"),e("error")),!1}},[t,i]),v=b.useCallback(()=>{f.current?.abort(),p.current?.abort(),e("idle"),r(null),s(new Map),a(null),c(null)},[]),w=b.useMemo(()=>t?t.actions.filter(S=>S.action==="conflict").every(S=>i.has(ic(S))):!0,[t,i]);return{phase:n,plan:t,resolutions:i,results:o,error:l,reconcile:m,resolve:g,execute:y,reset:v,allConflictsResolved:w,actionKey:ic}}const f8={agents:!0,commands:!0,skills:!0,config:!0,rules:!0},fn=["agents","commands","skills","config","rules"],Sr={agents:"migrateTypeAgents",commands:"migrateTypeCommands",skills:"migrateTypeSkills",config:"migrateTypeConfig",rules:"migrateTypeRules"},Hp={detected:"#D4A574","not-detected":"#8B9DC3"},wn=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-green-400":"text-dash-text";return d.jsxs("div",{className:"rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2.5",children:[d.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n}),d.jsx("p",{className:`mt-1 text-lg font-semibold ${r}`,children:e})]})};function _p(n,e){return n.success?n.skipped?{label:e("migrateStatusSkipped"),className:"text-yellow-400"}:{label:e("migrateStatusInstalled"),className:"text-green-400"}:{label:e("migrateStatusFailed"),className:"text-red-400"}}function p8(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function Wp(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(p8(r)||(e+=t))}return e}const m8=({provider:n,include:e,isSelected:t,onToggleSelect:r,onOpenDetails:i,t:s})=>{const o=fn.filter(l=>n.capabilities[l]).length,a=fn.some(l=>e[l]&&!n.capabilities[l]);return d.jsx("div",{onClick:()=>i(n),className:`rounded-xl border px-4 py-3 cursor-pointer transition-all dash-focus-ring ${t?"bg-dash-accent-subtle border-dash-accent/30 shadow-sm shadow-dash-accent/10":a?"bg-dash-surface border-yellow-500/25 hover:bg-dash-surface-hover hover:border-yellow-500/40":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-accent/25"}`,children:d.jsxs("div",{className:"flex flex-col gap-3 lg:grid lg:grid-cols-[minmax(0,1.25fr)_140px_minmax(0,220px)_auto] lg:items-center lg:gap-4",children:[d.jsxs("div",{className:"min-w-0 space-y-1.5",children:[d.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[d.jsx(s1,{agentName:n.name,displayName:n.displayName,size:18}),d.jsx("span",{className:"text-sm font-semibold text-dash-text truncate",children:n.displayName}),n.recommended&&d.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:s("migrateFilterRecommended")}),n.commandsGlobalOnly&&d.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-yellow-500/30 text-yellow-400",children:s("migrateGlobalOnlyCommandsShort")})]}),d.jsxs("div",{className:"text-xs text-dash-text-muted truncate",children:[n.name," · ",o,"/5 ",s("migrateCapabilitiesLabel")]})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 text-[11px] lg:flex-col lg:items-start lg:gap-1",children:[d.jsx("span",{className:n.detected?"text-dash-accent":"text-dash-text-muted",children:n.detected?s("migrateDetectedTag"):s("migrateNotDetectedTag")}),d.jsx("span",{className:"text-dash-text-muted",children:n.recommended?s("migrateFilterRecommended"):"-"})]}),d.jsx("div",{className:"flex flex-wrap gap-1",children:fn.map(l=>{const c=n.capabilities[l],h=e[l];return d.jsx("span",{className:`text-[10px] uppercase px-1.5 py-0.5 rounded border ${c&&h?"border-dash-accent/45 text-dash-accent":c?"border-dash-border text-dash-text-secondary":"border-dash-border text-dash-text-muted opacity-60"}`,children:s(Sr[l])},l)})}),d.jsx("div",{className:"flex justify-start lg:justify-end",children:d.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),r(n.name)},className:`dash-focus-ring px-4 py-1.5 text-xs font-semibold rounded-md transition-colors ${t?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:s(t?"migrateSelectedButton":"migrateSelectButton")})})]})})},g8=({provider:n,include:e,isSelected:t,latestResult:r,onToggleSelect:i,onClose:s,t:o})=>d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"fixed inset-0 bg-black/50 z-40",onClick:s}),d.jsxs("div",{className:"fixed top-0 right-0 w-[460px] h-full bg-dash-surface border-l border-dash-border shadow-2xl z-50 flex flex-col animate-slide-in",children:[d.jsx("div",{className:"px-6 py-5 border-b border-dash-border",children:d.jsxs("div",{className:"flex items-start justify-between gap-3",children:[d.jsxs("div",{className:"min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2.5",children:[d.jsx(s1,{agentName:n.name,displayName:n.displayName,size:22}),d.jsx("h2",{className:"text-xl font-bold text-dash-text truncate",children:n.displayName})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-2",children:[d.jsx("span",{className:"text-[11px] text-dash-text-muted font-mono",children:n.name}),d.jsx("span",{className:`text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border ${n.detected?"border-dash-accent/30 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:n.detected?o("migrateDetectedTag"):o("migrateNotDetectedTag")}),n.recommended&&d.jsx("span",{className:"text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:o("migrateFilterRecommended")})]})]}),d.jsx("button",{type:"button",onClick:s,className:"w-8 h-8 flex items-center justify-center rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",children:d.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[d.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18",strokeWidth:2}),d.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18",strokeWidth:2})]})})]})}),d.jsxs("div",{className:"flex-1 overflow-y-auto px-6 py-5 space-y-6",children:[d.jsxs("div",{children:[d.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateCapabilitiesSection")}),d.jsx("div",{className:"space-y-1.5",children:fn.map(a=>{const l=n.capabilities[a],c=e[a];return d.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-dash-bg rounded-md",children:[d.jsx("span",{className:"text-sm text-dash-text",children:o(Sr[a])}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${c?"border-dash-accent/35 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:o(c?"migrateIncludedEnabled":"migrateIncludedDisabled")}),d.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${l?"border-green-500/35 text-green-400":"border-red-500/30 text-red-400"}`,children:o(l?"migrateSupported":"migrateUnsupportedShort")})]})]},a)})})]}),n.commandsGlobalOnly&&e.commands&&d.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-xs text-yellow-400",children:o("migrateGlobalForced")}),d.jsxs("div",{children:[d.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateLatestTarget")}),r?d.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("span",{className:"text-xs text-dash-text-muted",children:o("migrateStatus")}),d.jsx("span",{className:`text-xs font-semibold ${_p(r,o).className}`,children:_p(r,o).label})]}),d.jsx("p",{className:"text-xs font-mono text-dash-text break-all",children:Wp(r.path||"-")}),(r.error||r.skipReason)&&d.jsx("p",{className:"text-xs text-red-400 break-words",children:Wp(r.error||r.skipReason||"-")})]}):d.jsx("p",{className:"text-sm text-dash-text-muted",children:o("migrateNoResultForProvider")})]})]}),d.jsxs("div",{className:"px-6 py-4 border-t border-dash-border flex items-center justify-between gap-2",children:[d.jsx("button",{type:"button",onClick:()=>i(n.name),className:`px-4 py-2 text-sm font-semibold rounded-md transition-colors ${t?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:o(t?"migrateUnselectProvider":"migrateSelectProviderAction")}),d.jsx("button",{type:"button",onClick:s,className:"px-4 py-2 text-sm font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:o("detailPanelClose")})]})]})]}),b8=()=>{const{t:n}=me(),e=u8(),[t,r]=b.useState([]),[i,s]=b.useState(null),[o,a]=b.useState([]),[l,c]=b.useState(f8),[h,u]=b.useState(!1),[f,p]=b.useState(!0),[m,g]=b.useState(!1),[y,v]=b.useState(null),[w,S]=b.useState(""),O=b.useDeferredValue(w),[C,P]=b.useState("all"),[x,D]=b.useState(null),M=b.useRef(0),L=b.useCallback(async(R=!1)=>{M.current+=1;const G=M.current;try{R?g(!0):p(!0),v(null);const[ce,De]=await Promise.all([gv(),Zd()]);if(G!==M.current)return;r(ce.providers),s(De),a(pt=>{const Ga=ce.providers.map(_e=>_e.name),Qs=pt.filter(_e=>Ga.includes(_e));if(Qs.length>0)return Qs;const Xr=ce.providers.filter(_e=>_e.recommended&&_e.detected).map(_e=>_e.name);if(Xr.length>0)return Xr;const Xs=ce.providers.filter(_e=>_e.detected).map(_e=>_e.name);return Xs.length>0?Xs:ce.providers.filter(_e=>_e.recommended).map(_e=>_e.name)})}catch(ce){if(G!==M.current)return;v(ce instanceof Error?ce.message:n("migrateDetectFailed"))}finally{G===M.current&&(p(!1),g(!1))}},[n]);b.useEffect(()=>{L()},[L]);const A=b.useMemo(()=>{const R=new Map;for(const G of t)R.set(G.name,G);return R},[t]);b.useEffect(()=>{x&&!A.has(x.name)&&D(null)},[x,A]);const I=b.useMemo(()=>new Set(o),[o]),W=b.useMemo(()=>t.filter(R=>R.detected).length,[t]),V=o.length,$=b.useMemo(()=>t.filter(R=>R.recommended).length,[t]),q=b.useMemo(()=>fn.filter(R=>l[R]).length,[l]),he=b.useMemo(()=>{const R=[];l.commands&&o.includes("codex")&&!h&&A.get("codex")?.commandsGlobalOnly&&R.push(n("migrateGlobalForced"));for(const G of fn){if(!l[G])continue;const ce=o.filter(De=>!A.get(De)?.capabilities[G]).map(De=>A.get(De)?.displayName||De);ce.length>0&&R.push(`${n("migrateUnsupported")}: ${n(Sr[G])} -> ${ce.join(", ")}`)}return R},[l,h,A,o,n]),_=b.useCallback(R=>{if(R==="codex"){a(["codex"]);return}if(R==="antigravity"){a(["antigravity"]);return}if(R==="core"){const ce=["codex","antigravity"].filter(De=>t.some(pt=>pt.name===De));a(ce);return}const G=t.filter(ce=>ce.detected).map(ce=>ce.name);a(G)},[t]),J=b.useCallback(R=>{a(G=>G.includes(R)?G.filter(ce=>ce!==R):[...G,R])},[]),se=b.useCallback(R=>{c(G=>({...G,[R]:!G[R]}))},[]),le=b.useMemo(()=>{const R=[...t];return R.sort((G,ce)=>{const De=I.has(G.name),pt=I.has(ce.name);return De!==pt?De?-1:1:G.detected!==ce.detected?G.detected?-1:1:G.recommended!==ce.recommended?G.recommended?-1:1:G.displayName.localeCompare(ce.displayName)}),R},[t,I]),oe=b.useMemo(()=>{const R=O.trim().toLowerCase();return le.filter(G=>{if(C==="selected"&&!I.has(G.name)||C==="detected"&&!G.detected||C==="recommended"&&!G.recommended||C==="not-detected"&&G.detected)return!1;if(!R)return!0;const ce=fn.filter(De=>G.capabilities[De]).map(De=>n(Sr[De]).toLowerCase());return G.displayName.toLowerCase().includes(R)||G.name.toLowerCase().includes(R)||ce.some(De=>De.includes(R))})},[O,C,I,le,n]),we=b.useMemo(()=>{const R=oe.filter(De=>De.detected),G=oe.filter(De=>!De.detected),ce=[];return R.length>0&&ce.push({key:"detected",label:n("migrateDetectedTag"),providers:R}),G.length>0&&ce.push({key:"not-detected",label:n("migrateNotDetectedTag"),providers:G}),ce},[oe,n]),Me=b.useMemo(()=>({all:t.length,selected:V,detected:t.filter(R=>R.detected).length,recommended:t.filter(R=>R.recommended).length,"not-detected":t.filter(R=>!R.detected).length}),[t,V]),Se=b.useMemo(()=>oe.map(R=>R.name),[oe]),Qe=b.useCallback(()=>{a(R=>{const G=new Set(R);for(const ce of Se)G.add(ce);return Array.from(G)})},[Se]),Lt=b.useCallback(()=>{a([])},[]),Y=b.useCallback(async()=>{if(o.length===0){v(n("migrateSelectProvider"));return}if(q===0){v(n("migrateNoTypesEnabled"));return}await e.reconcile({providers:o,global:h,include:l})},[q,l,h,o,n,e]),Ae=b.useCallback(async()=>{if(v(null),!!await e.execute())try{const G=await Zd();s(G)}catch(G){console.error("Failed to refresh discovery:",G)}},[e]),ve=b.useMemo(()=>{const R=new Map;if(!e.results)return R;for(const G of e.results.results)R.set(G.provider,G);return R},[e.results]);b.useEffect(()=>{const R=G=>{G.key==="/"&&document.activeElement?.tagName!=="INPUT"&&(G.preventDefault(),document.getElementById("migrate-search")?.focus())};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[]);const Le=e.phase==="idle"&&o.length>0&&q>0;return f?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),d.jsx("p",{className:"text-dash-text-muted",children:n("migrateDiscovering")})]})}):d.jsxs("div",{className:"relative h-full overflow-hidden",children:[d.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[d.jsx("div",{className:"absolute -top-24 -right-8 h-64 w-64 rounded-full bg-dash-accent/10 blur-3xl"}),d.jsx("div",{className:"absolute -bottom-28 -left-10 h-72 w-72 rounded-full bg-dash-accent/5 blur-3xl"})]}),d.jsxs("div",{className:"h-full overflow-y-auto space-y-4 pb-8",children:[d.jsx("section",{className:"dash-panel dash-sticky-glass sticky top-0 z-20 px-4 py-4 md:px-6 md:py-5",children:d.jsxs("div",{className:"flex flex-col gap-4 xl:flex-row xl:items-end xl:justify-between",children:[d.jsxs("div",{className:"space-y-1",children:[d.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:n("migrate")}),d.jsx("h1",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:n("migrateTitle")}),d.jsx("p",{className:"text-sm text-dash-text-secondary max-w-3xl",children:n("migrateSubtitle")})]}),d.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[d.jsx(wn,{label:n("migrateTypeAgents"),value:i?.counts.agents??0}),d.jsx(wn,{label:n("migrateDetectedProviders"),value:W,tone:"success"}),d.jsx(wn,{label:n("migrateSelectedProviders"),value:V,tone:"accent"}),d.jsx(wn,{label:n("migrateTypes"),value:q})]})]})}),y&&d.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:y}),d.jsxs("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.55fr)_minmax(0,340px)]",children:[d.jsxs("section",{className:"order-2 xl:order-1 space-y-4",children:[e.phase==="reviewing"&&e.plan&&d.jsxs("div",{className:"dash-panel p-5",children:[d.jsxs("div",{className:"flex items-center justify-between mb-4",children:[d.jsx("h2",{className:"text-lg font-semibold text-dash-text",children:n("migrateReviewPlan")}),d.jsx("button",{type:"button",onClick:()=>e.reset(),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:n("cancel")})]}),d.jsx(QC,{plan:e.plan,resolutions:e.resolutions,onResolve:e.resolve,actionKey:e.actionKey}),e.error&&d.jsx("div",{className:"mt-4 px-3 py-2 border border-red-500/30 bg-red-500/10 rounded text-xs text-red-400",children:e.error}),d.jsxs("div",{className:"mt-4 flex items-center justify-end gap-3",children:[e.plan.hasConflicts&&!e.allConflictsResolved&&d.jsx("p",{className:"text-xs text-yellow-400",children:n("migrateResolveConflicts")}),d.jsx("button",{type:"button",onClick:Ae,disabled:e.plan.hasConflicts&&!e.allConflictsResolved,className:"dash-focus-ring px-4 py-2 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:n("migrateExecutePlan")})]})]}),e.phase==="complete"&&e.results&&d.jsx(VC,{results:e.results,onReset:e.reset}),e.phase==="error"&&e.error&&d.jsxs("div",{className:"dash-panel p-5",children:[d.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:e.error}),d.jsx("button",{type:"button",onClick:e.reset,className:"mt-4 dash-focus-ring px-4 py-2 bg-dash-bg border border-dash-border rounded-md text-sm text-dash-text-secondary hover:bg-dash-surface-hover",children:n("tryAgain")})]}),(e.phase==="reconciling"||e.phase==="executing")&&d.jsx("div",{className:"dash-panel p-5",children:d.jsx("div",{className:"flex items-center justify-center py-8",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),d.jsx("p",{className:"text-dash-text-muted",children:e.phase==="reconciling"?n("migrateReconciling"):n("migrateExecuting")})]})})}),e.phase==="idle"&&d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[d.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center",children:[d.jsxs("div",{className:"relative flex-1",children:[d.jsxs("svg",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 stroke-dash-text-muted",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[d.jsx("circle",{cx:"11",cy:"11",r:"8"}),d.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),d.jsx("input",{id:"migrate-search",type:"text",value:w,onChange:R=>S(R.target.value),placeholder:n("migrateSearchProviders"),className:"dash-focus-ring w-full pl-9 pr-12 py-2 bg-dash-bg border border-dash-border rounded-lg text-dash-text text-sm focus:border-dash-accent transition-colors"}),d.jsx("span",{className:"absolute right-2.5 top-1/2 -translate-y-1/2 text-[11px] text-dash-text-muted bg-dash-surface-hover border border-dash-border px-1.5 py-0.5 rounded",children:n("searchShortcut")})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[d.jsx("button",{type:"button",onClick:()=>L(!0),disabled:m,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n(m?"checking":"migrateRefresh")}),d.jsx("button",{type:"button",onClick:Qe,disabled:Se.length===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n("migrateSelectVisible")}),d.jsx("button",{type:"button",onClick:Lt,disabled:V===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n("migrateClearSelection")})]})]}),d.jsx("div",{className:"flex flex-wrap gap-1.5",children:[{key:"all",label:n("categoryAll")},{key:"selected",label:n("migrateSelectedProviders")},{key:"detected",label:n("migrateDetectedProviders")},{key:"recommended",label:n("migrateFilterRecommended")},{key:"not-detected",label:n("migrateNotDetectedTag")}].map(R=>d.jsxs("button",{type:"button",onClick:()=>P(R.key),className:`dash-focus-ring px-3 py-1 text-xs font-medium rounded-full border transition-all whitespace-nowrap ${C===R.key?"bg-dash-accent/10 border-dash-accent text-dash-accent":"border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[R.label,d.jsx("span",{className:"opacity-60 ml-1 text-[10px]",children:Me[R.key]})]},R.key))}),d.jsxs("div",{children:[d.jsx("p",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateTypes")}),d.jsx("div",{className:"flex flex-wrap items-center gap-2",children:fn.map(R=>d.jsx("button",{type:"button",onClick:()=>se(R),className:`dash-focus-ring px-2.5 py-1 text-[11px] uppercase tracking-wide rounded-md border transition-colors ${l[R]?"border-dash-accent/45 text-dash-accent bg-dash-accent/5":"border-dash-border text-dash-text-muted hover:bg-dash-surface-hover"}`,children:n(Sr[R])},R))})]})]}),d.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[d.jsx("h2",{className:"text-sm font-semibold text-dash-text mb-4",children:n("migrateSourceSummary")}),d.jsx("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:fn.map(R=>d.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-center",children:[d.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:n(Sr[R])}),d.jsx("p",{className:"text-lg font-semibold text-dash-text",children:i?.counts[R]??0})]},R))})]}),d.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[d.jsxs("div",{className:"flex items-center justify-between mb-4",children:[d.jsx("h2",{className:"text-sm font-semibold text-dash-text",children:n("migrateProvidersHeading")}),d.jsxs("p",{className:"text-xs text-dash-text-muted",children:[oe.length," ",n("migrateProvidersCountSuffix")]})]}),t.length===0?d.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProviders")}):oe.length===0?d.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProvidersMatch")}):d.jsx("div",{className:"space-y-5",children:we.map(R=>d.jsxs("div",{children:[d.jsxs("div",{className:"flex items-center gap-2.5 mb-3",children:[d.jsx("div",{className:"w-2 h-2 rounded-full",style:{background:Hp[R.key]}}),d.jsx("h2",{className:"text-[13px] font-semibold uppercase tracking-wide",style:{color:Hp[R.key]},children:R.label}),d.jsxs("span",{className:"text-[11px] text-dash-text-muted ml-auto",children:[R.providers.length," ",n("migrateProvidersCountSuffix")]}),d.jsx("div",{className:"flex-1 h-px bg-dash-border ml-3"})]}),d.jsx("div",{className:"space-y-2",children:R.providers.map(G=>d.jsx(m8,{provider:G,include:l,isSelected:I.has(G.name),onToggleSelect:J,onOpenDetails:D,t:n},G.name))})]},R.key))})]})]})]}),d.jsxs("aside",{className:"order-1 xl:order-2 space-y-4 self-start xl:sticky xl:top-[84px]",children:[d.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[d.jsxs("div",{children:[d.jsx("p",{className:"text-sm font-semibold text-dash-text",children:n("migrateActionSummaryTitle")}),d.jsxs("p",{className:"text-xs text-dash-text-muted mt-1",children:[V," ",n("migrateProvidersCountSuffix")," · ",q,"/5"," ",n("migrateTypes")]})]}),d.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[d.jsx(wn,{label:n("migrateSelectedProviders"),value:V,tone:"accent"}),d.jsx(wn,{label:n("migrateDetectedProviders"),value:W}),d.jsx(wn,{label:n("migrateTypes"),value:q}),d.jsx(wn,{label:n("migrateFilterRecommended"),value:$,tone:"success"})]}),d.jsxs("div",{className:"inline-flex w-full rounded-md border border-dash-border overflow-hidden",children:[d.jsx("button",{type:"button",onClick:()=>u(!1),className:`dash-focus-ring flex-1 px-3 py-2 text-sm ${h?"bg-dash-bg text-dash-text-secondary":"bg-dash-accent-subtle text-dash-accent"}`,children:n("migrateScopeProject")}),d.jsx("button",{type:"button",onClick:()=>u(!0),className:`dash-focus-ring flex-1 px-3 py-2 text-sm border-l border-dash-border ${h?"bg-dash-accent-subtle text-dash-accent":"bg-dash-bg text-dash-text-secondary"}`,children:n("migrateScopeGlobal")})]}),d.jsx("button",{type:"button",onClick:Y,disabled:!Le,className:"dash-focus-ring w-full px-4 py-2.5 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:e.phase==="reconciling"?n("migrateRunning"):n("migrateRun")}),he.length>0&&d.jsx("div",{className:"space-y-2",children:he.map((R,G)=>d.jsx("p",{className:"text-xs px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-yellow-400",children:R},`${R}-${G}`))})]}),d.jsxs("div",{className:"dash-panel-muted p-4",children:[d.jsx("p",{className:"mb-3 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateSelectProviderAction")}),d.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[d.jsx("button",{type:"button",onClick:()=>_("codex"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetCodex")}),d.jsx("button",{type:"button",onClick:()=>_("antigravity"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetAntigravity")}),d.jsx("button",{type:"button",onClick:()=>_("core"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetBoth")}),d.jsx("button",{type:"button",onClick:()=>_("detected"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetDetected")})]})]})]})]})]}),x&&d.jsx(g8,{provider:x,include:l,isSelected:I.has(x.name),latestResult:ve.get(x.name)||null,onToggleSelect:J,onClose:()=>D(null),t:n})]})},y8=({featureId:n,name:e,description:t,included:r})=>{const{t:i}=me();return d.jsxs("div",{"data-testid":`feature-card-${n}`,className:`p-4 rounded-lg border transition-all ${r?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-sm":"border-[var(--dash-border)] bg-[var(--dash-bg)] opacity-50"}`,children:[d.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r?d.jsx("svg",{className:"w-5 h-5 text-[var(--dash-accent)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):d.jsx("svg",{className:"w-5 h-5 text-[var(--dash-text-muted)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),d.jsx("h4",{className:"font-medium text-[var(--dash-text)]",children:i(e)})]}),d.jsx("p",{className:"text-sm text-[var(--dash-text-muted)] leading-relaxed",children:i(t)})]})},x8=({selectedKit:n,onKitSelect:e,onInstall:t,installing:r})=>{const{t:i}=me(),[s,o]=b.useState(1);return d.jsxs("div",{className:"space-y-6","data-testid":"install-wizard",children:[d.jsxs("div",{className:"flex items-center gap-4",children:[d.jsx(sc,{number:1,active:s===1,label:i("stepChooseKit")}),d.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),d.jsx(sc,{number:2,active:s===2,label:i("stepConfigure")}),d.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),d.jsx(sc,{number:3,active:s===3,label:i("stepInstall")})]}),d.jsxs("div",{className:"min-h-[200px]",children:[s===1&&d.jsx(v8,{onSelect:e,selected:n}),s===2&&n&&d.jsx(w8,{kit:n}),s===3&&d.jsx(k8,{installing:r})]}),d.jsxs("div",{className:"flex justify-between pt-4 border-t border-[var(--dash-border)]",children:[s>1?d.jsx("button",{onClick:()=>o(a=>a-1),className:"px-4 py-2 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"wizard-back",children:i("back")}):d.jsx("div",{}),s<3&&n&&d.jsx("button",{onClick:()=>o(a=>a+1),className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"wizard-next",children:i("next")}),s===3&&d.jsx("button",{onClick:t,disabled:r,className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"wizard-install",children:i("install")})]})]})},sc=({number:n,active:e,label:t})=>d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold transition-colors ${e?"bg-[var(--dash-accent)] text-white":"bg-[var(--dash-surface)] text-[var(--dash-text-muted)] border border-[var(--dash-border)]"}`,children:n}),d.jsx("span",{className:`text-sm font-medium ${e?"text-[var(--dash-text)]":"text-[var(--dash-text-muted)]"}`,children:t})]}),v8=({onSelect:n,selected:e})=>{const{t}=me();return d.jsxs("div",{className:"space-y-4",children:[d.jsx("p",{className:"text-[var(--dash-text-muted)]",children:e?`Selected: ${e===Gt.ENGINEER?t("kitEngineerName"):t("kitMarketingName")}`:"Please select a kit above"}),e&&d.jsxs("button",{type:"button",onClick:()=>n(e===Gt.ENGINEER?Gt.MARKETING:Gt.ENGINEER),className:"text-sm text-[var(--dash-accent)] hover:underline",children:["Switch to ",e===Gt.ENGINEER?t("kitMarketingName"):t("kitEngineerName")]})]})},w8=()=>d.jsx("div",{className:"text-[var(--dash-text-muted)]",children:"Configuration preview placeholder"}),k8=({installing:n})=>d.jsx("div",{className:"text-[var(--dash-text-muted)]",children:n?"Installing...":"Ready to install"}),S8=({kit:n,onGetStarted:e})=>{const{t}=me(),r=yn(),i=n===Gt.ENGINEER?"kitEngineerName":n===Gt.MARKETING?"kitMarketingName":"kitEngineerName";return d.jsxs("div",{className:"text-center py-12 space-y-6","data-testid":"success-screen",children:[d.jsx("div",{className:"w-16 h-16 mx-auto bg-green-100 rounded-full flex items-center justify-center",children:d.jsx("svg",{className:"w-10 h-10 text-green-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})}),d.jsx("h2",{className:"text-2xl font-bold text-[var(--dash-text)]",children:t("installSuccess")}),d.jsx("p",{className:"text-[var(--dash-text-muted)] max-w-md mx-auto",children:t("installSuccessDesc").replace("{kit}",t(i))}),d.jsxs("div",{className:"flex gap-4 justify-center pt-4",children:[d.jsx("button",{onClick:e,className:"px-6 py-2.5 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"get-started-btn",children:t("getStarted")}),d.jsx("button",{onClick:()=>r("/"),className:"px-6 py-2.5 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"dashboard-btn",children:t("goToDashboard")})]})]})},C8=[{id:"agents",name:"featureAgents",description:"featureAgentsDesc",engineer:!0,marketing:!0},{id:"hooks",name:"featureHooks",description:"featureHooksDesc",engineer:!0,marketing:!0},{id:"skills",name:"featureSkills",description:"featureSkillsDesc",engineer:!0,marketing:!0},{id:"multiagent",name:"featureMultiAgent",description:"featureMultiAgentDesc",engineer:!0,marketing:!1},{id:"content",name:"featureContent",description:"featureContentDesc",engineer:!1,marketing:!0},{id:"social",name:"featureSocial",description:"featureSocialDesc",engineer:!1,marketing:!0}],o1={engineer:{id:"engineer",name:"kitEngineerName",tagline:"kitEngineerTagline",primaryColor:"text-blue-500",features:["agents","hooks","skills","multiagent"]},marketing:{id:"marketing",name:"kitMarketingName",tagline:"kitMarketingTagline",primaryColor:"text-purple-500",features:["agents","hooks","skills","content","social"]}};function j8(n){const e=o1[n];return e?C8.filter(t=>e.features.includes(t.id)):(console.warn(`Unknown kit type: ${n}`),[])}const O8=({kit:n,selected:e,onSelect:t,features:r})=>{const{t:i}=me();return d.jsxs("button",{type:"button",onClick:t,className:`p-6 rounded-lg border-2 text-left transition-all w-full ${e?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-md":"border-[var(--dash-border)] hover:border-[var(--dash-accent)]/50"}`,children:[d.jsx("h3",{className:`text-xl font-bold ${n.primaryColor}`,children:i(n.name)}),d.jsx("p",{className:"text-[var(--dash-text-muted)] mt-1",children:i(n.tagline)}),d.jsx("div",{className:"mt-4 space-y-2",children:r.slice(0,3).map(s=>d.jsx(y8,{featureId:s.id,name:s.name,description:s.description,included:!0},s.id))})]})},P8=()=>{const{t:n}=me(),e=yn(),[t,r]=b.useState(null),[i,s]=b.useState(!1),[o,a]=b.useState(!1),[l,c]=b.useState(null),h=async()=>{if(t){s(!0),c(null);try{const f=await fetch("/api/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kit:t})});if(!f.ok)throw new Error(`Installation failed: ${f.statusText}`);a(!0)}catch(f){const p=f instanceof Error?f.message:"Unknown error occurred";c(p),console.error("Install failed:",f)}finally{s(!1)}}};if(o&&t)return d.jsx(S8,{kit:t,onGetStarted:()=>e("/")});const u=f=>f==="engineer"?Gt.ENGINEER:Gt.MARKETING;return d.jsxs("div",{className:"max-w-4xl mx-auto py-8 px-4",children:[d.jsxs("header",{className:"text-center mb-8",children:[d.jsx("h1",{className:"text-3xl font-bold text-[var(--dash-text)]",children:n("onboardingTitle")}),d.jsx("p",{className:"mt-2 text-[var(--dash-text-muted)]",children:n("onboardingSubtitle")})]}),d.jsx("section",{className:"grid md:grid-cols-2 gap-6 mb-8",children:Object.values(o1).map(f=>{const p=u(f.id);return d.jsx(O8,{kit:f,selected:t===p,onSelect:()=>r(p),features:j8(f.id)},f.id)})}),l&&d.jsxs("div",{className:"mb-6 p-4 rounded-lg bg-red-100 border border-red-300 text-red-800",children:[d.jsx("p",{className:"font-medium",children:"Installation Error"}),d.jsx("p",{className:"text-sm mt-1",children:l}),d.jsx("button",{type:"button",onClick:()=>c(null),className:"mt-2 text-sm underline hover:no-underline",children:"Dismiss"})]}),t&&d.jsx(x8,{selectedKit:t,onKitSelect:r,onInstall:h,installing:i})]})},A8=()=>{const{t:n}=me(),e=yn(),{projectId:t}=vm(),[r,i]=b.useState(null),{sizes:s,isDragging:o,startDrag:a}=oh({storageKey:"claudekit-project-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),l=b.useCallback(async()=>{if(!t)throw new Error("No project ID");const[g,y,v]=await Promise.all([rp("project",t),rp("global"),Mm()]),w=v.find(S=>S.id===t);return w&&i(w.path),{...g,global:y.config??{}}},[t]),c=b.useCallback(async g=>{t&&await Db({scope:"project",projectId:t,config:g})},[t]),h=Nb({scope:"project",fetchConfig:l,fetchSchema:Tb,saveConfig:c}),u=b.useCallback(g=>{const y=dc(h.config,g),v=dc(h.globalConfig,g);return y!==void 0&&v!==void 0&&y!==v},[h.config,h.globalConfig]),f=b.useMemo(()=>[{id:"paths",title:n("sectionPaths"),fields:[{path:"paths.docs",label:n("fieldDocsPath"),description:n("fieldDocsPathDesc")},{path:"paths.plans",label:n("fieldPlansPath"),description:n("fieldPlansPathDesc")}]},{id:"project",title:n("sectionProject"),fields:[{path:"project.type",label:n("fieldProjectType"),description:n("fieldProjectTypeDesc")},{path:"project.packageManager",label:n("fieldPackageManager"),description:n("fieldPackageManagerDesc")},{path:"project.framework",label:n("fieldFramework"),description:n("fieldFrameworkDesc")}]},{id:"privacy",title:n("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:n("fieldPrivacyBlock"),description:n("fieldPrivacyBlockDesc")}]},{id:"advanced",title:n("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:n("fieldDocsMaxLoc"),description:n("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:n("fieldPlanNamingFormat"),description:n("fieldPlanNamingFormatDesc")}]}],[n]),p=h.activeFieldPath&&u(h.activeFieldPath)?d.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-1.5 py-0.5 rounded font-bold border border-orange-500/30",children:n("localOverride")}):null,m=h.fieldDoc?d.jsxs("section",{className:"bg-blue-500/5 p-3 rounded-lg border border-blue-500/20",children:[d.jsx("h4",{className:"text-[10px] font-bold text-blue-500 uppercase tracking-widest mb-1",children:n("inheritedFromGlobal")}),d.jsxs("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:[n("viewGlobalConfig")," ",d.jsx("button",{onClick:()=>e("/config/global"),className:"text-dash-accent hover:underline font-medium",children:n("globalConfig")})]})]}):null;return d.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[d.jsx(Dm,{title:n("projectConfig"),filePath:r?`${r}/.claude/.ck.json`:".claude/.ck.json",onBack:()=>e(`/project/${t}`),onSave:h.handleSave,onReset:h.handleReset,saveStatus:h.saveStatus,syntaxError:h.syntaxError,showResetConfirm:h.showResetConfirm,setShowResetConfirm:h.setShowResetConfirm}),d.jsxs("div",{className:"flex-1 flex min-h-0",children:[d.jsx(Tm,{width:s[0],isLoading:h.isLoading,schema:h.schema,config:h.config,sources:h.sources,sections:f,onChange:h.handleFormChange}),d.jsx(jr,{direction:"horizontal",isDragging:o,onMouseDown:g=>a(0,g)}),d.jsx(ed,{width:s[1],isLoading:h.isLoading,jsonText:h.jsonText,cursorLine:h.cursorLine,syntaxError:h.syntaxError,onChange:h.handleJsonChange,onCursorLineChange:h.setCursorLine}),d.jsx(jr,{direction:"horizontal",isDragging:o,onMouseDown:g=>a(1,g)}),d.jsx(Pb,{width:s[2],fieldDoc:h.fieldDoc,activeFieldPath:h.activeFieldPath,overrideBadge:p,extraContent:m})]})]})},St="__global__",M8=({project:n})=>{const{t:e}=me(),t=yn(),{skills:r,loading:i}=bv(),{sessions:s,loading:o}=yv(n.id),[a,l]=b.useState(null),[c,h]=b.useState(!0),[u,f]=b.useState(null),[p,m]=b.useState(St),[g,y]=b.useState(St),v=async(A,I)=>{try{await hv(A,n.path,I,n.id)}catch(W){alert(`${e("actionFailed")}: ${W instanceof Error?W.message:A}`)}},w=b.useCallback(()=>{const A=new AbortController;return h(!0),f(null),cv(n.id,A.signal).then(I=>{l(I),m(I.preferences.project.terminalApp||St),y(I.preferences.project.editorApp||St)}).catch(I=>{I instanceof DOMException&&I.name==="AbortError"||(l(null),m(St),y(St),f(e("actionOptionsLoadFailed")))}).finally(()=>{A.signal.aborted||h(!1)}),A},[n.id,e]);b.useEffect(()=>{const A=w();return()=>{A.abort()}},[w]);const S=r.filter(A=>n.skills.includes(A.id)),O=a?.terminals||[],C=a?.editors||[],P=O.find(A=>A.id===a?.defaults.terminalApp)?.label||a?.defaults.terminalApp,x=C.find(A=>A.id===a?.defaults.editorApp)?.label||a?.defaults.editorApp,D=b.useMemo(()=>O.find(A=>p===St?A.id===a?.defaults.terminalApp:A.id===p),[O,p,a?.defaults.terminalApp]),M=b.useMemo(()=>C.find(A=>g===St?A.id===a?.defaults.editorApp:A.id===g),[C,g,a?.defaults.editorApp]),L=async(A,I)=>{if(!n.id.startsWith("discovered-"))try{await Nm(n.id,{preferences:{[A]:I===St?null:I}})}catch(W){const V=W instanceof Error?W.message:"Failed to save preference";alert(`${e("actionFailed")}: ${V}`)}};return d.jsxs("div",{className:"animate-in fade-in slide-in-from-bottom-2 duration-500 transition-colors flex flex-col h-full",children:[d.jsx("section",{className:"mb-6 shrink-0",children:d.jsxs("div",{className:"flex flex-col md:flex-row md:items-end justify-between gap-4",children:[d.jsxs("div",{children:[d.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[d.jsx("h1",{className:"text-3xl font-bold tracking-tight text-dash-text",children:n.name}),d.jsx(N8,{status:n.health}),d.jsx(wC,{variant:"beta"})]}),d.jsxs("p",{className:"text-dash-text-secondary mono text-sm flex items-center gap-2 italic",children:[d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})}),n.path]})]}),d.jsx("div",{className:"flex items-center gap-3",children:d.jsx("span",{className:"text-[10px] text-dash-text-muted font-bold uppercase tracking-widest bg-dash-surface border border-dash-border px-2 py-1 rounded",children:s.length>0?`${s.length} ${e("sessions")}`:e("noSessions")})})]})}),d.jsxs("section",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-6 shrink-0",children:[u?d.jsxs("div",{className:"col-span-2 md:col-span-4 rounded-lg border border-orange-500/30 bg-orange-500/5 px-3 py-2 text-xs text-orange-700 dark:text-orange-300 flex items-center justify-between gap-3",children:[d.jsx("span",{children:u}),d.jsx("button",{onClick:()=>void w(),className:"rounded border border-orange-500/40 px-2 py-1 font-semibold hover:bg-orange-500/10 transition-colors",children:e("tryAgain")})]}):null,d.jsx(Up,{icon:"📟",label:e("terminal"),sub:D?`${D.openMode==="open-app"?e("openAppOnly"):e("openAtPath")} • ${D.label}`:e("terminalSub"),onClick:()=>v("terminal",p===St?void 0:p),disabled:c||!D&&O.length>0,options:O,value:p,fallbackLabel:a?`${e("useGlobalFallback")} (${P})`:e("useGlobalFallback"),onChange:async A=>{m(A),await L("terminalApp",A)}}),d.jsx(Up,{icon:"💻",label:e("editor"),sub:M?`${M.openMode==="open-app"?e("openAppOnly"):e("openAtPath")} • ${M.label}`:e("editorSub"),onClick:()=>v("editor",g===St?void 0:g),disabled:c||!M&&C.length>0,options:C,value:g,fallbackLabel:a?`${e("useGlobalFallback")} (${x})`:e("useGlobalFallback"),onChange:async A=>{y(A),await L("editorApp",A)}}),d.jsx(ah,{icon:"🤖",label:e("launch"),sub:e("launchSub"),highlight:!0,onClick:()=>v("launch")}),d.jsx(ah,{icon:"⚙️",label:e("config"),sub:e("configSub"),onClick:()=>t(`/config/project/${n.id}`)})]}),d.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 flex-1 min-h-0",children:[d.jsx("div",{className:"lg:col-span-2 flex flex-col gap-6 min-h-0",children:d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden shadow-sm flex-1 flex flex-col min-h-0",children:[d.jsx("div",{className:"px-4 py-3 border-b border-dash-border flex items-center justify-between bg-dash-surface-hover/50 shrink-0",children:d.jsx("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest",children:e("recentSessions")})}),d.jsx("div",{className:"divide-y divide-dash-border overflow-y-auto flex-1",children:o?d.jsx("div",{className:"p-4 text-center text-dash-text-muted animate-pulse",children:e("loadingSessions")}):s.length===0?d.jsx("div",{className:"p-4 text-center text-dash-text-muted",children:e("noSessionsFound")}):s.map(A=>d.jsxs("div",{className:"p-4 hover:bg-dash-surface-hover transition-colors group cursor-pointer",children:[d.jsxs("div",{className:"flex items-center justify-between mb-1",children:[d.jsx("span",{className:"text-xs font-bold text-dash-accent",children:A.timestamp}),d.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium group-hover:text-dash-text-secondary transition-colors",children:A.duration})]}),d.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed truncate",children:A.summary})]},A.id))})]})}),d.jsxs("div",{className:"flex flex-col gap-6 min-h-0",children:[d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl p-6 shadow-sm shrink-0",children:[d.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest mb-4 flex items-center gap-2",children:[e("configuration"),d.jsx("span",{className:"text-[10px] font-normal text-dash-text-muted normal-case",children:e("globalSettings")})]}),d.jsxs("div",{className:"space-y-4",children:[d.jsx(Bo,{label:e("activeKit"),value:n.kitType}),d.jsx(Bo,{label:e("aiModel"),value:n.model}),d.jsx(Bo,{label:e("hooks"),value:`${n.activeHooks} ${e("active")}`}),d.jsx(Bo,{label:e("mcpServers"),value:`${n.mcpServers} ${e("connected")}`})]}),d.jsx("button",{onClick:()=>t(`/config/project/${n.id}`),className:"w-full mt-6 py-2 rounded-lg bg-dash-bg text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:e("editProjectConfig")})]}),d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl shadow-sm flex flex-col flex-1 min-h-0",children:[d.jsx("div",{className:"p-4 pb-2 border-b border-dash-border shrink-0",children:d.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest flex items-center justify-between",children:[e("globalSkills"),d.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded-full",children:i?"...":r.length})]})}),d.jsx("div",{className:"overflow-y-auto flex-1 px-4 py-2 space-y-2",children:i?d.jsx("div",{className:"text-center text-dash-text-muted animate-pulse py-4",children:e("loadingSkills")}):(S.length>0?S:r).map(A=>d.jsxs("div",{className:"flex flex-col gap-0.5 border-l-2 border-dash-accent/20 pl-3 py-1",children:[d.jsx("span",{className:"text-sm font-semibold text-dash-text",children:A.name}),d.jsx("p",{className:"text-[10px] text-dash-text-muted leading-tight line-clamp-1",children:A.description||e("noDescription")})]},A.id))}),d.jsx("div",{className:"p-4 pt-2 border-t border-dash-border shrink-0",children:d.jsxs("a",{href:"https://kits.vibery.app/",target:"_blank",rel:"noopener noreferrer",className:"text-xs font-bold text-dash-text-muted hover:text-dash-accent transition-colors text-center block",children:[e("browseSkillsMarketplace")," →"]})})]})]})]})]})},N8=({status:n})=>{const e={[On.HEALTHY]:"bg-dash-accent-subtle text-dash-accent border-dash-accent/20",[On.WARNING]:"bg-orange-500/10 text-orange-600 border-orange-500/20",[On.ERROR]:"bg-red-500/10 text-red-600 border-red-500/20",[On.LOADING]:"bg-dash-border/20 text-dash-text-muted border-dash-border",[On.UNKNOWN]:"bg-dash-border/20 text-dash-text-muted border-dash-border"};return d.jsx("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-bold border uppercase tracking-widest ${e[n]}`,children:n})},Up=({icon:n,label:e,sub:t,disabled:r,options:i,value:s,fallbackLabel:o,onClick:a,onChange:l})=>d.jsxs("div",{className:"flex flex-col gap-2",children:[d.jsx(ah,{icon:n,label:e,sub:t,onClick:a,disabled:r}),d.jsxs("select",{value:s,onChange:c=>void l(c.target.value),className:"w-full rounded-md border border-dash-border bg-dash-surface px-2 py-1 text-xs text-dash-text-secondary",children:[d.jsx("option",{value:St,children:o}),i.map(c=>d.jsx("option",{value:c.id,disabled:!c.available,children:`${c.label} • ${c.detected?"Detected":"Not detected"}`},c.id))]})]}),ah=({icon:n,label:e,sub:t,highlight:r,onClick:i,disabled:s})=>d.jsxs("button",{onClick:i,disabled:s,className:`p-4 rounded-xl border flex flex-col gap-1 transition-all group ${r?"bg-dash-accent-subtle border-dash-accent/30 hover:bg-dash-accent-glow hover:border-dash-accent/50 shadow-sm shadow-dash-accent/5":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-text-muted shadow-sm"} ${s?"opacity-50 cursor-not-allowed":""}`,children:[d.jsx("span",{className:"text-2xl mb-1 group-hover:scale-110 transition-transform",children:n}),d.jsx("span",{className:"text-sm font-bold text-dash-text",children:e}),d.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium truncate italic",children:t})]}),Bo=({label:n,value:e})=>d.jsxs("div",{className:"flex items-center justify-between text-xs py-1.5 border-b border-dash-border/50 last:border-0",children:[d.jsx("span",{className:"text-dash-text-muted font-medium",children:n}),d.jsx("span",{className:"text-dash-text font-bold mono uppercase text-[10px] tracking-tight",children:e})]}),D8=()=>{const{t:n}=me(),{project:e}=Gy();return e?d.jsx(M8,{project:e}):d.jsxs("div",{className:"flex flex-col items-center justify-center h-full space-y-4 opacity-50",children:[d.jsx("div",{className:"w-16 h-16 rounded-full bg-dash-surface border border-dash-border flex items-center justify-center",children:d.jsx("span",{className:"text-2xl text-dash-text-muted",children:"📂"})}),d.jsx("p",{className:"text-lg text-dash-text-secondary font-bold",children:n("selectProject")})]})},T8=zx([{path:"/",element:d.jsx(wv,{}),children:[{index:!0,element:d.jsx(rl,{to:"/config/global",replace:!0})},{path:"config/global",element:d.jsx($C,{})},{path:"config/project/:projectId",element:d.jsx(A8,{})},{path:"project/:projectId",element:d.jsx(D8,{})},{path:"onboarding",element:d.jsx(P8,{})},{path:"migrate",element:d.jsx(b8,{})},{path:"skills",element:d.jsx(rl,{to:"/migrate",replace:!0})},{path:"*",element:d.jsx(rl,{to:"/",replace:!0})}]}]),a1=document.getElementById("root");if(!a1)throw document.body.innerHTML='<div style="padding:20px;color:red;">Fatal: Root element not found</div>',new Error("Root element #root not found");oc.createRoot(a1).render(d.jsx(w1.StrictMode,{children:d.jsx(nv,{children:d.jsx(rv,{children:d.jsx(Zx,{router:T8})})})}));
216
+ }`}},WC=(n,e)=>{const[t,r]=g.useState(null);return g.useEffect(()=>{const i=n.split(`
217
+ `),s=[];let o=null;for(let a=0;a<=Math.min(e,i.length-1);a++){const l=i[a].trim(),c=l.match(/"([^"]+)"\s*:\s*{/);if(c){s.push(c[1]),a===e&&(o=s.join("."));continue}if(l==="}"||l==="},"){s.pop();continue}const h=l.match(/"([^"]+)"\s*:/);if(h){const u=h[1];if(a===e){o=s.length>0?`${s.join(".")}.${u}`:u;break}}}r(o)},[n,e]),t};function $b(n){const{scope:e,fetchConfig:t,fetchSchema:r,saveConfig:i,onReset:s}=n,[o,a]=g.useState("{}"),[l,c]=g.useState(0),[h,u]=g.useState(null),[f,p]=g.useState(null),[m,b]=g.useState({}),[y,v]=g.useState({}),[w,C]=g.useState({}),[j,S]=g.useState(!0),[O,x]=g.useState("idle"),[T,N]=g.useState(!1),[R,A]=g.useState(null),L=WC(o,l),W=L?HC[L]:null;g.useEffect(()=>{(async()=>{try{const[J,ie]=await Promise.all([t(),r()]),le=J.local??J.config;b(le),v(J.global??{}),C(J.sources),p(ie),a(JSON.stringify(le,null,2))}catch(J){console.error("Failed to load config data:",J)}finally{S(!1)}})()},[t,r]),g.useEffect(()=>{try{JSON.parse(o),u(null)}catch(z){u(z instanceof Error?z.message:"Invalid JSON")}},[o]),g.useEffect(()=>{if(R==="json")try{const z=JSON.parse(o);b(z)}catch{}},[o,R]);const F=g.useCallback(z=>{A("json"),a(z)},[]),$=g.useCallback((z,J)=>{A("form"),b(ie=>{const le=Nv(ie,z,J);return a(JSON.stringify(le,null,2)),le}),C(ie=>({...ie,[z]:e}))},[e]),q=g.useCallback(async()=>{if(!h){x("saving");try{const z=JSON.parse(o);await i(z),b(z),x("saved"),setTimeout(()=>x("idle"),2e3)}catch{x("error"),setTimeout(()=>x("idle"),3e3)}}},[o,h,i]),he=g.useCallback(async()=>{if(N(!1),s){S(!0);try{const z=await s(),J=z.local??z.config;b(J),C(z.sources),a(JSON.stringify(J,null,2))}catch(z){console.error("Failed to reset:",z)}finally{S(!1)}}else{const z={};b(z),a(JSON.stringify(z,null,2))}},[s]);return{jsonText:o,config:m,globalConfig:y,sources:w,schema:f,isLoading:j,saveStatus:O,syntaxError:h,cursorLine:l,showResetConfirm:T,activeFieldPath:L,fieldDoc:W,handleJsonChange:F,handleFormChange:$,handleSave:q,handleReset:he,setCursorLine:c,setShowResetConfirm:N}}function hh({storageKey:n,defaultSizes:e,minSizes:t}){const[r,i]=g.useState(()=>{if(typeof window>"u")return e;const c=localStorage.getItem(n);if(c)try{const h=JSON.parse(c);if(Array.isArray(h)&&h.length===e.length){const u=h.reduce((f,p)=>f+p,0);if(Math.abs(u-100)<1)return h}}catch{}return e}),[s,o]=g.useState(!1);g.useEffect(()=>{localStorage.setItem(n,JSON.stringify(r))},[r,n]);const a=g.useCallback((c,h)=>{h.preventDefault(),o(!0);const u=h.target.parentElement;if(!u)return;const p=u.getBoundingClientRect().width,m=h.clientX,b=[...r],y=w=>{const j=(w.clientX-m)/p*100,S=[...b],O=c,x=c+1;let T=b[O]+j,N=b[x]-j;T<t[O]&&(T=t[O],N=b[O]+b[x]-T),N<t[x]&&(N=t[x],T=b[O]+b[x]-N),S[O]=T,S[x]=N,i(S)},v=()=>{o(!1),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",v),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",y),document.addEventListener("mouseup",v),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[r,t]),l=g.useCallback(()=>{i(e)},[e]);return{sizes:r,isDragging:s,startDrag:a,reset:l}}const Qa="/api";async function op(n){const e=`${Qa}/ck-config`,t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch ck-config: ${t.status}`);return t.json()}async function ap(n,e){const t=new URLSearchParams({scope:n});e&&t.set("projectId",e);const r=await fetch(`${Qa}/ck-config?${t}`);if(!r.ok)throw new Error(`Failed to fetch ck-config: ${r.status}`);return r.json()}async function Fb(n){const e=await fetch(`${Qa}/ck-config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.json().catch(()=>({error:"Unknown error"}));throw new Error(t.error||`Failed to save ck-config: ${e.status}`)}return e.json()}async function Vb(){const n=await fetch(`${Qa}/ck-config/schema`);if(!n.ok)throw new Error(`Failed to fetch schema: ${n.status}`);return n.json()}const UC=()=>{const{t:n}=pe(),e=wn(),[t,r]=g.useState("config"),[i,s]=g.useState({}),{sizes:o,isDragging:a,startDrag:l}=hh({storageKey:"claudekit-global-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),{sizes:c,isDragging:h,startDrag:u}=hh({storageKey:"claudekit-global-system-panels",defaultSizes:[70,30],minSizes:[45,20]}),f=g.useCallback(async()=>{const[w,C]=await Promise.all([op(),kv()]);return s(C),w},[]),p=g.useCallback(async w=>{await Fb({scope:"global",config:w})},[]),m=g.useCallback(async()=>await op(),[]),b=$b({scope:"global",fetchConfig:f,fetchSchema:Vb,saveConfig:p,onReset:m}),y=g.useMemo(()=>[{id:"general",title:n("sectionGeneral"),fields:[{path:"codingLevel",label:n("fieldCodingLevel"),description:n("fieldCodingLevelDesc")},{path:"statusline",label:n("fieldStatusline"),description:n("fieldStatuslineDesc")},{path:"locale.thinkingLanguage",label:n("fieldThinkingLanguage"),description:n("fieldThinkingLanguageDesc")},{path:"locale.responseLanguage",label:n("fieldResponseLanguage"),description:n("fieldResponseLanguageDesc")}]},{id:"paths",title:n("sectionPaths"),fields:[{path:"paths.docs",label:n("fieldDocsPath"),description:n("fieldDocsPathDesc")},{path:"paths.plans",label:n("fieldPlansPath"),description:n("fieldPlansPathDesc")}]},{id:"privacy",title:n("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:n("fieldPrivacyBlock"),description:n("fieldPrivacyBlockDesc")},{path:"trust.enabled",label:n("fieldTrustEnabled"),description:n("fieldTrustEnabledDesc")},{path:"trust.passphrase",label:n("fieldTrustPassphrase"),description:n("fieldTrustPassphraseDesc")}]},{id:"project",title:n("sectionProject"),defaultCollapsed:!0,fields:[{path:"project.type",label:n("fieldProjectType"),description:n("fieldProjectTypeDesc")},{path:"project.packageManager",label:n("fieldPackageManager"),description:n("fieldPackageManagerDesc")},{path:"project.framework",label:n("fieldFramework"),description:n("fieldFrameworkDesc")}]},{id:"integrations",title:n("sectionIntegrations"),defaultCollapsed:!0,fields:[{path:"gemini.model",label:n("fieldGeminiModel"),description:n("fieldGeminiModelDesc")},{path:"skills.research.useGemini",label:n("fieldResearchUseGemini"),description:n("fieldResearchUseGeminiDesc")}]},{id:"hooks",title:n("sectionHooks"),defaultCollapsed:!0,fields:[{path:"hooks.session-init",label:n("fieldHookSessionInit"),description:n("fieldHookSessionInitDesc")},{path:"hooks.subagent-init",label:n("fieldHookSubagentInit"),description:n("fieldHookSubagentInitDesc")},{path:"hooks.descriptive-name",label:n("fieldHookDescriptiveName"),description:n("fieldHookDescriptiveNameDesc")},{path:"hooks.dev-rules-reminder",label:n("fieldHookDevRulesReminder"),description:n("fieldHookDevRulesReminderDesc")},{path:"hooks.usage-context-awareness",label:n("fieldHookUsageContextAwareness"),description:n("fieldHookUsageContextAwarenessDesc")},{path:"hooks.context-tracking",label:n("fieldHookContextTracking"),description:n("fieldHookContextTrackingDesc")},{path:"hooks.scout-block",label:n("fieldHookScoutBlock"),description:n("fieldHookScoutBlockDesc")},{path:"hooks.privacy-block",label:n("fieldHookPrivacyBlock"),description:n("fieldHookPrivacyBlockDesc")},{path:"hooks.post-edit-simplify-reminder",label:n("fieldHookPostEditSimplify"),description:n("fieldHookPostEditSimplifyDesc")}]},{id:"advanced",title:n("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:n("fieldDocsMaxLoc"),description:n("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:n("fieldPlanNamingFormat"),description:n("fieldPlanNamingFormatDesc")},{path:"plan.dateFormat",label:n("fieldPlanDateFormat"),description:n("fieldPlanDateFormatDesc")},{path:"plan.validation.mode",label:n("fieldPlanValidationMode"),description:n("fieldPlanValidationModeDesc")},{path:"plan.validation.minQuestions",label:n("fieldPlanMinQuestions"),description:n("fieldPlanMinQuestionsDesc")},{path:"plan.validation.maxQuestions",label:n("fieldPlanMaxQuestions"),description:n("fieldPlanMaxQuestionsDesc")},{path:"assertions",label:n("fieldAssertions"),description:n("fieldAssertionsDesc")}]}],[n]),v=b.showResetConfirm?d.jsxs("div",{className:"flex items-center gap-2 bg-red-500/10 border border-red-500/30 rounded-lg px-2 py-1 animate-in fade-in duration-200",children:[d.jsx("span",{className:"text-xs text-red-500 font-medium",children:n("confirmReset")}),d.jsx("button",{type:"button",onClick:b.handleReset,className:"px-2 py-0.5 rounded bg-red-500 text-white text-xs font-bold hover:bg-red-600 transition-colors",children:n("confirm")}),d.jsx("button",{type:"button",onClick:()=>b.setShowResetConfirm(!1),className:"px-2 py-0.5 rounded bg-dash-surface text-dash-text-secondary text-xs font-bold hover:bg-dash-surface-hover transition-colors border border-dash-border",children:n("cancel")})]}):d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button",onClick:()=>b.setShowResetConfirm(!0),className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:n("resetToDefault")}),d.jsx("button",{type:"button",onClick:b.handleSave,disabled:!!b.syntaxError||b.saveStatus==="saving",className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase ${b.syntaxError?"bg-dash-surface text-dash-text-muted cursor-not-allowed border border-dash-border":b.saveStatus==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":b.saveStatus==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:b.saveStatus==="saving"?n("saving"):b.saveStatus==="saved"?n("saved"):b.saveStatus==="error"?n("saveFailed"):n("saveChanges")})]});return d.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[d.jsx(Fm,{title:n("globalConfig"),filePath:"~/.claude/.ck.json",onBack:()=>e(-1),onSave:b.handleSave,onReset:b.handleReset,saveStatus:b.saveStatus,syntaxError:b.syntaxError,showResetConfirm:b.showResetConfirm,setShowResetConfirm:b.setShowResetConfirm,showActions:!1,showFilePath:!1}),d.jsxs("div",{className:"mb-3 shrink-0 flex items-center justify-between gap-3",children:[d.jsxs("div",{role:"tablist","aria-label":n("globalConfig"),className:"inline-flex items-center rounded-xl border border-dash-border bg-dash-surface p-1 shadow-sm",children:[d.jsx("button",{role:"tab","aria-selected":t==="config",onClick:()=>r("config"),className:`dash-focus-ring px-4 py-2 rounded-lg text-sm font-semibold transition-colors ${t==="config"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n("configTab")}),d.jsx("button",{role:"tab","aria-selected":t==="metadata",onClick:()=>r("metadata"),className:`dash-focus-ring px-4 py-2 rounded-lg text-sm font-semibold transition-colors ${t==="metadata"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n("systemTab")})]}),d.jsx("p",{className:"hidden lg:block text-xs text-dash-text-muted",children:n("configWorkspaceHint")})]}),d.jsxs("div",{className:"flex-1 flex min-h-0",children:[t==="config"&&d.jsxs(d.Fragment,{children:[d.jsx(Vm,{width:o[0],isLoading:b.isLoading,schema:b.schema,config:b.config,sources:b.sources,sections:y,onChange:b.handleFormChange}),d.jsx(Ar,{direction:"horizontal",isDragging:a,onMouseDown:w=>l(0,w)}),d.jsx(id,{width:o[1],isLoading:b.isLoading,jsonText:b.jsonText,cursorLine:b.cursorLine,syntaxError:b.syntaxError,onChange:b.handleJsonChange,onCursorLineChange:b.setCursorLine,headerPath:"~/.claude/.ck.json",headerActions:v}),d.jsx(Ar,{direction:"horizontal",isDragging:a,onMouseDown:w=>l(1,w)}),d.jsx(Lb,{width:o[2],fieldDoc:b.fieldDoc,activeFieldPath:b.activeFieldPath})]}),t==="metadata"&&d.jsxs("div",{className:"flex-1 min-h-0 flex",children:[d.jsx("div",{style:{width:`${c[0]}%`},className:"min-w-0 h-full overflow-auto pr-1",children:b.isLoading?d.jsx("div",{className:"dash-panel h-full flex items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:n("loading")})}):d.jsx(zC,{metadata:i})}),d.jsx(Ar,{direction:"horizontal",isDragging:h,onMouseDown:w=>u(0,w)}),d.jsx("div",{style:{width:`${c[1]}%`},className:"min-w-0 h-full overflow-hidden",children:d.jsx(_C,{})})]})]})]})},lp=[{key:"agent",labelKey:"migrateTypeAgents",badgeClass:"border-dash-accent/30 text-dash-accent"},{key:"command",labelKey:"migrateTypeCommands",badgeClass:"border-yellow-500/30 text-yellow-400"},{key:"skill",labelKey:"migrateTypeSkills",badgeClass:"border-purple-500/30 text-purple-400"},{key:"config",labelKey:"migrateTypeConfig",badgeClass:"border-teal-500/30 text-teal-400"},{key:"rules",labelKey:"migrateTypeRules",badgeClass:"border-rose-500/30 text-rose-400"}],KC=new Set([8203,8204,8205,8288,65279,8232,8233,8234,8235,8236,8237,8238,8294,8295,8296,8297]);function GC(n){return n===9||n===10||n===13?!0:n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159||KC.has(n)}function er(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(GC(r)||(e+=t))}return e}function cp(n){if(!n)return"-";const e=n.replace(/\\/g,"/"),t=e.match(/.*\/(\.[^/]+\/)/);if(t?.[1]){const i=(t.index??0)+t[0].length-t[1].length;return e.slice(i)}const r=e.split("/");return r.length>3?`.../${r.slice(-3).join("/")}`:e}function Or(n){return n.success?n.skipped?"skipped":"installed":"failed"}function qC(n){const e={installed:0,skipped:0,failed:0};for(const t of n){const r=Or(t);r==="installed"?e.installed+=1:r==="skipped"?e.skipped+=1:e.failed+=1}return e}function zb(n){switch(n){case"agent":case"command":case"skill":case"config":case"rules":case"unknown":return n;default:return"unknown"}}function JC(n,e){switch(n){case"failed":return{label:e("migrateStatusFailed"),className:"border-red-500/30 bg-red-500/10 text-red-400"};case"skipped":return{label:e("migrateStatusSkipped"),className:"border-yellow-500/30 bg-yellow-500/10 text-yellow-400"};default:return{label:e("migrateStatusInstalled"),className:"border-green-500/30 bg-green-500/10 text-green-400"}}}function YC(n){const e=new Map;for(const t of n){const r=zb(t.portableType),i=e.get(r)||[];i.push(t),e.set(r,i)}return e}function QC(n){return[zb(n.portableType),n.provider,n.providerDisplayName,n.itemName,n.path,n.success,n.skipped,n.overwritten,n.error,n.skipReason].map(t=>t===void 0?"":String(t)).join("|")}function XC(n){if(n.length===0)return!0;const e=n[0].provider;return n.every(t=>t.provider===e)}const Ir=({label:n,count:e,className:t})=>e<=0?null:d.jsxs("span",{className:`inline-flex items-center gap-1 rounded-md border px-2.5 py-1 text-xs ${t}`,children:[d.jsx("span",{className:"font-semibold",children:e}),d.jsx("span",{children:n})]}),hp=({labelKey:n,badgeClass:e,items:t,isExpanded:r,onToggle:i,singleProvider:s})=>{const{t:o}=pe(),a=t.filter(f=>Or(f)==="installed").length,l=t.filter(f=>Or(f)==="skipped").length,c=t.filter(f=>Or(f)==="failed").length,h=s?"md:grid-cols-[minmax(0,1.5fr)_minmax(0,1.35fr)_auto_minmax(0,1fr)]":"md:grid-cols-[minmax(0,1.2fr)_minmax(0,0.8fr)_minmax(0,1.2fr)_auto_minmax(0,1fr)]",u=new Map;return d.jsxs("div",{className:"rounded-xl border border-dash-border bg-dash-surface overflow-hidden",children:[d.jsxs("button",{type:"button",onClick:i,className:"w-full flex flex-wrap items-center gap-2 px-4 py-3 text-left hover:bg-dash-surface-hover transition-colors",children:[d.jsx("svg",{className:`w-3.5 h-3.5 text-dash-text-muted transition-transform ${r?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:d.jsx("path",{d:"M9 5l7 7-7 7"})}),d.jsx("p",{className:"text-sm font-semibold text-dash-text",children:o(n)}),d.jsx("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[11px] font-semibold ${e}`,children:t.length}),d.jsx("span",{className:"hidden sm:block flex-1"}),d.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 text-[11px]",children:[d.jsx(Ir,{label:o("migrateStatusInstalled"),count:a,className:"border-green-500/30 bg-green-500/10 text-green-400"}),d.jsx(Ir,{label:o("migrateStatusSkipped"),count:l,className:"border-yellow-500/30 bg-yellow-500/10 text-yellow-400"}),d.jsx(Ir,{label:o("migrateStatusFailed"),count:c,className:"border-red-500/30 bg-red-500/10 text-red-400"})]})]}),r&&d.jsxs("div",{className:"border-t border-dash-border/80",children:[d.jsxs("div",{className:`hidden md:grid ${h} items-center gap-3 px-4 py-2 border-b border-dash-border/70 text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted`,children:[d.jsx("p",{children:o("migrateItem")}),!s&&d.jsx("p",{children:o("migrateProvider")}),d.jsx("p",{children:o("migratePath")}),d.jsx("p",{children:o("migrateStatus")}),d.jsx("p",{children:o("migrateError")})]}),d.jsx("div",{className:"divide-y divide-dash-border/70",children:t.map(f=>{const p=QC(f),m=u.get(p)??0;u.set(p,m+1);const b=m===0?p:`${p}#${m}`,y=Or(f),v=JC(y,o),w=er(f.itemName||cp(f.path)),C=er(f.providerDisplayName||f.provider||""),j=er(f.path||""),S=er(cp(f.path)),O=er(f.error||f.skipReason||"");return d.jsxs("div",{className:`grid gap-1.5 ${h} items-start px-4 py-2.5 hover:bg-dash-bg/60 transition-colors`,children:[d.jsxs("div",{className:"min-w-0",children:[d.jsx("p",{className:"text-xs font-semibold text-dash-text truncate",title:w,children:w}),d.jsxs("div",{className:"mt-0.5 space-y-0.5 md:hidden",children:[!s&&d.jsx("p",{className:"text-[11px] text-dash-text-secondary truncate",children:C}),d.jsx("p",{className:"font-mono text-[11px] text-dash-text-muted truncate",title:j,children:S}),O&&d.jsx("p",{className:"text-[11px] text-red-400/80 line-clamp-2",title:O,children:O})]})]}),!s&&d.jsx("p",{className:"hidden md:block text-[11px] text-dash-text-secondary truncate",children:C}),d.jsx("p",{className:"hidden md:block font-mono text-[11px] text-dash-text-muted truncate",title:j,children:S}),d.jsx("span",{className:`inline-flex w-fit items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${v.className}`,children:v.label}),d.jsx("p",{className:`hidden md:block text-[11px] truncate ${O?"text-red-400/80":"text-dash-text-muted"}`,title:O,children:O||"-"})]},b)})})]})]})},ZC=({results:n,onReset:e})=>{const{t}=pe(),[r,i]=g.useState(""),s=g.useDeferredValue(r),[o,a]=g.useState("all"),[l,c]=g.useState(()=>new Set(lp.map(j=>j.key))),h=g.useMemo(()=>{const j=s.trim().toLowerCase();return n.results.filter(S=>{if(o!=="all"&&Or(S)!==o)return!1;if(!j)return!0;const O=(S.itemName||"").toLowerCase(),x=(S.path||"").toLowerCase(),T=(S.providerDisplayName||S.provider||"").toLowerCase();return O.includes(j)||x.includes(j)||T.includes(j)})},[n.results,s,o]),u=g.useMemo(()=>XC(h),[h]),f=g.useMemo(()=>{if(!u||h.length===0)return"";const j=Array.from(new Set(h.map(S=>S.providerDisplayName?.trim()||"").filter(S=>S.length>0)));return j.length===1?j[0]:h[0]?.provider||""},[h,u]),p=g.useMemo(()=>YC(h),[h]),m=g.useMemo(()=>qC(n.results),[n.results]),b=g.useMemo(()=>[...p.keys()],[p]),y=m.installed+m.skipped+m.failed,v=b.length>0&&b.every(j=>l.has(j)),w=j=>{c(S=>{const O=new Set(S);return O.has(j)?O.delete(j):O.add(j),O})},C=()=>{if(v){c(new Set);return}c(new Set(b))};return d.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[d.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-start md:justify-between",children:[d.jsxs("div",{children:[d.jsxs("h2",{className:"text-base font-semibold text-dash-text",children:[t("migrateSummaryTitle"),u&&f&&d.jsxs("span",{className:"text-dash-text-muted font-normal",children:[" ","· ",er(f)]})]}),d.jsxs("p",{className:"text-xs text-dash-text-muted mt-1",children:[y," ",t("migrateSummarySubtitle")]})]}),d.jsx("button",{type:"button",onClick:e,className:"dash-focus-ring px-4 py-2 text-sm font-semibold rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:t("migrateSummaryNewMigration")})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[d.jsx(Ir,{label:t("migrateStatusInstalled"),count:m.installed,className:"border-green-500/30 bg-green-500/10 text-green-400"}),d.jsx(Ir,{label:t("migrateStatusSkipped"),count:m.skipped,className:"border-yellow-500/30 bg-yellow-500/10 text-yellow-400"}),d.jsx(Ir,{label:t("migrateStatusFailed"),count:m.failed,className:"border-red-500/30 bg-red-500/10 text-red-400"})]}),n.warnings.length>0&&d.jsx("div",{className:"space-y-2",children:n.warnings.map((j,S)=>d.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded-md text-xs text-yellow-400",children:er(j)},S))}),d.jsxs("div",{className:"flex flex-col gap-2",children:[d.jsxs("div",{className:"relative",children:[d.jsxs("svg",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 stroke-dash-text-muted",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[d.jsx("circle",{cx:"11",cy:"11",r:"8"}),d.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),d.jsx("input",{type:"text",value:r,onChange:j=>i(j.target.value),placeholder:t("migrateSummarySearchPlaceholder"),className:"dash-focus-ring w-full pl-9 pr-3 py-2 bg-dash-bg border border-dash-border rounded-lg text-dash-text text-sm focus:border-dash-accent transition-colors"})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[["all","installed","skipped","failed"].map(j=>{const S=j==="all"?"migrateSummaryFilterAll":j==="installed"?"migrateStatusInstalled":j==="skipped"?"migrateStatusSkipped":"migrateStatusFailed";return d.jsx("button",{type:"button",onClick:()=>a(j),className:`dash-focus-ring px-3 py-1 text-xs font-medium rounded-full border transition-colors ${o===j?"bg-dash-accent/10 border-dash-accent text-dash-accent":"border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:t(S)},j)}),d.jsx("button",{type:"button",onClick:C,className:"dash-focus-ring ml-1 px-3 py-1 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:t(v?"migrateSummaryCollapseAll":"migrateSummaryExpandAll")})]})]}),h.length===0?d.jsx("div",{className:"text-center py-8 text-sm text-dash-text-muted",children:t("migrateSummaryNoResults")}):d.jsxs("div",{className:"space-y-2.5",children:[lp.map(j=>{const S=p.get(j.key);return!S||S.length===0?null:d.jsx(hp,{labelKey:j.labelKey,badgeClass:j.badgeClass,items:S,isExpanded:l.has(j.key),onToggle:()=>w(j.key),singleProvider:u},j.key)}),(()=>{const j=p.get("unknown");return!j||j.length===0?null:d.jsx(hp,{labelKey:"migrateTypeUnknown",badgeClass:"border-dash-border text-dash-text-muted",items:j,isExpanded:l.has("unknown"),onToggle:()=>w("unknown"),singleProvider:u})})()]})]})},ej=500;function tj(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function nj(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(tj(r)||(e+=t))}return e}const rj=({diff:n,className:e=""})=>{const t=n.split(`
218
+ `),r=t.slice(0,ej),i=t.length-r.length;return d.jsxs("pre",{className:`text-xs font-mono overflow-x-auto p-3 rounded bg-dash-bg border border-dash-border ${e}`,children:[r.map((s,o)=>{const a=nj(s);let l="text-dash-text";return a.startsWith("+")?l="text-green-400 bg-green-500/10":a.startsWith("-")?l="text-red-400 bg-red-500/10":a.startsWith("@@")&&(l="text-blue-400"),d.jsx("div",{className:l,children:a},`${o}:${a.slice(0,24)}`)}),i>0&&d.jsxs("div",{className:"text-dash-text-muted",children:["... truncated ",i," additional line(s)"]})]})};function ij(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function mi(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(ij(r)||(e+=t))}return e}const sj=({action:n,resolution:e,onResolve:t})=>{const{t:r}=pe(),[i,s]=g.useState(!1),o=n.ownedSections&&n.ownedSections.length>0;return d.jsxs("div",{className:"border border-dash-border rounded-lg p-4 mb-3 bg-dash-surface",children:[d.jsxs("div",{className:"flex justify-between items-start gap-4",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"font-mono text-sm text-dash-text truncate",children:[mi(n.provider),"/",mi(n.type),"/",mi(n.item)]}),d.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:mi(n.reason)}),n.targetPath&&d.jsx("p",{className:"text-xs text-dash-text-secondary mt-1 font-mono truncate",children:mi(n.targetPath)})]}),d.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[d.jsx("button",{type:"button",onClick:()=>t({type:"overwrite"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="overwrite"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictUseCK")}),d.jsx("button",{type:"button",onClick:()=>t({type:"keep"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="keep"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictKeepMine")}),o&&d.jsx("button",{type:"button",onClick:()=>t({type:"smart-merge"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="smart-merge"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictSmartMerge")}),n.diff&&d.jsx("button",{type:"button",onClick:()=>s(!i),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:r(i?"migrateConflictHideDiff":"migrateConflictShowDiff")})]})]}),i&&n.diff&&d.jsx(rj,{diff:n.diff,className:"mt-3"}),e&&d.jsxs("div",{className:"mt-2 text-xs text-green-400 flex items-center gap-1.5",children:[d.jsx("svg",{className:"w-3.5 h-3.5",fill:"currentColor",viewBox:"0 0 20 20",children:d.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),d.jsxs("span",{children:[r("migrateConflictResolved"),": ",oj(e.type,r)]})]})]})};function oj(n,e){switch(n){case"overwrite":return e("migrateConflictUseCK");case"keep":return e("migrateConflictKeepMine");case"smart-merge":return e("migrateConflictSmartMerge");case"resolved":return e("migrateConflictManual");default:return String(n)}}const Qn=200;function aj(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function gi(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(aj(r)||(e+=t))}return e}function lj(n){const e={install:[],update:[],skip:[],conflict:[],delete:[]};for(const t of n){const r=t.action;e[r].push(t)}return e}const cj=({plan:n,resolutions:e,onResolve:t,actionKey:r})=>{const{t:i}=pe(),[s,o]=g.useState(!1),a=g.useMemo(()=>lj(n.actions),[n.actions]),l=c=>{for(const h of a.conflict)t(h,{type:c})};return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex flex-wrap gap-2 text-xs",children:[n.summary.install>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-green-500/10 border border-green-500/30 text-green-400",children:[n.summary.install," ",i("migrateActionInstall")]}),n.summary.update>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-yellow-500/10 border border-yellow-500/30 text-yellow-400",children:[n.summary.update," ",i("migrateActionUpdate")]}),n.summary.skip>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-muted",children:[n.summary.skip," ",i("migrateActionSkip")]}),n.summary.conflict>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-red-500/10 border border-red-500/30 text-red-400",children:[n.summary.conflict," ",i("migrateActionConflict")]}),n.summary.delete>0&&d.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary",children:[n.summary.delete," ",i("migrateActionDelete")]})]}),a.conflict.length>0&&d.jsxs("div",{className:"border border-red-500/30 rounded-lg bg-red-500/5",children:[d.jsx("div",{className:"px-4 py-3 border-b border-red-500/20",children:d.jsxs("div",{className:"flex items-center justify-between gap-3",children:[d.jsxs("h3",{className:"text-sm font-semibold text-red-400",children:[i("migrateConflictSectionTitle")," (",a.conflict.length,")"]}),d.jsxs("div",{className:"flex gap-2",children:[d.jsx("button",{type:"button",onClick:()=>l("overwrite"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:i("migrateConflictOverwriteAll")}),d.jsx("button",{type:"button",onClick:()=>l("keep"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:i("migrateConflictKeepAll")})]})]})}),d.jsxs("div",{className:"p-4 space-y-3",children:[a.conflict.slice(0,Qn).map(c=>d.jsx(sj,{action:c,resolution:e.get(r(c))||null,onResolve:h=>t(c,h)},r(c))),a.conflict.length>Qn&&d.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",a.conflict.length-Qn," more conflict(s)"]})]})]}),a.install.length>0&&d.jsx(_l,{title:i("migrateActionInstall"),actions:a.install,badgeClass:"bg-green-500/10 border-green-500/30 text-green-400"}),a.update.length>0&&d.jsx(_l,{title:i("migrateActionUpdate"),actions:a.update,badgeClass:"bg-yellow-500/10 border-yellow-500/30 text-yellow-400"}),a.delete.length>0&&d.jsx(_l,{title:i("migrateActionDelete"),actions:a.delete,badgeClass:"bg-dash-bg border-dash-border text-dash-text-secondary"}),a.skip.length>0&&d.jsxs("div",{className:"border border-dash-border rounded-lg bg-dash-surface",children:[d.jsxs("button",{type:"button",onClick:()=>o(!s),className:"w-full px-4 py-3 flex items-center justify-between text-left hover:bg-dash-surface-hover transition-colors",children:[d.jsx("div",{className:"flex items-center gap-2",children:d.jsxs("span",{className:"text-sm font-semibold text-dash-text-muted",children:[i("migrateActionSkip")," (",a.skip.length," ",i("migrateUnchanged"),")"]})}),d.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform ${s?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),s&&d.jsxs("div",{className:"px-4 pb-4 space-y-2",children:[a.skip.slice(0,Qn).map(c=>d.jsx(_b,{action:c},r(c))),a.skip.length>Qn&&d.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",a.skip.length-Qn," more skipped action(s)"]})]})]})]})},_l=({title:n,actions:e,badgeClass:t})=>{const r=e.slice(0,Qn),i=e.length-r.length;return d.jsxs("div",{className:"border border-dash-border rounded-lg bg-dash-surface",children:[d.jsx("div",{className:"px-4 py-3 border-b border-dash-border",children:d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("h3",{className:"text-sm font-semibold text-dash-text",children:n}),d.jsx("span",{className:`px-2 py-0.5 text-xs rounded-md border ${t}`,children:e.length})]})}),d.jsxs("div",{className:"p-4 space-y-2",children:[r.map(s=>d.jsx(_b,{action:s},`${s.provider}:${s.type}:${s.item}:${s.global}:${s.action}`)),i>0&&d.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",i," more action(s)"]})]})]})},_b=({action:n})=>d.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border",children:[d.jsxs("div",{className:"font-mono text-xs text-dash-text",children:[gi(n.provider),"/",gi(n.type),"/",gi(n.item)]}),d.jsx("div",{className:"text-xs text-dash-text-muted mt-1",children:gi(n.reason)}),n.targetPath&&d.jsx("div",{className:"text-xs text-dash-text-secondary mt-0.5 font-mono truncate",children:gi(n.targetPath)})]});var hj=function(e){return typeof window<"u"?matchMedia&&matchMedia("(prefers-color-scheme: ".concat(e,")")):{matches:!1}},Hl,dj=g.createContext({appearance:"light",setAppearance:function(){},isDarkMode:!1,themeMode:"light",setThemeMode:function(){},browserPrefers:(Hl=hj("dark"))!==null&&Hl!==void 0&&Hl.matches?"dark":"light"}),uj=function(){return g.useContext(dj)};const Hb=(n,e)=>{if(e)return"row";switch(n){case"horizontal":return"row";case"horizontal-reverse":return"row-reverse";case"vertical":default:return"column";case"vertical-reverse":return"column-reverse"}},fj=n=>{if(n)return["space-between","space-around","space-evenly"].includes(n)},pj=(n,e)=>Hb(n,e)==="row",br=n=>typeof n=="number"?`${n}px`:n,mj=({visible:n,flex:e,gap:t,direction:r,horizontal:i,align:s,justify:o,distribution:a,height:l,width:c,padding:h,paddingInline:u,paddingBlock:f,prefixCls:p,as:m="div",className:b,style:y,children:v,wrap:w,ref:C,...j})=>{const S=o||a,x=pj(r,i)&&!c&&fj(S)?"100%":br(c),T={...e!==void 0?{"--lobe-flex":String(e)}:{},...r||i?{"--lobe-flex-direction":Hb(r,i)}:{},...w!==void 0?{"--lobe-flex-wrap":w}:{},...S!==void 0?{"--lobe-flex-justify":S}:{},...s!==void 0?{"--lobe-flex-align":s}:{},...x!==void 0?{"--lobe-flex-width":x}:{},...l!==void 0?{"--lobe-flex-height":br(l)}:{},...h!==void 0?{"--lobe-flex-padding":br(h)}:{},...u!==void 0?{"--lobe-flex-padding-inline":br(u)}:{},...f!==void 0?{"--lobe-flex-padding-block":br(f)}:{},...t!==void 0?{"--lobe-flex-gap":br(t)}:{},...y},N="lobe-flex",R=[N,n===!1?`${N}--hidden`:void 0,p?`${p}-flex`:void 0,b].filter(Boolean).join(" ");return d.jsx(m,{ref:C,...j,className:R,style:T,children:v})};var Wb=g.memo(mj);const gj=({children:n,ref:e,...t})=>d.jsx(Wb,{...t,align:"center",justify:"center",ref:e,children:n});var bj=gj;const yj=/\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;function xj(n){return Array.from(n.match(yj)??[])}function vj(n){return xj(n).map(t=>t.toLowerCase()).join("-")}g.createContext(null);var wj=function(e,t){if(t){if(e&&t==="#000")return"0 0 0 1px rgba(255,255,255,0.1) inset";if(!e&&t==="#fff")return"0 0 0 1px rgba(0,0,0,0.05) inset"}};function ts(n){"@babel/helpers - typeof";return ts=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ts(n)}var kj=["shape","color","background","size","style","iconMultiple","Icon","iconStyle","iconClassName"];function dp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function zo(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?dp(Object(t),!0).forEach(function(r){Sj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):dp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Sj(n,e,t){return e=Cj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Cj(n){var e=jj(n,"string");return ts(e)=="symbol"?e:String(e)}function jj(n,e){if(ts(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ts(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Oj(n,e){if(n==null)return{};var t=Pj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Pj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Hn=g.memo(function(n){var e=n.shape,t=e===void 0?"circle":e,r=n.color,i=r===void 0?"#fff":r,s=n.background,o=n.size,a=n.style,l=n.iconMultiple,c=l===void 0?.75:l,h=n.Icon,u=n.iconStyle,f=n.iconClassName,p=Oj(n,kj),m=uj(),b=m.isDarkMode;return d.jsx(bj,zo(zo({flex:"none",style:zo({background:s,borderRadius:t==="circle"?"50%":Math.floor(o*.1),boxShadow:wj(b,s),color:i,height:o,width:o},a)},p),{},{children:h&&d.jsx(h,{className:f,color:i,size:o,style:zo({transform:"scale(".concat(c,")")},u)})}))});function ns(n){"@babel/helpers - typeof";return ns=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ns(n)}var Aj=["Icon","style","Text","color","size","spaceMultiple","textMultiple","extra","extraStyle","showText","showLogo","extraClassName","iconProps","inverse"];function up(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Sn(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?up(Object(t),!0).forEach(function(r){Nj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):up(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Nj(n,e,t){return e=Mj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Mj(n){var e=Tj(n,"string");return ns(e)=="symbol"?e:String(e)}function Tj(n,e){if(ns(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ns(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Dj(n,e){if(n==null)return{};var t=Ej(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Ej(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Wn=g.memo(function(n){var e=n.Icon,t=n.style,r=n.Text,i=n.color,s=n.size,o=s===void 0?24:s,a=n.spaceMultiple,l=a===void 0?1:a,c=n.textMultiple,h=c===void 0?1:c,u=n.extra,f=n.extraStyle,p=n.showText,m=p===void 0?!0:p,b=n.showLogo,y=b===void 0?!0:b,v=n.extraClassName,w=n.iconProps,C=n.inverse,j=Dj(n,Aj),S=e&&y&&d.jsx(e,Sn(Sn({size:o},w),{},{style:Sn(C?{marginLeft:o*l}:{marginRight:o*l},w?.style)})),O=m&&r&&d.jsx(r,{size:o*h});return d.jsxs(Wb,Sn(Sn({align:"center",flex:"none",horizontal:!0,justify:"flex-start",style:Sn({color:i},t)},j),{},{children:[C?d.jsxs(d.Fragment,{children:[O,S]}):d.jsxs(d.Fragment,{children:[S,O]}),u&&d.jsx("span",{className:v,style:Sn({fontSize:o*h*.95,lineHeight:1},f),children:u})]}))}),Rj=function(e,t){return g.useMemo(function(){var r=Array.from({length:t},function(i,s){var o="lobe-icons-".concat(vj(e),"-fill-").concat(s);return{fill:"url(#".concat(o,")"),id:o}});return r},[e,t])},Yr="Claude",Lj=.8,Ij=.1,Ub="#D97757",Bj=Ub,$j="#fff",Fj=.75;function rs(n){"@babel/helpers - typeof";return rs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rs(n)}var Vj=["size","style"];function fp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Wl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fp(Object(t),!0).forEach(function(r){zj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):fp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function zj(n,e,t){return e=_j(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function _j(n){var e=Hj(n,"string");return rs(e)=="symbol"?e:String(e)}function Hj(n,e){if(rs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(rs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Wj(n,e){if(n==null)return{};var t=Uj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Uj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var od=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Wj(n,Vj);return d.jsxs("svg",Wl(Wl({fill:"currentColor",fillRule:"evenodd",height:t,style:Wl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Yr}),d.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"})]}))});function is(n){"@babel/helpers - typeof";return is=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},is(n)}function pp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Kj(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pp(Object(t),!0).forEach(function(r){Gj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):pp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Gj(n,e,t){return e=qj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function qj(n){var e=Jj(n,"string");return is(e)=="symbol"?e:String(e)}function Jj(n,e){if(is(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(is(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Yj(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Qj=g.memo(function(n){var e=Object.assign({},(Yj(n),n));return d.jsx(Hn,Kj({Icon:od,"aria-label":Yr,background:Bj,color:$j,iconMultiple:Fj},e))});function ss(n){"@babel/helpers - typeof";return ss=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ss(n)}var Xj=["size","style"];function mp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ul(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mp(Object(t),!0).forEach(function(r){Zj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):mp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Zj(n,e,t){return e=e6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function e6(n){var e=t6(n,"string");return ss(e)=="symbol"?e:String(e)}function t6(n,e){if(ss(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ss(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function n6(n,e){if(n==null)return{};var t=r6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function r6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Kb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=n6(n,Xj);return d.jsxs("svg",Ul(Ul({height:t,style:Ul({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Yr}),d.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z",fill:"#D97757",fillRule:"nonzero"})]}))});function os(n){"@babel/helpers - typeof";return os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},os(n)}var i6=["size","style"];function gp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Kl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?gp(Object(t),!0).forEach(function(r){s6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):gp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function s6(n,e,t){return e=o6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function o6(n){var e=a6(n,"string");return os(e)=="symbol"?e:String(e)}function a6(n,e){if(os(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(os(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function l6(n,e){if(n==null)return{};var t=c6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function c6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Gb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=l6(n,i6);return d.jsxs("svg",Kl(Kl({fill:"currentColor",fillRule:"nonzero",height:t,style:Kl({flex:"none",lineHeight:1},r),viewBox:"0 0 97 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Yr}),d.jsx("path",{d:"M13.623 20.222c-3.417 0-5.753-1.901-6.855-4.827a12.992 12.992 0 01-.838-4.772c0-4.907 2.206-8.315 7.08-8.315 3.275 0 5.297 1.425 6.448 4.826h1.402l-.19-4.69C18.709 1.18 16.258.543 13.276.543c-4.2 0-7.775 1.874-9.763 5.254a11.357 11.357 0 00-1.511 5.872c0 3.753 1.777 7.08 5.113 8.926a11.95 11.95 0 005.943 1.398c3.254 0 5.835-.617 8.122-1.697l.593-5.172h-1.43c-.858 2.362-1.88 3.78-3.574 4.534-.831.373-1.88.564-3.146.564zm14.74-17.914L28.499 0h-.967L23.23 1.29v.699l1.907.882v16.142c0 1.1-.565 1.344-2.043 1.528v1.18h7.319v-1.18c-1.484-.184-2.042-.428-2.042-1.528V2.315l-.007-.007zm29.104 19.685h.565l4.95-.937v-1.208l-.695-.054c-1.157-.109-1.457-.346-1.457-1.29V9.897l.137-2.763h-.783l-4.678.672v1.181l.457.082c1.266.183 1.64.536 1.64 1.419v7.67c-1.212.937-2.369 1.527-3.744 1.527-1.525 0-2.471-.774-2.471-2.58V9.905l.136-2.763h-.804l-4.684.672v1.181l.484.082c1.266.183 1.64.536 1.64 1.418v7.08c0 3 1.703 4.426 4.412 4.426 2.07 0 3.765-1.1 5.038-2.627L57.474 22l-.007-.007zm-13.602-9.55c0-3.836-2.043-5.309-5.733-5.309-3.254 0-5.616 1.344-5.616 3.57 0 .666.238 1.175.721 1.528l2.478-.326c-.109-.746-.163-1.201-.163-1.391 0-1.263.674-1.901 2.042-1.901 2.022 0 3.044 1.419 3.044 3.7v.746l-5.106 1.527c-1.702.462-2.67.863-3.316 1.8a3.386 3.386 0 00-.476 1.9c0 2.172 1.497 3.706 4.057 3.706 1.852 0 3.493-.835 4.922-2.416.51 1.581 1.294 2.416 2.69 2.416 1.13 0 2.15-.455 3.063-1.344l-.272-.937a4.363 4.363 0 01-1.178.163c-.783 0-1.157-.617-1.157-1.826v-5.607zm-6.536 7.378c-1.396 0-2.26-.808-2.26-2.226 0-.964.456-1.528 1.43-1.854l4.139-1.31v3.965c-1.321.997-2.097 1.425-3.31 1.425zm43.095 1.235v-1.208l-.701-.054c-1.158-.109-1.45-.346-1.45-1.29V2.308L78.409 0h-.974l-4.302 1.29v.699l1.906.882V8.18a6.024 6.024 0 00-3.656-1.046c-4.276 0-7.612 3.245-7.612 8.098 0 3.998 2.397 6.761 6.346 6.761 2.042 0 3.819-.99 4.922-2.525l-.136 2.525h.571l4.95-.937zm-8.96-12.313c2.043 0 3.575 1.181 3.575 3.353v6.11a4.91 4.91 0 01-3.547 1.425c-2.928 0-4.412-2.308-4.412-5.39 0-3.462 1.695-5.498 4.385-5.498zm19.424 3.055c-.381-1.792-1.484-2.81-3.016-2.81-2.288 0-3.874 1.717-3.874 4.18 0 3.646 1.934 6.008 5.059 6.008a5.858 5.858 0 005.03-2.953l.913.245c-.408 3.163-3.281 5.525-6.808 5.525-4.14 0-6.992-3.054-6.992-7.399 0-4.378 3.098-7.46 7.237-7.46 3.09 0 5.27 1.853 5.97 5.07l-10.783 3.3V14.05l7.264-2.247v-.006z"})]}))});function as(n){"@babel/helpers - typeof";return as=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},as(n)}var h6=["type"];function bp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function d6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bp(Object(t),!0).forEach(function(r){u6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):bp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function u6(n,e,t){return e=f6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function f6(n){var e=p6(n,"string");return as(e)=="symbol"?e:String(e)}function p6(n,e){if(as(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(as(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function m6(n,e){if(n==null)return{};var t=g6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function g6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var b6=g.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=m6(n,h6),i=t==="color"?Kb:od;return d.jsx(Wn,d6({Icon:i,Text:Gb,"aria-label":Yr,spaceMultiple:Ij,textMultiple:Lj},r))}),pr=od;pr.Color=Kb;pr.Text=Gb;pr.Combine=b6;pr.Avatar=Qj;pr.colorPrimary=Ub;pr.title=Yr;var qs="OpenAI",y6=.75,x6=.1,qb="#000",Jb="#19C37D",Yb="#AB68FF",Qb="#F86AA4",ad="#F9C322",Xb="#0099FF",Zb="#0000FE",v6=qb,w6="#fff",k6=.75;function ls(n){"@babel/helpers - typeof";return ls=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ls(n)}var S6=["size","style"];function yp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Gl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yp(Object(t),!0).forEach(function(r){C6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):yp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function C6(n,e,t){return e=j6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function j6(n){var e=O6(n,"string");return ls(e)=="symbol"?e:String(e)}function O6(n,e){if(ls(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ls(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function P6(n,e){if(n==null)return{};var t=A6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function A6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var ld=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=P6(n,S6);return d.jsxs("svg",Gl(Gl({fill:"currentColor",fillRule:"evenodd",height:t,style:Gl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:qs}),d.jsx("path",{d:"M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z"})]}))}),dr="Gemini",N6=.8,M6=.2,e1="#fff",T6=e1,D6="#fff",E6=.8;function cs(n){"@babel/helpers - typeof";return cs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},cs(n)}var R6=["size","style"];function xp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ql(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xp(Object(t),!0).forEach(function(r){L6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):xp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function L6(n,e,t){return e=I6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function I6(n){var e=B6(n,"string");return cs(e)=="symbol"?e:String(e)}function B6(n,e){if(cs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(cs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function $6(n,e){return _6(n)||z6(n,e)||V6(n,e)||F6()}function F6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
219
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function V6(n,e){if(n){if(typeof n=="string")return vp(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return vp(n,e)}}function vp(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function z6(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var r,i,s,o,a=[],l=!0,c=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(r=s.call(t)).done)&&(a.push(r.value),a.length!==e);l=!0);}catch(h){c=!0,i=h}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw i}}return a}}function _6(n){if(Array.isArray(n))return n}function H6(n,e){if(n==null)return{};var t=W6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function W6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var cd=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=H6(n,R6),s=Rj(dr,3),o=$6(s,3),a=o[0],l=o[1],c=o[2];return d.jsxs("svg",ql(ql({height:t,style:ql({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:dr}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:"#3186FF"}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:a.fill}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:l.fill}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:c.fill}),d.jsxs("defs",{children:[d.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:a.id,x1:"7",x2:"11",y1:"15.5",y2:"12",children:[d.jsx("stop",{stopColor:"#08B962"}),d.jsx("stop",{offset:"1",stopColor:"#08B962",stopOpacity:"0"})]}),d.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:l.id,x1:"8",x2:"11.5",y1:"5.5",y2:"11",children:[d.jsx("stop",{stopColor:"#F94543"}),d.jsx("stop",{offset:"1",stopColor:"#F94543",stopOpacity:"0"})]}),d.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:c.id,x1:"3.5",x2:"17.5",y1:"13.5",y2:"12",children:[d.jsx("stop",{stopColor:"#FABC12"}),d.jsx("stop",{offset:".46",stopColor:"#FABC12",stopOpacity:"0"})]})]})]}))});function hs(n){"@babel/helpers - typeof";return hs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hs(n)}function wp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function U6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wp(Object(t),!0).forEach(function(r){K6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):wp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function K6(n,e,t){return e=G6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function G6(n){var e=q6(n,"string");return hs(e)=="symbol"?e:String(e)}function q6(n,e){if(hs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(hs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function J6(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Y6=g.memo(function(n){var e=Object.assign({},(J6(n),n));return d.jsx(Hn,U6({Icon:cd,"aria-label":dr,background:T6,color:D6,iconMultiple:E6},e))});function ds(n){"@babel/helpers - typeof";return ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ds(n)}var Q6=["size","style"];function kp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Jl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kp(Object(t),!0).forEach(function(r){X6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function X6(n,e,t){return e=Z6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Z6(n){var e=eO(n,"string");return ds(e)=="symbol"?e:String(e)}function eO(n,e){if(ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function tO(n,e){if(n==null)return{};var t=nO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function nO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var t1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=tO(n,Q6);return d.jsxs("svg",Jl(Jl({fill:"currentColor",fillRule:"evenodd",height:t,style:Jl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:dr}),d.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"})]}))});function us(n){"@babel/helpers - typeof";return us=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},us(n)}var rO=["size","style"];function Sp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Yl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Sp(Object(t),!0).forEach(function(r){iO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Sp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function iO(n,e,t){return e=sO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function sO(n){var e=oO(n,"string");return us(e)=="symbol"?e:String(e)}function oO(n,e){if(us(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(us(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function aO(n,e){if(n==null)return{};var t=lO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function lO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var n1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=aO(n,rO);return d.jsxs("svg",Yl(Yl({fill:"currentColor",fillRule:"evenodd",height:t,style:Yl({flex:"none",lineHeight:1},r),viewBox:"0 0 98 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:dr}),d.jsx("path",{d:"M21.186 12.67c0 2.649-.786 4.759-2.359 6.33-1.766 1.87-4.09 2.806-6.969 2.806-2.756 0-5.088-.953-6.996-2.86C2.954 17.04 2 14.693 2 11.904c0-2.789.954-5.137 2.862-7.043C6.77 2.953 9.102 2 11.858 2c1.396 0 2.712.247 3.949.741 1.236.495 2.252 1.192 3.047 2.092l-1.749 1.748c-.583-.706-1.338-1.258-2.266-1.655a7.49 7.49 0 00-2.981-.596c-2.067 0-3.816.715-5.247 2.145-1.413 1.448-2.12 3.257-2.12 5.428s.707 3.98 2.12 5.428c1.431 1.43 3.18 2.145 5.247 2.145 1.89 0 3.463-.53 4.717-1.588 1.254-1.06 1.979-2.516 2.173-4.37h-6.89v-2.277h9.196c.088.495.132.971.132 1.43m7.652-4.633c1.946 0 3.494.629 4.645 1.886 1.15 1.257 1.726 3.018 1.726 5.282l-.027.268H24.877c.036 1.284.464 2.318 1.285 3.102.82.785 1.802 1.177 2.944 1.177 1.57 0 2.802-.784 3.694-2.354l2.195 1.07a6.54 6.54 0 01-2.45 2.595C31.503 21.688 30.32 22 29 22c-1.927 0-3.516-.66-4.765-1.98-1.249-1.319-1.873-2.986-1.873-5.001 0-1.997.606-3.66 1.82-4.988 1.213-1.329 2.766-1.993 4.657-1.993m-.053 2.247c-.928 0-1.727.285-2.396.856-.67.57-1.11 1.337-1.325 2.3h7.522c-.071-.91-.442-1.663-1.111-2.26-.67-.598-1.566-.896-2.69-.896M39.247 21.53h-2.455V8.465h2.348v1.813h.107c.374-.64.947-1.173 1.721-1.6.774-.427 1.544-.64 2.309-.64.96 0 1.806.222 2.535.667a3.931 3.931 0 011.601 1.84c1.085-1.671 2.589-2.507 4.51-2.507 1.513 0 2.678.462 3.496 1.387.819.924 1.228 2.24 1.228 3.946v8.16h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.192-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.191-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227zM61.911 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zM80 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zm-16.343.022h2.349v1.813h.107c.373-.64.947-1.173 1.721-1.6a4.935 4.935 0 012.415-.64c1.601 0 2.833.458 3.696 1.373.863.916 1.294 2.218 1.294 3.907v8.213h-2.455v-8.053c-.053-2.133-1.13-3.2-3.229-3.2-.978 0-1.797.395-2.455 1.187-.658.79-.987 1.737-.987 2.84v7.226h-2.456V8.465z"})]}))});function fs(n){"@babel/helpers - typeof";return fs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fs(n)}var cO=["type"];function Cp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function hO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Cp(Object(t),!0).forEach(function(r){dO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Cp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function dO(n,e,t){return e=uO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function uO(n){var e=fO(n,"string");return fs(e)=="symbol"?e:String(e)}function fO(n,e){if(fs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(fs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function pO(n,e){if(n==null)return{};var t=mO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function mO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var gO=g.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=pO(n,cO),i=t==="color"?cd:t1;return d.jsx(Wn,hO({Icon:i,Text:n1,"aria-label":dr,spaceMultiple:M6,textMultiple:N6},r))}),mr=t1;mr.Color=cd;mr.Text=n1;mr.Combine=gO;mr.Avatar=Y6;mr.colorPrimary=e1;mr.title=dr;function ps(n){"@babel/helpers - typeof";return ps=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ps(n)}var bO=["type"];function jp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function yO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jp(Object(t),!0).forEach(function(r){xO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):jp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function xO(n,e,t){return e=vO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function vO(n){var e=wO(n,"string");return ps(e)=="symbol"?e:String(e)}function wO(n,e){if(ps(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ps(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function kO(n,e){if(n==null)return{};var t=SO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function SO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var CO=g.memo(function(n){var e=n.type,t=e===void 0?"normal":e,r=kO(n,bO),i=g.useMemo(function(){switch(t){case"gpt3":return Jb;case"gpt4":return Yb;case"gpt5":return Qb;case"o3":case"o1":return ad;case"oss":return Xb;case"platform":return Zb;default:return v6}},[t]);return d.jsx(Hn,yO({Icon:ld,"aria-label":qs,background:i,color:w6,iconMultiple:k6},r))});function ms(n){"@babel/helpers - typeof";return ms=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ms(n)}var jO=["size","style"];function Op(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ql(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Op(Object(t),!0).forEach(function(r){OO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Op(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function OO(n,e,t){return e=PO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function PO(n){var e=AO(n,"string");return ms(e)=="symbol"?e:String(e)}function AO(n,e){if(ms(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ms(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function NO(n,e){if(n==null)return{};var t=MO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function MO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var r1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=NO(n,jO);return d.jsxs("svg",Ql(Ql({fill:"currentColor",fillRule:"evenodd",height:t,style:Ql({flex:"none",lineHeight:1},r),viewBox:"0 0 84 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:qs}),d.jsx("path",{d:"M2 10.955c0 5.276 3.376 8.955 8.054 8.955 4.678 0 8.054-3.679 8.054-8.955S14.732 2 10.054 2C5.423 2 2.068 5.606 2 10.797L2 10.955zm13.021 0c0 3.775-2.05 6.22-4.967 6.22-2.918 0-4.968-2.445-4.968-6.22 0-3.776 2.05-6.22 4.968-6.22 2.917 0 4.967 2.444 4.967 6.22zm11.778 8.955c3.545 0 5.57-3.001 5.57-6.607 0-3.607-2.025-6.608-5.57-6.608-1.64 0-2.845.654-3.64 1.598V6.937h-2.894V24h2.893v-5.688c.796.944 2.002 1.598 3.641 1.598zm-3.713-6.97c0-2.397 1.35-3.703 3.135-3.703 2.097 0 3.23 1.645 3.23 4.066 0 2.42-1.133 4.066-3.23 4.066-1.785 0-3.135-1.332-3.135-3.68v-.75zM40.2 19.91c2.532 0 4.533-1.331 5.425-3.558l-2.483-.944c-.386 1.307-1.52 2.033-2.942 2.033-1.857 0-3.159-1.331-3.376-3.51h8.874v-.967c0-3.485-1.953-6.269-5.619-6.269-3.665 0-6.028 2.88-6.028 6.608 0 3.92 2.532 6.607 6.15 6.607zm-.145-10.77c1.833 0 2.701 1.21 2.725 2.614H36.97c.434-1.719 1.591-2.614 3.086-2.614zm7.814 10.504h2.894v-7.455c0-1.815 1.326-2.783 2.628-2.783 1.591 0 2.218 1.137 2.218 2.71v7.528h2.894V11.27c0-2.735-1.592-4.575-4.244-4.575-1.64 0-2.773.75-3.496 1.598V6.937h-2.894v12.707zM66.978 2.266l-6.56 17.378h3.063l1.471-3.97h7.475l1.495 3.97h3.11L70.475 2.266h-3.496zm1.687 3.437l2.75 7.26h-5.45l2.7-7.26zM82 2.317h-3.086v17.377H82V2.317z"})]}))});function gs(n){"@babel/helpers - typeof";return gs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gs(n)}var TO=["extraStyle"];function Pp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ap(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Pp(Object(t),!0).forEach(function(r){DO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Pp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function DO(n,e,t){return e=EO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function EO(n){var e=RO(n,"string");return gs(e)=="symbol"?e:String(e)}function RO(n,e){if(gs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(gs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function LO(n,e){if(n==null)return{};var t=IO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function IO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var BO=g.memo(function(n){var e=n.extraStyle,t=LO(n,TO);return d.jsx(Wn,Ap({Icon:ld,Text:r1,"aria-label":qs,extraStyle:Ap({fontWeight:600},e),spaceMultiple:x6,textMultiple:y6},t))}),Ct=ld;Ct.Text=r1;Ct.Combine=BO;Ct.Avatar=CO;Ct.colorPrimary=qb;Ct.colorGpt3=Jb;Ct.colorGpt4=Yb;Ct.colorGpt5=Qb;Ct.colorO1=ad;Ct.colorO3=ad;Ct.colorOss=Xb;Ct.colorPlatform=Zb;Ct.title=qs;var Js="GithubCopilot",$O=.75,FO=.3,i1="#000",VO=i1,zO="#fff",_O=.75;function bs(n){"@babel/helpers - typeof";return bs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bs(n)}var HO=["size","style"];function Np(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Xl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Np(Object(t),!0).forEach(function(r){WO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Np(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function WO(n,e,t){return e=UO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function UO(n){var e=KO(n,"string");return bs(e)=="symbol"?e:String(e)}function KO(n,e){if(bs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(bs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function GO(n,e){if(n==null)return{};var t=qO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function qO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var hd=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=GO(n,HO);return d.jsxs("svg",Xl(Xl({fill:"currentColor",fillRule:"evenodd",height:t,style:Xl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Js}),d.jsx("path",{d:"M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z"})]}))});function ys(n){"@babel/helpers - typeof";return ys=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ys(n)}function Mp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function JO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mp(Object(t),!0).forEach(function(r){YO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Mp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function YO(n,e,t){return e=QO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function QO(n){var e=XO(n,"string");return ys(e)=="symbol"?e:String(e)}function XO(n,e){if(ys(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ys(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function ZO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var e7=g.memo(function(n){var e=Object.assign({},(ZO(n),n));return d.jsx(Hn,JO({Icon:hd,"aria-label":Js,background:VO,color:zO,iconMultiple:_O},e))});function xs(n){"@babel/helpers - typeof";return xs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xs(n)}var t7=["size","style"];function Tp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Zl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Tp(Object(t),!0).forEach(function(r){n7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Tp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function n7(n,e,t){return e=r7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function r7(n){var e=i7(n,"string");return xs(e)=="symbol"?e:String(e)}function i7(n,e){if(xs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(xs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function s7(n,e){if(n==null)return{};var t=o7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function o7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var s1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=s7(n,t7);return d.jsxs("svg",Zl(Zl({fill:"currentColor",fillRule:"evenodd",height:t,style:Zl({flex:"none",lineHeight:1},r),viewBox:"0 0 154 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Js}),d.jsx("path",{d:"M2 11.875c0 5.256 3.013 8.506 8.19 8.506 4.76 0 8.027-2.72 8.027-7.722v-1.545h-7.982v2.928h4.095c-.161 1.96-1.68 3.25-4.049 3.25-2.6 0-4.347-1.498-4.347-4.334V10.7c0-2.582 1.518-4.31 4.186-4.31 1.91 0 3.267.922 3.68 2.374h3.865c-.437-3.366-3.427-5.625-7.499-5.625C5.29 3.138 2 6.366 2 11.875zm17.308-5.44h3.496V3h-3.496v3.435zm0 13.715h3.496V7.795h-3.496V20.15zm10.544-9.52h2.438V7.795h-2.438V3.922h-3.496v3.873H24.17v2.835h2.186v6.8c0 1.637.69 2.72 2.76 2.72h3.174v-2.766h-2.438V10.63zm3.994 9.52h3.727v-7.076h7.568v7.076h3.726V3.346h-3.726v6.777h-7.568V3.346h-3.727V20.15zM62.385 7.795h-3.497v6.523c0 1.868-1.012 3.205-2.668 3.205-1.38 0-2.162-.83-2.162-2.56V7.796h-3.52v7.722c0 2.95 1.357 4.864 4.118 4.864 1.955 0 3.29-.945 4.002-2.49h.207l.46 2.26h3.06V7.794zm1.698 12.355h3.06l.436-2.213h.207c.713 1.591 2.3 2.444 4.072 2.444 3.174 0 5.015-2.374 5.015-6.385 0-4.057-1.887-6.432-5.084-6.432-1.978 0-3.428 1.014-4.003 2.49h-.207V3h-3.496v17.15zm3.496-5.624v-1.06c0-1.845 1.173-3.043 2.99-3.043 1.657 0 2.738.853 2.738 2.581v1.983c0 1.521-.874 2.559-2.714 2.559-1.864 0-3.014-1.222-3.014-3.02zm21.8 5.855c4.21 0 7.177-2.351 7.683-6.063h-3.151c-.46 2.098-2.186 3.389-4.486 3.389-2.852 0-4.67-1.867-4.67-4.518v-2.743c0-2.882 1.887-4.634 4.716-4.634 2.53 0 4.072 1.36 4.44 3.366h3.151c-.368-3.665-3.243-6.063-7.499-6.063-5.038 0-7.982 3.274-7.982 8.668 0 5.348 2.898 8.598 7.798 8.598zm8.533-6.34c0 3.92 2.346 6.34 5.98 6.34 3.796 0 6.004-2.536 6.004-6.34 0-4.056-2.484-6.338-6.003-6.338-3.635 0-5.981 2.397-5.981 6.339zm2.898.992V13.12c0-1.89 1.22-3.066 3.083-3.066 1.817 0 3.082 1.152 3.082 3.066v1.913c0 1.96-1.288 2.997-3.082 2.997-1.749 0-3.083-1.015-3.083-2.997zM111.018 24h2.853v-6.132h.184c.667 1.453 2.116 2.398 4.186 2.398 3.083 0 4.992-2.26 4.992-6.293 0-3.942-1.863-6.27-4.992-6.27-1.863 0-3.427.852-4.186 2.397h-.184l-.345-2.167h-2.508V24zm6.211-6.063c-2.024 0-3.358-1.314-3.358-3.342v-1.222c0-2.005 1.31-3.342 3.381-3.342 2.002 0 3.037 1.152 3.037 2.881v2.144c0 1.815-1.16 2.849-2.973 2.88l-.087.001zm7.1-11.733h2.83V3.115h-2.83v3.09zm0 13.946h2.83V7.933h-2.83V20.15zm4.338 0h2.83V3.115h-2.83V20.15zm9.927-12.447c3.52 0 6.004 2.282 6.004 6.339 0 3.803-2.208 6.339-6.004 6.339-3.634 0-5.98-2.42-5.98-6.34 0-3.941 2.346-6.338 5.98-6.338zm10.922-3.689v3.919H152v2.328h-2.484v7.607H152v2.282h-2.99c-1.749 0-2.324-.922-2.324-2.282v-7.607h-2.185V7.933h2.185V4.014h2.83zm-10.922 6.04c-1.863 0-3.082 1.175-3.082 3.066v1.913c0 1.982 1.334 2.997 3.082 2.997 1.795 0 3.083-1.038 3.083-2.997V13.12c0-1.914-1.265-3.066-3.083-3.066z"})]}))});function vs(n){"@babel/helpers - typeof";return vs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vs(n)}function Dp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function a7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dp(Object(t),!0).forEach(function(r){l7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Dp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function l7(n,e,t){return e=c7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function c7(n){var e=h7(n,"string");return vs(e)=="symbol"?e:String(e)}function h7(n,e){if(vs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(vs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function d7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var u7=g.memo(function(n){var e=Object.assign({},(d7(n),n));return d.jsx(Wn,a7({Icon:hd,Text:s1,"aria-label":Js,spaceMultiple:FO,textMultiple:$O},e))}),Qr=hd;Qr.Text=s1;Qr.Combine=u7;Qr.Avatar=e7;Qr.colorPrimary=i1;Qr.title=Js;var Ys="Cline",f7=.7,p7=.2,o1="#323B43",m7=o1,g7="#fff",b7=.6;function ws(n){"@babel/helpers - typeof";return ws=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ws(n)}var y7=["size","style"];function Ep(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ec(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ep(Object(t),!0).forEach(function(r){x7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ep(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function x7(n,e,t){return e=v7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function v7(n){var e=w7(n,"string");return ws(e)=="symbol"?e:String(e)}function w7(n,e){if(ws(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ws(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function k7(n,e){if(n==null)return{};var t=S7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function S7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var dd=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=k7(n,y7);return d.jsxs("svg",ec(ec({fill:"currentColor",fillRule:"evenodd",height:t,style:ec({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Ys}),d.jsx("path",{d:"M17.035 3.991c2.75 0 4.98 2.24 4.98 5.003v1.667l1.45 2.896a1.01 1.01 0 01-.002.909l-1.448 2.864v1.668c0 2.762-2.23 5.002-4.98 5.002H7.074c-2.751 0-4.98-2.24-4.98-5.002V17.33l-1.48-2.855a1.01 1.01 0 01-.003-.927l1.482-2.887V8.994c0-2.763 2.23-5.003 4.98-5.003h9.962zM8.265 9.6a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 004.547 0v-4.042A2.274 2.274 0 008.265 9.6zm7.326 0a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 104.548 0v-4.042A2.274 2.274 0 0015.59 9.6z"}),d.jsx("path",{d:"M12.054 5.558a2.779 2.779 0 100-5.558 2.779 2.779 0 000 5.558z"})]}))});function ks(n){"@babel/helpers - typeof";return ks=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ks(n)}function Rp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function C7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Rp(Object(t),!0).forEach(function(r){j7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Rp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function j7(n,e,t){return e=O7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function O7(n){var e=P7(n,"string");return ks(e)=="symbol"?e:String(e)}function P7(n,e){if(ks(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ks(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function A7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var N7=g.memo(function(n){var e=Object.assign({},(A7(n),n));return d.jsx(Hn,C7({Icon:dd,"aria-label":Ys,background:m7,color:g7,iconMultiple:b7},e))});function Ss(n){"@babel/helpers - typeof";return Ss=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ss(n)}var M7=["size","style"];function Lp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function tc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Lp(Object(t),!0).forEach(function(r){T7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Lp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function T7(n,e,t){return e=D7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function D7(n){var e=E7(n,"string");return Ss(e)=="symbol"?e:String(e)}function E7(n,e){if(Ss(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ss(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function R7(n,e){if(n==null)return{};var t=L7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function L7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var a1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=R7(n,M7);return d.jsxs("svg",tc(tc({fill:"currentColor",fillRule:"evenodd",height:t,style:tc({flex:"none",lineHeight:1},r),viewBox:"0 0 88 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Ys}),d.jsx("path",{d:"M79.558 21.986c-1.13 0-2.167-.189-3.108-.565a7.128 7.128 0 01-2.403-1.569 6.933 6.933 0 01-1.554-2.331 7.876 7.876 0 01-.537-2.925v-.58c0-1.196.189-2.279.566-3.25.376-.97.894-1.798 1.554-2.486a6.84 6.84 0 012.289-1.582 7.005 7.005 0 012.797-.566c1.103 0 2.078.189 2.925.566.848.367 1.56.88 2.134 1.54.575.668 1.008 1.464 1.3 2.388.292.923.438 1.93.438 3.023v1.456H75.362v.07c.103.67.263 1.23.48 1.682.217.452.513.857.89 1.215.377.377.82.669 1.328.876.518.207 1.084.31 1.696.31.838 0 1.62-.16 2.346-.48a4.71 4.71 0 001.794-1.398l1.808 1.752c-.508.734-1.29 1.394-2.345 1.978-1.046.584-2.313.876-3.8.876zm-.41-13.113c-.48 0-.927.09-1.342.269-.405.17-.768.414-1.088.735-.32.33-.589.725-.805 1.187a6.25 6.25 0 00-.48 1.568h7.191v-.226c0-.443-.08-.88-.24-1.314a3.545 3.545 0 00-.678-1.159 3.004 3.004 0 00-1.074-.763c-.424-.198-.919-.297-1.484-.297zM55.043 21.703V6.415h3.052l.212 2.176c.207-.292.433-.56.678-.805.255-.255.523-.48.806-.679a5.555 5.555 0 013.179-.975 6.5 6.5 0 012.148.34 4.11 4.11 0 011.667 1.073c.461.49.82 1.117 1.074 1.88.254.753.381 1.667.381 2.74v9.538h-3.377v-9.48c0-.632-.07-1.16-.212-1.583-.141-.424-.348-.763-.621-1.018a2.3 2.3 0 00-.99-.537 4.736 4.736 0 00-1.328-.17c-.414 0-.8.057-1.158.17a3.421 3.421 0 00-1.611 1.004 4.282 4.282 0 00-.523.706v10.908h-3.377zM38.44 6.415h8.111v12.49h4.493v2.798H38.441v-2.797h4.705v-9.68H38.44V6.416zm4.395-3.956c0-.274.047-.523.141-.75a1.69 1.69 0 01.41-.607c.17-.16.372-.282.607-.367.245-.094.519-.141.82-.141.509 0 .918.131 1.23.395.32.254.503.584.55.99.066.414-.004.776-.212 1.087-.207.302-.508.504-.904.608a1.48 1.48 0 01-.706.353c-.273.057-.575.033-.905-.07a1.396 1.396 0 01-.777-.552 1.758 1.758 0 01-.254-.946zM20.934 0h8.238v18.906h4.634v2.797H20.934v-2.797h4.832V2.812h-4.832V0zM16.71 15.373c-.095.999-.33 1.908-.707 2.727a6.672 6.672 0 01-1.484 2.077 6.542 6.542 0 01-2.218 1.357c-.848.31-1.79.466-2.826.466-.848 0-1.63-.113-2.346-.339a6.467 6.467 0 01-1.893-.99 6.55 6.55 0 01-1.413-1.426 9.438 9.438 0 01-1.003-1.851c-.274-.66-.48-1.375-.622-2.148A14.34 14.34 0 012 12.83v-2.812c0-.8.066-1.573.198-2.317.132-.744.33-1.446.593-2.106A8.284 8.284 0 013.88 3.603a7.296 7.296 0 011.555-1.54 6.953 6.953 0 011.836-.904A7.256 7.256 0 019.49.834c1.083 0 2.049.16 2.896.48.858.32 1.588.773 2.19 1.357a6.337 6.337 0 011.442 2.147c.358.839.588 1.771.692 2.798h-3.391a6.568 6.568 0 00-.353-1.653c-.17-.5-.405-.923-.707-1.272a2.977 2.977 0 00-1.144-.791c-.453-.188-.994-.283-1.625-.283-.443 0-.843.062-1.201.184-.349.122-.66.297-.933.523a3.385 3.385 0 00-.947 1.074 7.033 7.033 0 00-.607 1.455c-.123.471-.217.975-.283 1.512a15.25 15.25 0 00-.084 1.625v2.84c0 .688.037 1.333.113 1.936.084.602.212 1.154.381 1.653.132.414.297.791.495 1.13.207.34.452.631.734.876.292.264.627.466 1.004.608.386.132.824.198 1.314.198.584 0 1.102-.085 1.554-.255.452-.17.838-.419 1.159-.749.31-.32.56-.72.748-1.2.189-.481.311-1.032.368-1.654h3.405z"})]}))});function Cs(n){"@babel/helpers - typeof";return Cs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Cs(n)}function Ip(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function I7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ip(Object(t),!0).forEach(function(r){B7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ip(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function B7(n,e,t){return e=$7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function $7(n){var e=F7(n,"string");return Cs(e)=="symbol"?e:String(e)}function F7(n,e){if(Cs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Cs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function V7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var z7=g.memo(function(n){var e=Object.assign({},(V7(n),n));return d.jsx(Wn,I7({Icon:dd,Text:a1,"aria-label":Ys,iconProps:{shape:"square"},spaceMultiple:p7,textMultiple:f7},e))}),Xr=dd;Xr.Text=a1;Xr.Combine=z7;Xr.Avatar=N7;Xr.colorPrimary=o1;Xr.title=Ys;var Qs="Cursor",_7=.7,H7=.1,l1="#000",W7=l1,U7="#fff",K7=.6;function js(n){"@babel/helpers - typeof";return js=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},js(n)}var G7=["size","style"];function Bp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function nc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Bp(Object(t),!0).forEach(function(r){q7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Bp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function q7(n,e,t){return e=J7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function J7(n){var e=Y7(n,"string");return js(e)=="symbol"?e:String(e)}function Y7(n,e){if(js(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(js(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Q7(n,e){if(n==null)return{};var t=X7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function X7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var ud=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Q7(n,G7);return d.jsxs("svg",nc(nc({fill:"currentColor",fillRule:"evenodd",height:t,style:nc({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Qs}),d.jsx("path",{d:"M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z"})]}))});function Os(n){"@babel/helpers - typeof";return Os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Os(n)}function $p(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Z7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?$p(Object(t),!0).forEach(function(r){eP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):$p(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function eP(n,e,t){return e=tP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function tP(n){var e=nP(n,"string");return Os(e)=="symbol"?e:String(e)}function nP(n,e){if(Os(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Os(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function rP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var iP=g.memo(function(n){var e=Object.assign({},(rP(n),n));return d.jsx(Hn,Z7({Icon:ud,"aria-label":Qs,background:W7,color:U7,iconMultiple:K7},e))});function Ps(n){"@babel/helpers - typeof";return Ps=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ps(n)}var sP=["size","style"];function Fp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function rc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Fp(Object(t),!0).forEach(function(r){oP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Fp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function oP(n,e,t){return e=aP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function aP(n){var e=lP(n,"string");return Ps(e)=="symbol"?e:String(e)}function lP(n,e){if(Ps(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ps(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function cP(n,e){if(n==null)return{};var t=hP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function hP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var c1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=cP(n,sP);return d.jsxs("svg",rc(rc({fill:"currentColor",fillRule:"evenodd",height:t,style:rc({flex:"none",lineHeight:1},r),viewBox:"0 0 123 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Qs}),d.jsx("path",{d:"M11.995 2.33h6.516v3.582h-6.295C8.82 5.912 6.169 7.868 6.169 12c0 4.133 2.65 6.089 6.047 6.089h6.295v3.581H11.72C6.03 21.67 2 18.336 2 12c0-6.337 4.307-9.67 9.995-9.67zm9.829 0h4.03V14.15c0 2.947 1.354 4.325 4.53 4.325 3.175 0 4.528-1.377 4.528-4.325V2.33h4.03v12.644c0 4.297-2.733 7.025-8.559 7.025-5.826 0-8.56-2.755-8.56-7.052V2.33zm38.185 5.483c0 2.149-1.243 3.801-2.9 4.518v.055c1.74.248 2.624 1.488 2.65 3.169l.084 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.71v7.41h-4.03V2.33h11.127c3.644 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561H46.84v5.123h6.626c1.518 0 2.485-.909 2.485-2.562zm19.3 7.66c0-1.378-.884-1.957-2.209-2.067l-4.473-.413c-3.866-.358-5.881-1.873-5.881-5.537 0-3.664 2.485-5.675 6.046-5.675h9.885V5.8h-9.609c-1.38 0-2.263.717-2.263 2.094 0 1.378.91 2.039 2.291 2.15l4.556.385c3.452.303 5.715 1.874 5.715 5.565 0 3.691-2.402 5.675-5.798 5.675H63.184V18.2h9.94c1.297 0 2.126-.882 2.126-2.177zM91.097 2c6.074 0 9.912 3.884 9.912 9.972C101.01 18.061 97.006 22 90.932 22s-9.912-3.94-9.912-10.028C81.02 5.884 85.024 2 91.098 2zm5.743 10c0-4.077-2.374-6.474-5.826-6.474-3.451 0-5.826 2.397-5.826 6.474s2.375 6.473 5.826 6.473c3.452 0 5.826-2.396 5.826-6.473zM121 7.813c0 2.149-1.242 3.801-2.899 4.518v.055c1.739.248 2.623 1.488 2.65 3.169l.083 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.709v7.41h-4.031V2.33h11.127c3.645 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561h-6.571v5.123h6.626c1.518 0 2.485-.909 2.485-2.562z"})]}))});function As(n){"@babel/helpers - typeof";return As=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},As(n)}function Vp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function dP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vp(Object(t),!0).forEach(function(r){uP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Vp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function uP(n,e,t){return e=fP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function fP(n){var e=pP(n,"string");return As(e)=="symbol"?e:String(e)}function pP(n,e){if(As(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(As(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function mP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var gP=g.memo(function(n){var e=Object.assign({},(mP(n),n));return d.jsx(Wn,dP({Icon:ud,Text:c1,"aria-label":Qs,spaceMultiple:H7,textMultiple:_7},e))}),Zr=ud;Zr.Text=c1;Zr.Combine=gP;Zr.Avatar=iP;Zr.colorPrimary=l1;Zr.title=Qs;var Xs="Goose",bP=.7,yP=.2,h1="#fff",xP=h1,vP="#000",wP=.65;function Ns(n){"@babel/helpers - typeof";return Ns=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ns(n)}var kP=["size","style"];function zp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ic(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?zp(Object(t),!0).forEach(function(r){SP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):zp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function SP(n,e,t){return e=CP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function CP(n){var e=jP(n,"string");return Ns(e)=="symbol"?e:String(e)}function jP(n,e){if(Ns(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ns(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function OP(n,e){if(n==null)return{};var t=PP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function PP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var fd=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=OP(n,kP);return d.jsxs("svg",ic(ic({fill:"currentColor",fillRule:"evenodd",height:t,style:ic({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Xs}),d.jsx("path",{d:"M21.595 23.61c1.167-.254 2.405-.944 2.405-.944l-2.167-1.784a12.124 12.124 0 01-2.695-3.131 12.127 12.127 0 00-3.97-4.049l-.794-.462a1.115 1.115 0 01-.488-.815.844.844 0 01.154-.575c.413-.582 2.548-3.115 2.94-3.44.503-.416 1.065-.762 1.586-1.159.074-.056.148-.112.221-.17.003-.002.007-.004.009-.007.167-.131.325-.272.45-.438.453-.524.563-.988.59-1.193-.061-.197-.244-.639-.753-1.148.319.02.705.272 1.056.569.235-.376.481-.773.727-1.171.165-.266-.08-.465-.086-.471h-.001V3.22c-.007-.007-.206-.25-.471-.086-.567.35-1.134.702-1.639 1.021 0 0-.597-.012-1.305.599a2.464 2.464 0 00-.438.45l-.007.009c-.058.072-.114.147-.17.221-.397.521-.743 1.083-1.16 1.587-.323.391-2.857 2.526-3.44 2.94a.842.842 0 01-.574.153 1.115 1.115 0 01-.815-.488l-.462-.794a12.123 12.123 0 00-4.049-3.97 12.133 12.133 0 01-3.13-2.695L1.332 0S.643 1.238.39 2.405c.352.428 1.27 1.49 2.34 2.302C1.58 4.167.73 3.75.06 3.4c-.103.765-.063 1.92.043 2.816.726.317 1.961.806 3.219 1.066-1.006.236-2.11.278-2.961.262.15.554.358 1.119.64 1.688.119.263.25.52.39.77.452.125 2.222.383 3.164.171l-2.51.897a27.776 27.776 0 002.544 2.726c2.031-1.092 2.494-1.241 4.018-2.238-2.467 2.008-3.108 2.828-3.8 3.67l-.483.678c-.25.351-.469.725-.65 1.117-.61 1.31-1.47 4.1-1.47 4.1-.154.486.202.842.674.674 0 0 2.79-.861 4.1-1.47.392-.182.766-.4 1.118-.65l.677-.483c.227-.187.453-.37.701-.586 0 0 1.705 2.02 3.458 3.349l.896-2.511c-.211.942.046 2.712.17 3.163.252.142.509.272.772.392.569.28 1.134.49 1.688.64-.016-.853.026-1.956.261-2.962.26 1.258.75 2.493 1.067 3.219.895.106 2.051.146 2.816.043a73.87 73.87 0 01-1.308-2.67c.811 1.07 1.874 1.988 2.302 2.34h-.001z"})]}))});function Ms(n){"@babel/helpers - typeof";return Ms=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ms(n)}function _p(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function AP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_p(Object(t),!0).forEach(function(r){NP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):_p(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function NP(n,e,t){return e=MP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function MP(n){var e=TP(n,"string");return Ms(e)=="symbol"?e:String(e)}function TP(n,e){if(Ms(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ms(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function DP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var EP=g.memo(function(n){var e=Object.assign({},(DP(n),n));return d.jsx(Hn,AP({Icon:fd,"aria-label":Xs,background:xP,color:vP,iconMultiple:wP},e))});function Ts(n){"@babel/helpers - typeof";return Ts=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ts(n)}var RP=["size","style"];function Hp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function sc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hp(Object(t),!0).forEach(function(r){LP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Hp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function LP(n,e,t){return e=IP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function IP(n){var e=BP(n,"string");return Ts(e)=="symbol"?e:String(e)}function BP(n,e){if(Ts(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ts(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function $P(n,e){if(n==null)return{};var t=FP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function FP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var d1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=$P(n,RP);return d.jsxs("svg",sc(sc({fill:"currentColor",fillRule:"evenodd",height:t,style:sc({flex:"none",lineHeight:1},r),viewBox:"0 0 87 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Xs}),d.jsx("path",{d:"M17.122 16.607c0 4.696-3.219 7.393-7.774 7.393-3.674 0-6.255-1.546-7.257-4.637l3.401-1.21c.486 1.786 1.852 2.907 3.856 2.907 2.46 0 4.13-1.211 4.13-4.12v-1.122c-.85 1.121-2.46 2-4.494 2C4.61 17.818 2 14.273 2 9.909 2 5.546 4.611 2 8.984 2c2.004 0 3.644.879 4.494 2V2.303h3.644v14.303zm-3.583-6.85c0-2.908-1.58-4.575-3.857-4.575-2.52 0-4.008 1.757-4.008 4.727 0 2.94 1.488 4.727 4.008 4.727 2.278 0 3.857-1.666 3.857-4.515v-.363zM35.546 10.273c0 4.94-3.188 8.273-7.683 8.273-4.494 0-7.682-3.334-7.682-8.273C20.181 5.333 23.37 2 27.863 2c4.495 0 7.683 3.333 7.683 8.273zm-11.69 0c0 3.242 1.548 5.212 4.007 5.212 2.46 0 4.009-1.97 4.009-5.212 0-3.243-1.549-5.212-4.009-5.212-2.46 0-4.008 1.97-4.008 5.212zM52.957 10.273c0 4.94-3.188 8.273-7.682 8.273s-7.682-3.334-7.682-8.273C37.593 5.333 40.78 2 45.275 2s7.682 3.333 7.682 8.273zm-11.69 0c0 3.242 1.548 5.212 4.008 5.212s4.008-1.97 4.008-5.212c0-3.243-1.549-5.212-4.008-5.212-2.46 0-4.008 1.97-4.008 5.212zM54.336 15.182L57.069 13c.941 1.546 2.763 2.576 4.615 2.576 1.549 0 2.976-.546 2.976-1.97 0-1.364-1.336-1.515-3.856-2.03-2.52-.515-5.405-1.152-5.405-4.546 0-2.909 2.55-5.03 6.224-5.03 2.794 0 5.284 1.242 6.438 3L65.6 7.212c-.91-1.424-2.429-2.242-4.19-2.242-1.488 0-2.46.666-2.46 1.727 0 1.152 1.154 1.364 3.158 1.788 2.703.576 6.104 1.151 6.104 4.788 0 3.211-2.946 5.273-6.56 5.273-2.945 0-5.89-1.182-7.317-3.364zM77.965 18.546c-4.555 0-7.743-3.364-7.743-8.273 0-4.667 3.157-8.273 7.59-8.273 4.616 0 7.076 3.485 7.076 7.849v1.212H73.713c.274 2.727 1.913 4.394 4.252 4.394 1.791 0 3.218-.91 3.704-2.546l3.128 1.182c-1.124 2.787-3.644 4.455-6.832 4.455zm-.183-13.485c-1.882 0-3.34 1.12-3.886 3.272h7.318c-.03-1.757-1.124-3.272-3.432-3.272z"})]}))});function Ds(n){"@babel/helpers - typeof";return Ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ds(n)}function Wp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function VP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Wp(Object(t),!0).forEach(function(r){zP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Wp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function zP(n,e,t){return e=_P(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function _P(n){var e=HP(n,"string");return Ds(e)=="symbol"?e:String(e)}function HP(n,e){if(Ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function WP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var UP=g.memo(function(n){var e=Object.assign({},(WP(n),n));return d.jsx(Wn,VP({Icon:fd,Text:d1,"aria-label":Xs,iconProps:{shape:"square"},spaceMultiple:yP,textMultiple:bP},e))}),ei=fd;ei.Text=d1;ei.Combine=UP;ei.Avatar=EP;ei.colorPrimary=h1;ei.title=Xs;var Zs="Windsurf",KP=.7,GP=.2,u1="#fff",qP=u1,JP="#000",YP=.75;function Es(n){"@babel/helpers - typeof";return Es=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Es(n)}var QP=["size","style"];function Up(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function oc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Up(Object(t),!0).forEach(function(r){XP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Up(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function XP(n,e,t){return e=ZP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ZP(n){var e=e8(n,"string");return Es(e)=="symbol"?e:String(e)}function e8(n,e){if(Es(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Es(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function t8(n,e){if(n==null)return{};var t=n8(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function n8(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var pd=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=t8(n,QP);return d.jsxs("svg",oc(oc({fill:"currentColor",fillRule:"evenodd",height:t,style:oc({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Zs}),d.jsx("path",{clipRule:"evenodd",d:"M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z"})]}))});function Rs(n){"@babel/helpers - typeof";return Rs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Rs(n)}function Kp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function r8(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Kp(Object(t),!0).forEach(function(r){i8(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Kp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function i8(n,e,t){return e=s8(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function s8(n){var e=o8(n,"string");return Rs(e)=="symbol"?e:String(e)}function o8(n,e){if(Rs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Rs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function a8(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var l8=g.memo(function(n){var e=Object.assign({},(a8(n),n));return d.jsx(Hn,r8({Icon:pd,"aria-label":Zs,background:qP,color:JP,iconMultiple:YP},e))});function Ls(n){"@babel/helpers - typeof";return Ls=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ls(n)}var c8=["size","style"];function Gp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ac(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gp(Object(t),!0).forEach(function(r){h8(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Gp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function h8(n,e,t){return e=d8(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function d8(n){var e=u8(n,"string");return Ls(e)=="symbol"?e:String(e)}function u8(n,e){if(Ls(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ls(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function f8(n,e){if(n==null)return{};var t=p8(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function p8(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var f1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=f8(n,c8);return d.jsxs("svg",ac(ac({fill:"currentColor",fillRule:"evenodd",height:t,style:ac({flex:"none",lineHeight:1},r),viewBox:"0 0 111 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Zs}),d.jsx("path",{clipRule:"evenodd",d:"M33.412 7.182h-1.715a.316.316 0 00-.315.316v13.79c0 .174.14.316.315.316h1.715a.316.316 0 00.316-.317V7.498a.316.316 0 00-.316-.316zm-1.772-5.18h1.828c.174 0 .315.141.315.316V4.57a.316.316 0 01-.315.316H31.64a.316.316 0 01-.315-.316V2.318c0-.175.141-.317.315-.317zM43.676 6.79c-1.927 0-3.324.671-4.218 1.653a.457.457 0 01-.782-.322v-.623a.316.316 0 00-.316-.316h-1.686a.316.316 0 00-.316.316v13.79c0 .174.142.316.316.316h1.687a.316.316 0 00.316-.317v-8.729c0-3.025.587-3.697 3.8-3.697s3.742.533 3.742 3.557v8.868c0 .175.142.317.316.317h1.715a.316.316 0 00.316-.317v-9.513c0-3.445-1.956-4.986-4.889-4.986v.003h-.001zm17.518 1.849a.457.457 0 00.782-.322V2.319c0-.175.142-.316.316-.316h1.687c.174 0 .316.141.316.316v18.97a.316.316 0 01-.316.316h-1.687a.316.316 0 01-.316-.316v-.819c.017-.418-.489-.62-.782-.322-.81 1.008-2.374 1.848-4.47 1.848-3.685 0-6.088-2.632-6.088-7.533 0-5.18 2.68-7.673 6.172-7.673 2.095 0 3.604.84 4.386 1.849zm-8.018 5.767c0 4.733.587 5.434 4.414 5.434 3.8 0 4.386-.701 4.386-5.434 0-4.733-.559-5.461-4.386-5.461s-4.414.728-4.414 5.461zm20.924-.894l-2.763-.476c-2.04-.364-2.404-.98-2.404-2.045.028-1.457.587-2.184 3.296-2.184 2.538 0 3.35.752 3.525 2.376.017.16.152.284.313.284h1.677c.18 0 .326-.151.316-.333-.163-2.788-2.709-4.346-5.746-4.346-3.408 0-5.67 1.82-5.67 4.426 0 2.38 1.844 3.417 4.05 3.837l3.046.56c1.676.31 2.235.87 2.235 1.933 0 1.709-.587 2.437-3.464 2.437s-3.673-.832-3.858-2.518a.315.315 0 00-.313-.282h-1.687a.318.318 0 00-.317.325c.08 3.004 2.797 4.493 6.034 4.493 3.52 0 5.949-1.82 5.949-4.566 0-2.408-1.845-3.501-4.219-3.921zm12.21 6.414c3.128 0 3.715-.672 3.715-3.697V7.502c0-.174.141-.316.316-.316h1.714c.175 0 .316.142.316.316v13.79a.316.316 0 01-.316.316h-1.714a.316.316 0 01-.316-.317v-.6c-.007-.429-.45-.642-.755-.343-.892.98-2.289 1.652-4.161 1.652-2.877 0-4.833-1.54-4.833-4.986V7.501c0-.175.142-.317.316-.317h1.715c.174 0 .316.142.316.317v8.868c0 3.024.558 3.557 3.687 3.557zm19.782-12.744v-1.85c0-.727.588-1.316 1.314-1.316h1.276a.316.316 0 00.315-.317V2.317a.316.316 0 00-.315-.317h-.885c-2.514 0-4.051 1.4-4.051 3.81v1.372h-1.859c-1.647.002-2.94.229-3.803 1.26-.317.302-.755.076-.755-.36V7.5a.316.316 0 00-.315-.317h-1.715a.316.316 0 00-.316.317v13.789c0 .174.141.316.316.316h1.715a.316.316 0 00.315-.316v-8.645c0-2.857.727-3.528 3.855-3.528h2.562V21.29c0 .175.141.317.316.317h1.715a.316.316 0 00.315-.317V9.116h2.593a.316.316 0 00.315-.317V7.501a.316.316 0 00-.315-.317h-2.593v-.002zM21.834 18.008a.561.561 0 001.091.005l3.933-15.772A.318.318 0 0127.166 2h1.963c.21 0 .363.199.31.403l-4.947 18.972a.305.305 0 01-.295.228h-3.502a.31.31 0 01-.3-.234L16.285 5.5a.56.56 0 00-.543-.42h-.036a.562.562 0 00-.542.42l-4.11 15.87a.31.31 0 01-.299.234H7.253a.304.304 0 01-.295-.228L2.011 2.403A.321.321 0 012.32 2h1.963c.145 0 .272.1.308.241l3.932 15.772a.56.56 0 001.09-.005l3.78-15.764A.316.316 0 0113.7 2h4.047c.146 0 .273.1.307.244l3.779 15.764z"})]}))});function Is(n){"@babel/helpers - typeof";return Is=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Is(n)}function qp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function m8(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qp(Object(t),!0).forEach(function(r){g8(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):qp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function g8(n,e,t){return e=b8(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function b8(n){var e=y8(n,"string");return Is(e)=="symbol"?e:String(e)}function y8(n,e){if(Is(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Is(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function x8(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var v8=g.memo(function(n){var e=Object.assign({},(x8(n),n));return d.jsx(Wn,m8({Icon:pd,Text:f1,"aria-label":Zs,iconProps:{shape:"square"},spaceMultiple:GP,textMultiple:KP},e))}),ti=pd;ti.Text=f1;ti.Combine=v8;ti.Avatar=l8;ti.colorPrimary=u1;ti.title=Zs;const w8={"claude-code":pr.Avatar,cursor:Zr.Avatar,codex:Ct.Avatar,"gemini-cli":mr.Avatar,goose:ei.Avatar,"github-copilot":Qr.Avatar,windsurf:ti.Avatar,cline:Xr.Avatar},k8={antigravity:"/agents/antigravity.png",opencode:"/agents/opencode.svg",amp:"/agents/amp.png",kilo:"/agents/kilo.png",roo:"/agents/roo.png",openhands:"/agents/openhands.png"};function S8(n){return n.split(/\s+/).map(e=>e[0]).join("").toUpperCase().slice(0,2)}const p1=({agentName:n,displayName:e,size:t=20})=>{const r=w8[n];if(r)return d.jsx(r,{size:t});const i=k8[n];return i?d.jsx("img",{src:i,alt:e,className:"rounded object-contain",style:{width:t,height:t}}):d.jsx("div",{className:"flex items-center justify-center rounded bg-dash-surface-hover text-dash-text-muted font-semibold",style:{width:t,height:t,fontSize:t*.45},children:S8(e)})};function lc(n){return JSON.stringify([n.provider,n.type,n.item,n.global])}function C8(n){if(typeof n=="string"){const e=n.trim();return e.length>0?e:null}if(typeof n=="object"&&n!==null){const e=n;for(const t of["message","error","detail","details","reason"]){const r=e[t];if(typeof r=="string"&&r.trim().length>0)return r.trim()}}return null}async function Jp(n,e){const r=(await n.text().catch(()=>"")).trim();if(!r)return e;try{const i=JSON.parse(r);return C8(i)||e}catch{return r}}function j8(){const[n,e]=g.useState("idle"),[t,r]=g.useState(null),[i,s]=g.useState(new Map),[o,a]=g.useState(null),[l,c]=g.useState(null),h=g.useRef(0),u=g.useRef(0),f=g.useRef(null),p=g.useRef(null),m=g.useCallback(async C=>{e("reconciling"),c(null),a(null),h.current+=1;const j=h.current;f.current?.abort();const S=new AbortController;f.current=S;try{const O=new URLSearchParams({providers:C.providers.join(","),global:String(C.global),agents:String(C.include.agents??!0),commands:String(C.include.commands??!0),skills:String(C.include.skills??!0),config:String(C.include.config??!0),rules:String(C.include.rules??!0)});C.source&&O.set("source",C.source);const x=await fetch(`/api/migrate/reconcile?${O.toString()}`,{signal:S.signal});if(!x.ok){const N=await Jp(x,"Failed to reconcile migration plan");throw new Error(N)}const T=await x.json();if(j!==h.current)return;r(T.plan),s(new Map),e("reviewing")}catch(O){if(S.signal.aborted||O instanceof DOMException&&O.name==="AbortError"||j!==h.current)return;c(O instanceof Error?O.message:"Failed to reconcile"),e("error")}},[]),b=g.useCallback((C,j)=>{s(S=>{const O=new Map(S);return O.set(lc(C),j),O})},[]),y=g.useCallback(async()=>{if(!t)return c("No plan to execute"),e("error"),!1;e("executing"),c(null),u.current+=1;const C=u.current;p.current?.abort();const j=new AbortController;p.current=j;try{const S=Object.fromEntries(i.entries()),O=await fetch("/api/migrate/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:t,resolutions:S}),signal:j.signal});if(C!==u.current)return!1;if(!O.ok){const T=await Jp(O,"Failed to execute migration");if(O.status===501)return c(T||"Plan execution is not available in this server build"),e("reviewing"),!1;throw new Error(T)}const x=await O.json();return C!==u.current?!1:(a({results:x.results,counts:x.counts,warnings:x.warnings??[],discovery:x.discovery}),e("complete"),!0)}catch(S){return j.signal.aborted||S instanceof DOMException&&S.name==="AbortError"||C!==u.current||(c(S instanceof Error?S.message:"Failed to execute migration"),e("error")),!1}},[t,i]),v=g.useCallback(()=>{f.current?.abort(),p.current?.abort(),e("idle"),r(null),s(new Map),a(null),c(null)},[]),w=g.useMemo(()=>t?t.actions.filter(C=>C.action==="conflict").every(C=>i.has(lc(C))):!0,[t,i]);return{phase:n,plan:t,resolutions:i,results:o,error:l,reconcile:m,resolve:b,execute:y,reset:v,allConflictsResolved:w,actionKey:lc}}const O8={agents:!0,commands:!0,skills:!0,config:!0,rules:!0},Jt=["agents","commands","skills","config","rules"],tr={agents:"migrateTypeAgents",commands:"migrateTypeCommands",skills:"migrateTypeSkills",config:"migrateTypeConfig",rules:"migrateTypeRules"},Yp={detected:"#D4A574","not-detected":"#8B9DC3"},ct=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-green-400":"text-dash-text";return d.jsxs("div",{className:"rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2.5",children:[d.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n}),d.jsx("p",{className:`mt-1 text-lg font-semibold ${r}`,children:e})]})};function Qp(n,e){return n.success?n.skipped?{label:e("migrateStatusSkipped"),className:"text-yellow-400"}:{label:e("migrateStatusInstalled"),className:"text-green-400"}:{label:e("migrateStatusFailed"),className:"text-red-400"}}const P8=new Set([8203,8204,8205,8288,65279,8232,8233,8234,8235,8236,8237,8238,8294,8295,8296,8297]);function A8(n){return n===9||n===10||n===13?!0:n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159||P8.has(n)}function Xp(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(A8(r)||(e+=t))}return e}const N8=({provider:n,include:e,isSelected:t,onToggleSelect:r,onOpenDetails:i,t:s})=>{const o=Jt.filter(l=>n.capabilities[l]).length,a=Jt.some(l=>e[l]&&!n.capabilities[l]);return d.jsxs("div",{className:`relative rounded-xl border px-4 py-3 cursor-pointer transition-all ${t?"bg-dash-accent-subtle border-dash-accent/30 shadow-sm shadow-dash-accent/10":a?"bg-dash-surface border-yellow-500/25 hover:bg-dash-surface-hover hover:border-yellow-500/40":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-accent/25"}`,children:[d.jsx("button",{type:"button",onClick:()=>i(n.name),"aria-label":`${n.displayName} details`,className:"absolute inset-0 z-10 rounded-xl dash-focus-ring"}),d.jsxs("div",{className:"relative z-0 flex flex-col gap-3 lg:grid lg:grid-cols-[minmax(0,1.25fr)_140px_minmax(0,220px)_auto] lg:items-center lg:gap-4",children:[d.jsxs("div",{className:"min-w-0 space-y-1.5",children:[d.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[d.jsx(p1,{agentName:n.name,displayName:n.displayName,size:18}),d.jsx("span",{className:"text-sm font-semibold text-dash-text truncate",children:n.displayName}),n.recommended&&d.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:s("migrateFilterRecommended")}),n.commandsGlobalOnly&&d.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-yellow-500/30 text-yellow-400",children:s("migrateGlobalOnlyCommandsShort")})]}),d.jsxs("div",{className:"text-xs text-dash-text-muted truncate",children:[n.name," · ",o,"/5 ",s("migrateCapabilitiesLabel")]})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 text-[11px] lg:flex-col lg:items-start lg:gap-1",children:[d.jsx("span",{className:n.detected?"text-dash-accent":"text-dash-text-muted",children:n.detected?s("migrateDetectedTag"):s("migrateNotDetectedTag")}),d.jsx("span",{className:"text-dash-text-muted",children:n.recommended?s("migrateFilterRecommended"):"-"})]}),d.jsx("div",{className:"flex flex-wrap gap-1",children:Jt.map(l=>{const c=n.capabilities[l],h=e[l];return d.jsx("span",{className:`text-[10px] uppercase px-1.5 py-0.5 rounded border ${c&&h?"border-dash-accent/45 text-dash-accent":c?"border-dash-border text-dash-text-secondary":"border-dash-border text-dash-text-muted opacity-60"}`,children:s(tr[l])},l)})}),d.jsx("div",{className:"relative z-20 flex justify-start lg:justify-end",children:d.jsx("button",{type:"button",onClick:()=>r(n.name),className:`dash-focus-ring px-4 py-1.5 text-xs font-semibold rounded-md transition-colors ${t?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:s(t?"migrateSelectedButton":"migrateSelectButton")})})]})]})},M8=({provider:n,include:e,isSelected:t,latestResult:r,onToggleSelect:i,onClose:s,t:o})=>{const a=g.useRef(null),l=g.useRef(null),c=g.useCallback(()=>{const f=l.current;l.current=null,f&&document.contains(f)&&f.focus()},[]),h=g.useCallback(()=>{s(),c()},[s,c]),u=g.useCallback(()=>{const f=a.current;if(f?.open){f.close();return}s(),c()},[s,c]);return g.useEffect(()=>{const f=a.current;if(f){if(!f.open){l.current=document.activeElement instanceof HTMLElement?document.activeElement:null;try{f.showModal()}catch{c(),s()}}return()=>{if(f.open){f.close();return}c()}}},[s,c]),d.jsx("dialog",{ref:a,"aria-label":n.displayName,onClose:h,onCancel:f=>{f.preventDefault(),u()},onClick:f=>{f.target===f.currentTarget&&u()},className:"fixed inset-0 z-50 m-0 h-full max-h-none w-full max-w-none overflow-hidden border-0 bg-transparent p-0 backdrop:bg-black/50",children:d.jsxs("div",{className:"ml-auto h-full w-full sm:w-[460px] bg-dash-surface border-l border-dash-border shadow-2xl flex flex-col animate-slide-in",children:[d.jsx("div",{className:"px-6 py-5 border-b border-dash-border",children:d.jsxs("div",{className:"flex items-start justify-between gap-3",children:[d.jsxs("div",{className:"min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2.5",children:[d.jsx(p1,{agentName:n.name,displayName:n.displayName,size:22}),d.jsx("h2",{className:"text-xl font-bold text-dash-text truncate",children:n.displayName})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-2",children:[d.jsx("span",{className:"text-[11px] text-dash-text-muted font-mono",children:n.name}),d.jsx("span",{className:`text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border ${n.detected?"border-dash-accent/30 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:n.detected?o("migrateDetectedTag"):o("migrateNotDetectedTag")}),n.recommended&&d.jsx("span",{className:"text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:o("migrateFilterRecommended")})]})]}),d.jsx("button",{type:"button",onClick:u,"aria-label":o("detailPanelClose"),className:"w-8 h-8 flex items-center justify-center rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",children:d.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[d.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18",strokeWidth:2}),d.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18",strokeWidth:2})]})})]})}),d.jsxs("div",{className:"flex-1 overflow-y-auto px-6 py-5 space-y-6",children:[d.jsxs("div",{children:[d.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateCapabilitiesSection")}),d.jsx("div",{className:"space-y-1.5",children:Jt.map(f=>{const p=n.capabilities[f],m=e[f];return d.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-dash-bg rounded-md",children:[d.jsx("span",{className:"text-sm text-dash-text",children:o(tr[f])}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${m?"border-dash-accent/35 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:o(m?"migrateIncludedEnabled":"migrateIncludedDisabled")}),d.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${p?"border-green-500/35 text-green-400":"border-red-500/30 text-red-400"}`,children:o(p?"migrateSupported":"migrateUnsupportedShort")})]})]},f)})})]}),n.commandsGlobalOnly&&e.commands&&d.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-xs text-yellow-400",children:o("migrateGlobalForced")}),d.jsxs("div",{children:[d.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateLatestTarget")}),r?d.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("span",{className:"text-xs text-dash-text-muted",children:o("migrateStatus")}),d.jsx("span",{className:`text-xs font-semibold ${Qp(r,o).className}`,children:Qp(r,o).label})]}),d.jsx("p",{className:"text-xs font-mono text-dash-text break-all",children:Xp(r.path||"-")}),(r.error||r.skipReason)&&d.jsx("p",{className:"text-xs text-red-400 break-words",children:Xp(r.error||r.skipReason||"-")})]}):d.jsx("p",{className:"text-sm text-dash-text-muted",children:o("migrateNoResultForProvider")})]})]}),d.jsxs("div",{className:"px-6 py-4 border-t border-dash-border flex items-center justify-between gap-2",children:[d.jsx("button",{type:"button",onClick:()=>i(n.name),className:`px-4 py-2 text-sm font-semibold rounded-md transition-colors ${t?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:o(t?"migrateUnselectProvider":"migrateSelectProviderAction")}),d.jsx("button",{type:"button",onClick:u,"aria-label":o("detailPanelClose"),className:"px-4 py-2 text-sm font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:o("detailPanelClose")})]})]})})},T8=()=>{const{t:n}=pe(),e=j8(),[t,r]=g.useState([]),[i,s]=g.useState(null),[o,a]=g.useState([]),[l,c]=g.useState(O8),[h,u]=g.useState(!1),[f,p]=g.useState(!0),[m,b]=g.useState(!1),[y,v]=g.useState(null),[w,C]=g.useState(""),j=g.useDeferredValue(w),[S,O]=g.useState("all"),[x,T]=g.useState(null),N=g.useRef(0),R=g.useCallback(async(I=!1)=>{N.current+=1;const G=N.current;try{I?b(!0):p(!0),v(null);const[oe,Te]=await Promise.all([Sv(),ru()]);if(G!==N.current)return;r(oe.providers),s(Te),a(hn=>{const eo=oe.providers.map(We=>We.name),to=hn.filter(We=>eo.includes(We));if(to.length>0)return to;const no=oe.providers.filter(We=>We.recommended&&We.detected).map(We=>We.name);if(no.length>0)return no;const ro=oe.providers.filter(We=>We.detected).map(We=>We.name);return ro.length>0?ro:oe.providers.filter(We=>We.recommended).map(We=>We.name)})}catch(oe){if(G!==N.current)return;v(oe instanceof Error?oe.message:n("migrateDetectFailed"))}finally{G===N.current&&(p(!1),b(!1))}},[n]);g.useEffect(()=>{R()},[R]);const A=g.useMemo(()=>{const I=new Map;for(const G of t)I.set(G.name,G);return I},[t]),L=g.useMemo(()=>x&&A.get(x)||null,[x,A]);g.useEffect(()=>{x&&!A.has(x)&&T(null)},[x,A]);const W=g.useCallback(()=>{T(null)},[]),F=g.useMemo(()=>new Set(o),[o]),$=g.useMemo(()=>t.filter(I=>I.detected).length,[t]),q=o.length,he=g.useMemo(()=>t.filter(I=>I.recommended).length,[t]),z=g.useMemo(()=>Jt.filter(I=>l[I]).length,[l]),J=g.useMemo(()=>{const I=[];l.commands&&o.includes("codex")&&!h&&A.get("codex")?.commandsGlobalOnly&&I.push(n("migrateGlobalForced"));for(const G of Jt){if(!l[G])continue;const oe=o.filter(Te=>!A.get(Te)?.capabilities[G]).map(Te=>A.get(Te)?.displayName||Te);oe.length>0&&I.push(`${n("migrateUnsupported")}: ${n(tr[G])} -> ${oe.join(", ")}`)}return I},[l,h,A,o,n]),ie=g.useCallback(I=>{if(I==="codex"){a(["codex"]);return}if(I==="antigravity"){a(["antigravity"]);return}if(I==="core"){const oe=["codex","antigravity"].filter(Te=>t.some(hn=>hn.name===Te));a(oe);return}const G=t.filter(oe=>oe.detected).map(oe=>oe.name);a(G)},[t]),le=g.useCallback(I=>{a(G=>G.includes(I)?G.filter(oe=>oe!==I):[...G,I])},[]),ue=g.useCallback(I=>{c(G=>({...G,[I]:!G[I]}))},[]),we=g.useMemo(()=>{const I=[...t];return I.sort((G,oe)=>{const Te=F.has(G.name),hn=F.has(oe.name);return Te!==hn?Te?-1:1:G.detected!==oe.detected?G.detected?-1:1:G.recommended!==oe.recommended?G.recommended?-1:1:G.displayName.localeCompare(oe.displayName)}),I},[t,F]),ke=g.useMemo(()=>{const I=j.trim().toLowerCase();return we.filter(G=>{if(S==="selected"&&!F.has(G.name)||S==="detected"&&!G.detected||S==="recommended"&&!G.recommended||S==="not-detected"&&G.detected)return!1;if(!I)return!0;const oe=Jt.filter(Te=>G.capabilities[Te]).map(Te=>n(tr[Te]).toLowerCase());return G.displayName.toLowerCase().includes(I)||G.name.toLowerCase().includes(I)||oe.some(Te=>Te.includes(I))})},[j,S,F,we,n]),Ne=g.useMemo(()=>{const I=ke.filter(Te=>Te.detected),G=ke.filter(Te=>!Te.detected),oe=[];return I.length>0&&oe.push({key:"detected",label:n("migrateDetectedTag"),providers:I}),G.length>0&&oe.push({key:"not-detected",label:n("migrateNotDetectedTag"),providers:G}),oe},[ke,n]),Xe=g.useMemo(()=>({all:t.length,selected:q,detected:t.filter(I=>I.detected).length,recommended:t.filter(I=>I.recommended).length,"not-detected":t.filter(I=>!I.detected).length}),[t,q]),gt=g.useMemo(()=>ke.map(I=>I.name),[ke]),Y=g.useCallback(()=>{a(I=>{const G=new Set(I);for(const oe of gt)G.add(oe);return Array.from(G)})},[gt]),Me=g.useCallback(()=>{a([])},[]),Se=g.useCallback(async()=>{if(o.length===0){v(n("migrateSelectProvider"));return}if(z===0){v(n("migrateNoTypesEnabled"));return}await e.reconcile({providers:o,global:h,include:l})},[z,l,h,o,n,e]),Ie=g.useCallback(async()=>{if(v(null),!!await e.execute())try{const G=await ru();s(G)}catch(G){console.error("Failed to refresh discovery:",G)}},[e]),ve=g.useMemo(()=>{const I=new Map;if(!e.results)return I;for(const G of e.results.results)I.set(G.provider,G);return I},[e.results]);g.useEffect(()=>{const I=G=>{const oe=G.target,Te=!!(oe&&(oe instanceof HTMLInputElement||oe instanceof HTMLTextAreaElement||oe.isContentEditable||oe.closest('[contenteditable="true"], [role="textbox"]'))),hn=G.metaKey||G.ctrlKey||G.altKey;G.key==="/"&&!Te&&!hn&&(G.preventDefault(),document.getElementById("migrate-search")?.focus())};return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[]);const bt=e.phase==="idle"&&o.length>0&&z>0;return f?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),d.jsx("p",{className:"text-dash-text-muted",children:n("migrateDiscovering")})]})}):d.jsxs("div",{className:"relative h-full overflow-hidden",children:[d.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[d.jsx("div",{className:"absolute -top-24 -right-8 h-64 w-64 rounded-full bg-dash-accent/10 blur-3xl"}),d.jsx("div",{className:"absolute -bottom-28 -left-10 h-72 w-72 rounded-full bg-dash-accent/5 blur-3xl"})]}),d.jsxs("div",{className:"h-full overflow-y-auto space-y-4 pb-8",children:[d.jsx("section",{className:"dash-panel dash-sticky-glass sticky top-0 z-20 px-4 py-4 md:px-6 md:py-5",children:d.jsxs("div",{className:"flex flex-col gap-4 xl:flex-row xl:items-end xl:justify-between",children:[d.jsxs("div",{className:"space-y-1",children:[d.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:n("migrate")}),d.jsx("h1",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:n("migrateTitle")}),d.jsx("p",{className:"text-sm text-dash-text-secondary max-w-3xl",children:n("migrateSubtitle")})]}),e.phase==="complete"&&e.results?d.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:[d.jsx(ct,{label:n("migrateInstalled"),value:e.results.counts.installed,tone:"success"}),d.jsx(ct,{label:n("migrateSkipped"),value:e.results.counts.skipped}),d.jsx(ct,{label:n("migrateFailed"),value:e.results.counts.failed})]}):d.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[d.jsx(ct,{label:n("migrateTypeAgents"),value:i?.counts.agents??0}),d.jsx(ct,{label:n("migrateDetectedProviders"),value:$,tone:"success"}),d.jsx(ct,{label:n("migrateSelectedProviders"),value:q,tone:"accent"}),d.jsx(ct,{label:n("migrateTypes"),value:z})]})]})}),y&&d.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:y}),d.jsxs("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.55fr)_minmax(0,340px)]",children:[d.jsxs("section",{className:"order-2 xl:order-1 space-y-4",children:[e.phase==="reviewing"&&e.plan&&d.jsxs("div",{className:"dash-panel p-5",children:[d.jsxs("div",{className:"flex items-center justify-between mb-4",children:[d.jsx("h2",{className:"text-lg font-semibold text-dash-text",children:n("migrateReviewPlan")}),d.jsx("button",{type:"button",onClick:()=>e.reset(),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:n("cancel")})]}),d.jsx(cj,{plan:e.plan,resolutions:e.resolutions,onResolve:e.resolve,actionKey:e.actionKey}),e.error&&d.jsx("div",{className:"mt-4 px-3 py-2 border border-red-500/30 bg-red-500/10 rounded text-xs text-red-400",children:e.error}),d.jsxs("div",{className:"mt-4 flex items-center justify-end gap-3",children:[e.plan.hasConflicts&&!e.allConflictsResolved&&d.jsx("p",{className:"text-xs text-yellow-400",children:n("migrateResolveConflicts")}),d.jsx("button",{type:"button",onClick:Ie,disabled:e.plan.hasConflicts&&!e.allConflictsResolved,className:"dash-focus-ring px-4 py-2 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:n("migrateExecutePlan")})]})]}),e.phase==="complete"&&e.results&&d.jsx(ZC,{results:e.results,onReset:e.reset}),e.phase==="error"&&e.error&&d.jsxs("div",{className:"dash-panel p-5",children:[d.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:e.error}),d.jsx("button",{type:"button",onClick:e.reset,className:"mt-4 dash-focus-ring px-4 py-2 bg-dash-bg border border-dash-border rounded-md text-sm text-dash-text-secondary hover:bg-dash-surface-hover",children:n("tryAgain")})]}),(e.phase==="reconciling"||e.phase==="executing")&&d.jsx("div",{className:"dash-panel p-5",children:d.jsx("div",{className:"flex items-center justify-center py-8",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),d.jsx("p",{className:"text-dash-text-muted",children:e.phase==="reconciling"?n("migrateReconciling"):n("migrateExecuting")})]})})}),e.phase==="idle"&&d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[d.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center",children:[d.jsxs("div",{className:"relative flex-1",children:[d.jsxs("svg",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 stroke-dash-text-muted",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[d.jsx("circle",{cx:"11",cy:"11",r:"8"}),d.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),d.jsx("input",{id:"migrate-search",type:"text",value:w,onChange:I=>C(I.target.value),placeholder:n("migrateSearchProviders"),className:"dash-focus-ring w-full pl-9 pr-12 py-2 bg-dash-bg border border-dash-border rounded-lg text-dash-text text-sm focus:border-dash-accent transition-colors"}),d.jsx("span",{className:"absolute right-2.5 top-1/2 -translate-y-1/2 text-[11px] text-dash-text-muted bg-dash-surface-hover border border-dash-border px-1.5 py-0.5 rounded",children:n("searchShortcut")})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[d.jsx("button",{type:"button",onClick:()=>R(!0),disabled:m,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n(m?"checking":"migrateRefresh")}),d.jsx("button",{type:"button",onClick:Y,disabled:gt.length===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n("migrateSelectVisible")}),d.jsx("button",{type:"button",onClick:Me,disabled:q===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n("migrateClearSelection")})]})]}),d.jsx("div",{className:"flex flex-wrap gap-1.5",children:[{key:"all",label:n("categoryAll")},{key:"selected",label:n("migrateSelectedProviders")},{key:"detected",label:n("migrateDetectedProviders")},{key:"recommended",label:n("migrateFilterRecommended")},{key:"not-detected",label:n("migrateNotDetectedTag")}].map(I=>d.jsxs("button",{type:"button",onClick:()=>O(I.key),className:`dash-focus-ring px-3 py-1 text-xs font-medium rounded-full border transition-all whitespace-nowrap ${S===I.key?"bg-dash-accent/10 border-dash-accent text-dash-accent":"border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[I.label,d.jsx("span",{className:"opacity-60 ml-1 text-[10px]",children:Xe[I.key]})]},I.key))}),d.jsxs("div",{children:[d.jsx("p",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateTypes")}),d.jsx("div",{className:"flex flex-wrap items-center gap-2",children:Jt.map(I=>d.jsx("button",{type:"button",onClick:()=>ue(I),className:`dash-focus-ring px-2.5 py-1 text-[11px] uppercase tracking-wide rounded-md border transition-colors ${l[I]?"border-dash-accent/45 text-dash-accent bg-dash-accent/5":"border-dash-border text-dash-text-muted hover:bg-dash-surface-hover"}`,children:n(tr[I])},I))})]})]}),d.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[d.jsx("h2",{className:"text-sm font-semibold text-dash-text mb-4",children:n("migrateSourceSummary")}),d.jsx("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:Jt.map(I=>d.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-center",children:[d.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:n(tr[I])}),d.jsx("p",{className:"text-lg font-semibold text-dash-text",children:i?.counts[I]??0})]},I))})]}),d.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[d.jsxs("div",{className:"flex items-center justify-between mb-4",children:[d.jsx("h2",{className:"text-sm font-semibold text-dash-text",children:n("migrateProvidersHeading")}),d.jsxs("p",{className:"text-xs text-dash-text-muted",children:[ke.length," ",n("migrateProvidersCountSuffix")]})]}),t.length===0?d.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProviders")}):ke.length===0?d.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProvidersMatch")}):d.jsx("div",{className:"space-y-5",children:Ne.map(I=>d.jsxs("div",{children:[d.jsxs("div",{className:"flex items-center gap-2.5 mb-3",children:[d.jsx("div",{className:"w-2 h-2 rounded-full",style:{background:Yp[I.key]}}),d.jsx("h2",{className:"text-[13px] font-semibold uppercase tracking-wide",style:{color:Yp[I.key]},children:I.label}),d.jsxs("span",{className:"text-[11px] text-dash-text-muted ml-auto",children:[I.providers.length," ",n("migrateProvidersCountSuffix")]}),d.jsx("div",{className:"flex-1 h-px bg-dash-border ml-3"})]}),d.jsx("div",{className:"space-y-2",children:I.providers.map(G=>d.jsx(N8,{provider:G,include:l,isSelected:F.has(G.name),onToggleSelect:le,onOpenDetails:T,t:n},G.name))})]},I.key))})]})]})]}),d.jsx("aside",{className:"order-1 xl:order-2 space-y-4 self-start xl:sticky xl:top-[84px]",children:e.phase==="complete"&&e.results?d.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[d.jsxs("div",{children:[d.jsx("p",{className:"text-sm font-semibold text-dash-text",children:n("migrateSummaryTitle")}),d.jsxs("p",{className:"text-xs text-dash-text-muted mt-1",children:[e.results.counts.installed+e.results.counts.skipped+e.results.counts.failed," ",n("migrateSummarySubtitle")]})]}),d.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[d.jsx(ct,{label:n("migrateInstalled"),value:e.results.counts.installed,tone:"success"}),d.jsx(ct,{label:n("migrateSkipped"),value:e.results.counts.skipped}),d.jsx(ct,{label:n("migrateFailed"),value:e.results.counts.failed})]}),e.results.discovery&&d.jsxs("div",{className:"space-y-1.5",children:[d.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateTypes")}),Jt.map(I=>{const G=e.results?.discovery?.[I]??0;return G===0?null:d.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 bg-dash-bg rounded-md text-xs",children:[d.jsx("span",{className:"text-dash-text-secondary",children:n(tr[I])}),d.jsx("span",{className:"font-semibold text-dash-text",children:G})]},I)})]}),o.length>0&&d.jsxs("div",{className:"space-y-1.5",children:[d.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateSummaryProviders")}),d.jsx("div",{className:"flex flex-wrap gap-1.5",children:o.map(I=>{const G=A.get(I);return d.jsx("span",{className:"text-[10px] px-2 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:G?.displayName||I},I)})})]}),d.jsx("div",{className:"text-[10px] px-3 py-1.5 bg-dash-bg rounded-md text-dash-text-muted",children:n(h?"migrateScopeGlobal":"migrateScopeProject")}),d.jsx("button",{type:"button",onClick:e.reset,className:"dash-focus-ring w-full px-4 py-2.5 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors",children:n("migrateSummaryNewMigration")})]}):d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[d.jsxs("div",{children:[d.jsx("p",{className:"text-sm font-semibold text-dash-text",children:n("migrateActionSummaryTitle")}),d.jsxs("p",{className:"text-xs text-dash-text-muted mt-1",children:[q," ",n("migrateProvidersCountSuffix")," ·"," ",z,"/5 ",n("migrateTypes")]})]}),d.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[d.jsx(ct,{label:n("migrateSelectedProviders"),value:q,tone:"accent"}),d.jsx(ct,{label:n("migrateDetectedProviders"),value:$}),d.jsx(ct,{label:n("migrateTypes"),value:z}),d.jsx(ct,{label:n("migrateFilterRecommended"),value:he,tone:"success"})]}),d.jsxs("div",{className:"inline-flex w-full rounded-md border border-dash-border overflow-hidden",children:[d.jsx("button",{type:"button",onClick:()=>u(!1),className:`dash-focus-ring flex-1 px-3 py-2 text-sm ${h?"bg-dash-bg text-dash-text-secondary":"bg-dash-accent-subtle text-dash-accent"}`,children:n("migrateScopeProject")}),d.jsx("button",{type:"button",onClick:()=>u(!0),className:`dash-focus-ring flex-1 px-3 py-2 text-sm border-l border-dash-border ${h?"bg-dash-accent-subtle text-dash-accent":"bg-dash-bg text-dash-text-secondary"}`,children:n("migrateScopeGlobal")})]}),d.jsx("button",{type:"button",onClick:Se,disabled:!bt,className:"dash-focus-ring w-full px-4 py-2.5 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:e.phase==="reconciling"?n("migrateRunning"):n("migrateRun")}),J.length>0&&d.jsx("div",{className:"space-y-2",children:J.map((I,G)=>d.jsx("p",{className:"text-xs px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-yellow-400",children:I},`${I}-${G}`))})]}),d.jsxs("div",{className:"dash-panel-muted p-4",children:[d.jsx("p",{className:"mb-3 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateSelectProviderAction")}),d.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[d.jsx("button",{type:"button",onClick:()=>ie("codex"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetCodex")}),d.jsx("button",{type:"button",onClick:()=>ie("antigravity"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetAntigravity")}),d.jsx("button",{type:"button",onClick:()=>ie("core"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetBoth")}),d.jsx("button",{type:"button",onClick:()=>ie("detected"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetDetected")})]})]})]})})]})]}),L&&d.jsx(M8,{provider:L,include:l,isSelected:F.has(L.name),latestResult:ve.get(L.name)||null,onToggleSelect:le,onClose:W,t:n})]})},D8=({featureId:n,name:e,description:t,included:r})=>{const{t:i}=pe();return d.jsxs("div",{"data-testid":`feature-card-${n}`,className:`p-4 rounded-lg border transition-all ${r?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-sm":"border-[var(--dash-border)] bg-[var(--dash-bg)] opacity-50"}`,children:[d.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r?d.jsx("svg",{className:"w-5 h-5 text-[var(--dash-accent)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):d.jsx("svg",{className:"w-5 h-5 text-[var(--dash-text-muted)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),d.jsx("h4",{className:"font-medium text-[var(--dash-text)]",children:i(e)})]}),d.jsx("p",{className:"text-sm text-[var(--dash-text-muted)] leading-relaxed",children:i(t)})]})},E8=({selectedKit:n,onKitSelect:e,onInstall:t,installing:r})=>{const{t:i}=pe(),[s,o]=g.useState(1);return d.jsxs("div",{className:"space-y-6","data-testid":"install-wizard",children:[d.jsxs("div",{className:"flex items-center gap-4",children:[d.jsx(cc,{number:1,active:s===1,label:i("stepChooseKit")}),d.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),d.jsx(cc,{number:2,active:s===2,label:i("stepConfigure")}),d.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),d.jsx(cc,{number:3,active:s===3,label:i("stepInstall")})]}),d.jsxs("div",{className:"min-h-[200px]",children:[s===1&&d.jsx(R8,{onSelect:e,selected:n}),s===2&&n&&d.jsx(L8,{kit:n}),s===3&&d.jsx(I8,{installing:r})]}),d.jsxs("div",{className:"flex justify-between pt-4 border-t border-[var(--dash-border)]",children:[s>1?d.jsx("button",{onClick:()=>o(a=>a-1),className:"px-4 py-2 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"wizard-back",children:i("back")}):d.jsx("div",{}),s<3&&n&&d.jsx("button",{onClick:()=>o(a=>a+1),className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"wizard-next",children:i("next")}),s===3&&d.jsx("button",{onClick:t,disabled:r,className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"wizard-install",children:i("install")})]})]})},cc=({number:n,active:e,label:t})=>d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold transition-colors ${e?"bg-[var(--dash-accent)] text-white":"bg-[var(--dash-surface)] text-[var(--dash-text-muted)] border border-[var(--dash-border)]"}`,children:n}),d.jsx("span",{className:`text-sm font-medium ${e?"text-[var(--dash-text)]":"text-[var(--dash-text-muted)]"}`,children:t})]}),R8=({onSelect:n,selected:e})=>{const{t}=pe();return d.jsxs("div",{className:"space-y-4",children:[d.jsx("p",{className:"text-[var(--dash-text-muted)]",children:e?`Selected: ${e===Yt.ENGINEER?t("kitEngineerName"):t("kitMarketingName")}`:"Please select a kit above"}),e&&d.jsxs("button",{type:"button",onClick:()=>n(e===Yt.ENGINEER?Yt.MARKETING:Yt.ENGINEER),className:"text-sm text-[var(--dash-accent)] hover:underline",children:["Switch to ",e===Yt.ENGINEER?t("kitMarketingName"):t("kitEngineerName")]})]})},L8=()=>d.jsx("div",{className:"text-[var(--dash-text-muted)]",children:"Configuration preview placeholder"}),I8=({installing:n})=>d.jsx("div",{className:"text-[var(--dash-text-muted)]",children:n?"Installing...":"Ready to install"}),B8=({kit:n,onGetStarted:e})=>{const{t}=pe(),r=wn(),i=n===Yt.ENGINEER?"kitEngineerName":n===Yt.MARKETING?"kitMarketingName":"kitEngineerName";return d.jsxs("div",{className:"text-center py-12 space-y-6","data-testid":"success-screen",children:[d.jsx("div",{className:"w-16 h-16 mx-auto bg-green-100 rounded-full flex items-center justify-center",children:d.jsx("svg",{className:"w-10 h-10 text-green-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})}),d.jsx("h2",{className:"text-2xl font-bold text-[var(--dash-text)]",children:t("installSuccess")}),d.jsx("p",{className:"text-[var(--dash-text-muted)] max-w-md mx-auto",children:t("installSuccessDesc").replace("{kit}",t(i))}),d.jsxs("div",{className:"flex gap-4 justify-center pt-4",children:[d.jsx("button",{onClick:e,className:"px-6 py-2.5 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"get-started-btn",children:t("getStarted")}),d.jsx("button",{onClick:()=>r("/"),className:"px-6 py-2.5 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"dashboard-btn",children:t("goToDashboard")})]})]})},$8=[{id:"agents",name:"featureAgents",description:"featureAgentsDesc",engineer:!0,marketing:!0},{id:"hooks",name:"featureHooks",description:"featureHooksDesc",engineer:!0,marketing:!0},{id:"skills",name:"featureSkills",description:"featureSkillsDesc",engineer:!0,marketing:!0},{id:"multiagent",name:"featureMultiAgent",description:"featureMultiAgentDesc",engineer:!0,marketing:!1},{id:"content",name:"featureContent",description:"featureContentDesc",engineer:!1,marketing:!0},{id:"social",name:"featureSocial",description:"featureSocialDesc",engineer:!1,marketing:!0}],m1={engineer:{id:"engineer",name:"kitEngineerName",tagline:"kitEngineerTagline",primaryColor:"text-blue-500",features:["agents","hooks","skills","multiagent"]},marketing:{id:"marketing",name:"kitMarketingName",tagline:"kitMarketingTagline",primaryColor:"text-purple-500",features:["agents","hooks","skills","content","social"]}};function F8(n){const e=m1[n];return e?$8.filter(t=>e.features.includes(t.id)):(console.warn(`Unknown kit type: ${n}`),[])}const V8=({kit:n,selected:e,onSelect:t,features:r})=>{const{t:i}=pe();return d.jsxs("button",{type:"button",onClick:t,className:`p-6 rounded-lg border-2 text-left transition-all w-full ${e?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-md":"border-[var(--dash-border)] hover:border-[var(--dash-accent)]/50"}`,children:[d.jsx("h3",{className:`text-xl font-bold ${n.primaryColor}`,children:i(n.name)}),d.jsx("p",{className:"text-[var(--dash-text-muted)] mt-1",children:i(n.tagline)}),d.jsx("div",{className:"mt-4 space-y-2",children:r.slice(0,3).map(s=>d.jsx(D8,{featureId:s.id,name:s.name,description:s.description,included:!0},s.id))})]})},z8=()=>{const{t:n}=pe(),e=wn(),[t,r]=g.useState(null),[i,s]=g.useState(!1),[o,a]=g.useState(!1),[l,c]=g.useState(null),h=async()=>{if(t){s(!0),c(null);try{const f=await fetch("/api/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kit:t})});if(!f.ok)throw new Error(`Installation failed: ${f.statusText}`);a(!0)}catch(f){const p=f instanceof Error?f.message:"Unknown error occurred";c(p),console.error("Install failed:",f)}finally{s(!1)}}};if(o&&t)return d.jsx(B8,{kit:t,onGetStarted:()=>e("/")});const u=f=>f==="engineer"?Yt.ENGINEER:Yt.MARKETING;return d.jsxs("div",{className:"max-w-4xl mx-auto py-8 px-4",children:[d.jsxs("header",{className:"text-center mb-8",children:[d.jsx("h1",{className:"text-3xl font-bold text-[var(--dash-text)]",children:n("onboardingTitle")}),d.jsx("p",{className:"mt-2 text-[var(--dash-text-muted)]",children:n("onboardingSubtitle")})]}),d.jsx("section",{className:"grid md:grid-cols-2 gap-6 mb-8",children:Object.values(m1).map(f=>{const p=u(f.id);return d.jsx(V8,{kit:f,selected:t===p,onSelect:()=>r(p),features:F8(f.id)},f.id)})}),l&&d.jsxs("div",{className:"mb-6 p-4 rounded-lg bg-red-100 border border-red-300 text-red-800",children:[d.jsx("p",{className:"font-medium",children:"Installation Error"}),d.jsx("p",{className:"text-sm mt-1",children:l}),d.jsx("button",{type:"button",onClick:()=>c(null),className:"mt-2 text-sm underline hover:no-underline",children:"Dismiss"})]}),t&&d.jsx(E8,{selectedKit:t,onKitSelect:r,onInstall:h,installing:i})]})},_8=()=>{const{t:n}=pe(),e=wn(),{projectId:t}=Am(),[r,i]=g.useState(null),{sizes:s,isDragging:o,startDrag:a}=hh({storageKey:"claudekit-project-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),l=g.useCallback(async()=>{if(!t)throw new Error("No project ID");const[b,y,v]=await Promise.all([ap("project",t),ap("global"),Bm()]),w=v.find(C=>C.id===t);return w&&i(w.path),{...b,global:y.config??{}}},[t]),c=g.useCallback(async b=>{t&&await Fb({scope:"project",projectId:t,config:b})},[t]),h=$b({scope:"project",fetchConfig:l,fetchSchema:Vb,saveConfig:c}),u=g.useCallback(b=>{const y=mc(h.config,b),v=mc(h.globalConfig,b);return y!==void 0&&v!==void 0&&y!==v},[h.config,h.globalConfig]),f=g.useMemo(()=>[{id:"paths",title:n("sectionPaths"),fields:[{path:"paths.docs",label:n("fieldDocsPath"),description:n("fieldDocsPathDesc")},{path:"paths.plans",label:n("fieldPlansPath"),description:n("fieldPlansPathDesc")}]},{id:"project",title:n("sectionProject"),fields:[{path:"project.type",label:n("fieldProjectType"),description:n("fieldProjectTypeDesc")},{path:"project.packageManager",label:n("fieldPackageManager"),description:n("fieldPackageManagerDesc")},{path:"project.framework",label:n("fieldFramework"),description:n("fieldFrameworkDesc")}]},{id:"privacy",title:n("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:n("fieldPrivacyBlock"),description:n("fieldPrivacyBlockDesc")}]},{id:"advanced",title:n("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:n("fieldDocsMaxLoc"),description:n("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:n("fieldPlanNamingFormat"),description:n("fieldPlanNamingFormatDesc")}]}],[n]),p=h.activeFieldPath&&u(h.activeFieldPath)?d.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-1.5 py-0.5 rounded font-bold border border-orange-500/30",children:n("localOverride")}):null,m=h.fieldDoc?d.jsxs("section",{className:"bg-blue-500/5 p-3 rounded-lg border border-blue-500/20",children:[d.jsx("h4",{className:"text-[10px] font-bold text-blue-500 uppercase tracking-widest mb-1",children:n("inheritedFromGlobal")}),d.jsxs("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:[n("viewGlobalConfig")," ",d.jsx("button",{onClick:()=>e("/config/global"),className:"text-dash-accent hover:underline font-medium",children:n("globalConfig")})]})]}):null;return d.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[d.jsx(Fm,{title:n("projectConfig"),filePath:r?`${r}/.claude/.ck.json`:".claude/.ck.json",onBack:()=>e(`/project/${t}`),onSave:h.handleSave,onReset:h.handleReset,saveStatus:h.saveStatus,syntaxError:h.syntaxError,showResetConfirm:h.showResetConfirm,setShowResetConfirm:h.setShowResetConfirm}),d.jsxs("div",{className:"flex-1 flex min-h-0",children:[d.jsx(Vm,{width:s[0],isLoading:h.isLoading,schema:h.schema,config:h.config,sources:h.sources,sections:f,onChange:h.handleFormChange}),d.jsx(Ar,{direction:"horizontal",isDragging:o,onMouseDown:b=>a(0,b)}),d.jsx(id,{width:s[1],isLoading:h.isLoading,jsonText:h.jsonText,cursorLine:h.cursorLine,syntaxError:h.syntaxError,onChange:h.handleJsonChange,onCursorLineChange:h.setCursorLine}),d.jsx(Ar,{direction:"horizontal",isDragging:o,onMouseDown:b=>a(1,b)}),d.jsx(Lb,{width:s[2],fieldDoc:h.fieldDoc,activeFieldPath:h.activeFieldPath,overrideBadge:p,extraContent:m})]})]})},Ot="__global__",H8=({project:n})=>{const{t:e}=pe(),t=wn(),{skills:r,loading:i}=Cv(),{sessions:s,loading:o}=jv(n.id),[a,l]=g.useState(null),[c,h]=g.useState(!0),[u,f]=g.useState(null),[p,m]=g.useState(Ot),[b,y]=g.useState(Ot),v=async(A,L)=>{try{await bv(A,n.path,L,n.id)}catch(W){alert(`${e("actionFailed")}: ${W instanceof Error?W.message:A}`)}},w=g.useCallback(()=>{const A=new AbortController;return h(!0),f(null),gv(n.id,A.signal).then(L=>{l(L),m(L.preferences.project.terminalApp||Ot),y(L.preferences.project.editorApp||Ot)}).catch(L=>{L instanceof DOMException&&L.name==="AbortError"||(l(null),m(Ot),y(Ot),f(e("actionOptionsLoadFailed")))}).finally(()=>{A.signal.aborted||h(!1)}),A},[n.id,e]);g.useEffect(()=>{const A=w();return()=>{A.abort()}},[w]);const C=r.filter(A=>n.skills.includes(A.id)),j=a?.terminals||[],S=a?.editors||[],O=j.find(A=>A.id===a?.defaults.terminalApp)?.label||a?.defaults.terminalApp,x=S.find(A=>A.id===a?.defaults.editorApp)?.label||a?.defaults.editorApp,T=g.useMemo(()=>j.find(A=>p===Ot?A.id===a?.defaults.terminalApp:A.id===p),[j,p,a?.defaults.terminalApp]),N=g.useMemo(()=>S.find(A=>b===Ot?A.id===a?.defaults.editorApp:A.id===b),[S,b,a?.defaults.editorApp]),R=async(A,L)=>{if(!n.id.startsWith("discovered-"))try{await $m(n.id,{preferences:{[A]:L===Ot?null:L}})}catch(W){const F=W instanceof Error?W.message:"Failed to save preference";alert(`${e("actionFailed")}: ${F}`)}};return d.jsxs("div",{className:"animate-in fade-in slide-in-from-bottom-2 duration-500 transition-colors flex flex-col h-full",children:[d.jsx("section",{className:"mb-6 shrink-0",children:d.jsxs("div",{className:"flex flex-col md:flex-row md:items-end justify-between gap-4",children:[d.jsxs("div",{children:[d.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[d.jsx("h1",{className:"text-3xl font-bold tracking-tight text-dash-text",children:n.name}),d.jsx(W8,{status:n.health}),d.jsx(AC,{variant:"beta"})]}),d.jsxs("p",{className:"text-dash-text-secondary mono text-sm flex items-center gap-2 italic",children:[d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})}),n.path]})]}),d.jsx("div",{className:"flex items-center gap-3",children:d.jsx("span",{className:"text-[10px] text-dash-text-muted font-bold uppercase tracking-widest bg-dash-surface border border-dash-border px-2 py-1 rounded",children:s.length>0?`${s.length} ${e("sessions")}`:e("noSessions")})})]})}),d.jsxs("section",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-6 shrink-0",children:[u?d.jsxs("div",{className:"col-span-2 md:col-span-4 rounded-lg border border-orange-500/30 bg-orange-500/5 px-3 py-2 text-xs text-orange-700 dark:text-orange-300 flex items-center justify-between gap-3",children:[d.jsx("span",{children:u}),d.jsx("button",{onClick:()=>void w(),className:"rounded border border-orange-500/40 px-2 py-1 font-semibold hover:bg-orange-500/10 transition-colors",children:e("tryAgain")})]}):null,d.jsx(Zp,{icon:"📟",label:e("terminal"),sub:T?`${T.openMode==="open-app"?e("openAppOnly"):e("openAtPath")} • ${T.label}`:e("terminalSub"),onClick:()=>v("terminal",p===Ot?void 0:p),disabled:c||!T&&j.length>0,options:j,value:p,fallbackLabel:a?`${e("useGlobalFallback")} (${O})`:e("useGlobalFallback"),onChange:async A=>{m(A),await R("terminalApp",A)}}),d.jsx(Zp,{icon:"💻",label:e("editor"),sub:N?`${N.openMode==="open-app"?e("openAppOnly"):e("openAtPath")} • ${N.label}`:e("editorSub"),onClick:()=>v("editor",b===Ot?void 0:b),disabled:c||!N&&S.length>0,options:S,value:b,fallbackLabel:a?`${e("useGlobalFallback")} (${x})`:e("useGlobalFallback"),onChange:async A=>{y(A),await R("editorApp",A)}}),d.jsx(dh,{icon:"🤖",label:e("launch"),sub:e("launchSub"),highlight:!0,onClick:()=>v("launch")}),d.jsx(dh,{icon:"⚙️",label:e("config"),sub:e("configSub"),onClick:()=>t(`/config/project/${n.id}`)})]}),d.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 flex-1 min-h-0",children:[d.jsx("div",{className:"lg:col-span-2 flex flex-col gap-6 min-h-0",children:d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden shadow-sm flex-1 flex flex-col min-h-0",children:[d.jsx("div",{className:"px-4 py-3 border-b border-dash-border flex items-center justify-between bg-dash-surface-hover/50 shrink-0",children:d.jsx("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest",children:e("recentSessions")})}),d.jsx("div",{className:"divide-y divide-dash-border overflow-y-auto flex-1",children:o?d.jsx("div",{className:"p-4 text-center text-dash-text-muted animate-pulse",children:e("loadingSessions")}):s.length===0?d.jsx("div",{className:"p-4 text-center text-dash-text-muted",children:e("noSessionsFound")}):s.map(A=>d.jsxs("div",{className:"p-4 hover:bg-dash-surface-hover transition-colors group cursor-pointer",children:[d.jsxs("div",{className:"flex items-center justify-between mb-1",children:[d.jsx("span",{className:"text-xs font-bold text-dash-accent",children:A.timestamp}),d.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium group-hover:text-dash-text-secondary transition-colors",children:A.duration})]}),d.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed truncate",children:A.summary})]},A.id))})]})}),d.jsxs("div",{className:"flex flex-col gap-6 min-h-0",children:[d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl p-6 shadow-sm shrink-0",children:[d.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest mb-4 flex items-center gap-2",children:[e("configuration"),d.jsx("span",{className:"text-[10px] font-normal text-dash-text-muted normal-case",children:e("globalSettings")})]}),d.jsxs("div",{className:"space-y-4",children:[d.jsx(_o,{label:e("activeKit"),value:n.kitType}),d.jsx(_o,{label:e("aiModel"),value:n.model}),d.jsx(_o,{label:e("hooks"),value:`${n.activeHooks} ${e("active")}`}),d.jsx(_o,{label:e("mcpServers"),value:`${n.mcpServers} ${e("connected")}`})]}),d.jsx("button",{onClick:()=>t(`/config/project/${n.id}`),className:"w-full mt-6 py-2 rounded-lg bg-dash-bg text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:e("editProjectConfig")})]}),d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl shadow-sm flex flex-col flex-1 min-h-0",children:[d.jsx("div",{className:"p-4 pb-2 border-b border-dash-border shrink-0",children:d.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest flex items-center justify-between",children:[e("globalSkills"),d.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded-full",children:i?"...":r.length})]})}),d.jsx("div",{className:"overflow-y-auto flex-1 px-4 py-2 space-y-2",children:i?d.jsx("div",{className:"text-center text-dash-text-muted animate-pulse py-4",children:e("loadingSkills")}):(C.length>0?C:r).map(A=>d.jsxs("div",{className:"flex flex-col gap-0.5 border-l-2 border-dash-accent/20 pl-3 py-1",children:[d.jsx("span",{className:"text-sm font-semibold text-dash-text",children:A.name}),d.jsx("p",{className:"text-[10px] text-dash-text-muted leading-tight line-clamp-1",children:A.description||e("noDescription")})]},A.id))}),d.jsx("div",{className:"p-4 pt-2 border-t border-dash-border shrink-0",children:d.jsxs("a",{href:"https://kits.vibery.app/",target:"_blank",rel:"noopener noreferrer",className:"text-xs font-bold text-dash-text-muted hover:text-dash-accent transition-colors text-center block",children:[e("browseSkillsMarketplace")," →"]})})]})]})]})]})},W8=({status:n})=>{const e={[An.HEALTHY]:"bg-dash-accent-subtle text-dash-accent border-dash-accent/20",[An.WARNING]:"bg-orange-500/10 text-orange-600 border-orange-500/20",[An.ERROR]:"bg-red-500/10 text-red-600 border-red-500/20",[An.LOADING]:"bg-dash-border/20 text-dash-text-muted border-dash-border",[An.UNKNOWN]:"bg-dash-border/20 text-dash-text-muted border-dash-border"};return d.jsx("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-bold border uppercase tracking-widest ${e[n]}`,children:n})},Zp=({icon:n,label:e,sub:t,disabled:r,options:i,value:s,fallbackLabel:o,onClick:a,onChange:l})=>d.jsxs("div",{className:"flex flex-col gap-2",children:[d.jsx(dh,{icon:n,label:e,sub:t,onClick:a,disabled:r}),d.jsxs("select",{value:s,onChange:c=>void l(c.target.value),className:"w-full rounded-md border border-dash-border bg-dash-surface px-2 py-1 text-xs text-dash-text-secondary",children:[d.jsx("option",{value:Ot,children:o}),i.map(c=>d.jsx("option",{value:c.id,disabled:!c.available,children:`${c.label} • ${c.detected?"Detected":"Not detected"}`},c.id))]})]}),dh=({icon:n,label:e,sub:t,highlight:r,onClick:i,disabled:s})=>d.jsxs("button",{onClick:i,disabled:s,className:`p-4 rounded-xl border flex flex-col gap-1 transition-all group ${r?"bg-dash-accent-subtle border-dash-accent/30 hover:bg-dash-accent-glow hover:border-dash-accent/50 shadow-sm shadow-dash-accent/5":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-text-muted shadow-sm"} ${s?"opacity-50 cursor-not-allowed":""}`,children:[d.jsx("span",{className:"text-2xl mb-1 group-hover:scale-110 transition-transform",children:n}),d.jsx("span",{className:"text-sm font-bold text-dash-text",children:e}),d.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium truncate italic",children:t})]}),_o=({label:n,value:e})=>d.jsxs("div",{className:"flex items-center justify-between text-xs py-1.5 border-b border-dash-border/50 last:border-0",children:[d.jsx("span",{className:"text-dash-text-muted font-medium",children:n}),d.jsx("span",{className:"text-dash-text font-bold mono uppercase text-[10px] tracking-tight",children:e})]}),U8=()=>{const{t:n}=pe(),{project:e}=ex();return e?d.jsx(H8,{project:e}):d.jsxs("div",{className:"flex flex-col items-center justify-center h-full space-y-4 opacity-50",children:[d.jsx("div",{className:"w-16 h-16 rounded-full bg-dash-surface border border-dash-border flex items-center justify-center",children:d.jsx("span",{className:"text-2xl text-dash-text-muted",children:"📂"})}),d.jsx("p",{className:"text-lg text-dash-text-secondary font-bold",children:n("selectProject")})]})},K8=qx([{path:"/",element:d.jsx(Av,{}),children:[{index:!0,element:d.jsx(al,{to:"/config/global",replace:!0})},{path:"config/global",element:d.jsx(UC,{})},{path:"config/project/:projectId",element:d.jsx(_8,{})},{path:"project/:projectId",element:d.jsx(U8,{})},{path:"onboarding",element:d.jsx(z8,{})},{path:"migrate",element:d.jsx(T8,{})},{path:"skills",element:d.jsx(al,{to:"/migrate",replace:!0})},{path:"*",element:d.jsx(al,{to:"/",replace:!0})}]}]),g1=document.getElementById("root");if(!g1)throw document.body.innerHTML='<div style="padding:20px;color:red;">Fatal: Root element not found</div>',new Error("Root element #root not found");hc.createRoot(g1).render(d.jsx(A1.StrictMode,{children:d.jsx(cv,{children:d.jsx(hv,{children:d.jsx(ov,{router:K8})})})}));