flintmaker 0.2.6 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/README.md +148 -8
- package/dist/chunks/chunk-4IWYTYSQ.js +2 -0
- package/dist/chunks/chunk-6DHFEWGX.js +1 -0
- package/dist/chunks/chunk-EBWJOG3A.js +1 -0
- package/dist/chunks/chunk-FEVGFFVL.js +6 -0
- package/dist/chunks/chunk-IZWMUOBI.js +84 -0
- package/dist/chunks/chunk-J5AZ2T4P.js +1 -0
- package/dist/chunks/chunk-MKJ6MOQH.js +9 -0
- package/dist/chunks/{chunk-5PRYZOW7.js → chunk-MQW5CMHG.js} +1 -1
- package/dist/chunks/chunk-NQ54OCJ5.js +2 -0
- package/dist/chunks/chunk-OMZ5ETOR.js +5 -0
- package/dist/chunks/{chunk-O4FFCD22.js → chunk-PRTNH66F.js} +1 -1
- package/dist/chunks/chunk-X6RLFXRA.js +1 -0
- package/dist/chunks/headless-X75XCEC6.js +12 -0
- package/dist/chunks/{highlight-QJIBHZTN.js → highlight-2UNDOBIV.js} +1 -1
- package/dist/chunks/plain-IR6PPFKU.js +8 -0
- package/dist/chunks/render-ZGZKZ2WL.js +1 -0
- package/dist/chunks/repl-764CFGWW.js +32 -0
- package/dist/chunks/sessions-J2WOKTGW.js +1 -0
- package/dist/chunks/{update-A3SQIJXY.js → update-2MKXAMLY.js} +1 -1
- package/dist/flint.js +29 -43
- package/package.json +3 -2
- package/dist/chunks/chunk-EUPBID7K.js +0 -1
- package/dist/chunks/chunk-K3ZZ2VJH.js +0 -6
- package/dist/chunks/chunk-K6EGUENI.js +0 -23
- package/dist/chunks/chunk-YCYJUZK6.js +0 -9
- package/dist/chunks/plain-32HV3XHW.js +0 -5
- package/dist/chunks/render-73QVSOTH.js +0 -1
- package/dist/chunks/repl-5SO4OJNB.js +0 -27
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{a as M,b as s,c as S}from"./chunk-MQW5CMHG.js";import{a as L}from"./chunk-X6RLFXRA.js";var I=/\x1b\[[0-?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g,N=t=>t.replace(I,"");function R(t){return t===0||t<32||t>=127&&t<160||t>=768&&t<=879||t>=8203&&t<=8207||t>=65024&&t<=65039||t>=6832&&t<=6911||t>=8400&&t<=8447||t>=917760&&t<=917999?0:t>=4352&&t<=4447||t>=11904&&t<=12350||t>=12353&&t<=13311||t>=13312&&t<=19903||t>=19968&&t<=40959||t>=40960&&t<=42191||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65072&&t<=65103||t>=65280&&t<=65376||t>=65504&&t<=65510||t>=127744&&t<=128591||t>=129280&&t<=129535||t>=128640&&t<=128767||t>=129648&&t<=129791||t>=131072&&t<=262141?2:1}function h(t){let r=0;for(let e of N(t))r+=R(e.codePointAt(0));return r}function*O(t){let r=0;for(let e of t.matchAll(I)){for(let n of t.slice(r,e.index))yield{ansi:!1,text:n};yield{ansi:!0,text:e[0]},r=e.index+e[0].length}for(let e of t.slice(r))yield{ansi:!1,text:e}}function m(t,r,e="\u2026"){if(r<=0)return"";if(h(t)<=r)return t;let n=r-h(e),i=0,o="",l=!1;for(let a of O(t)){if(a.ansi){o+=a.text;continue}if(l)continue;let c=R(a.text.codePointAt(0));if(i+c>n){o+=e,l=!0;continue}o+=a.text,i+=c}return o+(/\x1b\[/.test(o)?"\x1B[0m":"")}var v=(t,r)=>t+" ".repeat(Math.max(0,r-h(t)));function H(t,r){let e=[],n="",i=0;for(let o of t){let l=R(o.codePointAt(0));i+l>r&&n!==""&&(e.push(n),n="",i=0),n+=o,i+=l}return e.push(n),e}function j(t,r,e=""){let n=[];for(let i of t.split(`
|
|
2
|
+
`)){let o=[],l="",a=0,c=[],f="",x=0,d="",b=()=>c.join(""),$=()=>{o.push(l+(c.length?"\x1B[0m":"")),l=e+b(),a=h(e)},p=()=>{if(f){a+h(d)+x>r&&a>h(e)&&($(),d=""),l+=d+f,a+=h(d)+x,d="";for(let u of f.matchAll(/\x1b\[[0-9;]*m/g))/^\x1b\[0?m$/.test(u[0])?c=[]:c.push(u[0]);for(;a>r;){let u=N(l),g=H(u,r)[0];o.push(g),l=e+u.slice(g.length),a=h(l)}f="",x=0}};for(let u of O(i)){if(u.ansi){f+=u.text;continue}if(u.text===" "){p(),d+=" ";continue}f+=u.text,x+=R(u.text.codePointAt(0))}p(),o.push(l),n.push(...o)}return n}var B={ask:"ask before edits",auto:"auto-accept edits",plan:"plan only (no changes)"},T={standard:"Standard",smart:"Smart"};function D(t,r,e={}){let n=e.border??s.grey,i=e.padX??1,o=Math.max(4,r-2-i*2),l=e.title?n("\u256D\u2500 ")+e.title+" "+n("\u2500".repeat(Math.max(0,r-5-h(e.title)))+"\u256E"):n("\u256D"+"\u2500".repeat(r-2)+"\u256E"),a=" ".repeat(i);return[l,...t.map(c=>n("\u2502")+a+v(m(c,o),o)+a+n("\u2502")),n("\u2570"+"\u2500".repeat(r-2)+"\u256F")]}var W=[" \u2726 "," \u259F\u2588\u2599 ","\u259F\u2588\u2588\u2588\u2599"];function ot(t,r){let e=Math.min(r-1,76),n=M()===0?W:[s.gold(W[0]),S(W[1],[[255,194,74],[255,122,61]]),S(W[2],[[255,122,61],[232,51,107]])],i=`${s.bold(S("FlintMaker"))} ${s.bold("flint")} ${s.grey(`v${t.version}`)}`,o=t.email?`${t.email}${t.plan?s.grey(" \xB7 ")+q(t.plan):""}${t.credits?s.grey(" \xB7 ")+t.credits:""}`:s.grey(t.status??"connecting\u2026"),l=[i,o,`${s.grey("model")} ${T[t.model]}${s.grey(" \xB7 ")}${s.grey(t.cwd)}`],a=W.map((c,f)=>`${n[f]} ${l[f]}`);return a.push("",s.grey("/help commands \xB7 @ attach files \xB7 esc interrupt \xB7 shift+tab mode")),t.updated&&a.push(`${s.ember("\u2726")} ${s.bold(`Updated to v${t.updated}`)}`),D(a,e,{border:c=>s.ember(c)})}var q=t=>t.charAt(0).toUpperCase()+t.slice(1),z=["Forging","Sparking","Kindling","Stoking","Smelting","Hammering","Tempering","Igniting","Annealing","Striking","Blazing","Quenching"],F=["\xB7","\u2722","\u2733","\u2736","\u273B","\u273D","\u273B","\u2736","\u2733","\u2722"];function lt(t,r,e,n,i){let o=i??z[Math.floor(r/3e3)%z.length],l=F[t%F.length],c=[`${Math.floor(r/1e3)}s`,e?`${e} credit${e===1?"":"s"}`:null,"esc to interrupt"].filter(Boolean).join(" \xB7 ");return m(`${s.ember(l)} ${S(`${o}\u2026`,[[255,122,61],[255,194,74]])} ${s.grey(`(${c})`)}`,n-1)}function at(t,r){let e=t.mode==="ask"?s.grey(B.ask):t.mode==="auto"?s.gold(`\u23F5\u23F5 ${B.auto}`):s.pink(`\u23F8 ${B.plan}`),n=[s.ember(T[t.model]),...t.note?[s.dim(t.note)]:[],e+s.grey(" (shift+tab)")];t.credits&&n.push(s.grey(t.credits)),n.push(s.grey(t.cwd)+(t.branch?s.grey(` \u2387 ${t.branch}`):""));let i=" "+(t.hint?s.gold(t.hint):n.join(s.grey(" \xB7 ")));return m(i,r-1)}var G={list_files:"List",read_file:"Read",search:"Search",write_file:"Write",edit_file:"Edit",run_command:"Run",web_search:"Web search",web_fetch:"Fetch",repo_map:"Map",apply_patch:"Patch",git:"git"};function Q(t){return G[t]??t.replace(/_/g," ")}function ct(t,r,e,n,i=""){let o=e==="running"?s.gold("\u25CF"):e==="ok"?s.ember("\u25CF"):e==="error"?s.red("\u25CF"):s.grey("\u25CF"),l=L(r).replace(/\s*\n\s*/g," \u23CE ");return m(`${o} ${s.bold(Q(t))} ${l}${i?s.grey(` ${i}`):""}`,n-1)}function gt(t,r,e=4,n=s.grey){let i=L(t).replace(/\s+$/,"").split(`
|
|
3
|
+
`),l=i.slice(0,e).map((a,c)=>m(` ${c===0?s.grey("\u23BF"):" "} ${n(a.replace(/\t/g," "))}`,r-1));return i.length>e&&l.push(s.grey(` \u2026 +${i.length-e} lines`)),l}function ft(t,r){switch(t){case"read_file":{if(r.startsWith("[binary file"))return{suffix:"(binary)"};let e=r.split(`
|
|
4
|
+
`).filter(n=>/^\d+\t/.test(n)).length;return{suffix:`(${e} line${e===1?"":"s"})`}}case"list_files":{let e=/… (\d+) more files/.exec(r),n=r==="(empty)"?0:r.split(`
|
|
5
|
+
`).filter(i=>i&&!i.startsWith("\u2026 ")).length+(e?Number(e[1]):0);return{detail:`${n} file${n===1?"":"s"}`}}case"search":{if(r==="No matches.")return{detail:"No matches"};let e=r.split(`
|
|
6
|
+
`).filter(Boolean),n=new Set(e.map(i=>i.split(":")[0]));return{detail:`${e.length} match${e.length===1?"":"es"} in ${n.size} file${n.size===1?"":"s"}`}}case"run_command":{let e=/\[exit code (\d+|null)\]$|\[timed out after \d+s\]$|^\[could not run command/.exec(r.trim());return{failed:!e||(e[1]!==void 0?e[1]!=="0":!0)}}case"web_search":{let e=r.split(`
|
|
7
|
+
`),n=e.flatMap((o,l)=>/^\[\d+\] /.test(o)?[Z(e[l+1]??"")]:[]).filter(Boolean);if(n.length===0)return{detail:"No results"};let i=[...new Set(n)];return{detail:`${n.length} result${n.length===1?"":"s"}: ${i.slice(0,3).join(", ")}${i.length>3?"\u2026":""}`}}case"repo_map":{let e=/: (\d+) files?(, showing (\d+))?/.exec(r);return e?{detail:`${Number(e[1]).toLocaleString("en-US")} file${e[1]==="1"?"":"s"} indexed${e[3]?` (showing ${e[3]})`:""}`}:{}}case"web_fetch":{let e=/^Words: (\d+)( \(truncated\))?/m.exec(r);return e?{detail:`${Number(e[1]).toLocaleString("en-US")} words${e[2]?" (truncated)":""}`}:{}}default:return{}}}function Z(t){try{return new URL(t).hostname.replace(/^www\./,"")}catch{return""}}function J(t){let r=0,e=0;for(let n of t.split(`
|
|
8
|
+
`))n.startsWith("+++")||n.startsWith("---")||(n.startsWith("+")?r++:n.startsWith("-")&&e++);return{added:r,removed:e}}function ut(t,r,e,n=!1){let i=L(t),{added:o,removed:l}=J(i),a=e-1,c=`${s.bold(r)} ${s.green(`+${o}`)} ${s.red(`-${l}`)}${n?s.grey(" (new file)"):""}`,f=[` ${s.grey("\u250C")} ${c}`],x=0,d=0,b=1;for(let g of i.matchAll(/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/gm))b=Math.max(b,Number(g[1])+Number(g[2]??1),Number(g[3])+Number(g[4]??1));let $=String(b).length,p=[],u=!0;for(let g of i.split(`
|
|
9
|
+
`)){if(g.startsWith("===")||g.startsWith("Index:")||g.startsWith("---")||g.startsWith("+++"))continue;let E=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(g);if(E){x=Number(E[1]),d=Number(E[2]),u||p.push(` ${s.grey("\u2506")} ${s.grey(" ".repeat($)+" \u22EE")}`),u=!1;continue}if(g==="\")continue;let y=g[0],U=g.slice(1).replace(/\t/g," "),k,_,w;if(y==="+")k=String(d++),_="+",w=M()>=2?s.addBg:s.green;else if(y==="-")k=String(x++),_="-",w=M()>=2?s.delBg:s.red;else if(y===" ")k=String(d),x++,d++,_=" ",w=A=>A;else continue;let K=` ${s.grey("\u2502")} ${s.grey(k.padStart($))} `,P=Math.max(10,a-($+5)-2);Y(`${_} ${U}`,P).forEach((A,V)=>{let C=y===" "?s.grey(A):A,X=y===" "||M()<2?w(C):w(v(C,P));p.push((V===0?K:` ${s.grey("\u2502")} ${" ".repeat($)} `)+X)})}return f.push(...p,` ${s.grey("\u2514")}`),f}function Y(t,r){let e=[],n=t;for(;h(n)>r;){let i=0,o=0;for(let l of n){let a=h(l);if(o+a>r)break;o+=a,i+=l.length}e.push(n.slice(0,i)),n=" "+n.slice(i)}return e.push(n),e}function dt(t,r,e,n="error"){let i=n==="error"?s.red:n==="warn"?s.gold:s.ember,o=n==="error"?"\u2717":n==="warn"?"!":"\u2726",l=Math.min(e-1,76),a=r.flatMap(c=>j(` ${c}`,l-4," "));return D([`${i(o)} ${s.bold(t)}`,...a],l,{border:i})}function ht(t,r,e,n,i="cancel"){let o=[m(s.bold(t),n-1)];return r.forEach((l,a)=>{let c=a===e,f=c?s.ember("\u276F"):" ",x=`${a+1}. ${l.label}`;o.push(m(`${f} ${c?s.ember(x):x}${l.hint?s.grey(` ${l.hint}`):""}`,n-1))}),o.push(s.grey(`\u2191/\u2193 or 1-${r.length} to choose \xB7 enter to confirm \xB7 esc to ${i}`)),o}function xt(t,r,e,n={}){let i=e-1,o=n.prefix??"\u276F ",l=tt(e,o),a=n.maxRows??8,c=0;t.length>a&&(c=Math.min(Math.max(0,r.row-a+1),t.length-a));let f=t.slice(c,c+a),x=t.length===1&&t[0]==="",d=[s.grey("\u256D"+"\u2500".repeat(i-2)+"\u256E")];f.forEach(($,p)=>{let u=p===0&&c===0?s.ember(o):" ".repeat(h(o)),g=x&&n.placeholder?s.grey(m(n.placeholder,l)):$;d.push(s.grey("\u2502")+" "+u+v(g,l)+" "+s.grey("\u2502"))});let b=t.length>a?`\u2500 ${c+f.length}/${t.length} lines `:"";return d.push(s.grey("\u2570"+b+"\u2500".repeat(Math.max(0,i-2-b.length))+"\u256F")),{lines:d,cursorRow:1+(r.row-c),cursorCol:2+h(o)+(x?0:r.col)}}var tt=(t,r="\u276F ")=>Math.max(8,t-1-4-h(r));function mt(t,r,e=32){/^[a-zA-Z]:[\\/]|^\\\\/.test(t)&&(t=t.replace(/\\/g,"/"),r=r.replace(/\\/g,"/"),r&&(t.toLowerCase()===r.toLowerCase()||t.toLowerCase().startsWith(r.toLowerCase()+"/"))&&(t=r+t.slice(r.length)));let n=r&&(t===r||t.startsWith(r+"/"))?`~${t.slice(r.length)}`:t;if(n.length<=e)return n;let i=n.split("/");for(;i.length>2&&i.join("/").length>e-2;)i.splice(1,1);return n=i.length>1?`${i[0]}/\u2026/${i.slice(1).join("/")}`:n,n.length>e?"\u2026"+n.slice(-(e-1)):n}var bt=t=>t.map(N);export{N as a,R as b,h as c,m as d,v as e,H as f,j as g,B as h,T as i,D as j,ot as k,z as l,F as m,lt as n,at as o,Q as p,ct as q,gt as r,ft as s,J as t,ut as u,dt as v,ht as w,xt as x,tt as y,mt as z,bt as A};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{o as b}from"./chunk-FEVGFFVL.js";function T(r=process.env,e=!!process.stdout.isTTY,t=process.platform,i=b(t)){if(r.NO_COLOR!==void 0&&r.NO_COLOR!=="")return 0;let n=r.FORCE_COLOR;if(n!==void 0){if(n==="0"||n==="false")return 0;if(n==="2")return 2;if(n==="3")return 3;if(!e)return 1}return!e||r.TERM==="dumb"?n!==void 0?1:0:/truecolor|24bit/i.test(r.COLORTERM??"")||["iTerm.app","vscode","WezTerm","ghostty","Hyper"].includes(r.TERM_PROGRAM??"")||r.WT_SESSION?3:t==="win32"&&!r.TERM?i>=14931?3:i>=10586?2:1:/kitty|alacritty|foot/.test(r.TERM??"")?3:/256/.test(r.TERM??"")||r.TERM_PROGRAM==="Apple_Terminal"?2:1}var s=T(),E=()=>s;function O([r,e,t]){if(r===e&&e===t)return r<8?16:r>248?231:Math.round((r-8)/247*24)+232;let i=n=>n<48?0:n<115?1:Math.floor((n-35)/40);return 16+36*i(r)+6*i(e)+i(t)}function c(r,e,t){return s===3?`\x1B[${t?48:38};2;${r[0]};${r[1]};${r[2]}m`:s===2?`\x1B[${t?48:38};5;${O(r)}m`:`\x1B[${t?e+10:e}m`}var u=(r,e)=>t=>s===0||t===""?t:`${r()}${t}${e}`,o=(r,e)=>u(()=>c(r,e,!1),"\x1B[39m"),f=(r,e)=>u(()=>c(r,e,!0),"\x1B[49m"),m={ember:[255,122,61],gold:[255,194,74],crimson:[232,51,107],violet:[123,47,247]},d={bold:u(()=>"\x1B[1m","\x1B[22m"),dim:u(()=>"\x1B[2m","\x1B[22m"),italic:u(()=>"\x1B[3m","\x1B[23m"),underline:u(()=>"\x1B[4m","\x1B[24m"),strike:u(()=>"\x1B[9m","\x1B[29m"),inverse:u(()=>"\x1B[7m","\x1B[27m"),ember:o(m.ember,33),gold:o(m.gold,93),crimson:o(m.crimson,35),green:o([120,210,120],32),red:o([255,95,95],31),cyan:o([110,200,220],36),blue:o([120,160,255],34),pink:o([255,122,154],95),grey:o([140,140,150],90),sand:o([230,200,160],33),addBg:f([22,64,34],42),delBg:f([78,24,30],41),addBgStrong:f([36,110,52],42),delBgStrong:f([140,36,46],41)};function L(r,e=[m.crimson,m.ember,m.gold]){if(s<2)return s===0?r:d.bold(d.ember(r));let t=[...r],i=Math.max(1,t.length-1);return t.map((n,R)=>{let l=R/i*(e.length-1),x=e[Math.floor(l)],g=e[Math.min(e.length-1,Math.floor(l)+1)],p=l-Math.floor(l),M=x.map((a,B)=>Math.round(a+(g[B]-a)*p));return n===" "?n:`${c(M,33,!1)}${n}`}).join("")+"\x1B[39m"}export{E as a,d as b,L as c};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as g}from"./chunk-4IWYTYSQ.js";import{randomBytes as h}from"node:crypto";import{mkdirSync as S,readFileSync as y,readdirSync as p,renameSync as _,rmSync as w,statSync as v,writeFileSync as A}from"node:fs";import{homedir as M}from"node:os";import{join as l}from"node:path";var c=()=>process.env.FLINT_SESSIONS||l(M(),".flintmaker","sessions"),f=100,u=5e4,$=/^[0-9]{8}T[0-9]{6}-[0-9a-f]{6}$/;function R(n=new Date){return`${n.toISOString().replace(/[-:]/g,"").replace(/\.\d+Z$/,"")}-${h(3).toString("hex")}`}var d=n=>$.test(n);function k(n){if(!Array.isArray(n))return[];let o=[],t=new Set,i=()=>{for(let e of t)o.push({role:"tool",tool_call_id:e,content:"Interrupted before this finished."});t.clear()};for(let e of n)if(!(!e||typeof e!="object"))if(e.role==="user"&&typeof e.content=="string"){i();let s=[];try{Array.isArray(e.images)&&e.images.length<=4&&(s=e.images.map(g))}catch{s=[]}o.push({role:"user",content:e.content,...s.length?{images:s}:{}})}else if(e.role==="assistant"&&(typeof e.content=="string"||e.content===null)){i();let s=Array.isArray(e.tool_calls)?e.tool_calls.filter(r=>r&&typeof r.id=="string"&&r.type==="function"&&typeof r.function?.name=="string"&&typeof r.function?.arguments=="string"):[];if(s.length){o.push({role:"assistant",content:e.content??null,tool_calls:s});for(let r of s)t.add(r.id)}else typeof e.content=="string"&&o.push({role:"assistant",content:e.content})}else e.role==="tool"&&typeof e.tool_call_id=="string"&&typeof e.content=="string"&&t.has(e.tool_call_id)&&(t.delete(e.tool_call_id),o.push({role:"tool",tool_call_id:e.tool_call_id,content:e.content}));return i(),o}function b(n,o=c()){if(!d(n.id)||n.messages.length===0)return!1;try{S(o,{recursive:!0,mode:448});let t=n.messages.map(s=>s.role==="tool"&&s.content.length>u?{...s,content:`${s.content.slice(0,u)}
|
|
2
|
+
[trimmed when saved]`}:s),i=l(o,`${n.id}.json`),e=`${i}.${process.pid}.tmp`;return A(e,JSON.stringify({...n,messages:t}),{mode:384}),_(e,i),j(o),!0}catch{return!1}}function j(n){let o=p(n).filter(t=>t.endsWith(".json"));if(!(o.length<=f)){o.sort();for(let t of o.slice(0,o.length-f))w(l(n,t),{force:!0})}}function x(n,o=c()){if(!d(n))return null;try{let t=JSON.parse(y(l(o,`${n}.json`),"utf8"));return t?.version!==1||t.id!==n||typeof t.root!="string"?null:{...t,title:String(t.title??""),model:String(t.model??"standard"),messages:k(t.messages)}}catch{return null}}function L(n,o=10,t=c()){let i;try{i=p(t).filter(r=>r.endsWith(".json"))}catch{return[]}let e=i.map(r=>{try{return{f:r,t:v(l(t,r)).mtimeMs}}catch{return{f:r,t:0}}}).sort((r,a)=>a.t-r.t),s=[];for(let{f:r}of e){if(s.length>=o)break;let a=x(r.replace(/\.json$/,""),t);a&&a.root===n&&a.messages.length&&s.push(a)}return s}function N(n,o=Date.now()){let t=Math.max(0,Math.round((o-new Date(n).getTime())/1e3));return t<60?"just now":t<3600?`${Math.round(t/60)} min ago`:t<86400?`${Math.round(t/3600)} h ago`:`${Math.round(t/86400)} d ago`}export{c as a,R as b,d as c,k as d,b as e,x as f,L as g,N as h};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{a as y,w as S}from"./chunk-IZWMUOBI.js";import{b}from"./chunk-4IWYTYSQ.js";function _(){let e="";return t=>{e+=t;let n=e.split(`
|
|
2
|
+
|
|
3
|
+
`);return e=n.pop()??"",n.filter(Boolean).map(r=>{let a="message",s=[];for(let o of r.split(`
|
|
4
|
+
`))o.startsWith("event:")?a=o.slice(6).trim():o.startsWith("data:")&&s.push(o.slice(5).replace(/^ /,""));return{event:a,data:s.join(`
|
|
5
|
+
`)}})}}var E="0.5.0",i=class extends Error{constructor(n,r="error",a=0,s){super(n);this.reason=r;this.status=a;this.minVersion=s}reason;status;minVersion},U=e=>e?new Date(e).toLocaleString(void 0,{weekday:"short",hour:"2-digit",minute:"2-digit"}):"soon";async function v(e,t){let n=await e.json().catch(()=>({})),r=n.requestId?` (ref ${n.requestId})`:"";switch(n.reason){case"image_input_unavailable":return new i("Image input is unavailable on this API or selected model.","image_input_unavailable",e.status);case"signed_out":return new i("You are signed out. Run: flint login","signed_out",e.status);case"limit":return new i(`Out of credits until ${U(n.resetAt)}. Get more at ${t}/pricing`,"limit",e.status);case"busy":return new i("FlintMaker is very busy right now. Please try again later.","busy",e.status);case"upgrade_required":return new i(`The smart model needs a paid plan: ${t}/pricing`,"upgrade_required",e.status);case"in_progress":return new i("Another flint session is still working. Wait for it to finish.","in_progress",e.status);case"update_required":{let a=typeof n.minVersion=="string"&&/^\d+\.\d+\.\d+/.test(n.minVersion)?n.minVersion:void 0;return new i(`FlintMaker needs flint v${a??"latest"} or newer (this is v${E}).`,"update_required",e.status,a)}default:return new i(`Request failed (${e.status} ${n.reason??""})${r}`,n.reason??"error",e.status)}}function $(e,t){let n=["web_search","web_fetch"],r=t&&n.some(s=>["deny","ask"].includes(y(t,[`Tool(${s})`])??"")),a=t&&["PreToolUse","PostToolUse"].some(s=>(t.hooks?.[s]??[]).some(o=>!o.matcher||o.matcher.split("|").some(g=>g==="*"||n.includes(g))));return e||r||a?"repo, todos, jobs, children":"web, repo, todos, jobs, children"}var x=class{constructor(t,n){this.base=t;this.token=n}base;token;privacy=!1;mcp;settings;imageSupport=new Map;async supportsImages(t,n){if(this.imageSupport.has(t))return this.imageSupport.get(t);try{let r=await this.json(`/agent/capabilities?model=${t}`,{headers:{"x-flint-features":"images"},signal:n?AbortSignal.any([n,AbortSignal.timeout(5e3)]):AbortSignal.timeout(5e3)});return this.imageSupport.set(t,r.image_input===!0),r.image_input===!0}catch(r){if(r instanceof i&&[404,405,501].includes(r.status))return this.imageSupport.set(t,!1),!1;throw r}}headers(){return{"content-type":"application/json","user-agent":"flint-cli","x-flint-version":E,...this.token?{authorization:`Bearer ${this.token}`}:{}}}async json(t,n={}){let r=await fetch(`${this.base}/api${t}`,{...n,headers:{...this.headers(),...n.headers}});if(!r.ok)throw await v(r,this.base);return await r.json()}me(){return this.json("/me")}async deviceLogin(t,n){let r=await this.json("/auth/device",{method:"POST",body:"{}"});t(r.userCode,r.verifyUrl);let a=Date.now()+r.expiresIn*1e3;for(;Date.now()<a;){if(await new Promise(o=>setTimeout(o,r.interval*1e3)),n?.aborted)throw new i("Login cancelled.","cancelled");let s=await fetch(`${this.base}/api/auth/device/token`,{method:"POST",headers:this.headers(),body:JSON.stringify({deviceCode:r.deviceCode})});if(s.status!==428){if(s.ok)return await s.json();throw new i("The login code expired. Run flint login again.","expired",s.status)}}throw new i("The login code expired. Run flint login again.","expired")}stepper(t,n,r){return async(a,s,o={})=>{let g=a.some(l=>l.role==="user"&&l.images?.length);if(g&&!await this.supportsImages(t(),n()))throw new i("Image input is unavailable on this API or selected model.","image_input_unavailable");let R=0,O=a.map(l=>{if(l.role!=="user"||!l.images?.length)return l;if((R+=l.images.length)>4)throw new Error("Image count limit exceeded");return{role:"user",content:[{type:"text",text:l.content},...l.images.map(c=>({type:"image_url",image_url:{url:b(c),detail:"low"}}))]}}),d=await fetch(`${this.base}/api/agent`,{method:"POST",headers:{...this.headers(),"x-flint-features":o.readOnly?"repo, child":$(this.privacy,this.settings)+(this.mcp?.registry.length?", mcp":"")+(g?", images":""),...this.privacy?{"x-flint-privacy":"1"}:{}},body:JSON.stringify({messages:O,model:t(),...!o.readOnly&&this.mcp?.registry.length?{local_tools:this.mcp.registry,available_tools:this.mcp.available}:{}}),signal:o.signal??n()});if(d.status===413)throw new S;if(!d.ok||!d.body)throw await v(d,this.base);let A=_(),N=new TextDecoder,h="",f=[],w={};for await(let l of d.body)for(let c of A(N.decode(l,{stream:!0}))){let u=c.data?JSON.parse(c.data):{};if(c.event==="delta")h+=u.text,s(u.text);else if(c.event==="tool_call")f.push(u);else if(c.event==="tool_result")w[u.id]={ok:u.ok!==!1,content:String(u.content??"")};else if(c.event==="done")r(u.credits,u.usage);else if(c.event==="error")throw new i(`The model hit a problem; no credits were used.${u.requestId?` (ref ${u.requestId})`:""}`,"model")}return{text:h,toolCalls:f,serverResults:w}}}};var k="https://flintmaker.com/pricing";function C(e){let t=e;return t?.name==="TypeError"&&/fetch failed|network/i.test(t.message??"")||["ECONNREFUSED","ENOTFOUND","ECONNRESET","ETIMEDOUT","EAI_AGAIN","UND_ERR_SOCKET","UND_ERR_CONNECT_TIMEOUT"].includes(t?.cause?.code??"")}function G(e,t={}){let n=t.interactive?"Run /login to connect your FlintMaker account.":"Run: flint login",r=t.retry?[t.retry]:[];if(C(e))return{title:"Can't reach FlintMaker",lines:["Check your internet connection, then try again.",...r],tone:"warn"};if(e instanceof i)switch(e.reason){case"signed_out":return{title:"You are signed out",lines:[n],tone:"warn"};case"limit":return{title:"Out of credits",lines:[e.message.replace(/\. Get more at .*$/,"."),`Upgrade or top up: ${k}`],tone:"warn"};case"upgrade_required":return{title:"Smart needs a paid plan",lines:["Switch back with /model standard, or upgrade:",k],tone:"warn"};case"busy":return{title:"FlintMaker is very busy",lines:["Please try again in a minute.",...r],tone:"warn"};case"in_progress":return{title:"Another flint session is working",lines:["Wait for it to finish, then try again."],tone:"warn"};case"update_required":return{title:"flint needs an update",lines:[e.message,t.interactive?"Updating\u2026 if it does not restart, run: flint update":"Run: flint update (or: npm i -g flintmaker@latest)"],tone:"warn"};case"model":return{title:"The model hit a problem",lines:[e.message,...r],tone:"error"};default:return{title:"Something went wrong",lines:[e.message,...r],tone:"error"}}return{title:"Something went wrong",lines:[e?.message??String(e)],tone:"error"}}var p=null,T=[];function J(e){p?p(e):T.push(e)}function B(e){if(p=e,e)for(let t of T.splice(0))e(t)}var I=null,m=null;function Y(e){m=e,I?.(e)}function z(e){I=e,e&&m&&e(m)}export{E as a,i as b,x as c,k as d,G as e,J as f,B as g,Y as h,z as i};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as H,c as P,d as fe,e as de,g as xe}from"./chunk-
|
|
1
|
+
import{a as H,c as P,d as fe,e as de,g as xe}from"./chunk-MKJ6MOQH.js";import{b as f}from"./chunk-MQW5CMHG.js";function ee(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var v=ee();function _e(r){v=r}var E={exec:()=>null};function I(r){let e=[];return t=>{let s=Math.max(0,Math.min(3,t-1)),n=e[s];return n||(n=r(s),e[s]=n),n}}function g(r,e=""){let t=typeof r=="string"?r:r.source,s={replace:(n,i)=>{let l=typeof i=="string"?i:i.source;return l=l.replace(y.caret,"$1"),t=t.replace(n,l),s},getRegex:()=>new RegExp(t,e)};return s}var je=((r="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+r)}catch{return!1}})(),y={codeRemoveIndent:/^(?: {0,3}\t| {1,4})/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,endingSpaceTabChar:/[ \t]$/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,leadingSpaceTab:/^[ \t]+/,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,numericCharacterReference:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));/,numericCharacterReferenceOrAmpersand:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:I(r=>new RegExp(`^ {0,${r}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:I(r=>new RegExp(`^ {0,${r}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:I(r=>new RegExp(`^ {0,${r}}(?:\`\`\`|~~~)`)),headingBeginRegex:I(r=>new RegExp(`^ {0,${r}}#`)),htmlBeginRegex:I(r=>new RegExp(`^ {0,${r}}(?:</?(?:${Q})(?: +|$|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)`,"i")),blockquoteBeginRegex:I(r=>new RegExp(`^ {0,${r}}>`))},He=/^(?:[ \t]*(?:\n|$))+/,Ne=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Fe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,M=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ge=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,te=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Pe=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Le=g(Pe).replace(/bull/g,te).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Xe=g(Pe).replace(/bull/g,te).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),re=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,Ue=/^[^\n]+/,ne=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,We=g(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",ne).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Je=g(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,te).getRegex(),Q="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",se=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ke=g("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!(?:script|pre|style|textarea)(?![a-z0-9-]))([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",se).replace("tag",Q).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ee=r=>g(re).replace("hr",M).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",r).replace("html"," {0,3}(?:</?(?:tag)(?: +|\\n|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)").replace("tag",Q).getRegex(),Ve=Ee(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),Ye=Ee(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),et=g(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Ye).getRegex(),ie={blockquote:et,code:Ne,def:We,fences:Fe,heading:Ge,hr:M,html:Ke,lheading:Le,list:Je,newline:He,paragraph:Ve,table:E,text:Ue},be=g("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",M).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html"," {0,3}(?:</?(?:tag)(?: +|\\n|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)").replace("tag",Q).getRegex(),tt={...ie,lheading:Xe,table:be,paragraph:g(re).replace("hr",M).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",be).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html"," {0,3}(?:</?(?:tag)(?: +|\\n|/?>)|<(?:(?:script|pre|style|textarea)(?:[\\s>]|$)|!--)|<\\?|<![A-Za-z]|<!\\[CDATA\\[)").replace("tag",Q).getRegex()},rt={...ie,html:g(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",se).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:E,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:g(re).replace("hr",M).replace("heading",` *#{1,6} *[^
|
|
2
2
|
]`).replace("lheading",Le).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},nt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,st=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Ce=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,it=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,T=/[\p{P}\p{S}]/u,B=/[\s\p{P}\p{S}]/u,j=/[^\s\p{P}\p{S}]/u,lt=g(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,B).getRegex(),at=/[\p{Pi}\p{Ps}"']/u,ve=/(?!~)[\p{P}\p{S}]/u,ot=/(?!~)[\s\p{P}\p{S}]/u,ct=/(?:[^\s\p{P}\p{S}]|~)/u,ht=g(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",je?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Ie=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,pt=g(Ie,"u").replace(/punct/g,T).getRegex(),ut=g(Ie,"u").replace(/punct/g,ve).getRegex(),gt=/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,kt=g(gt,"u").replace(/openQuote/g,at).replace(/punct/g,T).getRegex(),Be="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",ft=g(Be,"gu").replace(/notPunctSpace/g,j).replace(/punctSpace/g,B).replace(/punct/g,T).getRegex(),dt=g(Be,"gu").replace(/notPunctSpace/g,ct).replace(/punctSpace/g,ot).replace(/punct/g,ve).getRegex(),xt="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)",bt=g(xt,"gu").replace(/notPunctSpace/g,j).replace(/punctSpace/g,B).replace(/punct/g,T).getRegex(),mt=g("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,j).replace(/punctSpace/g,B).replace(/punct/g,T).getRegex(),wt="^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)",yt=g(wt,"gu").replace(/notPunctSpace/g,j).replace(/punctSpace/g,B).replace(/punct/g,T).getRegex(),$t=g(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,T).getRegex(),St="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Rt=g(St,"gu").replace(/notPunctSpace/g,j).replace(/punctSpace/g,B).replace(/punct/g,T).getRegex(),Tt=g(/\\(punct)/,"gu").replace(/punct/g,T).getRegex(),At=g(/(`+)(?:[^`]|[^`][\s\S]*?[^`])\1(?!`)|`+|\\(punct)/,"gu").replace(/punct/g,T).getRegex(),zt=g(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),_t=g(se).replace("(?:-->|$)","-->").getRegex(),Pt=g("^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",_t).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),qe=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,F=g(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets",qe).getRegex(),Lt=g(/^!?\[(label)\]\([ \t\n]*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?[ \t\n]*\)/).replace("label",F).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Et=g(/^!?\[(label)\]\[(ref)\]/).replace("label",F).replace("ref",ne).getRegex(),Ct=g(/^!?\[(ref)\](?:\[\])?/).replace("ref",ne).getRegex(),me=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,vt=g(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace("brackets",qe).getRegex(),It=g("reflink|nolink(?!\\()","g").replace("reflink",g(/^!?\[(label)\]\[(ref)\]/).replace("label",vt).replace("ref",me).getRegex()).replace("nolink",g(/^!?\[(ref)\](?:\[\])?/).replace("ref",me).getRegex()).getRegex(),we=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Bt=/[A-Za-z0-9._+-]+@[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/,qt=g(/(?:mailto:email|xmpp:email(?:\/[A-Za-z0-9@.]+)?)/).replace(/email/g,Bt).getRegex(),le={_backpedal:E,anyPunctuation:Tt,anyPunctuationOutsideCode:At,autolink:zt,blockSkip:ht,br:Ce,code:st,del:E,delLDelim:E,delRDelim:E,emStrongLDelim:pt,emStrongRDelimAst:ft,emStrongRDelimUnd:mt,escape:nt,link:Lt,nolink:Ct,punctuation:lt,reflink:Et,reflinkSearch:It,tag:Pt,text:it,url:E},Zt={...le,emStrongLDelim:kt,emStrongRDelimAst:bt,emStrongRDelimUnd:yt,link:g(/^!?\[(label)\]\((.*?)\)/).replace("label",F).getRegex(),reflink:g(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",F).getRegex()},K={...le,emStrongRDelimAst:dt,emStrongLDelim:ut,delLDelim:$t,delRDelim:Rt,url:g(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("emailProtocol",qt).replace("protocol",we).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:g(/^(?:[^a-zA-Z0-9](?=emailProtocol)|(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9](?=emailProtocol)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))))/).replace("protocol",we).replace(/emailProtocol/g,/(?:mailto|xmpp):/).getRegex()},Dt={...K,br:g(Ce).replace("{2,}","*").getRegex(),text:g(K.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},N={normal:ie,gfm:tt,pedantic:rt},D={normal:le,gfm:K,breaks:Dt,pedantic:Zt},Ot={"&":"&","<":"<",">":">",'"':""","'":"'"},ye=r=>Ot[r];function $(r,e){if(e){if(y.escapeTest.test(r))return r.replace(y.escapeReplace,ye)}else if(y.escapeTestNoEncode.test(r))return r.replace(y.escapeReplaceNoEncode,ye);return r}function Mt(r){return y.numericCharacterReference.test(r)?r.replace(y.numericCharacterReferenceOrAmpersand,(e,t,s)=>{if(t===void 0&&s===void 0)return"&";let n=t===void 0?Number.parseInt(s,16):Number.parseInt(t,10);return n===0||n>1114111||n>=55296&&n<=57343?"\uFFFD":n===38?"&":String.fromCodePoint(n)}):r}function $e(r){try{r=encodeURI(r).replace(y.percentDecode,"%")}catch{return null}return r}function Se(r,e){let t=r.replace(y.findPipe,(i,l,a)=>{let h=!1,o=l;for(;--o>=0&&a[o]==="\\";)h=!h;return h?"|":" |"}),s=t.split(y.splitPipe),n=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),e)if(s.length>e)s.splice(e);else for(;s.length<e;)s.push("");for(;n<s.length;n++)s[n]=s[n].trim().replace(y.slashPipe,"|");return s}function z(r,e,t){let s=r.length;if(s===0)return"";let n=0;for(;n<s;){let i=r.charAt(s-n-1);if(i===e&&!t)n++;else if(i!==e&&t)n++;else break}return r.slice(0,s-n)}function Re(r){let e=r.split(`
|
|
3
3
|
`),t=e.length-1;for(;t>=0&&y.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join(`
|
|
4
4
|
`)}function G(r){return r.trim().toLowerCase().toUpperCase().toLowerCase()}function Te(r,e){if(r.indexOf(e[0])===-1&&r.indexOf(e[1])===-1)return-1;let t=0;for(let s=0;s<r.length;s++)if(r[s]==="\\")s++;else if(r[s]===e[0])t++;else if(r[s]===e[1]&&(t--,t<0))return s;return t>0?-2:-1}function J(r,e=0){let t=e,s="";for(let n of r)if(n===" "){let i=4-t%4;s+=" ".repeat(i),t+=i}else s+=n,t++;return s}function Ae(r,e,t,s,n){let i=e.href,l=e.title||null,a=r[1].replace(n.other.outputLinkReplace,"$1"),h=r[0].charAt(0)==="!",o=s.state.inLink,c=s.state.linkEmitted,p=s.state.inRawBlock;s.state.inLink=!0,s.state.linkEmitted=!1;let k=s.inlineTokens(a),u=s.state.linkEmitted;if(s.state.linkEmitted=c,s.state.inLink=o,!h){if(u){s.state.inRawBlock=p;return}s.state.linkEmitted=!0}return{type:h?"image":"link",raw:t,href:i,title:l,text:a,tokens:k}}function Qt(r,e,t){let s=r.match(t.other.indentCodeCompensation);if(s===null)return e;let n=s[1];return e.split(`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function r(e){return e.replace(/\x1b\][^\x07\x1b]*(\x07|\x1b\\)?/g,"").replace(/\x1b\[[0-?]*[ -/]*[@-~]/g,"").replace(/\x1b[@-Z\\-_]/g,"").replace(/[\x00-\x08\x0b-\x1f\x7f-\x9f]/g,"").replace(/[--]/g,x=>`<U+${x.charCodeAt(0).toString(16).toUpperCase()}>`)}export{r as a};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{a as $}from"./chunk-J5AZ2T4P.js";import{r as x,u as v,y as C}from"./chunk-IZWMUOBI.js";import{b as A,e as I}from"./chunk-NQ54OCJ5.js";import"./chunk-4IWYTYSQ.js";import{a as i}from"./chunk-X6RLFXRA.js";import"./chunk-FEVGFFVL.js";import"./chunk-6DHFEWGX.js";async function k(u,e){e.ws.mcp.restore(e.resume?.mcpTools);let F=Date.now(),d=e.write??(t=>{process.stdout.write(t)}),a=t=>{e.outputFormat==="stream-json"&&d(JSON.stringify(t)+`
|
|
2
|
+
`)},c=new AbortController,w=()=>c.abort();process.on("SIGINT",w);let f=new $(e.ws,e.resume?.checkpoints),l=!1,p=0,g=0,y="",m,o=e.resume?.messages??[],h={onChild:(t,r)=>{a({type:"child",stage:t,detail:r}),e.outputFormat==="text"&&process.stderr.write(`Child ${t}: ${i(r)}
|
|
3
|
+
`)},onMCP:(t,r)=>{a({type:"mcp_status",name:t,status:r}),e.outputFormat==="text"&&process.stderr.write(`MCP ${i(t)}: ${i(r)}
|
|
4
|
+
`)},onHook:(t,r,s,n)=>{a({type:s===void 0?"hook_start":"hook_result",hook_event:t,command:r,...s===void 0?{}:{ok:s,output:n}}),e.outputFormat==="text"&&process.stderr.write(i(s===void 0?`Hook ${t}: ${r}`:n??"")+`
|
|
5
|
+
`)},onCompact:(t,r)=>{a({type:"compact",before:t,...r!==void 0?{after:r}:{}}),e.outputFormat==="text"&&process.stderr.write(r===void 0?`Compacting conversation\u2026
|
|
6
|
+
`:`Compacted ${t} messages to ${r}.
|
|
7
|
+
`)},onDelta:t=>{a({type:"delta",text:t}),e.outputFormat==="text"&&d(i(t))},onToolStart:(t,r,s)=>a({type:"tool_start",name:t,detail:r,args:s}),onToolResult:(t,r,s="")=>{(!r||/^(?:The user (?:declined|rejected)|Permission refused|Read permission declined|Could not write:)/m.test(s)||t==="run_command"&&/\[(?:exit code (?!0\])[^\]]+|timed out[^\]]*|could not run command[^\]]*|interrupted[^\]]*)\]/.test(s))&&(l=!0),a({type:"tool_result",name:t,ok:r,output:s}),t==="update_todos"&&e.outputFormat==="text"&&process.stderr.write(i(s)+`
|
|
8
|
+
`)},approveChange:async(t,r)=>e.autoYes||r==="allow"||{declined:"Permission refused in headless mode. Add an allow rule or pass --yes."},approveCommand:async(t,r,s)=>e.autoYes||s==="allow"||{declined:"Permission refused in headless mode. Add an allow rule or pass --yes."}};try{let t=v(e.ws,u)?await e.client.supportsImages(e.model,c.signal):!1,r=await x(e.ws,u,{imageInput:t,approveRead:async n=>await h.approveCommand(`Attach image ${n}`,"ask","ask")===!0,first:!o.length,mode:e.mode??"ask"});if(r.attachments.some(n=>n.error))throw new Error(r.attachments.filter(n=>n.error).map(n=>`${n.path}: ${n.error}`).join("; "));o=[...o,{role:"user",content:r.content,...r.images?.length?{images:r.images}:{}}];let s=e.client.stepper(()=>e.model,()=>c.signal,n=>{g+=n});o=await C(e.ws,o,async(n,T,_)=>{if(p>=e.maxTurns)throw new Error("Maximum turns reached.");return p++,s(n,T,_)},h,{maxSteps:e.maxTurns,signal:c.signal,policy:e.policy,plan:e.mode==="plan",privacy:e.privacy,checkpoints:f,onLimit:()=>{l=!0,m="Maximum turns reached."}}),y=o.at(-1)?.role==="assistant"?o.at(-1).content??"":"",c.signal.aborted&&(l=!0,m="Interrupted.")}catch(t){l=!0,m=t.message;let r=t.partial;r&&(o=r)}finally{if(e.ws.jobs.stopAll(),e.ws.mcp.closeAll(),process.removeListener("SIGINT",w),!e.privacy&&o.length){let t=new Date().toISOString();I({version:1,id:e.resume?.id??A(),root:e.ws.root,created:e.resume?.created??t,updated:t,model:e.model,title:e.resume?.title??u.split(`
|
|
9
|
+
`)[0].slice(0,120),messages:o,checkpoints:f.entries,mcpTools:e.ws.mcp.registry})}}let S={type:"result",success:!l,result:y,...m?{error:m}:{},turns:p,credits:g,duration_ms:Date.now()-F};return e.outputFormat!=="text"?d(JSON.stringify(S)+`
|
|
10
|
+
`):(d(`
|
|
11
|
+
`),m&&process.stderr.write(`flint: ${i(m)}
|
|
12
|
+
`)),l?1:0}export{k as headless};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as v}from"./chunk-5PRYZOW7.js";import{a as pt,b as _t}from"./chunk-K3ZZ2VJH.js";var fn=pt((Ua,En)=>{function an(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(n=>{let t=e[n],a=typeof t;(a==="object"||a==="function")&&!Object.isFrozen(t)&&an(t)}),e}var Oe=class{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function rn(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function re(e,...n){let t=Object.create(null);for(let a in e)t[a]=e[a];return n.forEach(function(a){for(let c in a)t[c]=a[c]}),t}var Et="</span>",Ve=e=>!!e.scope,ft=(e,{prefix:n})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let t=e.split(".");return[`${n}${t.shift()}`,...t.map((a,c)=>`${a}${"_".repeat(c+1)}`)].join(" ")}return`${n}${e}`},Ke=class{constructor(n,t){this.buffer="",this.classPrefix=t.classPrefix,n.walk(this)}addText(n){this.buffer+=rn(n)}openNode(n){if(!Ve(n))return;let t=ft(n.scope,{prefix:this.classPrefix});this.span(t)}closeNode(n){Ve(n)&&(this.buffer+=Et)}value(){return this.buffer}span(n){this.buffer+=`<span class="${n}">`}},Je=(e={})=>{let n={children:[]};return Object.assign(n,e),n},Ge=class e{constructor(){this.rootNode=Je(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(n){this.top.children.push(n)}openNode(n){let t=Je({scope:n});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(n){return this.constructor._walk(n,this.rootNode)}static _walk(n,t){return typeof t=="string"?n.addText(t):t.children&&(n.openNode(t),t.children.forEach(a=>this._walk(n,a)),n.closeNode(t)),n}static _collapse(n){typeof n!="string"&&n.children&&(n.children.every(t=>typeof t=="string")?n.children=[n.children.join("")]:n.children.forEach(t=>{e._collapse(t)}))}},He=class extends Ge{constructor(n){super(),this.options=n}addText(n){n!==""&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,t){let a=n.root;t&&(a.scope=`language:${t}`),this.add(a)}toHTML(){return new Ke(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ee(e){return e?typeof e=="string"?e:e.source:null}function sn(e){return ce("(?=",e,")")}function mt(e){return ce("(?:",e,")*")}function ht(e){return ce("(?:",e,")?")}function ce(...e){return e.map(t=>Ee(t)).join("")}function Nt(e){let n=e[e.length-1];return typeof n=="object"&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function we(...e){return"("+(Nt(e).capture?"":"?:")+e.map(a=>Ee(a)).join("|")+")"}function on(e){return new RegExp(e.toString()+"|").exec("").length-1}function Tt(e,n){let t=e&&e.exec(n);return t&&t.index===0}var yt=new RegExp(we(/\[(?:[^\\\]]|\\.)*\]/,/\(\?<(?![=!])[^>]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function Ye(e,{joinWith:n}){let t=0;return e.map(a=>{t+=1;let c=t,g=Ee(a),r="";for(;g.length>0;){let i=yt.exec(g);if(!i){r+=g;break}r+=g.substring(0,i.index),g=g.substring(i.index+i[0].length),i[0][0]==="\\"&&i[1]?r+="\\"+String(Number(i[1])+c):(r+=i[0],(i[0]==="("||/^\(\?[<']/.test(i[0]))&&t++)}return r}).map(a=>`(${a})`).join(n)}var St=/\b\B/,cn="[a-zA-Z]\\w*",Ze="[a-zA-Z_]\\w*",ln="\\b\\d+(\\.\\d+)?",dn="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",un="\\b(0b[01]+)",Ot="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",At=(e={})=>{let n=/^#![ ]*\//;return e.binary&&(e.begin=ce(n,/.*\b/,e.binary,/\b.*/)),re({scope:"meta",begin:n,end:/$/,relevance:0,"on:begin":(t,a)=>{t.index!==0&&a.ignoreMatch()}},e)},fe={begin:"\\\\[\\s\\S]",relevance:0},wt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[fe]},Rt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[fe]},vt={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Re=function(e,n,t={}){let a=re({scope:"comment",begin:e,end:n,contains:[]},t);a.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let c=we("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return a.contains.push({begin:ce(/[ ]+/,"(",c,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a},Mt=Re("//","$"),It=Re("/\\*","\\*/"),Ct=Re("#","$"),xt={scope:"number",begin:ln,relevance:0},kt={scope:"number",begin:dn,relevance:0},Dt={scope:"number",begin:un,relevance:0},Lt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[fe,{begin:/\[/,end:/\]/,relevance:0,contains:[fe]}]},Bt={scope:"title",begin:cn,relevance:0},Pt={scope:"title",begin:Ze,relevance:0},Ut={begin:"\\.\\s*"+Ze,relevance:0},Ft=function(e){return Object.assign(e,{"on:begin":(n,t)=>{t.data._beginMatch=n[1]},"on:end":(n,t)=>{t.data._beginMatch!==n[1]&&t.ignoreMatch()}})},Se=Object.freeze({__proto__:null,APOS_STRING_MODE:wt,BACKSLASH_ESCAPE:fe,BINARY_NUMBER_MODE:Dt,BINARY_NUMBER_RE:un,COMMENT:Re,C_BLOCK_COMMENT_MODE:It,C_LINE_COMMENT_MODE:Mt,C_NUMBER_MODE:kt,C_NUMBER_RE:dn,END_SAME_AS_BEGIN:Ft,HASH_COMMENT_MODE:Ct,IDENT_RE:cn,MATCH_NOTHING_RE:St,METHOD_GUARD:Ut,NUMBER_MODE:xt,NUMBER_RE:ln,PHRASAL_WORDS_MODE:vt,QUOTE_STRING_MODE:Rt,REGEXP_MODE:Lt,RE_STARTERS_RE:Ot,SHEBANG:At,TITLE_MODE:Bt,UNDERSCORE_IDENT_RE:Ze,UNDERSCORE_TITLE_MODE:Pt});function $t(e,n){e.input[e.index-1]==="."&&n.ignoreMatch()}function zt(e,n){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Kt(e,n){n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$t,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Gt(e,n){Array.isArray(e.illegal)&&(e.illegal=we(...e.illegal))}function Ht(e,n){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Wt(e,n){e.relevance===void 0&&(e.relevance=1)}var Yt=(e,n)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");let t=Object.assign({},e);Object.keys(e).forEach(a=>{delete e[a]}),e.keywords=t.keywords,e.begin=ce(t.beforeMatch,sn(t.begin)),e.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},e.relevance=0,delete t.beforeMatch},Zt=["of","and","for","in","not","or","if","then","parent","list","value"],qt="keyword";function gn(e,n,t=qt){let a=Object.create(null);return typeof e=="string"?c(t,e.split(" ")):Array.isArray(e)?c(t,e):Object.keys(e).forEach(function(g){Object.assign(a,gn(e[g],n,g))}),a;function c(g,r){n&&(r=r.map(i=>i.toLowerCase())),r.forEach(function(i){let s=i.split("|");a[s[0]]=[g,Xt(s[0],s[1])]})}}function Xt(e,n){return n?Number(n):Qt(e)?0:1}function Qt(e){return Zt.includes(e.toLowerCase())}var je={},oe=e=>{console.error(e)},en=(e,...n)=>{console.log(`WARN: ${e}`,...n)},ue=(e,n)=>{je[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),je[`${e}/${n}`]=!0)},Ae=new Error;function bn(e,n,{key:t}){let a=0,c=e[t],g={},r={};for(let i=1;i<=n.length;i++)r[i+a]=c[i],g[i+a]=!0,a+=on(n[i-1]);e[t]=r,e[t]._emit=g,e[t]._multi=!0}function Vt(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw oe("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ae;if(typeof e.beginScope!="object"||e.beginScope===null)throw oe("beginScope must be object"),Ae;bn(e,e.begin,{key:"beginScope"}),e.begin=Ye(e.begin,{joinWith:""})}}function Jt(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw oe("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ae;if(typeof e.endScope!="object"||e.endScope===null)throw oe("endScope must be object"),Ae;bn(e,e.end,{key:"endScope"}),e.end=Ye(e.end,{joinWith:""})}}function jt(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function ea(e){jt(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Vt(e),Jt(e)}function na(e){function n(r,i){return new RegExp(Ee(r),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(i?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(i,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,i]),this.matchAt+=on(i)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let i=this.regexes.map(s=>s[1]);this.matcherRe=n(Ye(i,{joinWith:"|"}),!0),this.lastIndex=0}exec(i){this.matcherRe.lastIndex=this.lastIndex;let s=this.matcherRe.exec(i);if(!s)return null;let l=s.findIndex((m,_)=>_>0&&m!==void 0),d=this.matchIndexes[l];return s.splice(0,l),Object.assign(s,d)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(i){if(this.multiRegexes[i])return this.multiRegexes[i];let s=new t;return this.rules.slice(i).forEach(([l,d])=>s.addRule(l,d)),s.compile(),this.multiRegexes[i]=s,s}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(i,s){this.rules.push([i,s]),s.type==="begin"&&this.count++}exec(i){let s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let l=s.exec(i);if(this.resumingScanAtSamePosition()&&!(l&&l.index===this.lastIndex)){let d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,l=d.exec(i)}return l&&(this.regexIndex+=l.position+1,this.regexIndex===this.count&&this.considerAll()),l}}function c(r){let i=new a;return r.contains.forEach(s=>i.addRule(s.begin,{rule:s,type:"begin"})),r.terminatorEnd&&i.addRule(r.terminatorEnd,{type:"end"}),r.illegal&&i.addRule(r.illegal,{type:"illegal"}),i}function g(r,i){let s=r;if(r.isCompiled)return s;[zt,Ht,ea,Yt].forEach(d=>d(r,i)),e.compilerExtensions.forEach(d=>d(r,i)),r.__beforeBegin=null,[Kt,Gt,Wt].forEach(d=>d(r,i)),r.isCompiled=!0;let l=null;return typeof r.keywords=="object"&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),l=r.keywords.$pattern,delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=gn(r.keywords,e.case_insensitive)),s.keywordPatternRe=n(l,!0),i&&(r.begin||(r.begin=/\B|\b/),s.beginRe=n(s.begin),!r.end&&!r.endsWithParent&&(r.end=/\B|\b/),r.end&&(s.endRe=n(s.end)),s.terminatorEnd=Ee(s.end)||"",r.endsWithParent&&i.terminatorEnd&&(s.terminatorEnd+=(r.end?"|":"")+i.terminatorEnd)),r.illegal&&(s.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map(function(d){return ta(d==="self"?r:d)})),r.contains.forEach(function(d){g(d,s)}),r.starts&&g(r.starts,i),s.matcher=c(s),s}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=re(e.classNameAliases||{}),g(e)}function pn(e){return e?e.endsWithParent||pn(e.starts):!1}function ta(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(n){return re(e,{variants:null},n)})),e.cachedVariants?e.cachedVariants:pn(e)?re(e,{starts:e.starts?re(e.starts):null}):Object.isFrozen(e)?re(e):e}var aa="11.12.0",We=class extends Error{constructor(n,t){super(n),this.name="HTMLInjectionError",this.html=t}},ze=rn,nn=re,tn=Symbol("nomatch"),ia=7,_n=function(e){let n=Object.create(null),t=Object.create(null),a=[],c=!0,g="Could not find the language '{}', did you forget to load/include a language module?",r={disableAutodetect:!0,name:"Plain text",contains:[]},i={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:He};function s(o){return i.noHighlightRe.test(o)}function l(o){let b=o.className+" ";b+=o.parentNode?o.parentNode.className:"";let p=i.languageDetectRe.exec(b);if(p){let y=k(p[1]);return y||(en(g.replace("{}",p[1])),en("Falling back to no-highlight mode for this block.",o)),y?p[1]:"no-highlight"}return b.split(/\s+/).find(y=>s(y)||k(y))}function d(o,b,p){let y="",I="";typeof b=="object"?(y=o,p=b.ignoreIllegals,I=b.language):(ue("10.7.0","highlight(lang, code, ...args) has been deprecated."),ue("10.7.0",`Please use highlight(code, options) instead.
|
|
1
|
+
import{b as v}from"./chunk-MQW5CMHG.js";import"./chunk-FEVGFFVL.js";import{a as pt,b as _t}from"./chunk-6DHFEWGX.js";var fn=pt((Ua,En)=>{function an(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(n=>{let t=e[n],a=typeof t;(a==="object"||a==="function")&&!Object.isFrozen(t)&&an(t)}),e}var Oe=class{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function rn(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function re(e,...n){let t=Object.create(null);for(let a in e)t[a]=e[a];return n.forEach(function(a){for(let c in a)t[c]=a[c]}),t}var Et="</span>",Ve=e=>!!e.scope,ft=(e,{prefix:n})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let t=e.split(".");return[`${n}${t.shift()}`,...t.map((a,c)=>`${a}${"_".repeat(c+1)}`)].join(" ")}return`${n}${e}`},Ke=class{constructor(n,t){this.buffer="",this.classPrefix=t.classPrefix,n.walk(this)}addText(n){this.buffer+=rn(n)}openNode(n){if(!Ve(n))return;let t=ft(n.scope,{prefix:this.classPrefix});this.span(t)}closeNode(n){Ve(n)&&(this.buffer+=Et)}value(){return this.buffer}span(n){this.buffer+=`<span class="${n}">`}},Je=(e={})=>{let n={children:[]};return Object.assign(n,e),n},Ge=class e{constructor(){this.rootNode=Je(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(n){this.top.children.push(n)}openNode(n){let t=Je({scope:n});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(n){return this.constructor._walk(n,this.rootNode)}static _walk(n,t){return typeof t=="string"?n.addText(t):t.children&&(n.openNode(t),t.children.forEach(a=>this._walk(n,a)),n.closeNode(t)),n}static _collapse(n){typeof n!="string"&&n.children&&(n.children.every(t=>typeof t=="string")?n.children=[n.children.join("")]:n.children.forEach(t=>{e._collapse(t)}))}},He=class extends Ge{constructor(n){super(),this.options=n}addText(n){n!==""&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,t){let a=n.root;t&&(a.scope=`language:${t}`),this.add(a)}toHTML(){return new Ke(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ee(e){return e?typeof e=="string"?e:e.source:null}function sn(e){return ce("(?=",e,")")}function mt(e){return ce("(?:",e,")*")}function ht(e){return ce("(?:",e,")?")}function ce(...e){return e.map(t=>Ee(t)).join("")}function Nt(e){let n=e[e.length-1];return typeof n=="object"&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function we(...e){return"("+(Nt(e).capture?"":"?:")+e.map(a=>Ee(a)).join("|")+")"}function on(e){return new RegExp(e.toString()+"|").exec("").length-1}function Tt(e,n){let t=e&&e.exec(n);return t&&t.index===0}var yt=new RegExp(we(/\[(?:[^\\\]]|\\.)*\]/,/\(\?<(?![=!])[^>]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function Ye(e,{joinWith:n}){let t=0;return e.map(a=>{t+=1;let c=t,g=Ee(a),r="";for(;g.length>0;){let i=yt.exec(g);if(!i){r+=g;break}r+=g.substring(0,i.index),g=g.substring(i.index+i[0].length),i[0][0]==="\\"&&i[1]?r+="\\"+String(Number(i[1])+c):(r+=i[0],(i[0]==="("||/^\(\?[<']/.test(i[0]))&&t++)}return r}).map(a=>`(${a})`).join(n)}var St=/\b\B/,cn="[a-zA-Z]\\w*",Ze="[a-zA-Z_]\\w*",ln="\\b\\d+(\\.\\d+)?",dn="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",un="\\b(0b[01]+)",Ot="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",At=(e={})=>{let n=/^#![ ]*\//;return e.binary&&(e.begin=ce(n,/.*\b/,e.binary,/\b.*/)),re({scope:"meta",begin:n,end:/$/,relevance:0,"on:begin":(t,a)=>{t.index!==0&&a.ignoreMatch()}},e)},fe={begin:"\\\\[\\s\\S]",relevance:0},wt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[fe]},Rt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[fe]},vt={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Re=function(e,n,t={}){let a=re({scope:"comment",begin:e,end:n,contains:[]},t);a.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let c=we("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return a.contains.push({begin:ce(/[ ]+/,"(",c,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a},Mt=Re("//","$"),It=Re("/\\*","\\*/"),Ct=Re("#","$"),xt={scope:"number",begin:ln,relevance:0},kt={scope:"number",begin:dn,relevance:0},Dt={scope:"number",begin:un,relevance:0},Lt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[fe,{begin:/\[/,end:/\]/,relevance:0,contains:[fe]}]},Bt={scope:"title",begin:cn,relevance:0},Pt={scope:"title",begin:Ze,relevance:0},Ut={begin:"\\.\\s*"+Ze,relevance:0},Ft=function(e){return Object.assign(e,{"on:begin":(n,t)=>{t.data._beginMatch=n[1]},"on:end":(n,t)=>{t.data._beginMatch!==n[1]&&t.ignoreMatch()}})},Se=Object.freeze({__proto__:null,APOS_STRING_MODE:wt,BACKSLASH_ESCAPE:fe,BINARY_NUMBER_MODE:Dt,BINARY_NUMBER_RE:un,COMMENT:Re,C_BLOCK_COMMENT_MODE:It,C_LINE_COMMENT_MODE:Mt,C_NUMBER_MODE:kt,C_NUMBER_RE:dn,END_SAME_AS_BEGIN:Ft,HASH_COMMENT_MODE:Ct,IDENT_RE:cn,MATCH_NOTHING_RE:St,METHOD_GUARD:Ut,NUMBER_MODE:xt,NUMBER_RE:ln,PHRASAL_WORDS_MODE:vt,QUOTE_STRING_MODE:Rt,REGEXP_MODE:Lt,RE_STARTERS_RE:Ot,SHEBANG:At,TITLE_MODE:Bt,UNDERSCORE_IDENT_RE:Ze,UNDERSCORE_TITLE_MODE:Pt});function $t(e,n){e.input[e.index-1]==="."&&n.ignoreMatch()}function zt(e,n){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Kt(e,n){n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$t,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Gt(e,n){Array.isArray(e.illegal)&&(e.illegal=we(...e.illegal))}function Ht(e,n){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Wt(e,n){e.relevance===void 0&&(e.relevance=1)}var Yt=(e,n)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");let t=Object.assign({},e);Object.keys(e).forEach(a=>{delete e[a]}),e.keywords=t.keywords,e.begin=ce(t.beforeMatch,sn(t.begin)),e.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},e.relevance=0,delete t.beforeMatch},Zt=["of","and","for","in","not","or","if","then","parent","list","value"],qt="keyword";function gn(e,n,t=qt){let a=Object.create(null);return typeof e=="string"?c(t,e.split(" ")):Array.isArray(e)?c(t,e):Object.keys(e).forEach(function(g){Object.assign(a,gn(e[g],n,g))}),a;function c(g,r){n&&(r=r.map(i=>i.toLowerCase())),r.forEach(function(i){let s=i.split("|");a[s[0]]=[g,Xt(s[0],s[1])]})}}function Xt(e,n){return n?Number(n):Qt(e)?0:1}function Qt(e){return Zt.includes(e.toLowerCase())}var je={},oe=e=>{console.error(e)},en=(e,...n)=>{console.log(`WARN: ${e}`,...n)},ue=(e,n)=>{je[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),je[`${e}/${n}`]=!0)},Ae=new Error;function bn(e,n,{key:t}){let a=0,c=e[t],g={},r={};for(let i=1;i<=n.length;i++)r[i+a]=c[i],g[i+a]=!0,a+=on(n[i-1]);e[t]=r,e[t]._emit=g,e[t]._multi=!0}function Vt(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw oe("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ae;if(typeof e.beginScope!="object"||e.beginScope===null)throw oe("beginScope must be object"),Ae;bn(e,e.begin,{key:"beginScope"}),e.begin=Ye(e.begin,{joinWith:""})}}function Jt(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw oe("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ae;if(typeof e.endScope!="object"||e.endScope===null)throw oe("endScope must be object"),Ae;bn(e,e.end,{key:"endScope"}),e.end=Ye(e.end,{joinWith:""})}}function jt(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function ea(e){jt(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Vt(e),Jt(e)}function na(e){function n(r,i){return new RegExp(Ee(r),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(i?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(i,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,i]),this.matchAt+=on(i)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let i=this.regexes.map(s=>s[1]);this.matcherRe=n(Ye(i,{joinWith:"|"}),!0),this.lastIndex=0}exec(i){this.matcherRe.lastIndex=this.lastIndex;let s=this.matcherRe.exec(i);if(!s)return null;let l=s.findIndex((m,_)=>_>0&&m!==void 0),d=this.matchIndexes[l];return s.splice(0,l),Object.assign(s,d)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(i){if(this.multiRegexes[i])return this.multiRegexes[i];let s=new t;return this.rules.slice(i).forEach(([l,d])=>s.addRule(l,d)),s.compile(),this.multiRegexes[i]=s,s}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(i,s){this.rules.push([i,s]),s.type==="begin"&&this.count++}exec(i){let s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let l=s.exec(i);if(this.resumingScanAtSamePosition()&&!(l&&l.index===this.lastIndex)){let d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,l=d.exec(i)}return l&&(this.regexIndex+=l.position+1,this.regexIndex===this.count&&this.considerAll()),l}}function c(r){let i=new a;return r.contains.forEach(s=>i.addRule(s.begin,{rule:s,type:"begin"})),r.terminatorEnd&&i.addRule(r.terminatorEnd,{type:"end"}),r.illegal&&i.addRule(r.illegal,{type:"illegal"}),i}function g(r,i){let s=r;if(r.isCompiled)return s;[zt,Ht,ea,Yt].forEach(d=>d(r,i)),e.compilerExtensions.forEach(d=>d(r,i)),r.__beforeBegin=null,[Kt,Gt,Wt].forEach(d=>d(r,i)),r.isCompiled=!0;let l=null;return typeof r.keywords=="object"&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),l=r.keywords.$pattern,delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=gn(r.keywords,e.case_insensitive)),s.keywordPatternRe=n(l,!0),i&&(r.begin||(r.begin=/\B|\b/),s.beginRe=n(s.begin),!r.end&&!r.endsWithParent&&(r.end=/\B|\b/),r.end&&(s.endRe=n(s.end)),s.terminatorEnd=Ee(s.end)||"",r.endsWithParent&&i.terminatorEnd&&(s.terminatorEnd+=(r.end?"|":"")+i.terminatorEnd)),r.illegal&&(s.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map(function(d){return ta(d==="self"?r:d)})),r.contains.forEach(function(d){g(d,s)}),r.starts&&g(r.starts,i),s.matcher=c(s),s}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=re(e.classNameAliases||{}),g(e)}function pn(e){return e?e.endsWithParent||pn(e.starts):!1}function ta(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(n){return re(e,{variants:null},n)})),e.cachedVariants?e.cachedVariants:pn(e)?re(e,{starts:e.starts?re(e.starts):null}):Object.isFrozen(e)?re(e):e}var aa="11.12.0",We=class extends Error{constructor(n,t){super(n),this.name="HTMLInjectionError",this.html=t}},ze=rn,nn=re,tn=Symbol("nomatch"),ia=7,_n=function(e){let n=Object.create(null),t=Object.create(null),a=[],c=!0,g="Could not find the language '{}', did you forget to load/include a language module?",r={disableAutodetect:!0,name:"Plain text",contains:[]},i={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:He};function s(o){return i.noHighlightRe.test(o)}function l(o){let b=o.className+" ";b+=o.parentNode?o.parentNode.className:"";let p=i.languageDetectRe.exec(b);if(p){let y=k(p[1]);return y||(en(g.replace("{}",p[1])),en("Falling back to no-highlight mode for this block.",o)),y?p[1]:"no-highlight"}return b.split(/\s+/).find(y=>s(y)||k(y))}function d(o,b,p){let y="",I="";typeof b=="object"?(y=o,p=b.ignoreIllegals,I=b.language):(ue("10.7.0","highlight(lang, code, ...args) has been deprecated."),ue("10.7.0",`Please use highlight(code, options) instead.
|
|
2
2
|
https://github.com/highlightjs/highlight.js/issues/2277`),I=o,y=b),p===void 0&&(p=!0);let F={code:y,language:I};K("before:highlight",F);let z=F.result?F.result:m(F.language,F.code,p);return z.code=F.code,K("after:highlight",z),z}function m(o,b,p,y){let I=Object.create(null);function F(u,E){return u.keywords[E]}function z(){if(!h.keywords){H.addText($);return}let u=0;h.keywordPatternRe.lastIndex=0;let E=h.keywordPatternRe.exec($),O="";for(;E;){O+=$.substring(u,E.index);let D=j.case_insensitive?E[0].toLowerCase():E[0],Y=F(h,D);if(Y){let[ae,gt]=Y;if(H.addText(O),O="",I[D]=(I[D]||0)+1,I[D]<=ia&&(ye+=gt),ae.startsWith("_"))O+=E[0];else{let bt=j.classNameAliases[ae]||ae;X(E[0],bt)}}else O+=E[0];u=h.keywordPatternRe.lastIndex,E=h.keywordPatternRe.exec($)}O+=$.substring(u),H.addText(O)}function J(){if($==="")return;let u=null;if(typeof h.subLanguage=="string"){if(!n[h.subLanguage]){H.addText($);return}u=m(h.subLanguage,$,!0,Te[h.subLanguage]),Te[h.subLanguage]=u._top}else u=f($,h.subLanguage.length?h.subLanguage:null);h.relevance>0&&(ye+=u.relevance),H.__addSublanguage(u._emitter,u.language)}function q(){h.subLanguage!=null?J():z(),$=""}function X(u,E){u!==""&&(H.startScope(E),H.addText(u),H.endScope())}function le(u,E){let O=1,D=E.length-1;for(;O<=D;){if(!u._emit[O]){O++;continue}let Y=j.classNameAliases[u[O]]||u[O],ae=E[O];Y?X(ae,Y):($=ae,z(),$=""),O++}}function he(u,E){return u.scope&&typeof u.scope=="string"&&H.openNode(j.classNameAliases[u.scope]||u.scope),u.beginScope&&(u.beginScope._wrap?(X($,j.classNameAliases[u.beginScope._wrap]||u.beginScope._wrap),$=""):u.beginScope._multi&&(le(u.beginScope,E),$="")),h=Object.create(u,{parent:{value:h}}),h}function _e(u,E,O){let D=Tt(u.endRe,O);if(D){if(u["on:end"]){let Y=new Oe(u);u["on:end"](E,Y),Y.isMatchIgnored&&(D=!1)}if(D){for(;u.endsParent&&u.parent;)u=u.parent;return u}}if(u.endsWithParent)return _e(u.parent,E,O)}function Le(u){return h.matcher.regexIndex===0?($+=u[0],1):($e=!0,0)}function Be(u){let E=u[0],O=u.rule,D=new Oe(O),Y=[O.__beforeBegin,O["on:begin"]];for(let ae of Y)if(ae&&(ae(u,D),D.isMatchIgnored))return Le(E);return O.skip?$+=E:(O.excludeBegin&&($+=E),q(),!O.returnBegin&&!O.excludeBegin&&($=E)),he(O,u),O.returnBegin?0:E.length}function Pe(u){let E=u[0],O=b.substring(u.index),D=_e(h,u,O);if(!D)return tn;let Y=h;h.endScope&&h.endScope._wrap?(q(),X(E,h.endScope._wrap)):h.endScope&&h.endScope._multi?(q(),le(h.endScope,u)):Y.skip?$+=E:(Y.returnEnd||Y.excludeEnd||($+=E),q(),Y.excludeEnd&&($=E));do h.scope&&H.closeNode(),!h.skip&&!h.subLanguage&&(ye+=h.relevance),h=h.parent;while(h!==D.parent);return D.starts&&he(D.starts,u),Y.returnEnd?0:E.length}function Ue(){let u=[];for(let E=h;E!==j;E=E.parent)E.scope&&u.unshift(E.scope);u.forEach(E=>H.openNode(E))}let de={};function Ne(u,E){let O=E&&E[0];if($+=u,O==null)return q(),0;if(de.type==="begin"&&E.type==="end"&&de.index===E.index&&O===""){if($+=b.slice(E.index,E.index+1),!c){let D=new Error(`0 width match regex (${o})`);throw D.languageName=o,D.badRule=de.rule,D}return 1}if(de=E,E.type==="begin")return Be(E);if(E.type==="illegal"&&!p){let D=new Error('Illegal lexeme "'+O+'" for mode "'+(h.scope||"<unnamed>")+'"');throw D.mode=h,D}else if(E.type==="end"){let D=Pe(E);if(D!==tn)return D}if(E.type==="illegal"&&O==="")return E.index===b.length||($+=`
|
|
3
3
|
`),1;if(Fe>1e5&&Fe>E.index*3)throw new Error("potential infinite loop, way more iterations than matches");return $+=O,O.length}let j=k(o);if(!j)throw oe(g.replace("{}",o)),new Error('Unknown language: "'+o+'"');let B=na(j),ie="",h=y||B,Te={},H=new i.__emitter(i);Ue();let $="",ye=0,se=0,Fe=0,$e=!1;try{if(j.__emitTokens)j.__emitTokens(b,H);else{for(h.matcher.considerAll();;){Fe++,$e?$e=!1:h.matcher.considerAll(),h.matcher.lastIndex=se;let u=h.matcher.exec(b);if(!u)break;let E=b.substring(se,u.index),O=Ne(E,u);se=u.index+O}Ne(b.substring(se))}return H.finalize(),ie=H.toHTML(),{language:o,value:ie,relevance:ye,illegal:!1,_emitter:H,_top:h}}catch(u){if(u.message&&u.message.includes("Illegal"))return{language:o,value:ze(b),illegal:!0,relevance:0,_illegalBy:{message:u.message,index:se,context:b.slice(se-100,se+100),mode:u.mode,resultSoFar:ie},_emitter:H};if(c)return{language:o,value:ze(b),illegal:!1,relevance:0,errorRaised:u,_emitter:H,_top:h};throw u}}function _(o){let b={value:ze(o),illegal:!1,relevance:0,_top:r,_emitter:new i.__emitter(i)};return b._emitter.addText(o),b}function f(o,b){b=b||i.languages||Object.keys(n);let p=_(o),y=b.filter(k).filter(W).map(q=>m(q,o,!1));y.unshift(p);let I=y.sort((q,X)=>{if(q.relevance!==X.relevance)return X.relevance-q.relevance;if(q.language&&X.language){if(k(q.language).supersetOf===X.language)return 1;if(k(X.language).supersetOf===q.language)return-1}return 0}),[F,z]=I,J=F;return J.secondBest=z,J}function T(o,b,p){let y=b&&t[b]||p;o.classList.add("hljs"),o.classList.add(`language-${y}`)}function N(o){let b=null,p=l(o);if(s(p))return;if(K("before:highlightElement",{el:o,language:p}),o.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",o);return}if(o.children.length>0&&(i.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(o)),i.throwUnescapedHTML))throw new We("One of your code blocks includes unescaped HTML.",o.innerHTML);b=o;let y=b.textContent,I=p?d(y,{language:p,ignoreIllegals:!0}):f(y);o.innerHTML=I.value,o.dataset.highlighted="yes",T(o,p,I.language),o.result={language:I.language,re:I.relevance,relevance:I.relevance},I.secondBest&&(o.secondBest={language:I.secondBest.language,relevance:I.secondBest.relevance}),K("after:highlightElement",{el:o,result:I,text:y})}function S(o){i=nn(i,o)}let A=()=>{w(),ue("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function C(){w(),ue("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let U=!1;function w(){function o(){w()}if(document.readyState==="loading"){U||window.addEventListener("DOMContentLoaded",o,!1),U=!0;return}document.querySelectorAll(i.cssSelector).forEach(N)}function M(o,b){let p=null;try{p=b(e)}catch(y){if(oe("Language definition for '{}' could not be registered.".replace("{}",o)),c)oe(y);else throw y;p=r}p.name||(p.name=o),n[o]=p,p.rawDefinition=b.bind(null,e),p.aliases&&L(p.aliases,{languageName:o})}function R(o){delete n[o];for(let b of Object.keys(t))t[b]===o&&delete t[b]}function x(){return Object.keys(n)}function k(o){return o=(o||"").toLowerCase(),n[o]||n[t[o]]}function L(o,{languageName:b}){typeof o=="string"&&(o=[o]),o.forEach(p=>{t[p.toLowerCase()]=b})}function W(o){let b=k(o);return b&&!b.disableAutodetect}function Q(o){o["before:highlightBlock"]&&!o["before:highlightElement"]&&(o["before:highlightElement"]=b=>{o["before:highlightBlock"](Object.assign({block:b.el},b))}),o["after:highlightBlock"]&&!o["after:highlightElement"]&&(o["after:highlightElement"]=b=>{o["after:highlightBlock"](Object.assign({block:b.el},b))})}function V(o){Q(o),a.push(o)}function ee(o){let b=a.indexOf(o);b!==-1&&a.splice(b,1)}function K(o,b){let p=o;a.forEach(function(y){y[p]&&y[p](b)})}function G(o){return ue("10.7.0","highlightBlock will be removed entirely in v12.0"),ue("10.7.0","Please use highlightElement now."),N(o)}Object.assign(e,{highlight:d,highlightAuto:f,highlightAll:w,highlightElement:N,highlightBlock:G,configure:S,initHighlighting:A,initHighlightingOnLoad:C,registerLanguage:M,unregisterLanguage:R,listLanguages:x,getLanguage:k,registerAliases:L,autoDetection:W,inherit:nn,addPlugin:V,removePlugin:ee}),e.debugMode=function(){c=!1},e.safeMode=function(){c=!0},e.versionString=aa,e.regex={concat:ce,lookahead:sn,either:we,optional:ht,anyNumberOfTimes:mt};for(let o in Se)typeof Se[o]=="object"&&an(Se[o]);return Object.assign(e,Se),e},ge=_n({});ge.newInstance=()=>_n({});En.exports=ge;ge.HighlightJS=ge;ge.default=ge});var mn=_t(fn(),1);var ne=mn.default;function hn(e){let n=e.regex,t={},a={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});let c={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},g=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),r={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},i={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,c]};c.contains.push(i);let s={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},m={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},_=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],f=e.SHEBANG({binary:`(${_.join("|")})`,relevance:10}),T={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},N=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],S=["true","false"],A={match:/(\/[a-z._-]+)+/},C=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],U=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],w=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],M=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:N,literal:S,built_in:[...C,...U,"set","shopt",...w,...M]},contains:[f,e.SHEBANG(),T,m,g,r,A,i,s,l,d,t]}}function Nn(e){let n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",c="[a-zA-Z_]\\w*::",r="("+a+"|"+n.optional(c)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",i=n.concat(/\batomic_/,n.either("bool","char","schar","uchar","short","ushort","int","uint","long","ulong","llong","ullong","char16_t","char32_t","wchar_t","int_least8_t","uint_least8_t","int_least16_t","uint_least16_t","int_least32_t","uint_least32_t","int_least64_t","uint_least64_t","int_fast8_t","uint_fast8_t","int_fast16_t","uint_fast16_t","int_fast32_t","uint_fast32_t","int_fast64_t","uint_fast64_t","intptr_t","uintptr_t","size_t","ptrdiff_t","intmax_t","uintmax_t"),/\b/),s={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:i}]},d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\\s"]{0,16})\(/,end:/\)([^()\\\s"]{0,16})"/})]},m={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},_={scope:"meta",begin:/#\s*include\b/,end:/$/,keywords:{keyword:"include"},contains:[{begin:/\\\n/},d,{scope:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(d,{className:"string"}),t,e.C_BLOCK_COMMENT_MODE]},T=[_,f],N={className:"title",begin:n.optional(c)+e.IDENT_RE,relevance:0},S=n.optional(c)+e.IDENT_RE+"\\s*\\(",A=12,w={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},M=[...T,s,t,e.C_BLOCK_COMMENT_MODE,m,d],R={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:M.concat([{begin:/\(/,end:/\)/,keywords:w,contains:M.concat(["self"]),relevance:0}]),relevance:0},x={begin:"("+r+"[\\*&\\s]+){1,"+A+"}"+S,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:w,relevance:0},{begin:S,returnBegin:!0,contains:[e.inherit(N,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,d,m,s,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,d,m,s]}]},s,t,e.C_BLOCK_COMMENT_MODE,...T]};return{name:"C",aliases:["h"],keywords:w,disableAutodetect:!0,illegal:"</",contains:[].concat(R,x,M,[...T,{begin:e.IDENT_RE+"::",keywords:w},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:d,keywords:w}}}function Tn(e){let n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",c="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+n.optional(c)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",i={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\\s"]{0,16})\(/,end:/\)([^()\\\s"]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:\\b[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|\\b[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|\\b0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},m={scope:"meta",begin:/#\s*include\b/,end:/$/,keywords:{keyword:"include"},contains:[{begin:/\\\n/},l,{scope:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},_={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),t,e.C_BLOCK_COMMENT_MODE]},f=[m,_],T={className:"title",begin:n.optional(c)+e.IDENT_RE,relevance:0},N=n.optional(c)+e.IDENT_RE+"\\s*\\(",S=12,A=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],C=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],U=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],w=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],x={type:C,keyword:A,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:U},k={className:"function.dispatch",relevance:0,keywords:{_hint:w},begin:n.concat(/\b/,`(?!${A.join("|")})`,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))},L=[k,...f,i,t,e.C_BLOCK_COMMENT_MODE,d,l],W={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:x,contains:L.concat([{begin:/\(/,end:/\)/,keywords:x,contains:L.concat(["self"]),relevance:0}]),relevance:0},Q={className:"function",begin:"("+r+"[\\*&\\s]+){1,"+S+"}"+N,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:x,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:x,relevance:0},{begin:N,returnBegin:!0,contains:[T],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,l,d,i,{begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,l,d,i]}]},i,t,e.C_BLOCK_COMMENT_MODE,...f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:x,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(W,Q,k,L,[...f,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:x,contains:["self",i]},{begin:e.IDENT_RE+"::",keywords:x},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function yn(e){let n=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],t=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],a=["default","false","null","true"],c=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],g=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],r={keyword:c.concat(g),built_in:n,literal:a},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),s="\\d(_*\\d)*",l="([uU][lL]?|[lL][uU]?)?",m={className:"number",variants:[{begin:"\\b0[bB]_*[01](_*[01])*"+l},{begin:"(-?)\\b0[xX]_*[a-fA-F0-9](_*[a-fA-F0-9])*"+l},{begin:"(-?)(\\b"+s+"(\\.("+s+")?)?|\\."+s+")([eE][-+]?"+s+")?"+"([fFdDmM]|[uU][lL]?|[lL][uU]?)?"}],relevance:0},_={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},f={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},T=e.inherit(f,{illegal:/\n/}),N={className:"subst",begin:/\{/,end:/\}/,keywords:r},S=e.inherit(N,{illegal:/\n/}),A={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,S]},C={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},N]},U=e.inherit(C,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},S]});N.contains=[C,A,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,e.C_BLOCK_COMMENT_MODE],S.contains=[U,A,T,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let w={variants:[_,C,A,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},M={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},R=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",x={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:r,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},w,m,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,M,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,M,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+R+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:r,contains:[{beginKeywords:t.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,M],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,relevance:0,contains:[w,m,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},x]}}var ra=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),sa=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],oa=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ca=[...sa,...oa],la=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),da=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),ua=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),ga=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","corner-bottom-left-shape","corner-bottom-right-shape","corner-shape","corner-top-left-shape","corner-top-right-shape","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Sn(e){let n=e.regex,t=ra(e),a={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},c="and or not only",g=/@-?\w[\w]*(-\w+)*/,r="[a-zA-Z-][a-zA-Z0-9_-]*",i=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,a,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+r,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+da.join("|")+")"},{begin:":(:)?("+ua.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ga.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,t.UNICODE_RANGE,...i,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...i,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:g},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:c,attribute:la.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...i,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+ca.join("|")+")\\b"}]}}function On(e){let n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+,\d+ +\+\d+ +@@/,/^@@ +-\d+ +\+\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function An(e){return{name:"Dockerfile",aliases:["docker"],case_insensitive:!0,keywords:["from","maintainer","expose","env","arg","user","onbuild","stopsignal"],contains:[e.HASH_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:"</"}}function wn(e){let g={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:g,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\b0[bB](_?[01])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:g,illegal:/["']/}]}]}}function Rn(e){let n=e.regex,t={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let c={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},g={className:"literal",begin:/\bon|off|true|false|yes|no\b/},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},i={begin:/\[/,end:/\]/,contains:[a,g,c,r,t,"self"],relevance:0},s=/[A-Za-z0-9_-]+/,l=/"(\\"|[^"])*"/,d=/'[^']*'/,m=n.either(s,l,d),_=n.concat(m,"(\\s*\\.\\s*",m,")*",n.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{begin:_,className:"attr",starts:{end:/$/,contains:[a,i,g,c,r,t]}}]}}var be="[0-9](_*[0-9])*",ve=`\\.(${be})`,Me="[0-9a-fA-F](_*[0-9a-fA-F])*",vn={className:"number",variants:[{begin:`(\\b(${be})((${ve})|\\.)?|(${ve}))[eE][+-]?(${be})[fFdD]?\\b`},{begin:`\\b(${be})((${ve})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${ve})[fFdD]?\\b`},{begin:`\\b(${be})[fFdD]\\b`},{begin:`\\b0[xX]((${Me})\\.?|(${Me})?\\.(${Me}))[pP][+-]?(${be})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Me})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Mn(e,n,t){return t===-1?"":e.replace(n,a=>Mn(e,n,t-1))}function In(e){let n=e.regex,t="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",a="(?:(?:\\s*\\[\\s*])+)?",c=t+"<@@@>"+a,r="(?:"+("\\?(?:\\s+(?:extends|super)\\s+"+c+")?")+"|"+c+")",i=Mn("(?:\\s*<\\s*"+r+"(?:\\s*,\\s*"+r+")*\\s*>)?",/<@@@>/g,2),_={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},f={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},T={className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:_,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{beginKeywords:"new throw return else yield assert",relevance:0},{begin:[t,n.concat(i,a,/\s+/),t,a,/\s*/,/=(?!=)/],className:{1:"type",3:"variable",6:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[T,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{begin:[t,n.concat(i,a,/\s+/),t,/\s*(?=\()/],className:{1:"type",3:"title.function"},keywords:_,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,vn,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},vn,f]}}var Cn="[A-Za-z$_][0-9A-Za-z$_]*",ba=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],pa=["true","false","null","undefined","NaN","Infinity"],xn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],kn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Dn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],_a=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],Ea=[].concat(Dn,xn,kn);function Ln(e){let n=e.regex,t=(p,{after:y})=>{let I="</"+p[0].slice(1);return p.input.indexOf(I,y)!==-1},a=Cn,c={begin:"<>",end:"</>"},g=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(p,y)=>{let I=p[0].length+p.index,F=p.input[I];if(F==="<"||F===","){y.ignoreMatch();return}F===">"&&(t(p,{after:I})||y.ignoreMatch());let z,J=p.input.substring(I);if(z=J.match(/^\s*=/)){y.ignoreMatch();return}if((z=J.match(/^\s+extends\s+/))&&z.index===0){y.ignoreMatch();return}}},i={$pattern:Cn,keyword:ba,literal:pa,built_in:Ea,"variable.language":_a},s="[0-9](_?[0-9])*",l=`\\.(${s})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",m={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${s})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},_={className:"subst",begin:"\\$\\{",end:"\\}",keywords:i,contains:[]},f={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"xml"}},T={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"css"}},N={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,_],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,_]},C={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:a+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},U=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,f,T,N,S,{match:/\$\d+/},m];_.contains=U.concat({begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(U)});let w=[].concat(C,_.contains),M=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:i,contains:["self"].concat(w)}]),R={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:M},x={variants:[{match:[/class/,/\s+/,a,/\s+/,/extends/,/\s+/,n.concat(a,"(",n.concat(/\./,a),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,a],scope:{1:"keyword",3:"title.class"}}]},k={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...xn,...kn]}},L={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},W={variants:[{match:[/function/,/\s+/,a,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[R],illegal:/%/},Q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function V(p){return n.concat("(?!",p.join("|"),")")}let ee={match:n.concat(/\b/,V([...Dn,"super","import","await"].map(p=>`${p}\\s*\\(`)),a,n.lookahead(/\s*\(/)),className:"title.function",relevance:0},K={begin:n.concat(/\./,n.lookahead(n.concat(a,/(?![0-9A-Za-z$_(])/))),end:a,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},G={match:[/get|set/,/\s+/,a,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},R]},o="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",b={match:[/const|var|let/,/\s+/,a,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(o)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:M,CLASS_REFERENCE:k},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),L,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,f,T,N,S,C,{match:/\$\d+/},m,k,{scope:"attr",match:a+n.lookahead(":"),relevance:0},b,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[C,e.REGEXP_MODE,{className:"function",begin:o,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:M}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:c.begin,end:c.end},{match:g},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},W,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[R,e.inherit(e.TITLE_MODE,{begin:a,className:"title.function"})]},{match:/\.\.\./,relevance:0},K,{match:"\\$"+a,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[R]},ee,Q,x,G,{match:/\$[(.]/}]}}var fa="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",ma={scope:"number",match:fa,relevance:0};function Bn(e){let n={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},a=["true","false","null"],c={scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:a},contains:[n,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,ma,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var pe="[0-9](_*[0-9])*",Ie=`\\.(${pe})`,Ce="[0-9a-fA-F](_*[0-9a-fA-F])*",ha={className:"number",variants:[{begin:`(\\b(${pe})((${Ie})|\\.)?|(${Ie}))[eE][+-]?(${pe})[fFdD]?\\b`},{begin:`\\b(${pe})((${Ie})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Ie})[fFdD]?\\b`},{begin:`\\b(${pe})[fFdD]\\b`},{begin:`\\b0[xX]((${Ce})\\.?|(${Ce})?\\.(${Ce}))[pP][+-]?(${pe})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Ce})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Pn(e){let n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},t={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},c={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},g={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[g,c]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,g,c]}]};c.contains.push(r);let i={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},s={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}]},l=ha,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),m={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},_=m;return _.variants[1].contains=[m],m.variants[1].contains=[_],{name:"Kotlin",aliases:["kt","kts","ktm","ktx"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,t,a,i,s,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[m,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,i,s,r,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},i,s]},r,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
4
4
|
`},l]}}function Un(e){let n=e.regex,t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},a={match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},c={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},g={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},r={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},i=/[A-Za-z][A-Za-z0-9+.-]*/,s={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:n.concat(/\[.+?\]\(/,i,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},m=e.inherit(l,{contains:[]}),_=e.inherit(d,{contains:[]});l.contains.push(_),d.contains.push(m);let f=[t,s];return[l,d,m,_].forEach(A=>{A.contains=A.contains.concat(f)}),f=f.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:f},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:f}]}]},t,g,a,l,d,{className:"quote",begin:"^>\\s+",contains:f,end:"$"},c,s,r,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function Fn(e){let n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),c=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),g=n.concat(/[A-Z]+/,t),r={scope:"variable",match:"\\$+"+a},i={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},s={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s)}),m={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(s),"on:begin":(K,G)=>{G.data._beginMatch=K[1]||K[2]},"on:end":(K,G)=>{G.data._beginMatch!==K[1]&&G.ignoreMatch()}},_=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),f=`[
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as z,b as F}from"./chunk-PRTNH66F.js";import{e as N,g as q}from"./chunk-OMZ5ETOR.js";import{q as u,r as m,s as G,u as B}from"./chunk-MKJ6MOQH.js";import{b as i}from"./chunk-MQW5CMHG.js";import{a as W}from"./chunk-J5AZ2T4P.js";import{m as Y,r as D,u as O,y as L}from"./chunk-IZWMUOBI.js";import{b as R,e as H}from"./chunk-NQ54OCJ5.js";import"./chunk-4IWYTYSQ.js";import{a}from"./chunk-X6RLFXRA.js";import"./chunk-FEVGFFVL.js";import"./chunk-6DHFEWGX.js";import{createInterface as Q}from"node:readline/promises";var s=(g="")=>process.stdout.write(g+`
|
|
2
|
+
`);async function ce(g,r){r.ws.mcp.restore(r.resume?.mcpTools);let y=!!process.stdout.isTTY,l=()=>y?Math.max(40,process.stdout.columns||80):100;y&&await import("./highlight-2UNDOBIV.js").then(e=>z(e.highlight)).catch(()=>{});let P=new F(()=>l()-1),h=!!process.stdin.isTTY&&y?Q({input:process.stdin,output:process.stdout,terminal:!0}):null;q(e=>{process.stderr.isTTY&&process.stderr.write(i.grey(`\u2726 ${e}`)+`
|
|
3
|
+
`)});let d=new AbortController;process.on("SIGINT",()=>{d.signal.aborted&&process.exit(130),d.abort()});let I=null,b=0,k=!1,A=!1,p=()=>{y?P.end().forEach(e=>s(e)):k&&s(),k=!1},M=async(e,o=!1)=>{if(r.autoYes)return!0;if(!h)return s(` ${e} no (not a terminal; pass --yes to allow)`),!1;let t=(await h.question(` ${e} ${i.grey("[y/N]")} `)).trim().toLowerCase();return t==="y"||t==="yes"},E=e=>{let o=e.deleted?"Delete":e.created?"write_file":"edit_file";s(e.deleted?`${i.red("\u25CF")} ${i.bold("Delete")} ${a(e.path)}`:u(o,e.renamedFrom?`${e.renamedFrom} \u2192 ${e.path}`:e.path,"ok",l())),B(e.diff,e.path,l(),e.created).forEach(t=>s(t))},$="",v=!1,j={onChild:(e,o)=>{p(),s(i.grey(`Child ${e}: ${a(o)}`))},onMCP:(e,o)=>s(i.grey(`MCP ${a(e)}: ${a(o)}`)),onHook:(e,o,t,c)=>{p(),t===void 0?s(i.grey(`Hook ${e}: ${a(o)}`)):(m(c??"",l(),3).forEach(n=>s(n)),v=!1)},onCompact:(e,o)=>{p(),s(i.grey(o===void 0?"Compacting conversation\u2026":`Compacted ${e} messages to ${o}.`))},onDelta:e=>{!k&&A&&s(),A=!1;let o=a(e);y?P.push(o).forEach(t=>s(t)):process.stdout.write(o),k=!0},onToolStart:(e,o)=>{p(),$=o,v=!1,A=!0},onToolResult:(e,o,t="")=>{if(!o){s(u(e,$,"error",l())),m(t,l(),3).forEach(n=>s(n));return}if(e==="write_file"||e==="edit_file"||e==="run_command"||e==="apply_patch"){m(t,l(),e==="run_command"?8:3).forEach(n=>s(n));return}if(e==="git"){v||s(u(e,$,"ok",l())),m(t,l(),8).forEach(n=>s(n));return}if(e==="delegate"||e.startsWith("mcp__")||["start_background","read_job","stop_job"].includes(e)){s(u(e,$,"ok",l())),m(t,l(),8).forEach(n=>s(n));return}if(e==="update_todos"){s(i.bold("Tasks")),t.split(`
|
|
4
|
+
`).forEach(n=>s(` ${a(n)}`));return}let c=G(e,t);s(u(e,$,"ok",l(),c.suffix)),c.detail&&m(c.detail,l()).forEach(n=>s(n))},approveChange:async(e,o)=>(E(e),r.mode==="plan"?{declined:"Plan mode is on, so no files may be changed."}:o==="allow"?!0:M(`${e.created?"Create":"Apply this edit to"} ${a(e.path)}?`)),approveCommand:async(e,o,t)=>(v=!0,s(`${i.ember("\u25CF")} ${i.bold("Run")} ${a(e)}`),r.mode==="plan"?{declined:"Plan mode is on, so no commands may run."}:t==="allow"?!0:M("Run this command?")),approvePatch:async(e,o)=>{s(`${i.ember("\u25CF")} ${i.bold("Patch")} ${a(o||"changes")} ${i.grey(`(${e.length} file${e.length===1?"":"s"})`)}`);let t=[],c=r.autoYes;for(let[n,_]of e.entries()){if(E(_),r.mode==="plan"){t.push({declined:"Plan mode is on, so no files may be changed."});continue}if(c||d.signal.aborted){t.push(!d.signal.aborted);continue}if(!h){s(` Apply to ${a(_.path)}? no (not a terminal; pass --yes to allow)`),t.push(!1);continue}let K=e.length-n>1,w=(await h.question(` Apply to ${a(_.path)}? ${i.grey(K?"[y/N/a = yes to all/q = reject the rest]":"[y/N]")} `)).trim().toLowerCase();if((w==="a"||w==="all")&&(c=!0),w==="q"){for(;t.length<e.length;)t.push(!1);break}t.push(w==="y"||w==="yes"||c)}return t}},J=r.client.stepper(()=>r.model,()=>d.signal,(e,o)=>{b+=e,I=o}),x=new W(r.ws,r.resume?.checkpoints),S=0,C=r.resume?.messages??[],f=C,U=r.resume?{...r.resume}:{version:1,id:R(),root:r.ws.root,created:new Date().toISOString(),updated:"",model:r.model,title:g.split(`
|
|
5
|
+
`)[0].slice(0,120),messages:[]};r.resume&&s(i.grey(`Continuing "${a(r.resume.title)}" (${r.resume.messages.length} messages)`));try{let e=O(r.ws,g)?await r.client.supportsImages(r.model,d.signal):!1,o=await D(r.ws,g,{imageInput:e,approveRead:async t=>await j.approveCommand(`Attach image ${t}`,"ask","ask")===!0,first:C.length===0,mode:r.mode??"ask"});for(let t of o.attachments)t.error&&s(i.gold(`! Could not attach ${t.path}: ${t.error}`));f=[...C,{role:"user",content:o.content,...o.images?.length?{images:o.images}:{}}],f=await L(r.ws,f,J,j,{signal:d.signal,policy:r.policy,plan:r.mode==="plan",privacy:r.privacy,checkpoints:x}),p(),d.signal.aborted&&(s(i.grey("Interrupted.")),S=130)}catch(e){p();let o=e.partial;o&&(f=o);let t=N(e);process.stderr.write(`${i.red("\u2717")} ${t.title}
|
|
6
|
+
${t.lines.map(c=>` ${c}
|
|
7
|
+
`).join("")}`),S=1}finally{r.ws.jobs.stopAll(),r.ws.mcp.closeAll(),h?.close(),!r.privacy&&f.length>C.length&&H({...U,model:r.model,updated:new Date().toISOString(),messages:f,checkpoints:x.entries,mcpTools:r.ws.mcp.registry})&&process.stderr.isTTY&&process.stderr.write(i.grey(`Saved as ${U.id} \xB7 continue with: flint -c "next task"`)+`
|
|
8
|
+
`)}let T=I;return(b||T)&&s(i.grey(`${b} credit${b===1?"":"s"} used${T?` \xB7 ${Y(T)}`:""}`)),S}export{ce as oneShot};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as t,h as a,i as b,j as c,k as d,l as e,m as f,n as g,o as h,p as i,q as j,r as k,s as l,t as m,u as n,v as o,w as p,x as q,y as r,z as s}from"./chunk-MKJ6MOQH.js";import"./chunk-MQW5CMHG.js";import"./chunk-X6RLFXRA.js";import"./chunk-FEVGFFVL.js";import"./chunk-6DHFEWGX.js";export{b as MODEL_LABEL,a as MODE_LABEL,f as SPARK_FRAMES,e as VERBS,c as box,m as diffStats,o as errorBox,h as footer,q as inputBox,r as inputWidth,p as menu,t as plain,n as renderDiff,k as resultLines,s as shortPath,g as spinnerLine,l as summarize,j as toolLine,i as toolVerb,d as welcome};
|