chamba 0.8.0 → 0.10.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.
Files changed (73) hide show
  1. package/README.md +14 -3
  2. package/dist/commands/dev.js +11 -11
  3. package/dist/commands/menu.js +1 -1
  4. package/dist/commands/settings.js +9 -6
  5. package/dist/lib/awake-holder.js +3 -0
  6. package/dist/lib/awake-marker.js +4 -0
  7. package/dist/lib/awake.js +1 -0
  8. package/dist/lib/chamba-yaml.js +4 -4
  9. package/dist/lib/constants.js +1 -1
  10. package/dist/lib/global-config.js +3 -3
  11. package/dist/lib/skills.js +2 -2
  12. package/package.json +1 -1
  13. package/templates/Dockerfile +3 -3
  14. package/templates/context/baseline.md +2 -2
  15. package/templates/context/web-pane-craft.md +1 -1
  16. package/templates/pane-apps/client/assets/api-CguEsvNp.js +12 -0
  17. package/templates/pane-apps/client/assets/api-Cyoc3E6K.css +1 -0
  18. package/templates/pane-apps/client/assets/bee-B7t97l5B.webp +0 -0
  19. package/templates/pane-apps/client/assets/buzz-CUUsbnXH.mp3 +0 -0
  20. package/templates/pane-apps/client/assets/home-CLFnmg7u.css +1 -0
  21. package/templates/pane-apps/client/assets/home-CrhBkqDQ.js +1 -0
  22. package/templates/pane-apps/client/assets/pop-D5ZANBC3.mp3 +0 -0
  23. package/templates/pane-apps/client/assets/reviews-Bq8EwmG-.js +153 -0
  24. package/templates/pane-apps/client/assets/reviews-DzHtA35Q.css +1 -0
  25. package/templates/pane-apps/client/assets/search-DgFnnu-J.js +1 -0
  26. package/templates/pane-apps/client/assets/specs-JvdNFtXR.js +13 -0
  27. package/templates/pane-apps/client/assets/useNow-Ww-Gffnk.js +1 -0
  28. package/templates/pane-apps/client/home/index.html +16 -0
  29. package/templates/pane-apps/client/reviews/index.html +6 -4
  30. package/templates/pane-apps/client/specs/index.html +4 -3
  31. package/templates/pane-apps/server/home.mjs +11 -0
  32. package/templates/pane-apps/server/reviews.mjs +19 -18
  33. package/templates/pane-apps/server/specs.mjs +4 -4
  34. package/templates/skills/dx-review/SKILL.md +16 -3
  35. package/templates/skills/dx-review/references/acts.md +86 -15
  36. package/templates/skills/dx-spec/SKILL.md +11 -19
  37. package/templates/skills/dx-spec/references/review-guide.md +15 -9
  38. package/templates/skills/dx-spec/references/spec-guide.md +12 -5
  39. package/templates/skills/dx-spec/references/stages.md +44 -24
  40. package/templates/skills/dx-spec-execute/SKILL.md +78 -28
  41. package/templates/startup.mjs +13 -13
  42. package/templates/tool-helper.sh +4 -2
  43. package/templates/webterm/README.md +41 -17
  44. package/templates/webterm/awake.js +27 -0
  45. package/templates/webterm/config.js +30 -0
  46. package/templates/webterm/public/app/alerts.js +92 -11
  47. package/templates/webterm/public/app/composer.js +37 -3
  48. package/templates/webterm/public/app/connection.js +14 -0
  49. package/templates/webterm/public/app/dom.js +1 -0
  50. package/templates/webterm/public/app/frames.js +1 -1
  51. package/templates/webterm/public/app/home-host.js +16 -0
  52. package/templates/webterm/public/app/main.js +4 -2
  53. package/templates/webterm/public/app/pane-shape.js +5 -3
  54. package/templates/webterm/public/app/pane-shell.js +45 -5
  55. package/templates/webterm/public/app/pane.js +8 -2
  56. package/templates/webterm/public/app/reviews-host.js +5 -1
  57. package/templates/webterm/public/app/state.js +4 -0
  58. package/templates/webterm/public/app/tabs.js +37 -3
  59. package/templates/webterm/public/app/tool-host.js +19 -3
  60. package/templates/webterm/public/app/workspace-color.js +1 -1
  61. package/templates/webterm/public/index.html +5 -1
  62. package/templates/webterm/public/styles.css +65 -0
  63. package/templates/webterm/server.js +24 -1
  64. package/templates/webterm/tool-document.js +3 -2
  65. package/templates/webterm/tools/home.js +80 -0
  66. package/templates/webterm/tools/index.js +5 -4
  67. package/templates/webterm/tools/reviews.js +7 -3
  68. package/templates/pane-apps/client/assets/files-D0nJgFAA.js +0 -12
  69. package/templates/pane-apps/client/assets/files-h0K1vZyQ.css +0 -1
  70. package/templates/pane-apps/client/assets/reviews-BsoGZ35r.css +0 -1
  71. package/templates/pane-apps/client/assets/reviews-iW0Mbn4e.js +0 -153
  72. package/templates/pane-apps/client/assets/specs-D9z3neR-.js +0 -13
  73. package/templates/skills/dx-spec/references/principles-template.md +0 -2
@@ -1,153 +0,0 @@
1
- import{D as e,E as t,O as n,S as r,a as i,c as a,f as o,g as s,o as c,r as l,s as u,t as d,u as f,y as p}from"./files-D0nJgFAA.js";var m=e(),h=t(),g=i(`reviews`);g.receive;var _=g.credentialsReady,v=g.onChange,y=g.onSession;g.openOutside;var b=g.deliver,x=g.sayWaiting,S=g.listen;function C(e){return g.askTheme(e)}var w=c({prefix:`reviews`,label:`Code Reviews`,credentialsReady:_}),T=w.ask;function E(e){return{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)}}var D=e=>`review/${encodeURIComponent(e)}`;function O(){return T(`list`)}function ee(e){return T(D(e))}function k(e,t,n){return T(`${D(e)}/hunks?from=${t}&count=${n}`)}function te(e,t,n,r){let i=new URLSearchParams({name:t,from:String(n),count:String(r)});return T(`${D(e)}/blob?${i.toString()}`)}function ne(){return T(`options`)}async function re(e){let t=new URLSearchParams({kind:e.kind});for(let[n,r]of Object.entries(e))n===`kind`||r===void 0||r===``||t.set(n,String(r));let[n]=(await T(`options?${t.toString()}`)).options;if(n===void 0)throw Error(`that selection holds nothing to review`);return n}function ie(e){return T(`start`,E(e))}function ae(e,t,n={}){return T(`${D(e)}/${t}`,E(n))}w.rawUrl;var A=w.fileUrl,j=p(),oe=350,se={"branch-reflog":`base found from the reflog`,"head-reflog":`base found from the reflog`,upstream:`base found from the upstream`,"merge-base":`base found from the merge base`,chosen:`base you chose`,parent:`base is the commit's parent`,range:`base is the start of the range`,root:`base is the repository's first commit`},ce=e=>e.slice(0,7);function le(e){if(e===null)return``;let t=e.summary,n=t.commits.length;return[`${t.files} file${t.files===1?``:`s`}`,`${t.hunks} hunk${t.hunks===1?``:`s`}`,`${n} commit${n===1?``:`s`}`].join(` - `)}function M(e){if(e===null)return``;let t=e.selection;if(t.kind===`branch`||t.kind===`other-branch`){let e=(t.head.split(`/`).pop()??t.head).replace(/[-_]+/g,` `).trim();return e.charAt(0).toUpperCase()+e.slice(1)}let n=e.summary.commits[0]?.subject??``;return n===``?e.label:n}function ue(e){let t=(0,m.useMemo)(()=>{let t=e.offer.options;return{branch:t.find(e=>e.kind===`branch`)??null,last:t.find(e=>e.kind===`last-commit`)??null,others:t.filter(e=>e.kind===`other-branch`)}},[e.offer]),n=t.branch===null?e.offer.notOffered:null,r=e.draft,[i,a]=(0,m.useState)(r?.picked??null),[o,s]=(0,m.useState)(r?.base??null),[c,l]=(0,m.useState)(r?.commit??``),[u,d]=(0,m.useState)(r?.from??``),[f,p]=(0,m.useState)(r?.to??``),[h,g]=(0,m.useState)(r?.other??``),[_,v]=(0,m.useState)(r?.uncommitted??!0),[y,b]=(0,m.useState)(r?.name??``),[x,S]=(0,m.useState)(r?.named??!1),C=e.onDraft;(0,m.useEffect)(()=>{C({picked:i,base:o,commit:c,from:u,to:f,other:h,uncommitted:_,name:y,named:x})},[i,o,c,u,f,h,_,y,x,C]);let[w,T]=(0,m.useState)(!1),[E,D]=(0,m.useState)(null),[O,ee]=(0,m.useState)(null),[k,te]=(0,m.useState)(null),ne=e=>e===`branch`?t.branch!==null||n!==null:e===`last-commit`?t.last!==null:e!==`other-branch`||t.others.length>0,ae=t.branch===null?`last-commit`:`branch`,A=i!==null&&ne(i)?i:ae,ue=t.branch?.selection.head??n?.branch??``,N=t.branch?.selection.baseRef??t.branch?.selection.base??``,P=o??N,F=h===``?t.others[0]??null:t.others.find(e=>e.selection.head===h)??null,I=(0,m.useMemo)(()=>{if(A===`branch`)return o===null||o.trim()===``||o===N?null:{kind:`branch`,base:o.trim(),uncommitted:_};if(A===`commit`)return c.trim()===``?null:{kind:`commit`,commit:c.trim()};if(A===`range`){let e={from:u.trim(),to:f.trim()};return e.from===``||e.to===``?null:{kind:`range`,...e}}return null},[A,o,N,_,c,u,f]);(0,m.useEffect)(()=>{if(I===null){ee(null),te(null);return}let e=!0,t=setTimeout(()=>{re(I).then(t=>{e&&(ee(t),te(null))}).catch(t=>{e&&(ee(null),te(t.message))})},oe);return()=>{e=!1,clearTimeout(t)}},[I]);let de=A===`branch`?I===null?t.branch:O:A===`last-commit`?t.last:A===`other-branch`?F:O,L=M(de),fe=x?y:L,R=e=>{a(e),D(null)},pe=async()=>{if(de!==null){T(!0),D(null);try{let t=A===`branch`?{kind:`branch`,uncommitted:_,...I===null?{}:{base:P.trim()}}:A===`last-commit`?{kind:`last-commit`}:A===`commit`?{kind:`commit`,commit:c.trim()}:A===`range`?{kind:`range`,from:u.trim(),to:f.trim()}:{kind:`other-branch`,branch:de.selection.head};e.onStarted(await ie({name:fe,selection:t}))}catch(e){D(e instanceof Error?e.message:`the review was not filed`),T(!1)}}},me=e=>{let t=e?.summary.commits??[],n=t.slice(0,5);return(0,j.jsxs)(`ul`,{className:`rv-commits`,children:[n.map(e=>(0,j.jsxs)(`li`,{children:[(0,j.jsx)(`span`,{className:`rv-mono`,children:ce(e.hash)}),` `,e.subject]},e.hash)),t.length>n.length&&(0,j.jsxs)(`li`,{children:[`+ `,t.length-n.length,` more`]})]})},he=A===`branch`?de:t.branch,ge=()=>he===null?n===null?``:`pick a base`:le(he),_e=()=>{let e=A===`branch`&&k!==null?k:null;if(he!==null){let t=se[he.selection.baseFoundBy];return e===null?t:`${t} - ${e}`}return e??n?.reason??``},ve=()=>he?.uncommitted.files??t.branch?.uncommitted.files??0,ye=(e,t,n,r,i=null)=>(0,j.jsxs)(`label`,{className:`rv-opt${A===e?` is-chosen`:``}`,children:[(0,j.jsx)(`input`,{type:`radio`,className:`rv-radio-input`,name:`rv-what-to-review`,checked:A===e,onChange:()=>R(e)}),(0,j.jsx)(`span`,{className:`rv-radio`,"aria-hidden":`true`}),(0,j.jsxs)(`span`,{className:`rv-opt-title`,children:[(0,j.jsx)(`b`,{children:t}),(0,j.jsx)(`span`,{className:`rv-count`,children:n})]}),r,i]});return(0,j.jsx)(`div`,{className:`rv-screen`,children:(0,j.jsxs)(`div`,{className:`rv-form`,children:[(0,j.jsx)(`h2`,{children:`New review`}),(0,j.jsx)(`p`,{className:`rv-lead`,children:`Pick what to review. The agent in this session prepares it.`}),(0,j.jsxs)(`div`,{className:`rv-form-row`,children:[(0,j.jsx)(`h3`,{children:`What to review`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,disabled:e.reading,onClick:e.onRefresh,children:e.reading?`Reading…`:`Refresh`})]}),(0,j.jsx)(`p`,{className:`rv-lead`,children:`Each option shows what it holds now. The base and the name can be changed before the review starts.`}),(0,j.jsxs)(`div`,{role:`radiogroup`,"aria-label":`What to review`,children:[e.reading&&e.offer.options.length===0&&(0,j.jsxs)(`p`,{className:`rv-opt is-waiting`,"aria-live":`polite`,children:[(0,j.jsx)(`span`,{className:`rv-dot`}),`Reading the repository. The current branch, the last commit and the other branches appear here once they are counted.`]}),(t.branch!==null||n!==null)&&ye(`branch`,`Current branch against its base`,ge(),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`span`,{className:`rv-opt-detail`,children:[(0,j.jsx)(`span`,{className:`rv-mono`,children:ue}),` against`,` `,(0,j.jsx)(`input`,{className:`rv-mono`,"aria-label":`The base of this branch`,placeholder:n===null?void 0:`base`,value:P,onChange:e=>{s(e.target.value),R(`branch`)}}),` `,(0,j.jsx)(`span`,{children:_e()})]}),ve()>0&&(0,j.jsxs)(`label`,{className:`rv-check`,children:[(0,j.jsx)(`input`,{type:`checkbox`,checked:_,onChange:e=>v(e.target.checked)}),` `,`Include uncommitted changes (`,ve(),` files)`]})]}),me(A===`branch`?de:t.branch)),t.last!==null&&ye(`last-commit`,`The last commit`,le(t.last),null,me(t.last)),ye(`commit`,`A specific commit`,A===`commit`&&O!==null?le(O):`pick one`,(0,j.jsxs)(`span`,{className:`rv-opt-detail`,children:[(0,j.jsx)(`input`,{className:`rv-mono`,placeholder:`commit`,"aria-label":`A commit to review`,value:c,onChange:e=>{l(e.target.value),R(`commit`)}}),` `,(0,j.jsx)(`span`,{children:A===`commit`&&k!==null?k:`files, hunks and the commit line appear once a commit is typed`})]}),A===`commit`?me(O):null),ye(`range`,`A commit range`,A===`range`&&O!==null?le(O):`pick two`,(0,j.jsxs)(`span`,{className:`rv-opt-detail`,children:[(0,j.jsx)(`input`,{className:`rv-mono`,placeholder:`from`,"aria-label":`The start of the range`,value:u,onChange:e=>{d(e.target.value),R(`range`)}}),` `,`..`,` `,(0,j.jsx)(`input`,{className:`rv-mono`,placeholder:`to`,"aria-label":`The end of the range`,value:f,onChange:e=>{p(e.target.value),R(`range`)}}),` `,(0,j.jsx)(`span`,{children:A===`range`&&k!==null?k:`the commits in the range are listed here`})]}),A===`range`?me(O):null),t.others.length>0&&ye(`other-branch`,`Another branch against its base`,`${t.others.length} branch${t.others.length===1?``:`es`}`,(0,j.jsxs)(`span`,{className:`rv-opt-detail`,children:[(0,j.jsx)(`select`,{"aria-label":`Which branch to review`,value:F?.selection.head??``,onChange:e=>{g(e.target.value),R(`other-branch`)},children:t.others.map(e=>(0,j.jsx)(`option`,{value:e.selection.head,children:e.selection.head},e.selection.head))}),` `,`against`,` `,(0,j.jsx)(`span`,{className:`rv-mono`,children:F?.selection.baseRef??ce(F?.selection.base??``)}),` `,`- `,le(F)]}),A===`other-branch`?me(F):null)]}),(0,j.jsxs)(`div`,{className:`rv-form-foot`,children:[(0,j.jsx)(`label`,{htmlFor:`rv-name`,children:`Name`}),(0,j.jsx)(`input`,{id:`rv-name`,value:fe,onChange:e=>{S(!0),b(e.target.value)}})]}),(0,j.jsx)(`p`,{className:`rv-form-note`,children:`Name proposed from the selection. The agent in this session prepares the review as soon as it is started.`}),E!==null&&(0,j.jsx)(`p`,{className:`rv-refused`,children:E}),(0,j.jsxs)(`div`,{className:`rv-form-acts`,children:[(0,j.jsx)(`button`,{type:`button`,className:`rv-btn`,onClick:e.onCancel,children:`Cancel`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-primary`,disabled:de===null||fe.trim()===``||w,onClick:()=>void pe(),children:`Start review`})]})]})})}var N=`.reviews`,P=`archive`,F=`pending.json`,I=`reader-state.json`,de=`signature.png`,L=`baseline`,fe=`baseline.next`,R=`baseline.gone`,pe=`diff.patch`,me=`blobs`,he=`metadata.json`;`${N}${fe}`,`${N}${R}`,`${N}${L}${pe}`,`${N}${L}${me}`,`${N}${L}${he}`,`${N}${F}`,`${N}${I}`,`${P}${N}${fe}`,`${P}${N}${R}`,`${P}${N}${L}${pe}`,`${P}${N}${L}${me}`,`${P}${N}${L}${he}`,`${P}${N}${F}`,`${P}${N}${I}`;var ge=12;function _e(e){let t=e=>e.slice(0,ge);if(e.followed!==null)return`commit ${t(e.followed)}`;if(e.kind===`branch`||e.kind===`other-branch`){let n=e.baseRef??t(e.base),r=`${e.head} against ${n}`;return e.uncommitted?`${r} - includes uncommitted changes`:r}return e.kind===`range`?`${t(e.base)}..${t(e.head)}`:e.kind===`last-commit`?`last commit ${t(e.head)}`:`commit ${t(e.head)}`}function ve(e){return e.open?e.messages[e.messages.length-1]?.from===`agent`:!1}function ye(e){return e.messages.filter(e=>e.from===`agent`&&e.readAt===null).length}var be={undo:`Undo the change`,explain:`Explain in a comment`,comment:`Comment`,"group-comment":`Comment on group`,fix:`Fix`};function xe(e){return e!==`undo`}function Se(e){if(e.length===0)return``;let t=[...e].sort((e,t)=>e-t),n=t[0],r=t[t.length-1];return n===void 0||r===void 0?``:n===r?`L${n}`:`L${n}-L${r}`}function Ce(e,t){return`${e}\n${t}`}var we=`ungrouped`,Te=600*1e3;function Ee(e,t){if(e===null)return null;let n=new Date(e).getTime();return Number.isNaN(n)?null:Math.max(0,Math.floor((t.getTime()-n)/6e4))}function De(e,t){let n=Ee(e,t);if(n===null)return``;if(n<1)return`just now`;if(n<60)return`${n} minute${n===1?``:`s`} ago`;let r=Math.floor(n/60);if(r<24)return`${r} hour${r===1?``:`s`} ago`;let i=Math.floor(r/24);return`${i} day${i===1?``:`s`} ago`}function Oe(e,t){if(e===null)return!1;let n=new Date(e).getTime();return!Number.isNaN(n)&&t.getTime()-n>Te}function ke(e,t,n=8){let r=[],i=t;for(let t of e){let e=Math.max(t.at,i);r.push(e),i=e+t.height+n}return r}function Ae(e,t,n){return Math.abs(e-t)>n}function je(e,t){let n=e=>Math.round(e),r=n(e.left),i=n(e.top+10),a=n(t.right),o=n(t.top+t.height/2),s=n(t.bottom-1),c=n(t.left+6),l=n((r+a)/2);return[`M${r} ${i}`,`C${l} ${i},${l} ${o},${a} ${o}`,`L${a} ${s}`,`L${c} ${s}`,`L${c} ${o+3}`].join(` `)}function Me(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return{left:n.left-r.left,right:n.right-r.left,top:n.top-r.top,bottom:n.bottom-r.top,height:n.height}}function Ne(e){return e.replace(/["\\]/g,e=>`\\${e}`)}function Pe(e,t,n){let r=e.querySelector(`[data-key="${Ne(t)}"]`);if(r===null||n===null)return r;let i=r.querySelector(`[data-line="${n}"]`);return i===null?r:i}var Fe=[`issue`,`attention`,`info`],Ie={issue:`Issues`,attention:`Attention`,info:`Info`};function Le(e){return Fe.find(t=>e.includes(t))??`info`}function Re(e){if(e.length===0)return[];let t=Math.min(...e),n=Math.max(...e);return Array.from({length:n-t+1},(e,n)=>t+n)}function ze(e){return e.lines===null||e.lines.length===0?null:Math.min(...e.lines)}function Be(e){let t=ze(e);if(t===null||e.lines===null)return``;let n=Math.max(...e.lines);return t===n?`L${t}`:`L${t}-${n}`}function Ve(e){let t=[...new Set(e.map(e=>e.kind))].join(` and `);return`${e.length} note${e.length===1?``:`s`} - ${t} - folded with the hunk`}function He(e,t,n,r){let i=new Map;for(let t of e)r!==null&&t.kind!==r||i.set(t.hunk,[...i.get(t.hunk)??[],t]);let a=[];for(let e of t){let t=i.get(e.id)??[];if(t.length!==0){if(e.folded){a.push({key:`${e.key}::fold`,anchor:e.key,hunk:e.id,note:``,line:null,covers:[],kind:Le(t.map(e=>e.kind)),label:``,text:Ve(t),fold:!0,aside:!1});continue}[...t].sort((e,t)=>(ze(e)??-1)-(ze(t)??-1)).forEach((t,r)=>{a.push({key:`${e.key}::${r}`,anchor:e.key,hunk:t.hunk,note:t.key,line:ze(t),covers:t.lines===null?[]:Re(t.lines),kind:t.kind,label:Be(t),text:t.text,fold:!1,aside:n.has(Ce(t.hunk,t.key))})})}}return a}function Ue(e){if(!(e instanceof HTMLElement))return!1;if(e.isContentEditable)return!0;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||t===`SELECT`}function We(e){let t=(0,m.useRef)(null),n=(0,m.useRef)(null),r=(0,m.useRef)(new Map),[i,a]=(0,m.useState)(null),[o,s]=(0,m.useState)(new Set),[c,l]=(0,m.useState)(new Set),[u,d]=(0,m.useState)(null),[f,p]=(0,m.useState)(null),h=He(e.notes,e.drawn,e.dismissed,u),g=e.collapsed,_=new Set(e.drawn.map(e=>e.id)),v=e.notes.filter(e=>_.has(e.hunk)),y=t=>!e.dismissed.has(Ce(t.hunk,t.key)),b=e=>v.filter(t=>t.kind===e&&(e===`info`||y(t))).length,x=h.filter(e=>!e.fold),S=t=>{p(t.key);let n=e.frame.current,r=n===null?null:Pe(n,t.anchor,t.line);r!==null&&typeof r.scrollIntoView==`function`&&r.scrollIntoView({block:`center`})},C=x.length===0||f===x[x.length-1]?.key,w=e=>{if(x.length===0)return;let t=x.findIndex(e=>e.key===f),n=t===-1?e===1?0:x.length-1:t+e,r=x[n];r!==void 0&&S(r)},T=()=>{let t=e.elsewhere?.next??null;t!==null&&(p(null),e.onGroup(t.group),e.onGo(t.hunk))},E=(0,m.useRef)({step:w,cross:T,atEnd:C});E.current={step:w,cross:T,atEnd:C},(0,m.useEffect)(()=>{let e=e=>{if(!(e.altKey||e.ctrlKey||e.metaKey||Ue(e.target))){if(e.key===`p`)E.current.step(-1);else if(e.key===`n`)E.current.atEnd?E.current.cross():E.current.step(1);else return;e.preventDefault()}};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let D=(0,m.useRef)(h);if(D.current=h,(0,m.useEffect)(()=>{let t=e.frame.current;if(t===null)return;let n=e=>{let t=e.target instanceof HTMLElement?e.target:null,n=t?.closest(`[data-anchor]`)??null;if(n!==null)return n.dataset.key??null;let r=t?.closest(`.is-note`)??null,i=r?.closest(`[data-key]`)??null;if(r===null||i===null)return null;let a=r.dataset.line,o=a===void 0?null:Number(a);return D.current.find(e=>e.anchor===i.dataset.key&&(o===null?e.line===null:e.covers.includes(o)))?.key??null},r=e=>a(n(e)),i=()=>a(null);return t.addEventListener(`mouseover`,r),t.addEventListener(`mouseleave`,i),()=>{t.removeEventListener(`mouseover`,r),t.removeEventListener(`mouseleave`,i)}},[e.frame]),(0,m.useLayoutEffect)(()=>{let a=t.current,o=e.frame.current;if(a===null||o===null||g)return;let s=[...a.querySelectorAll(`[data-anchor]`)],c=s.map(e=>{let t=e.dataset.line,n=Pe(o,e.dataset.anchor??``,t===void 0?null:Number(t)),r=n?.closest(`[data-key]`),i=e.querySelector(`.rv-note-txt`);return{key:e.dataset.key??``,anchor:n,height:e.offsetHeight,inColumn:n===null?null:Me(n,a),inFrame:n===null?null:Me(n,o),noteInFrame:Me(e,o),cardHeight:r instanceof HTMLElement?r.offsetHeight:0,long:i!==null&&i.scrollHeight>i.clientHeight+1}}),u=n.current===null?8:Me(n.current,a).bottom+8,d=ke(c.map(e=>({at:e.inColumn?.top??u,height:e.height})),u);s.forEach((e,t)=>{e.style.top=`${d[t]??u}px`});let p=d[d.length-1]??u,m=a.querySelector(`.rv-nnext`)?.offsetHeight??0,h=m===0?0:m+8;a.style.minHeight=`${p+(c[c.length-1]?.height??0)+8+h}px`;let _=Me(a,o).top;c.forEach((e,t)=>{let n=r.current.get(e.key)??null;if(n===null)return;let a=d[t]??u,o=e.inColumn!==null&&Ae(a,e.inColumn.top,e.cardHeight),s=i===e.key||f===e.key;if(e.anchor===null||e.inFrame===null||!(o||s)){n.setAttribute(`d`,``);return}let c={left:e.noteInFrame.left,right:e.noteInFrame.right,top:_+a,bottom:_+a+e.height,height:e.height};n.setAttribute(`d`,je(c,e.inFrame))});let v=new Set(c.filter(e=>e.long).map(e=>e.key));l(e=>e.size===v.size&&[...e].every(e=>v.has(e))?e:v)}),g)return(0,j.jsx)(`aside`,{className:`rv-nrail is-collapsed`,"aria-label":`Agent notes`,children:(0,j.jsx)(`button`,{type:`button`,className:`rv-icon`,"aria-expanded":`false`,"aria-label":`Show notes`,onClick:()=>e.onCollapse(!1),children:(0,j.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,j.jsx)(`path`,{d:`M11 3l-5 5 5 5`})})})});let O=e.elsewhere,ee=e=>e===`info`?``:` is-${e}`,k=t=>!e.readable||t.kind===`info`?null:t.aside?(0,j.jsxs)(`div`,{className:`rv-note-acts`,children:[(0,j.jsx)(`span`,{className:`rv-note-aside`,children:`dismissed`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-link`,onClick:()=>e.onDismiss(t.hunk,t.note,!1),children:`Undo`})]}):(0,j.jsxs)(`div`,{className:`rv-note-acts`,children:[t.kind===`issue`&&(0,j.jsx)(`button`,{type:`button`,className:`rv-note-act is-fix`,onClick:()=>e.onAsk(t.hunk,t.covers,t.text),children:`Ask to fix`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-note-act`,onClick:()=>e.onTalk(t.hunk,t.covers),children:`Let's talk`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-note-act`,onClick:()=>e.onDismiss(t.hunk,t.note,!0),children:`Dismiss`})]});return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`aside`,{className:`rv-nrail`,"aria-label":`Agent notes`,ref:t,children:[(0,j.jsxs)(`div`,{className:`rv-nrail-top`,ref:n,children:[(0,j.jsxs)(`p`,{className:`rv-nrail-head`,children:[(0,j.jsx)(`span`,{children:`Agent notes`}),(0,j.jsx)(`span`,{className:`rv-grow`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-icon`,"aria-expanded":`true`,"aria-label":`Collapse notes`,onClick:()=>e.onCollapse(!0),children:(0,j.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,j.jsx)(`path`,{d:`M6 3l5 5-5 5`})})})]}),v.length>0&&(0,j.jsxs)(`div`,{className:`rv-nstrip`,children:[(0,j.jsxs)(`button`,{type:`button`,className:`rv-npill`,"aria-pressed":u===null,onClick:()=>d(null),children:[`All `,v.length]}),Fe.map(e=>(0,j.jsxs)(`button`,{type:`button`,className:`rv-npill${ee(e)}`,"aria-pressed":u===e,onClick:()=>d(t=>t===e?null:e),children:[Ie[e],` `,b(e)]},e)),(0,j.jsx)(`span`,{className:`rv-grow`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-icon`,"aria-label":`Previous note`,disabled:x.length===0,onClick:()=>w(-1),children:`‹`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-icon`,"aria-label":`Next note`,disabled:x.length===0&&O?.next==null,onClick:()=>C&&O?.next!=null?T():w(1),children:`›`})]}),O!==null&&O.count>0&&(0,j.jsx)(`p`,{className:`rv-nelse`,children:(0,j.jsxs)(`button`,{type:`button`,className:`rv-link`,onClick:()=>e.onGroup(null),children:[O.count,` more in other group`,O.count===1?``:`s`]})})]}),h.length===0&&v.length===0&&(0,j.jsxs)(`p`,{className:`rv-note is-waiting`,children:[(0,j.jsx)(`span`,{className:`rv-skel is-wide`}),(0,j.jsx)(`span`,{className:`rv-skel is-half`}),(0,j.jsx)(`small`,{children:`Notes arrive with each group`})]}),h.map(e=>e.fold?(0,j.jsx)(`p`,{className:`rv-nfold${ee(e.kind)}`,"data-key":e.key,"data-anchor":e.anchor,children:e.text},e.key):(0,j.jsxs)(`div`,{className:`rv-note${ee(e.kind)}${e.aside?` is-aside`:``}${f===e.key?` is-current`:``}`,role:`note`,"data-key":e.key,"data-anchor":e.anchor,"data-line":e.line??void 0,children:[(0,j.jsx)(`span`,{className:`rv-note-kind`,children:e.kind}),e.label!==``&&(0,j.jsx)(`span`,{className:`rv-note-ln`,children:e.label}),(0,j.jsx)(`span`,{className:`rv-note-txt${o.has(e.key)?``:` is-clamped`}`,children:e.text}),(c.has(e.key)||o.has(e.key))&&(0,j.jsx)(`button`,{type:`button`,className:`rv-link`,onClick:()=>s(t=>{let n=new Set(t);return n.has(e.key)?n.delete(e.key):n.add(e.key),n}),children:o.has(e.key)?`less`:`more`}),k(e)]},e.key)),O?.next!=null&&h.length>0&&(0,j.jsxs)(`p`,{className:`rv-nnext`,children:[`Last note in this group.`,` `,(0,j.jsxs)(`button`,{type:`button`,className:`rv-link`,onClick:T,children:[`Next: "`,O.next.name,`" ›`]})]})]}),(0,j.jsx)(`svg`,{className:`rv-wire`,"aria-hidden":`true`,children:h.map(e=>(0,j.jsx)(`path`,{className:e.kind===`info`?void 0:`is-${e.kind}`,ref:t=>{r.current.set(e.key,t)}},e.key))})]})}function Ge(e){return e===`agent`?`Not grouped yet`:`Ungrouped`}function Ke(e){let t=e.metadata.groups.map(e=>({id:e.id,name:e.name,narrative:e.narrative,facts:e.facts,hunks:e.hunks}));return e.ungrouped.length>0&&t.push({id:we,name:Ge(e.state.side),narrative:``,facts:[],hunks:e.ungrouped}),t}function qe(e){let t=e.baseline;if(t===null)return`no baseline`;let n=[`${t.totals.hunks} hunks`];e.progress.seen===0&&n.push(`${t.totals.files} files`),n.push(`${e.progress.seen} Seen`);let r=e.attention.waiting,i=e.threads.threads.filter(e=>e.open).length;return r>0?n.push(`${r} thread${r===1?``:`s`} waits on you`):i>0&&n.push(`${i} open thread${i===1?``:`s`}`),n.join(` - `)}function Je(e){let t=/^@@ (-\d+)/.exec(e);return t===null?``:`@@ ${t[1]}`}function Ye(e){return e.split(`/`).pop()??e}function Xe(e){let t=e.review,n=t.baseline,r=new Map((n?.entries??[]).map(e=>[e.id,e])),i=new Set(t.marks.marks.map(e=>e.hunk)),a=new Set(t.pending.items.map(e=>e.hunk).filter(e=>e!==null)),s=new Set(t.threads.threads.filter(e=>e.open).map(e=>e.anchor)),c=new Set(t.threads.threads.filter(e=>ye(e)>0).map(e=>e.anchor)),l=new Set(t.dismissals.items.map(e=>Ce(e.hunk,e.key))),u=new Map;for(let e of t.metadata.notes)l.has(Ce(e.hunk,e.key))||u.set(e.hunk,[...u.get(e.hunk)??[],e]);let d=e=>{let t=u.get(e)??[];if(t.length===0)return null;let n=Le(t.map(e=>e.kind)),r=n===`issue`?`, one an issue`:n===`attention`?`, one for attention`:``,i=`${t.length} note${t.length===1?``:`s`}${r}`;return(0,j.jsxs)(`span`,{className:`rv-qi-notes`,role:`img`,title:i,"aria-label":i,children:[(0,j.jsx)(`span`,{className:`rv-qi-nd${n===`info`?``:` is-${n}`}`}),t.length>1&&(0,j.jsx)(`span`,{className:`rv-qi-nc`,children:t.length})]})},p=Ke(t),m=p.filter(t=>t.id===e.group),h=e.group===null||m.length===0?p:m,g=t.state.side===`you`&&t.state.status!==`archived`,_=t=>{let l=r.get(t),u=l===void 0?null:n?.files[l.file]??null,f=i.has(t)?`✓`:s.has(t)?(0,j.jsx)(o,{size:11}):a.has(t)?`●`:`○`,p=i.has(t)?`is-seen`:s.has(t)?`is-thread`:a.has(t)?`is-pending`:`is-waiting`;return(0,j.jsx)(`li`,{children:(0,j.jsxs)(`button`,{type:`button`,className:`rv-qi`,"aria-current":t===e.at?`true`:void 0,disabled:!g,onClick:()=>e.onPick(t),children:[(0,j.jsx)(`span`,{className:`rv-qi-mark ${p}`,"aria-hidden":`true`,children:f}),(0,j.jsxs)(`span`,{className:`rv-qi-file`,children:[u===null?t:Ye(u.path),` `,(0,j.jsx)(`em`,{children:l===void 0||l.header===``?`whole file`:Je(l.header)}),s.has(t)&&(0,j.jsx)(`em`,{children:` thread`})]}),(0,j.jsx)(`span`,{className:`rv-grow`}),d(t),c.has(t)&&(0,j.jsx)(`span`,{className:`rv-qi-ud`,title:`Unread reply`})]})},`${l?.file??0}-${t}`)};return(0,j.jsxs)(`nav`,{className:`nav has-foot`,"aria-label":`The hunks of this review`,children:[(0,j.jsxs)(`button`,{type:`button`,className:`nav-back`,onClick:e.onBack,children:[(0,j.jsx)(f,{size:11}),`All reviews`]}),(0,j.jsxs)(`div`,{className:`nav-title`,children:[(0,j.jsx)(`div`,{className:`nav-title-name`,children:t.state.name}),(0,j.jsx)(`div`,{className:`nav-title-note`,children:qe(t)})]}),h.map(e=>(0,j.jsxs)(`div`,{children:[(0,j.jsxs)(`h2`,{className:`nav-head`,children:[(0,j.jsx)(`span`,{children:e.name}),(0,j.jsx)(`span`,{className:`nav-head-count`,children:t.progress.seen===0?e.hunks.length:`${e.hunks.filter(e=>i.has(e)).length}/${e.hunks.length}`})]}),(0,j.jsx)(`ul`,{className:`nav-list`,children:e.hunks.map(_)})]},e.id)),(0,j.jsxs)(`p`,{className:`nav-foot`,children:[(0,j.jsx)(`span`,{className:`rv-qi-mark is-seen`,children:`✓`}),` Seen`,` `,(0,j.jsx)(`span`,{className:`rv-qi-mark is-pending`,children:`●`}),` pending`,` `,i.size===0&&s.size===0?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`rv-qi-mark is-waiting`,children:`○`}),` not ready`]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`rv-qi-mark is-thread`,children:(0,j.jsx)(o,{size:11})}),` `,`thread`]}),u.size>0&&(0,j.jsxs)(j.Fragment,{children:[` `,(0,j.jsx)(`span`,{className:`rv-qi-nd`}),` info `,(0,j.jsx)(`span`,{className:`rv-qi-nd is-attention`}),` attention`,` `,(0,j.jsx)(`span`,{className:`rv-qi-nd is-issue`}),` issue`]}),c.size>0&&(0,j.jsxs)(j.Fragment,{children:[` `,(0,j.jsx)(`span`,{className:`rv-qi-ud`}),` unread reply`]})]})]})}function Ze(e){if(e===null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleDateString()}function Qe(e){return e.relation===null?null:e.relation.relation===`out-of-sync`?{text:`Out of sync`,kind:``}:e.relation.relation===`merged`?{text:`Merged`,kind:`is-merged`}:null}function $e(e){return e.approved===null?``:`${e.approved?`Approved`:`Closed`} ${Ze(e.endedAt)}`.trim()}function et(e){return[e.name,e.branch??``,e.selection,Ze(e.endedAt),$e(e)].join(` `).toLowerCase()}function tt(e){let t=e.now??new Date,[n,r]=(0,m.useState)(!1),[i,a]=(0,m.useState)(``),o=(0,m.useMemo)(()=>{let t=i.trim().toLowerCase();return t===``?e.archived:e.archived.filter(e=>et(e).includes(t))},[e.archived,i]),c=n=>{let r=Qe(n),i=n.status===`reviewing`?``:$e(n),a=n.side===`agent`&&n.status===`reviewing`;return(0,j.jsx)(`li`,{children:(0,j.jsxs)(`button`,{type:`button`,className:`rv-row`,"aria-current":n.slug===e.open?`true`:void 0,disabled:n.missing,onClick:()=>e.onOpen(n.slug),children:[(0,j.jsxs)(`span`,{className:`rv-row-top`,children:[(0,j.jsx)(`span`,{className:`rv-row-name`,children:n.name}),r!==null&&(0,j.jsx)(`span`,{className:`rv-row-chip ${r.kind}`.trim(),children:r.text})]}),i===``?(0,j.jsx)(`span`,{className:`rv-bar`,children:(0,j.jsx)(`i`,{style:{width:`${nt(n)}%`}})}):(0,j.jsx)(`span`,{className:`rv-row-ended`,children:i}),a&&(0,j.jsxs)(`span`,{className:`rv-row-state`,children:[(0,j.jsx)(`span`,{className:`rv-dot`}),n.activity===``?`Awaits agent`:`Awaits agent - ${n.activity}`]}),n.missing&&(0,j.jsx)(`span`,{className:`rv-row-note`,children:`Missing on this branch`}),n.filedBy===`terminal`&&n.status===`reviewing`&&!n.missing&&(0,j.jsxs)(`span`,{className:`rv-row-note`,children:[`Filed from the terminal `,De(n.created,t)]})]})},n.slug)};return(0,j.jsxs)(`nav`,{className:`nav`,"aria-label":`Code reviews`,children:[(0,j.jsxs)(`button`,{type:`button`,className:`nav-new`,"aria-pressed":e.starting,disabled:!e.repository,onClick:e.onStart,children:[(0,j.jsx)(s,{size:12}),`New review`]}),e.error!==null&&(0,j.jsx)(`p`,{className:`nav-note`,children:e.error}),(0,j.jsxs)(`h2`,{className:`nav-head`,children:[(0,j.jsx)(`span`,{children:`Active`}),(0,j.jsx)(`span`,{className:`nav-head-count`,children:e.active.length})]}),e.active.length===0?(0,j.jsx)(`p`,{className:`nav-empty`,children:`none yet`}):(0,j.jsx)(`ul`,{className:`nav-list`,children:e.active.map(c)}),e.archived.length>0&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`h2`,{className:`nav-head`,children:(0,j.jsxs)(`button`,{type:`button`,"aria-expanded":n,onClick:()=>r(e=>!e),children:[(0,j.jsx)(`span`,{children:`Archived`}),(0,j.jsxs)(`span`,{className:`nav-head-count`,children:[e.archived.length,` `,n?`▾`:`▸`]})]})}),n&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`nav-search`,children:(0,j.jsx)(`input`,{type:`search`,"aria-label":`Search the archive`,placeholder:`Search name, branch or date`,value:i,onChange:e=>a(e.target.value)})}),o.length===0?(0,j.jsx)(`p`,{className:`nav-empty`,children:`nothing by that name`}):(0,j.jsx)(`ul`,{className:`nav-list nav-archived`,children:o.map(c)})]})]})]})}function nt(e){return e.progress.total===0?0:Math.round(e.progress.seen/e.progress.total*100)}function rt(e){let[t,n]=(0,m.useState)(!1),[r,i]=(0,m.useState)(``);return t?(0,j.jsxs)(`div`,{className:`rv-aclose`,children:[(0,j.jsx)(`textarea`,{"aria-label":`Why it is closed without approval`,rows:2,value:r,disabled:e.busy,onChange:e=>i(e.target.value)}),(0,j.jsxs)(`span`,{className:`rv-aclose-acts`,children:[(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,disabled:e.busy||r.trim()===``,onClick:()=>e.onClose(r.trim()),children:`Close without approval`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,onClick:()=>n(!1),children:`Cancel`})]})]}):(0,j.jsxs)(`div`,{className:`rv-aclose`,children:[(0,j.jsx)(`button`,{type:`button`,className:`rv-link`,disabled:e.busy,onClick:()=>n(!0),children:`Close without approval`}),(0,j.jsx)(`span`,{className:`rv-facts`,children:`Opens a box for the reason.`})]})}function it(e){if(e===null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}function at(e){let t=e.indexOf(`:`),n=t===-1?``:e.slice(0,t+1),r=e.slice(t+1);return r.length<=12?e:`${n}${r.slice(0,6)}…${r.slice(-4)}`}function ot(e){let t=e.baseline?.resolved;if(t===void 0)return`no baseline`;let n=t.head.slice(0,7);return t.tree?`${n}, includes uncommitted changes`:`${n}, working copy clean`}function st(e){let t=e.review,[n,r]=(0,m.useState)(t.configuredName),[i,a]=(0,m.useState)(!1),o=(0,m.useRef)(null),s=(0,m.useRef)(!1),c=e=>{let t=o.current;if(t===null)return null;let n=t.getBoundingClientRect();return n.width===0||n.height===0?null:{x:(e.clientX-n.left)/n.width*t.width,y:(e.clientY-n.top)/n.height*t.height}},l=(e,t)=>{let n=o.current?.getContext(`2d`)??null,r=c(e);if(!(n===null||r===null)){if(n.strokeStyle=`#e6edf3`,n.lineWidth=2,n.lineCap=`round`,t){n.beginPath(),n.moveTo(r.x,r.y);return}n.lineTo(r.x,r.y),n.stroke(),a(!0)}},u=()=>{let e=o.current,t=e?.getContext(`2d`)??null;e!==null&&t!==null&&t.clearRect(0,0,e.width,e.height),a(!1)},d=()=>{let e=o.current;if(!i||e===null)return null;let t=e.toDataURL(`image/png`);return t.startsWith(`data:image/png;base64,`)?t:null};return(0,j.jsxs)(`section`,{className:`rv-approve`,children:[(0,j.jsxs)(`div`,{className:`rv-ameta`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`span`,{className:`rv-k`,children:`Review`}),(0,j.jsx)(`span`,{className:`rv-v`,children:t.state.name})]}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`span`,{className:`rv-k`,children:`Feedback loops`}),(0,j.jsx)(`span`,{className:`rv-v`,children:t.loops})]}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`span`,{className:`rv-k`,children:`Hunks Seen`}),(0,j.jsxs)(`span`,{className:`rv-v`,children:[t.progress.seen,` of `,t.progress.total]})]}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`span`,{className:`rv-k`,children:`Fingerprint`}),(0,j.jsx)(`span`,{className:`rv-v rv-mono`,title:t.baseline?.fingerprint??``,children:at(t.baseline?.fingerprint??``)})]}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`span`,{className:`rv-k`,children:`Commit`}),(0,j.jsx)(`span`,{className:`rv-v rv-mono`,children:ot(t)})]})]}),(0,j.jsxs)(`form`,{className:`rv-aact`,onSubmit:t=>{t.preventDefault(),!(e.busy||n.trim()===``)&&e.onApprove(n.trim(),d())},children:[(0,j.jsxs)(`p`,{className:`rv-field`,children:[(0,j.jsxs)(`label`,{htmlFor:`rv-signer`,children:[`Your name `,(0,j.jsx)(`small`,{children:`from git`})]}),(0,j.jsx)(`input`,{id:`rv-signer`,value:n,disabled:e.busy,onChange:e=>r(e.target.value)})]}),(0,j.jsxs)(`p`,{className:`rv-field`,children:[(0,j.jsxs)(`span`,{className:`rv-label`,children:[`Signature `,(0,j.jsx)(`small`,{children:`optional`})]}),(0,j.jsxs)(`span`,{className:`rv-sig`,children:[(0,j.jsx)(`canvas`,{ref:o,width:520,height:160,"aria-label":`Signature`,onPointerDown:e=>{s.current=!0,e.currentTarget.setPointerCapture?.(e.pointerId),l(e,!0)},onPointerMove:e=>{s.current&&l(e,!1)},onPointerUp:()=>{s.current=!1},onPointerLeave:()=>{s.current=!1}}),(0,j.jsx)(`button`,{type:`button`,className:`rv-link`,disabled:!i,onClick:u,children:`clear`})]})]}),(0,j.jsx)(`button`,{type:`submit`,className:`rv-btn is-ok`,disabled:e.busy||n.trim()===``,children:`Sign and approve`}),(0,j.jsx)(rt,{busy:e.busy,onClose:e.onClose})]})]})}function ct(e){let[t,n]=(0,m.useState)(e.text??``),r=be[e.act],i=Se(e.lines),a=t.trim()!==``||!xe(e.act);return(0,j.jsxs)(`form`,{className:`rv-compose`,onSubmit:n=>{n.preventDefault(),!(!a||e.busy)&&e.onWrite(t.trim())},children:[(0,j.jsxs)(`p`,{className:`rv-compose-head`,children:[(0,j.jsx)(`b`,{children:r}),i!==``&&(0,j.jsx)(`span`,{className:`rv-facts`,children:i})]}),(0,j.jsx)(`textarea`,{"aria-label":r,rows:3,value:t,disabled:e.busy,onChange:t=>{n(t.target.value),e.onChange?.(t.target.value)}}),(0,j.jsxs)(`p`,{className:`rv-compose-acts`,children:[(0,j.jsx)(`button`,{type:`submit`,className:`rv-btn is-small is-primary`,disabled:!a||e.busy,children:`Add to feedback`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,onClick:e.onCancel,children:`Cancel`})]})]})}function lt(e){return e.slice(0,10)}function ut(e){let t=e.approval,[n,r]=(0,m.useState)(null),i=e.slug,a=t.signature;return(0,m.useEffect)(()=>{if(a===null)return;let e=!0;return A(`${i}/${de}`).then(t=>{e&&r(t)}),()=>{e=!1}},[a,i]),(0,j.jsxs)(`div`,{className:`rv-ended`,children:[(0,j.jsxs)(`span`,{children:[t.approved?`Approved`:`Closed`,` `,lt(t.at),t.name!==``&&(0,j.jsxs)(j.Fragment,{children:[` by `,(0,j.jsx)(`b`,{children:t.name})]})]}),n!==null&&(0,j.jsx)(`img`,{src:n,alt:`Signed by ${t.name}`}),!t.approved&&t.reason!==``&&(0,j.jsx)(`span`,{className:`rv-reason`,children:t.reason}),(0,j.jsxs)(`span`,{children:[`fingerprint `,(0,j.jsx)(`span`,{className:`rv-mono`,children:at(t.fingerprint)})]}),(0,j.jsxs)(`span`,{children:[`commit `,(0,j.jsx)(`span`,{className:`rv-mono`,children:t.commit.slice(0,7)}),t.uncommitted&&`, with uncommitted changes`]}),(0,j.jsx)(`span`,{className:`rv-grow`}),!e.filed&&(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,disabled:e.busy,onClick:e.onArchive,children:`File this review away`})]})}function dt(e){return e.from===`agent`?`Agent`:`You`}function ft(e){let t=e.thread,n=!e.agentHolds&&ve(t);return(0,j.jsxs)(`div`,{className:`rv-thread`,"data-thread":t.id,children:[t.messages.map(t=>{let n=t.from===`agent`&&t.readAt===null,r=dt(t);return(0,j.jsxs)(`div`,{className:`rv-msg${n?` is-unread`:``}`,children:[(0,j.jsxs)(`span`,{className:`rv-who${t.from===`agent`?` is-agent`:``}`,children:[`${r} - `,it(t.at),n&&(0,j.jsx)(`span`,{className:`rv-new`,children:`new`})]}),(0,j.jsx)(`div`,{className:`rv-msg-body${t.from===`tool`?` is-tool`:``}`,"data-unread":n?t.id:void 0,ref:n?e.watch:void 0,children:t.text})]},t.id)}),(0,j.jsxs)(`div`,{className:`rv-tf`,children:[t.label===`hunk-removed`&&(0,j.jsx)(`span`,{className:`rv-tag`,children:`hunk removed`}),(0,j.jsx)(`span`,{className:t.open?``:`rv-ok`,children:t.open?n?`Waits on you`:`Waits on the agent`:`Closed${t.closedAt===null?``:` ${it(t.closedAt)}`}`}),t.open&&(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,disabled:!e.readable||e.busy,onClick:e.onClose,children:`Close thread`})]})]})}var pt={dockerfile:`docker`,containerfile:`docker`,makefile:`make`,gnumakefile:`make`},mt={ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`tsx`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,json:`json`,jsonc:`jsonc`,yaml:`yaml`,yml:`yaml`,toml:`toml`,md:`markdown`,markdown:`markdown`,html:`html`,htm:`html`,css:`css`,scss:`scss`,sh:`shellscript`,bash:`shellscript`,zsh:`shellscript`,py:`python`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,kts:`kotlin`,c:`c`,h:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,hpp:`cpp`,hh:`cpp`,cs:`csharp`,rb:`ruby`,php:`php`,sql:`sql`,graphql:`graphql`,gql:`graphql`,xml:`xml`,svg:`xml`,mk:`make`,ini:`ini`,cfg:`ini`,diff:`diff`,patch:`diff`};function ht(e){let t=(e.split(`/`).pop()??``).toLowerCase(),n=t.split(`.`)[0]??``,r=pt[t]??pt[n];if(r!==void 0)return r;let i=t.lastIndexOf(`.`);return i<=0?null:mt[t.slice(i+1)]??null}var z=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function gt(e){return _t(e)}function _t(e){return Array.isArray(e)?vt(e):e instanceof RegExp?e:typeof e==`object`?yt(e):e}function vt(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=_t(e[n]);return t}function yt(e){let t={};for(let n in e)t[n]=_t(e[n]);return t}function bt(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function xt(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?xt(e.substring(0,e.length-1)):e.substr(~t+1)}var St=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ct=class{static hasCaptures(e){return e===null?!1:(St.lastIndex=0,St.test(e))}static replaceCaptures(e,t,n){return e.replace(St,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function wt(e,t){return e<t?-1:+(e>t)}function Tt(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;r<n;r++){let n=wt(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function Et(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function Dt(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var Ot=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},kt=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(Pt(e),t)}static createFromParsedTheme(e,t){return It(e,t)}_cachedMatchRoot=new Ot(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>jt(e.parent,t.parentScopes));return n?new Nt(n.fontStyle,n.foreground,n.background):null}},At=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new e(n,t[r]);return n}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(` `)}extends(e){return this===e||this.parent!==null&&this.parent.extends(e)}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push(n.scopeName),n=n.parent;return n===e?t.reverse():void 0}};function jt(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],i=!1;if(r===`>`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!Mt(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Mt(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var Nt=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function Pt(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];if(!i.settings)continue;let a;if(typeof i.scope==`string`){let e=i.scope;e=e.replace(/^[,]+/,``),e=e.replace(/[,]+$/,``),a=e.split(`,`)}else a=Array.isArray(i.scope)?i.scope:[``];let o=-1;if(typeof i.settings.fontStyle==`string`){o=0;let e=i.settings.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:o|=1;break;case`bold`:o|=2;break;case`underline`:o|=4;break;case`strikethrough`:o|=8;break}}let s=null;typeof i.settings.foreground==`string`&&Et(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&Et(i.settings.background)&&(c=i.settings.background);for(let t=0,i=a.length;t<i;t++){let i=a[t].trim().split(` `),l=i[i.length-1],u=null;i.length>1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new Ft(l,u,e,o,s,c)}}return n}var Ft=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},B=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(B||{});function It(e,t){e.sort((e,t)=>{let n=wt(e.scope,t.scope);return n!==0||(n=Tt(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new Lt(t),o=new Nt(n,a.getId(r),a.getId(i)),s=new Bt(new zt(0,null,-1,0,0),[]);for(let t=0,n=e.length;t<n;t++){let n=e[t];s.insert(0,n.scope,n.parentScopes,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new kt(a,o,s)}var Lt=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Rt=Object.freeze([]),zt=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||Rt,this.fontStyle=n,this.foreground=r,this.background=i}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t}acceptOverwrite(e,t,n,r){this.scopeDepth>e?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},Bt=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),zt.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null){this._mainRule.acceptOverwrite(e,n,r,i);return}for(let a=0,o=this._rulesWithParentScopes.length;a<o;a++){let o=this._rulesWithParentScopes[a];if(Tt(o.parentScopes,t)===0){o.acceptOverwrite(e,n,r,i);return}}n===-1&&(n=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),i===0&&(i=this._mainRule.background),this._rulesWithParentScopes.push(new zt(e,t,n,r,i))}},Vt=class e{static toBinaryStr(e){return e.toString(2).padStart(32,`0`)}static print(t){let n=e.getLanguageId(t),r=e.getTokenType(t),i=e.getFontStyle(t),a=e.getForeground(t),o=e.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:i,foreground:a,background:o})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=+!!e.containsBalancedBrackets(t),d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=Ut(r)),i!==null&&(u=+!!i),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c<<0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function Ht(e){return e}function Ut(e){return e}function Wt(e,t){let n=[],r=Kt(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(Gt(i)){let e=[];do e.push(i),i=r.next();while(Gt(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function Gt(e){return!!e&&!!e.match(/[\w\.:]+/)}function Kt(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function qt(e){typeof e.dispose==`function`&&e.dispose()}var Jt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Yt=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Xt=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Zt=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Jt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Xt;for(let n of e)Qt(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof Jt){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function Qt(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof Jt?en({baseGrammar:a,selfGrammar:i},r):$t(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new Jt(e))}function $t(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];tn([r],t,n)}}function en(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&tn(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&tn(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function tn(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?bt({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&tn(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=cn(i);switch(a.kind){case 0:en({...t,selfGrammar:t.baseGrammar},n);break;case 1:en(t,n);break;case 2:$t(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?$t(a.ruleName,i,n):en(i,n)}else a.kind===4?n.add(new Yt(a.scopeName,a.ruleName)):n.add(new Jt(a.scopeName));break}}}var nn=class{kind=0},rn=class{kind=1},an=class{constructor(e){this.ruleName=e}kind=2},on=class{constructor(e){this.scopeName=e}kind=3},sn=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function cn(e){if(e===`$base`)return new nn;if(e===`$self`)return new rn;let t=e.indexOf(`#`);return t===-1?new on(e):t===0?new an(e.substring(1)):new sn(e.substring(0,t),e.substring(t+1))}var ln=/\\(\d+)/,un=/\\(\d+)/g,dn=-1,fn=-2;function pn(e){return e}function mn(e){return e}var hn=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=Ct.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Ct.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${xt(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Ct.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ct.replaceCaptures(this._contentName,e,t)}},gn=class extends hn{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},_n=class extends hn{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new Sn(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Cn,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},vn=class extends hn{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Cn,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},yn=class extends hn{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new Sn(i,this.id),this.beginCaptures=a,this._end=new Sn(o||`￿`,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Cn;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},bn=class extends hn{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new Sn(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new Sn(o,fn),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Cn;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Cn,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||`￿`),this._cachedCompiledWhilePatterns}},xn=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new gn(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new _n(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=bt({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new vn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new bn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new yn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;a<o;a++){let o=t[a],s=-1;if(o.include){let t=cn(o.include);switch(t.kind){case 0:case 1:s=e.getCompiledRuleId(r[o.include],n,r);break;case 2:let i=r[t.ruleName];i&&(s=e.getCompiledRuleId(i,n,r));break;case 3:case 4:let a=t.scopeName,c=t.kind===4?t.ruleName:null,l=n.getExternalGrammar(a,r);if(l)if(c){let t=l.repository[c];t&&(s=e.getCompiledRuleId(t,n,l.repository))}else s=e.getCompiledRuleId(l.repository.$self,n,l.repository);break}}else s=e.getCompiledRuleId(o,n,r);if(s!==-1){let e=n.getRule(s),t=!1;if((e instanceof vn||e instanceof yn||e instanceof bn)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},Sn=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&typeof e==`string`){let t=e.length,n=0,r=[],i=!1;for(let a=0;a<t;a++)if(e.charAt(a)===`\\`&&a+1<t){let t=e.charAt(a+1);t===`z`?(r.push(e.substring(n,a)),r.push(`$(?!\\n)(?<!\\n)`),n=a+2):(t===`A`||t===`G`)&&(i=!0),a++}this.hasAnchor=i,n===0?this.source=e:(r.push(e.substring(n,t)),this.source=r.join(``))}else this.hasAnchor=!1,this.source=e;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=t,typeof this.source==`string`?this.hasBackReferences=ln.test(this.source):this.hasBackReferences=!1}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let n=t.map(t=>e.substring(t.start,t.end));return un.lastIndex=0,this.source.replace(un,(e,t)=>Dt(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;i<a;i++)o=this.source.charAt(i),e[i]=o,t[i]=o,n[i]=o,r[i]=o,o===`\\`&&i+1<a&&(s=this.source.charAt(i+1),s===`A`?(e[i+1]=`￿`,t[i+1]=`￿`,n[i+1]=`A`,r[i+1]=`A`):s===`G`?(e[i+1]=`￿`,t[i+1]=`G`,n[i+1]=`￿`,r[i+1]=`G`):(e[i+1]=s,t[i+1]=s,n[i+1]=s,r[i+1]=s),i++);return{A0_G0:e.join(``),A0_G1:t.join(``),A1_G0:n.join(``),A1_G1:r.join(``)}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!=`string`?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Cn=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&=(this._cached.dispose(),null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(e=>e.source);this._cached=new wn(e,t,this._items.map(e=>e.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new wn(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},wn=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
2
- `)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Tn=class{constructor(e,t){this.languageId=e,this.tokenType=t}},En=class e{_defaultAttributes;_embeddedLanguagesMatcher;constructor(e,t){this._defaultAttributes=new Tn(e,8),this._embeddedLanguagesMatcher=new Dn(Object.entries(t||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?e._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Tn(0,0);_getBasicScopeAttributes=new Ot(e=>new Tn(this._scopeToLanguage(e),this._toStandardTokenType(e)));_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(t){let n=t.match(e.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case`comment`:return 1;case`string`:return 2;case`regex`:return 3;case`meta.embedded`:return 0}throw Error(`Unexpected match for standard token type!`)}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},Dn=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([e,t])=>Dt(e));t.sort(),t.reverse(),this.scopesRegExp=RegExp(`^((${t.join(`)|(`)}))($|\\.)`,``)}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}};typeof process<`u`&&{}.VSCODE_TEXTMATE_DEBUG;var On=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function kn(e,t,n,r,i,a,o,s){let c=t.content.length,l=!1,u=-1;if(o){let o=An(e,t,n,r,i,a);i=o.stack,r=o.linePos,n=o.isFirstLine,u=o.anchorPosition}let d=Date.now();for(;!l;){if(s!==0&&Date.now()-d>s)return new On(i,!0);f()}return new On(i,!1);function f(){let o=jn(e,t,n,r,i,u);if(!o){a.produce(i,c),l=!0;return}let s=o.captureIndices,d=o.matchedRuleId,f=s&&s.length>0?s[0].end>r:!1;if(d===dn){let o=i.getRule(e);a.produce(i,s[0].start),i=i.withContentNameScopesList(i.nameScopesList),In(e,t,n,i,a,o.endCaptures,s),a.produce(i,s[0].end);let d=i;if(i=i.parent,u=d.getAnchorPos(),!f&&d.getEnterPos()===r){i=d,a.produce(i,c),l=!0;return}}else{let o=e.getRule(d);a.produce(i,s[0].start);let p=i,m=o.getName(t.content,s),h=i.contentNameScopesList.pushAttributed(m,e);if(i=i.push(d,r,u,s[0].end===c,null,h,h),o instanceof yn){let r=o;In(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.endHasBackReferences&&(i=i.withEndRule(r.getEndWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(o instanceof bn){let r=o;In(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.whileHasBackReferences&&(i=i.withEndRule(r.getWhileWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(In(e,t,n,i,a,o.captures,s),a.produce(i,s[0].end),i=i.pop(),!f){i=i.safePop(),a.produce(i,c),l=!0;return}}s[0].end>r&&(r=s[0].end,n=!1)}}function An(e,t,n,r,i,a){let o=i.beginRuleCapturedEOL?0:-1,s=[];for(let t=i;t;t=t.pop()){let n=t.getRule(e);n instanceof bn&&s.push({rule:n,stack:t})}for(let c=s.pop();c;c=s.pop()){let{ruleScanner:s,findOptions:l}=Fn(c.rule,e,c.stack.endRule,n,r===o),u=s.findNextMatchSync(t,r,l);if(u){if(u.ruleId!==fn){i=c.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(a.produce(c.stack,u.captureIndices[0].start),In(e,t,n,c.stack,a,c.rule.whileCaptures,u.captureIndices),a.produce(c.stack,u.captureIndices[0].end),o=u.captureIndices[0].end,u.captureIndices[0].end>r&&(r=u.captureIndices[0].end,n=!1))}else{i=c.stack.pop();break}}return{stack:i,linePos:r,anchorPosition:o,isFirstLine:n}}function jn(e,t,n,r,i,a){let o=Mn(e,t,n,r,i,a),s=e.getInjections();if(s.length===0)return o;let c=Nn(s,e,t,n,r,i,a);if(!c)return o;if(!o)return c;let l=o.captureIndices[0].start,u=c.captureIndices[0].start;return u<l||c.priorityMatch&&u===l?c:o}function Mn(e,t,n,r,i,a){let{ruleScanner:o,findOptions:s}=Pn(i.getRule(e),e,i.endRule,n,r===a),c=o.findNextMatchSync(t,r,s);return c?{captureIndices:c.captureIndices,matchedRuleId:c.ruleId}:null}function Nn(e,t,n,r,i,a,o){let s=Number.MAX_VALUE,c=null,l,u=0,d=a.contentNameScopesList.getScopeNames();for(let a=0,f=e.length;a<f;a++){let f=e[a];if(!f.matcher(d))continue;let{ruleScanner:p,findOptions:m}=Pn(t.getRule(f.ruleId),t,null,r,i===o),h=p.findNextMatchSync(n,i,m);if(!h)continue;let g=h.captureIndices[0].start;if(!(g>=s)&&(s=g,c=h.captureIndices,l=h.ruleId,u=f.priority,s===i))break}return c?{priorityMatch:u===-1,captureIndices:c,matchedRuleId:l}:null}function Pn(e,t,n,r,i){return{ruleScanner:e.compileAG(t,n,r,i),findOptions:0}}function Fn(e,t,n,r,i){return{ruleScanner:e.compileWhileAG(t,n,r,i),findOptions:0}}function In(e,t,n,r,i,a,o){if(a.length===0)return;let s=t.content,c=Math.min(a.length,o.length),l=[],u=o[0].end;for(let t=0;t<c;t++){let c=a[t];if(c===null)continue;let d=o[t];if(d.length===0)continue;if(d.start>u)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(r,d.start),c.retokenizeCapturedWithRuleId){let t=c.getName(s,o),a=r.contentNameScopesList.pushAttributed(t,e),l=c.getContentName(s,o),u=a.pushAttributed(l,e),f=r.push(c.retokenizeCapturedWithRuleId,d.start,-1,!1,null,a,u),p=e.createOnigString(s.substring(0,d.end));kn(e,p,n&&d.start===0,d.start,f,i,!1,0),qt(p);continue}let f=c.getName(s,o);if(f!==null){let t=(l.length>0?l[l.length-1].scopes:r.contentNameScopesList).pushAttributed(f,e);l.push(new Ln(t,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var Ln=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Rn(e,t,n,r,i,a,o,s){return new Hn(e,t,n,r,i,a,o,s)}function zn(e,t,n,r,i){let a=Wt(t,Bn),o=xn.getCompiledRuleId(n,r,i.repository);for(let n of a)e.push({debugSelector:t,matcher:n.matcher,ruleId:o,grammar:i,priority:n.priority})}function Bn(e,t){if(t.length<e.length)return!1;let n=0;return e.every(e=>{for(let r=n;r<t.length;r++)if(Vn(t[r],e))return n=r+1,!0;return!1})}function Vn(e,t){if(!e)return!1;if(e===t)return!0;let n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]===`.`}var Hn=class{constructor(e,t,n,r,i,a,o,s){if(this._rootScopeName=e,this.balancedBracketSelectors=a,this._onigLib=s,this._basicScopeAttributesProvider=new En(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=o,this._grammar=Un(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let e of Object.keys(i)){let t=Wt(e,Bn);for(let n of t)this._tokenTypeMatchers.push({matcher:n.matcher,type:i[e]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:e=>e===this._rootScopeName?this._grammar:this.getExternalGrammar(e),injections:e=>this._grammarRepository.injections(e)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){let e=r.injections;if(e)for(let n in e)zn(t,n,e[n],this,r);let i=this._grammarRepository.injections(n);i&&i.forEach(e=>{let n=this.getExternalGrammar(e);if(n){let e=n.injectionSelector;e&&zn(t,e,n,this,n)}})}return t.sort((e,t)=>e.priority-t.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(pn(t));return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[mn(e)]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Un(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){let r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=xn.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===Gn.NULL){i=!0;let e=this._basicScopeAttributesProvider.getDefaultAttributes(),n=this.themeProvider.getDefaults(),r=Vt.set(0,e.languageId,e.tokenType,null,n.fontStyle,n.foregroundId,n.backgroundId),a=this.getRule(this._rootId).getName(null,null),o;o=a?Wn.createRootAndLookUpScopeName(a,r,this):Wn.createRoot(`unknown`,r),t=new Gn(null,this._rootId,-1,-1,!1,null,o,o)}else i=!1,t.reset();e+=`
3
- `;let a=this.createOnigString(e),o=a.content.length,s=new qn(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=kn(this,a,i,0,t,s,!0,r);return qt(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function Un(e,t){return e=gt(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Wn=class e{constructor(e,t,n){this.parent=e,this.scopePath=t,this.tokenAttributes=n}static fromExtension(t,n){let r=t,i=t?.scopePath??null;for(let t of n)i=At.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new At(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new At(null,t),o=r.themeProvider.themeMatch(a),s=e.mergeAttributes(n,i,o);return new e(null,a,s)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(` `)}equals(t){return e.equals(this,t)}static equals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.scopeName!==t.scopeName||e.tokenAttributes!==t.tokenAttributes)return!1;e=e.parent,t=t.parent}while(!0)}static mergeAttributes(e,t,n){let r=-1,i=0,a=0;return n!==null&&(r=n.fontStyle,i=n.foregroundId,a=n.backgroundId),Vt.set(e,t.languageId,t.tokenType,null,r,i,a)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(` `)===-1)return e._pushAttributed(this,t,n);let r=t.split(/ /g),i=this;for(let t of r)i=e._pushAttributed(i,t,n);return i}static _pushAttributed(t,n,r){let i=r.getMetadataForScope(n),a=t.scopePath.push(n),o=r.themeProvider.themeMatch(a),s=e.mergeAttributes(t.tokenAttributes,i,o);return new e(t,a,s)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push({encodedTokenAttributes:n.tokenAttributes,scopeNames:n.scopePath.getExtensionIfDefined(n.parent?.scopePath??null)}),n=n.parent;return n===e?t.reverse():void 0}},Gn=class e{constructor(e,t,n,r,i,a,o,s){this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=i,this.endRule=a,this.nameScopesList=o,this.contentNameScopesList=s,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=n,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new e(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t!==null&&e._equals(this,t)}static _equals(e,t){return e===t?!0:this._structuralEquals(e,t)?Wn.equals(e.contentNameScopesList,t.contentNameScopesList):!1}static _structuralEquals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}while(!0)}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){e._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,i,a,o,s){return new e(this,t,n,r,i,a,o,s)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){let e=[];return this._writeString(e,0),`[`+e.join(`,`)+`]`}_writeString(e,t){return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(t){return this.endRule===t?this:new e(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){return{ruleId:mn(this.ruleId),beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let r=Wn.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,pn(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,Wn.fromExtension(r,n.contentNameScopesList))}},Kn=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):Wt(e,Bn).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>Wt(e,Bn).map(e=>e.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},qn=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let n=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let t=e?.getScopeNames()??[];for(let e of this._tokenTypeOverrides)e.matcher(t)&&(n=Vt.set(n,0,Ht(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=Vt.set(n,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===n){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(n),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let e=0,t=this._binaryTokens.length;e<t;e++)n[e]=this._binaryTokens[e];return n}},Jn=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,i){if(!this._grammars.has(e)){let a=this._rawGrammars.get(e);if(!a)return null;this._grammars.set(e,Rn(e,a,t,n,r,i,this,this._onigLib))}return this._grammars.get(e)}},Yn=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Jn(kt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(kt.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,n){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:n})}loadGrammarWithConfiguration(e,t,n){return this._loadGrammar(e,t,n.embeddedLanguages,n.tokenTypes,new Kn(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,i){let a=new Zt(this._syncRegistry,e);for(;a.Q.length>0;)a.Q.map(e=>this._loadSingleGrammar(e.scopeName)),a.processQueue();return this._grammarForScopeName(e,t,n,r,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections==`function`?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,r)}_grammarForScopeName(e,t=0,n=null,r=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,r,i)}},Xn=Gn.NULL;function Zn(e,t){let n=typeof e==`string`?{}:{...e.colorReplacements},r=typeof e==`string`?e:e.name;for(let[e,i]of Object.entries(t?.colorReplacements||{}))typeof i==`string`?n[e]=i:e===r&&Object.assign(n,i);return n}function Qn(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function $n(e){return Array.isArray(e)?e:[e]}async function er(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function tr(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function nr(e){return e===`ansi`||tr(e)}function rr(e){return e===`none`}function ir(e){return rr(e)}var ar=/(\r?\n)/g;function or(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(ar),r=0,i=[];for(let e=0;e<n.length;e+=2){let a=t?n[e]+(n[e+1]||``):n[e];i.push([a,r]),r+=n[e].length,r+=n[e+1]?.length||0}return i}var sr={light:`#333333`,dark:`#bbbbbb`},cr={light:`#fffffe`,dark:`#1e1e1e`},lr=`__shiki_resolved`;function ur(e){if(e?.[lr])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?sr.light:sr.dark,n||=t.type===`light`?cr.light:cr.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,lr,{enumerable:!1,writable:!1,value:!0}),t}async function dr(e){return[...new Set((await Promise.all(e.filter(e=>!nr(e)).map(async e=>await er(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function fr(e){return(await Promise.all(e.map(async e=>ir(e)?null:ur(await er(e))))).filter(e=>!!e)}function pr(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new z(`Circular alias \`${[...n].join(` -> `)} -> ${e}\``);n.add(e)}}return e}var mr=class extends Yn{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=ur(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=kt.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=pr(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=[...this._langGraph.entries()],n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new z(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},hr=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},gr=0;function _r(e){gr+=1,e.warnings!==!1&&gr>=10&&gr%10==0&&console.warn(`[Shiki] ${gr} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new z("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(ur),i=new mr(new hr(e.engine,n),r,n,e.langAlias),a;function o(t){return pr(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new z(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new z(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await dr(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await fr(e))}function g(){if(t)throw new z(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--gr)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function vr(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([fr(e.themes||[]),dr(e.langs||[]),e.engine]);return _r({...e,themes:t,langs:n,engine:r})}var yr=new WeakMap;function br(e,t){yr.set(e,t)}function xr(e){return yr.get(e)}var Sr=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new e(Object.fromEntries($n(n).map(e=>[e,Xn])),t)}constructor(...e){if(e.length===2){let[t,n]=e;this.lang=n,this._stacks=t}else{let[t,n,r]=e;this.lang=n,this._stacks={[r]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return Cr(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Cr(e){let t=[],n=new Set;function r(e){if(n.has(e))return;n.add(e);let i=e?.nameScopesList?.scopeName;i&&t.push(i),e.parent&&r(e.parent)}return r(e),t}function wr(e,t){if(!(e instanceof Sr))throw new z(`Invalid grammar state`);return e.getInternalStack(t)}var Tr=/,/,Er=/ /;function Dr(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n;if(tr(e.resolveLangAlias(n.lang||`text`))||rr(r))return or(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:i,colorMap:a}=e.setTheme(r),o=e.getLanguage(n.lang||`text`);if(n.grammarState){if(n.grammarState.lang!==o.name)throw new z(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new z(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return kr(t,o,i,a,n)}function Or(...e){if(e.length===2)return xr(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(tr(i)||rr(a))throw new z(`Plain language does not have grammar state`);if(i===`ansi`)throw new z(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new Sr(Ar(n,c,o,s,r).stateStack,c.name,o.name)}function kr(e,t,n,r,i){let a=Ar(e,t,n,r,i),o=new Sr(a.stateStack,t.name,n.name);return br(a.tokens,o),a.tokens}function Ar(e,t,n,r,i){let a=Zn(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500,includeExplanation:c=!1}=i,l=or(e),u=i.grammarState?wr(i.grammarState,n.name)??Xn:i.grammarContextCode==null?Xn:Ar(i.grammarContextCode,t,n,r,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack,d=[],f=[];for(let e=0,i=l.length;e<i;e++){let[i,p]=l[e];if(i===``){d=[],f.push([]);continue}if(o>0&&i.length>=o){d=[],f.push([{content:i,offset:p,color:``,fontStyle:0}]);continue}let m,h,g;c&&c!==`tokenType`&&(m=t.tokenizeLine(i,u,s),h=m.tokens,g=0);let _=t.tokenizeLine2(i,u,s),v=_.tokens.length/2;for(let e=0;e<v;e++){let t=_.tokens[2*e],o=e+1<v?_.tokens[2*e+2]:i.length;if(t===o)continue;let s=_.tokens[2*e+1],l=Qn(r[Vt.getForeground(s)],a),u=Vt.getFontStyle(s),f={content:i.substring(t,o),offset:p+t,color:l,fontStyle:u};if(c===`tokenType`)f.type=Vt.getTokenType(s);else if(c){let e=[];if(c!==`scopeName`)for(let t of n.settings){let n;switch(typeof t.scope){case`string`:n=t.scope.split(Tr).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(Er))})}f.explanation=[];let r=0;for(;t+r<o;){let t=h[g],n=i.substring(t.startIndex,t.endIndex);r+=n.length,f.explanation.push({content:n,scopes:c===`scopeName`?jr(t.scopes):Mr(e,t.scopes)}),g+=1}}d.push(f)}f.push(d),d=[],u=_.ruleStack}return{tokens:f,stateStack:u}}function jr(e){return e.map(e=>({scopeName:e}))}function Mr(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:Fr(e,i,t.slice(0,r))}}return n}function Nr(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function Pr(e,t,n){if(!Nr(e.at(-1),t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)Nr(e[r],n[i])&&--r,--i;return r===-1}function Fr(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(Pr(e,t,n)){r.push(a);break}return r}function Ir(e,t,n,r=Dr){let i=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),a=i.map(i=>{let a=r(e,t,{...n,theme:i.theme});return{tokens:a,state:xr(a),theme:typeof i.theme==`string`?i.theme:i.theme.name}}),o=Lr(...a.map(e=>e.tokens)),s=o[0].map((e,t)=>e.map((e,r)=>{let a={content:e.content,variants:{},offset:e.offset};return`includeExplanation`in n&&n.includeExplanation&&(a.explanation=e.explanation),o.forEach((e,n)=>{let{content:o,explanation:s,offset:c,...l}=e[t][r];a.variants[i[n].color]=l}),a})),c=a[0].state?new Sr(Object.fromEntries(a.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),a[0].state.lang):void 0;return c&&br(s,c),s}function Lr(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){let i=e.map(e=>e[r]),a=t.map(()=>[]);t.forEach((e,t)=>e.push(a[t]));let o=i.map(()=>0),s=i.map(e=>e[0]);for(;s.every(e=>e);){let e=Math.min(...s.map(e=>e.content.length));for(let t=0;t<n;t++){let n=s[t];n.content.length===e?(a[t].push(n),o[t]+=1,s[t]=i[t][o[t]]):(a[t].push({...n,content:n.content.slice(0,e)}),s[t]={...n,content:n.content.slice(e),offset:n.offset+e})}}}return t}var Rr=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],zr=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};zr.prototype.normal={},zr.prototype.property={},zr.prototype.space=void 0;function Br(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new zr(n,r,t)}function Vr(e){return e.toLowerCase()}var V=class{constructor(e,t){this.attribute=t,this.property=e}};V.prototype.attribute=``,V.prototype.booleanish=!1,V.prototype.boolean=!1,V.prototype.commaOrSpaceSeparated=!1,V.prototype.commaSeparated=!1,V.prototype.defined=!1,V.prototype.mustUseProperty=!1,V.prototype.number=!1,V.prototype.overloadedBoolean=!1,V.prototype.property=``,V.prototype.spaceSeparated=!1,V.prototype.space=void 0;var Hr=n({boolean:()=>H,booleanish:()=>U,commaOrSpaceSeparated:()=>K,commaSeparated:()=>Gr,number:()=>W,overloadedBoolean:()=>Wr,spaceSeparated:()=>G}),Ur=0,H=Kr(),U=Kr(),Wr=Kr(),W=Kr(),G=Kr(),Gr=Kr(),K=Kr();function Kr(){return 2**++Ur}var qr=Object.keys(Hr),Jr=class extends V{constructor(e,t,n,r){let i=-1;if(super(e,t),Yr(this,`space`,r),typeof n==`number`)for(;++i<qr.length;){let e=qr[i];Yr(this,qr[i],(n&Hr[e])===Hr[e])}}};Jr.prototype.defined=!0;function Yr(e,t,n){n&&(e[t]=n)}function Xr(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new Jr(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[Vr(r)]=r,n[Vr(a.attribute)]=r}return new zr(t,n,e.space)}var Zr=Xr({properties:{ariaActiveDescendant:null,ariaAtomic:U,ariaAutoComplete:null,ariaBusy:U,ariaChecked:U,ariaColCount:W,ariaColIndex:W,ariaColSpan:W,ariaControls:G,ariaCurrent:null,ariaDescribedBy:G,ariaDetails:null,ariaDisabled:U,ariaDropEffect:G,ariaErrorMessage:null,ariaExpanded:U,ariaFlowTo:G,ariaGrabbed:U,ariaHasPopup:null,ariaHidden:U,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:G,ariaLevel:W,ariaLive:null,ariaModal:U,ariaMultiLine:U,ariaMultiSelectable:U,ariaOrientation:null,ariaOwns:G,ariaPlaceholder:null,ariaPosInSet:W,ariaPressed:U,ariaReadOnly:U,ariaRelevant:null,ariaRequired:U,ariaRoleDescription:G,ariaRowCount:W,ariaRowIndex:W,ariaRowSpan:W,ariaSelected:U,ariaSetSize:W,ariaSort:null,ariaValueMax:W,ariaValueMin:W,ariaValueNow:W,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function Qr(e,t){return t in e?e[t]:t}function $r(e,t){return Qr(e,t.toLowerCase())}var ei=Xr({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:Gr,acceptCharset:G,accessKey:G,action:null,allow:null,allowFullScreen:H,allowPaymentRequest:H,allowUserMedia:H,alpha:H,alt:null,as:null,async:H,autoCapitalize:null,autoComplete:G,autoFocus:H,autoPlay:H,blocking:G,capture:null,charSet:null,checked:H,cite:null,className:G,closedBy:null,colorSpace:null,cols:W,colSpan:W,command:null,commandFor:null,content:null,contentEditable:U,controls:H,controlsList:G,coords:W|Gr,crossOrigin:null,data:null,dateTime:null,decoding:null,default:H,defer:H,dir:null,dirName:null,disabled:H,download:Wr,draggable:U,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:H,formTarget:null,headers:G,height:W,hidden:Wr,high:W,href:null,hrefLang:null,htmlFor:G,httpEquiv:G,id:null,imageSizes:null,imageSrcSet:null,inert:H,inputMode:null,integrity:null,is:null,isMap:H,itemId:null,itemProp:G,itemRef:G,itemScope:H,itemType:G,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:H,low:W,manifest:null,max:null,maxLength:W,media:null,method:null,min:null,minLength:W,multiple:H,muted:H,name:null,nonce:null,noModule:H,noValidate:H,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:H,optimum:W,pattern:null,ping:G,placeholder:null,playsInline:H,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:H,referrerPolicy:null,rel:G,required:H,reversed:H,rows:W,rowSpan:W,sandbox:G,scope:null,scoped:H,seamless:H,selected:H,shadowRootClonable:H,shadowRootCustomElementRegistry:H,shadowRootDelegatesFocus:H,shadowRootMode:null,shadowRootSerializable:H,shape:null,size:W,sizes:null,slot:null,span:W,spellCheck:U,src:null,srcDoc:null,srcLang:null,srcSet:null,start:W,step:null,style:null,tabIndex:W,target:null,title:null,translate:null,type:null,typeMustMatch:H,useMap:null,value:U,width:W,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:G,axis:null,background:null,bgColor:null,border:W,borderColor:null,bottomMargin:W,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:H,declare:H,event:null,face:null,frame:null,frameBorder:null,hSpace:W,leftMargin:W,link:null,longDesc:null,lowSrc:null,marginHeight:W,marginWidth:W,noResize:H,noHref:H,noShade:H,noWrap:H,object:null,profile:null,prompt:null,rev:null,rightMargin:W,rules:null,scheme:null,scrolling:U,standby:null,summary:null,text:null,topMargin:W,valueType:null,version:null,vAlign:null,vLink:null,vSpace:W,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:H,disablePictureInPicture:H,disableRemotePlayback:H,exportParts:Gr,part:G,prefix:null,property:null,results:W,security:null,unselectable:null},space:`html`,transform:$r}),ti=Xr({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,maskType:`mask-type`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:K,accentHeight:W,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:W,amplitude:W,arabicForm:null,ascent:W,attributeName:null,attributeType:null,azimuth:W,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:W,by:null,calcMode:null,capHeight:W,className:G,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:W,diffuseConstant:W,direction:null,display:null,dur:null,divisor:W,dominantBaseline:null,download:H,dx:null,dy:null,edgeMode:null,editable:null,elevation:W,enableBackground:null,end:null,event:null,exponent:W,externalResourcesRequired:null,fill:null,fillOpacity:W,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Gr,g2:Gr,glyphName:Gr,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:W,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:W,horizOriginX:W,horizOriginY:W,id:null,ideographic:W,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:W,k:W,k1:W,k2:W,k3:W,k4:W,kernelMatrix:K,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:W,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:W,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:W,overlineThickness:W,paintOrder:null,panose1:null,path:null,pathLength:W,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:G,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:W,pointsAtY:W,pointsAtZ:W,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:K,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:K,rev:K,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:K,requiredFeatures:K,requiredFonts:K,requiredFormats:K,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:W,specularExponent:W,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:W,strikethroughThickness:W,string:null,stroke:null,strokeDashArray:K,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:W,strokeOpacity:W,strokeWidth:null,style:null,surfaceScale:W,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:K,tabIndex:W,tableValues:null,target:null,targetX:W,targetY:W,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:K,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:W,underlineThickness:W,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:W,values:null,vAlphabetic:W,vMathematical:W,vectorEffect:null,vHanging:W,vIdeographic:W,version:null,vertAdvY:W,vertOriginX:W,vertOriginY:W,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:W,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:Qr}),ni=Xr({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),ri=Xr({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:$r}),ii=Xr({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),ai=/[A-Z]/g,oi=/-[a-z]/g,si=/^data[-\w.:]+$/i;function ci(e,t){let n=Vr(t),r=t,i=V;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&si.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(oi,ui);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!oi.test(e)){let n=e.replace(ai,li);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=Jr}return new i(r,t)}function li(e){return`-`+e.toLowerCase()}function ui(e){return e.charAt(1).toUpperCase()}var di=Br([Zr,ei,ni,ri,ii],`html`),fi=Br([Zr,ti,ni,ri,ii],`svg`),pi={}.hasOwnProperty;function mi(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&pi.call(t,e)){let n=String(t[e]);i=pi.call(a,n)?a[n]:r.unknown}if(i)return i.call(this,t,...n)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var hi=/["&'<>`]/g,gi=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,_i=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,vi=/[|\\{}()[\]^$+*?.]/g,yi=new WeakMap;function bi(e,t){if(e=e.replace(t.subset?xi(t.subset):hi,r),t.subset||t.escapeOnly)return e;return e.replace(gi,n).replace(_i,r);function n(e,n,r){return t.format((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,r.charCodeAt(n+2),t)}function r(e,n,r){return t.format(e.charCodeAt(0),r.charCodeAt(n+1),t)}}function xi(e){let t=yi.get(e);return t||(t=Si(e),yi.set(e,t)),t}function Si(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(vi,`\\$&`));return RegExp(`(?:`+t.join(`|`)+`)`,`g`)}var Ci=/[\dA-Fa-f]/;function wi(e,t,n){let r=`&#x`+e.toString(16).toUpperCase();return n&&t&&!Ci.test(String.fromCharCode(t))?r:r+`;`}var Ti=/\d/;function Ei(e,t,n){let r=`&#`+String(e);return n&&t&&!Ti.test(String.fromCharCode(t))?r:r+`;`}var Di=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),Oi={nbsp:`\xA0`,iexcl:`¡`,cent:`¢`,pound:`£`,curren:`¤`,yen:`¥`,brvbar:`¦`,sect:`§`,uml:`¨`,copy:`©`,ordf:`ª`,laquo:`«`,not:`¬`,shy:`­`,reg:`®`,macr:`¯`,deg:`°`,plusmn:`±`,sup2:`²`,sup3:`³`,acute:`´`,micro:`µ`,para:`¶`,middot:`·`,cedil:`¸`,sup1:`¹`,ordm:`º`,raquo:`»`,frac14:`¼`,frac12:`½`,frac34:`¾`,iquest:`¿`,Agrave:`À`,Aacute:`Á`,Acirc:`Â`,Atilde:`Ã`,Auml:`Ä`,Aring:`Å`,AElig:`Æ`,Ccedil:`Ç`,Egrave:`È`,Eacute:`É`,Ecirc:`Ê`,Euml:`Ë`,Igrave:`Ì`,Iacute:`Í`,Icirc:`Î`,Iuml:`Ï`,ETH:`Ð`,Ntilde:`Ñ`,Ograve:`Ò`,Oacute:`Ó`,Ocirc:`Ô`,Otilde:`Õ`,Ouml:`Ö`,times:`×`,Oslash:`Ø`,Ugrave:`Ù`,Uacute:`Ú`,Ucirc:`Û`,Uuml:`Ü`,Yacute:`Ý`,THORN:`Þ`,szlig:`ß`,agrave:`à`,aacute:`á`,acirc:`â`,atilde:`ã`,auml:`ä`,aring:`å`,aelig:`æ`,ccedil:`ç`,egrave:`è`,eacute:`é`,ecirc:`ê`,euml:`ë`,igrave:`ì`,iacute:`í`,icirc:`î`,iuml:`ï`,eth:`ð`,ntilde:`ñ`,ograve:`ò`,oacute:`ó`,ocirc:`ô`,otilde:`õ`,ouml:`ö`,divide:`÷`,oslash:`ø`,ugrave:`ù`,uacute:`ú`,ucirc:`û`,uuml:`ü`,yacute:`ý`,thorn:`þ`,yuml:`ÿ`,fnof:`ƒ`,Alpha:`Α`,Beta:`Β`,Gamma:`Γ`,Delta:`Δ`,Epsilon:`Ε`,Zeta:`Ζ`,Eta:`Η`,Theta:`Θ`,Iota:`Ι`,Kappa:`Κ`,Lambda:`Λ`,Mu:`Μ`,Nu:`Ν`,Xi:`Ξ`,Omicron:`Ο`,Pi:`Π`,Rho:`Ρ`,Sigma:`Σ`,Tau:`Τ`,Upsilon:`Υ`,Phi:`Φ`,Chi:`Χ`,Psi:`Ψ`,Omega:`Ω`,alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,omicron:`ο`,pi:`π`,rho:`ρ`,sigmaf:`ς`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,thetasym:`ϑ`,upsih:`ϒ`,piv:`ϖ`,bull:`•`,hellip:`…`,prime:`′`,Prime:`″`,oline:`‾`,frasl:`⁄`,weierp:`℘`,image:`ℑ`,real:`ℜ`,trade:`™`,alefsym:`ℵ`,larr:`←`,uarr:`↑`,rarr:`→`,darr:`↓`,harr:`↔`,crarr:`↵`,lArr:`⇐`,uArr:`⇑`,rArr:`⇒`,dArr:`⇓`,hArr:`⇔`,forall:`∀`,part:`∂`,exist:`∃`,empty:`∅`,nabla:`∇`,isin:`∈`,notin:`∉`,ni:`∋`,prod:`∏`,sum:`∑`,minus:`−`,lowast:`∗`,radic:`√`,prop:`∝`,infin:`∞`,ang:`∠`,and:`∧`,or:`∨`,cap:`∩`,cup:`∪`,int:`∫`,there4:`∴`,sim:`∼`,cong:`≅`,asymp:`≈`,ne:`≠`,equiv:`≡`,le:`≤`,ge:`≥`,sub:`⊂`,sup:`⊃`,nsub:`⊄`,sube:`⊆`,supe:`⊇`,oplus:`⊕`,otimes:`⊗`,perp:`⊥`,sdot:`⋅`,lceil:`⌈`,rceil:`⌉`,lfloor:`⌊`,rfloor:`⌋`,lang:`〈`,rang:`〉`,loz:`◊`,spades:`♠`,clubs:`♣`,hearts:`♥`,diams:`♦`,quot:`"`,amp:`&`,lt:`<`,gt:`>`,OElig:`Œ`,oelig:`œ`,Scaron:`Š`,scaron:`š`,Yuml:`Ÿ`,circ:`ˆ`,tilde:`˜`,ensp:` `,emsp:` `,thinsp:` `,zwnj:`‌`,zwj:`‍`,lrm:`‎`,rlm:`‏`,ndash:`–`,mdash:`—`,lsquo:`‘`,rsquo:`’`,sbquo:`‚`,ldquo:`“`,rdquo:`”`,bdquo:`„`,dagger:`†`,Dagger:`‡`,permil:`‰`,lsaquo:`‹`,rsaquo:`›`,euro:`€`},ki=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`],Ai={}.hasOwnProperty,ji={},Mi;for(Mi in Oi)Ai.call(Oi,Mi)&&(ji[Oi[Mi]]=Mi);var Ni=/[^\dA-Za-z]/;function Pi(e,t,n,r){let i=String.fromCharCode(e);if(Ai.call(ji,i)){let e=ji[i],a=`&`+e;return n&&Di.includes(e)&&!ki.includes(e)&&(!r||t&&t!==61&&Ni.test(String.fromCharCode(t)))?a:a+`;`}return``}function Fi(e,t,n){let r=wi(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=Pi(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=Ei(e,t,n.omitOptionalSemicolons);i.length<r.length&&(r=i)}return i&&(!n.useShortestReferences||i.length<r.length)?i:r}function Ii(e,t){return bi(e,Object.assign({format:Fi},t))}var Li=/^>|^->|<!--|-->|--!>|<!-$/g,Ri=[`>`],zi=[`<`,`>`];function Bi(e,t,n,r){return r.settings.bogusComments?`<?`+Ii(e.value,Object.assign({},r.settings.characterReferences,{subset:Ri}))+`>`:`<!--`+e.value.replace(Li,i)+`-->`;function i(e){return Ii(e,Object.assign({},r.settings.characterReferences,{subset:zi}))}}function Vi(e,t,n,r){return`<!`+(r.settings.upperDoctype?`DOCTYPE`:`doctype`)+(r.settings.tightDoctype?``:` `)+`html>`}function Hi(e,t){let n=String(e);if(typeof t!=`string`)throw TypeError(`Expected character`);let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function Ui(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}function Wi(e){return e.join(` `).trim()}var Gi=/[ \t\n\f\r]/g;function Ki(e){return typeof e==`object`?e.type===`text`&&qi(e.value):qi(e)}function qi(e){return e.replace(Gi,``)===``}var q=Xi(1),Ji=Xi(-1),Yi=[];function Xi(e){return t;function t(t,n,r){let i=t?t.children:Yi,a=(n||0)+e,o=i[a];if(!r)for(;o&&Ki(o);)a+=e,o=i[a];return o}}var Zi={}.hasOwnProperty;function Qi(e){return t;function t(t,n,r){return Zi.call(e,t.tagName)&&e[t.tagName](t,n,r)}}var $i=Qi({body:na,caption:ea,colgroup:ea,dd:oa,dt:aa,head:ea,html:ta,li:ia,optgroup:ca,option:la,p:ra,rp:sa,rt:sa,tbody:da,td:ma,tfoot:fa,th:ma,thead:ua,tr:pa});function ea(e,t,n){let r=q(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&Ki(r.value.charAt(0)))}function ta(e,t,n){let r=q(n,t);return!r||r.type!==`comment`}function na(e,t,n){let r=q(n,t);return!r||r.type!==`comment`}function ra(e,t,n){let r=q(n,t);return r?r.type===`element`&&(r.tagName===`address`||r.tagName===`article`||r.tagName===`aside`||r.tagName===`blockquote`||r.tagName===`details`||r.tagName===`div`||r.tagName===`dl`||r.tagName===`fieldset`||r.tagName===`figcaption`||r.tagName===`figure`||r.tagName===`footer`||r.tagName===`form`||r.tagName===`h1`||r.tagName===`h2`||r.tagName===`h3`||r.tagName===`h4`||r.tagName===`h5`||r.tagName===`h6`||r.tagName===`header`||r.tagName===`hgroup`||r.tagName===`hr`||r.tagName===`main`||r.tagName===`menu`||r.tagName===`nav`||r.tagName===`ol`||r.tagName===`p`||r.tagName===`pre`||r.tagName===`section`||r.tagName===`table`||r.tagName===`ul`):!n||!(n.type===`element`&&(n.tagName===`a`||n.tagName===`audio`||n.tagName===`del`||n.tagName===`ins`||n.tagName===`map`||n.tagName===`noscript`||n.tagName===`video`))}function ia(e,t,n){let r=q(n,t);return!r||r.type===`element`&&r.tagName===`li`}function aa(e,t,n){let r=q(n,t);return!!(r&&r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`))}function oa(e,t,n){let r=q(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function sa(e,t,n){let r=q(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function ca(e,t,n){let r=q(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function la(e,t,n){let r=q(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function ua(e,t,n){let r=q(n,t);return!!(r&&r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`))}function da(e,t,n){let r=q(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function fa(e,t,n){return!q(n,t)}function pa(e,t,n){let r=q(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function ma(e,t,n){let r=q(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}var ha=Qi({body:va,colgroup:ya,head:_a,html:ga,tbody:ba});function ga(e){let t=q(e,-1);return!t||t.type!==`comment`}function _a(e){let t=new Set;for(let n of e.children)if(n.type===`element`&&(n.tagName===`base`||n.tagName===`title`)){if(t.has(n.tagName))return!1;t.add(n.tagName)}let n=e.children[0];return!n||n.type===`element`}function va(e){let t=q(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&Ki(t.value.charAt(0)))&&!(t.type===`element`&&(t.tagName===`meta`||t.tagName===`link`||t.tagName===`script`||t.tagName===`style`||t.tagName===`template`))}function ya(e,t,n){let r=Ji(n,t),i=q(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&$i(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function ba(e,t,n){let r=Ji(n,t),i=q(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&$i(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var xa={name:[[`
4
- \f\r &/=>`.split(``),`
5
- \f\r "&'/=>\``.split(``)],[`\0
6
- \f\r "&'/<=>`.split(``),`\0
7
- \f\r "&'/<=>\``.split(``)]],unquoted:[[`
8
- \f\r &>`.split(``),`\0
9
- \f\r "&'<=>\``.split(``)],[`\0
10
- \f\r "&'<=>\``.split(``),`\0
11
- \f\r "&'<=>\``.split(``)]],single:[[`&'`.split(``),`"&'\``.split(``)],[`\0&'`.split(``),`\0"&'\``.split(``)]],double:[[`"&`.split(``),`"&'\``.split(``)],[`\0"&`.split(``),`\0"&'\``.split(``)]]};function Sa(e,t,n,r){let i=r.schema,a=i.space!==`svg`&&r.settings.omitOptionalTags,o=i.space===`svg`?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),s=[],c;i.space===`html`&&e.tagName===`svg`&&(r.schema=fi);let l=Ca(r,e.properties),u=r.all(i.space===`html`&&e.tagName===`template`?e.content:e);return r.schema=i,u&&(o=!1),(l||!a||!ha(e,t,n))&&(s.push(`<`,e.tagName,l?` `+l:``),o&&(i.space===`svg`||r.settings.closeSelfClosing)&&(c=l.charAt(l.length-1),(!r.settings.tightSelfClosing||c===`/`||c&&c!==`"`&&c!==`'`)&&s.push(` `),s.push(`/`)),s.push(`>`)),s.push(u),!o&&(!a||!$i(e,t,n))&&s.push(`</`+e.tagName+`>`),s.join(``)}function Ca(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=wa(e,i,t[i]);r&&n.push(r)}}for(;++r<n.length;){let t=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&t!==`"`&&t!==`'`&&(n[r]+=` `)}return n.join(``)}function wa(e,t,n){let r=ci(e.schema,t),i=e.settings.allowParseErrors&&e.schema.space===`html`?0:1,a=+!e.settings.allowDangerousCharacters,o=e.quote,s;if(r.overloadedBoolean&&(n===r.attribute||n===``)?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!=`string`||n===r.attribute||n===``)&&(n=!!n),n==null||n===!1||typeof n==`number`&&Number.isNaN(n))return``;let c=Ii(r.attribute,Object.assign({},e.settings.characterReferences,{subset:xa.name[i][a]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?Ui:Wi)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?c:(e.settings.preferUnquoted&&(s=Ii(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:xa.unquoted[i][a]}))),s!==n&&(e.settings.quoteSmart&&Hi(n,o)>Hi(n,e.alternative)&&(o=e.alternative),s=o+Ii(n,Object.assign({},e.settings.characterReferences,{subset:(o===`'`?xa.single:xa.double)[i][a],attribute:!0}))+o),c+(s&&`=`+s))}var Ta=[`<`,`&`];function Ea(e,t,n,r){return n&&n.type===`element`&&(n.tagName===`script`||n.tagName===`style`)?e.value:Ii(e.value,Object.assign({},r.settings.characterReferences,{subset:Ta}))}function Da(e,t,n,r){return r.settings.allowDangerousHtml?e.value:Ea(e,t,n,r)}function Oa(e,t,n,r){return r.all(e)}var ka=mi(`type`,{invalid:Aa,unknown:ja,handlers:{comment:Bi,doctype:Vi,element:Sa,raw:Da,root:Oa,text:Ea}});function Aa(e){throw Error("Expected node, not `"+e+"`")}function ja(e){throw Error("Cannot compile unknown node `"+e.type+"`")}var Ma={},Na={},Pa=[];function Fa(e,t){let n=t||Ma,r=n.quote||`"`,i=r===`"`?`'`:`"`;if(r!==`"`&&r!==`'`)throw Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Ia,all:La,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Rr,characterReferences:n.characterReferences||Na,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space===`svg`?fi:di,quote:r,alternative:i}.one(Array.isArray(e)?{type:`root`,children:e}:e,void 0,void 0)}function Ia(e,t,n){return ka(e,t,n,this)}function La(e){let t=[],n=e&&e.children||Pa,r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join(``)}var Ra=/\s+/g;function za(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class==`string`&&(e.properties.class=e.properties.class.split(Ra)),Array.isArray(e.properties.class)||(e.properties.class=[]);let n=Array.isArray(t)?t:t.split(Ra);for(let t of n)t&&!e.properties.class.includes(t)&&e.properties.class.push(t);return e}function Ba(e){let t=or(e,!0).map(([e])=>e);function n(n){if(n===e.length)return{line:t.length-1,character:t.at(-1).length};let r=n,i=0;for(let e of t){if(r<e.length)break;r-=e.length,i++}return{line:i,character:r}}function r(e,n){let r=0;for(let n=0;n<e;n++)r+=t[n].length;return r+=n,r}return{lines:t,indexToPos:n,posToIndex:r}}var Va=[`color`,`background-color`];function Ha(e,t){let n=0,r=[];for(let i of t)i>n&&r.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function Ua(e,t){let n=0,r=e.length;for(;n<r;){let i=n+(r-n>>1);e[i]<=t?n=i+1:r=i}return n}function Wa(e,t){let n=[...t instanceof Set?t:new Set(t)].sort((e,t)=>e-t);return n.length?e.map(e=>e.flatMap(e=>{let t=e.offset+e.content.length,r=Ua(n,e.offset),i=r;for(;i<n.length&&n[i]<t;)i++;if(r===i)return e;let a=n.slice(r,i);for(let t=0;t<a.length;t++)a[t]-=e.offset;return Ha(e,a)})):e}function Ga(e,t,n,r,i=`css-vars`){let a={content:e.content,explanation:e.explanation,offset:e.offset},o=t.map(t=>Ka(e.variants[t])),s=new Set(o.flatMap(e=>Object.keys(e))),c={},l=(e,r)=>{let i=r===`color`?``:r===`background-color`?`-bg`:`-${r}`;return n+t[e]+(r===`color`?``:i)};return o.forEach((e,n)=>{for(let a of s){let s=e[a]||`inherit`;if(n===0&&r&&Va.includes(a))if(r===`light-dark()`&&o.length>1){let e=t.findIndex(e=>e===`light`),r=t.findIndex(e=>e===`dark`);if(e===-1||r===-1)throw new z('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let u=o[e][a]||`inherit`,d=o[r][a]||`inherit`;c[a]=`light-dark(${u}, ${d})`,i===`css-vars`&&(c[l(n,a)]=s)}else c[a]=s;else i===`css-vars`&&(c[l(n,a)]=s)}}),a.htmlStyle=c,a}function Ka(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t[`background-color`]=e.bgColor),e.fontStyle){e.fontStyle&B.Italic&&(t[`font-style`]=`italic`),e.fontStyle&B.Bold&&(t[`font-weight`]=`bold`);let n=[];e.fontStyle&B.Underline&&n.push(`underline`),e.fontStyle&B.Strikethrough&&n.push(`line-through`),n.length&&(t[`text-decoration`]=n.join(` `))}return t}function qa(e){return typeof e==`string`?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}function Ja(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){let n=Ba(t.source);function r(e){if(typeof e==`number`){if(e<0||e>t.source.length)throw new z(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);return{...n.indexToPos(e),offset:e}}else{let t=n.lines[e.line];if(t===void 0)throw new z(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${n.lines.length}`);let r=e.character;if(r<0&&(r=t.length+r),r<0||r>t.length)throw new z(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);return{...e,character:r,offset:n.posToIndex(e.line,r)}}}let i=(t.options.decorations||[]).map(e=>({...e,start:r(e.start),end:r(e.end)}));Ya(i),e.set(t.meta,{decorations:i,converter:n,source:t.source})}return e.get(t.meta)}return{name:`shiki:decorations`,tokens(e){if(this.options.decorations?.length)return Wa(e,t(this).decorations.flatMap(e=>[e.start.offset,e.end.offset]))},code(e){if(!this.options.decorations?.length)return;let n=t(this),r=[...e.children].filter(e=>e.type===`element`&&e.tagName===`span`);if(r.length!==n.converter.lines.length)throw new z(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${n.converter.lines.length}). Failed to apply decorations.`);function i(e,t,n,i){let a=r[e],s=``,c=-1,l=-1;if(t===0&&(c=0),n===0&&(l=0),n===1/0&&(l=a.children.length),c===-1||l===-1)for(let e=0;e<a.children.length;e++)s+=Xa(a.children[e]),c===-1&&s.length===t&&(c=e+1),l===-1&&s.length===n&&(l=e+1);if(c===-1)throw new z(`Failed to find start index for decoration ${JSON.stringify(i.start)}`);if(l===-1)throw new z(`Failed to find end index for decoration ${JSON.stringify(i.end)}`);let u=a.children.slice(c,l);if(!i.alwaysWrap&&u.length===a.children.length)o(a,i,`line`);else if(!i.alwaysWrap&&u.length===1&&u[0].type===`element`)o(u[0],i,`token`);else{let e={type:`element`,tagName:`span`,properties:{},children:u};o(e,i,`wrapper`),a.children.splice(c,u.length,e)}}function a(e,t){r[e]=o(r[e],t,`line`)}function o(e,t,n){let r=t.properties||{},i=t.transform||(e=>e);return e.tagName=t.tagName||`span`,e.properties={...e.properties,...r,class:e.properties.class},t.properties?.class&&za(e,t.properties.class),e=i(e,n)||e,e}let s=[],c=n.decorations.sort((e,t)=>t.start.offset-e.start.offset||e.end.offset-t.end.offset);for(let e of c){let{start:t,end:n}=e;if(t.line===n.line)i(t.line,t.character,n.character,e);else if(t.line<n.line){i(t.line,t.character,1/0,e);for(let r=t.line+1;r<n.line;r++)s.unshift(()=>a(r,e));i(n.line,0,n.character,e)}}s.forEach(e=>e())}}}function Ya(e){for(let t=0;t<e.length;t++){let n=e[t];if(n.start.offset>n.end.offset)throw new z(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){let t=e[r],i=n.start.offset<=t.start.offset&&t.start.offset<n.end.offset,a=n.start.offset<t.end.offset&&t.end.offset<=n.end.offset,o=t.start.offset<=n.start.offset&&n.start.offset<t.end.offset,s=t.start.offset<n.end.offset&&n.end.offset<=t.end.offset;if(i||a||o||s){if(i&&a||o&&s||o&&n.start.offset===n.end.offset||a&&t.start.offset===t.end.offset)continue;throw new z(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(t.start)} intersect.`)}}}}function Xa(e){return e.type===`text`?e.value:e.type===`element`?e.children.map(Xa).join(``):``}var Za=[Ja()];function Qa(e){let t=$a(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Za]}function $a(e){let t=[],n=[],r=[];for(let i of e)switch(i.enforce){case`pre`:t.push(i);break;case`post`:n.push(i);break;default:r.push(i)}return{pre:t,post:n,normal:r}}var eo=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],to={1:`bold`,2:`dim`,3:`italic`,4:`underline`,7:`reverse`,8:`hidden`,9:`strikethrough`};function no(e,t){let n=e.indexOf(`\x1B`,t);if(n!==-1&&e[n+1]===`[`){let t=e.indexOf(`m`,n);if(t!==-1)return{sequence:e.substring(n+2,t).split(`;`),startPosition:n,position:t+1}}return{position:e.length}}function ro(e){let t=e.shift();if(t===`2`){let t=e.splice(0,3).map(e=>Number.parseInt(e));return t.length!==3||t.some(e=>Number.isNaN(e))?void 0:{type:`rgb`,rgb:t}}else if(t===`5`){let t=e.shift();if(t)return{type:`table`,index:Number(t)}}}function io(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:`resetAll`});else if(r<=9)to[r]&&t.push({type:`setDecoration`,value:to[r]});else if(r<=29){let e=to[r-20];e&&(t.push({type:`resetDecoration`,value:e}),e===`dim`&&t.push({type:`resetDecoration`,value:`bold`}))}else if(r<=37)t.push({type:`setForegroundColor`,value:{type:`named`,name:eo[r-30]}});else if(r===38){let n=ro(e);n&&t.push({type:`setForegroundColor`,value:n})}else if(r===39)t.push({type:`resetForegroundColor`});else if(r<=47)t.push({type:`setBackgroundColor`,value:{type:`named`,name:eo[r-40]}});else if(r===48){let n=ro(e);n&&t.push({type:`setBackgroundColor`,value:n})}else r===49?t.push({type:`resetBackgroundColor`}):r===53?t.push({type:`setDecoration`,value:`overline`}):r===55?t.push({type:`resetDecoration`,value:`overline`}):r>=90&&r<=97?t.push({type:`setForegroundColor`,value:{type:`named`,name:eo[r-90+8]}}):r>=100&&r<=107&&t.push({type:`setBackgroundColor`,value:{type:`named`,name:eo[r-100+8]}})}return t}function ao(){let e=null,t=null,n=new Set;return{parse(r){let i=[],a=0;do{let o=no(r,a),s=o.sequence?r.substring(a,o.startPosition):r.substring(a);if(s.length>0&&i.push({value:s,foreground:e,background:t,decorations:new Set(n)}),o.sequence){let r=io(o.sequence);for(let i of r)i.type===`resetAll`?(e=null,t=null,n.clear()):i.type===`resetForegroundColor`?e=null:i.type===`resetBackgroundColor`?t=null:i.type===`resetDecoration`&&n.delete(i.value);for(let i of r)i.type===`setForegroundColor`?e=i.value:i.type===`setBackgroundColor`?t=i.value:i.type===`setDecoration`&&n.add(i.value)}a=o.position}while(a<r.length);return i}}}var oo={black:`#000000`,red:`#bb0000`,green:`#00bb00`,yellow:`#bbbb00`,blue:`#0000bb`,magenta:`#ff00ff`,cyan:`#00bbbb`,white:`#eeeeee`,brightBlack:`#555555`,brightRed:`#ff5555`,brightGreen:`#00ff00`,brightYellow:`#ffff55`,brightBlue:`#5555ff`,brightMagenta:`#ff55ff`,brightCyan:`#55ffff`,brightWhite:`#ffffff`};function so(e=oo){function t(t){return e[t]}function n(e){return`#${e.map(e=>Math.max(0,Math.min(e,255)).toString(16).padStart(2,`0`)).join(``)}`}let r;function i(){if(r)return r;r=[];for(let e=0;e<eo.length;e++)r.push(t(eo[e]));let e=[0,95,135,175,215,255];for(let t=0;t<6;t++)for(let i=0;i<6;i++)for(let a=0;a<6;a++)r.push(n([e[t],e[i],e[a]]));let i=8;for(let e=0;e<24;e++,i+=10)r.push(n([i,i,i]));return r}function a(e){return i()[e]}function o(e){switch(e.type){case`named`:return t(e.name);case`rgb`:return n(e.rgb);case`table`:return a(e.index)}}return{value:o}}var co=/#([0-9a-f]{3,8})/i,lo=/var\((--[\w-]+-ansi-[\w-]+)\)/,uo={black:`#000000`,red:`#cd3131`,green:`#0DBC79`,yellow:`#E5E510`,blue:`#2472C8`,magenta:`#BC3FBC`,cyan:`#11A8CD`,white:`#E5E5E5`,brightBlack:`#666666`,brightRed:`#F14C4C`,brightGreen:`#23D18B`,brightYellow:`#F5F543`,brightBlue:`#3B8EEA`,brightMagenta:`#D670D6`,brightCyan:`#29B8DB`,brightWhite:`#FFFFFF`};function fo(e,t,n){let r=Zn(e,n),i=or(t),a=so(Object.fromEntries(eo.map(t=>{let n=`terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;return[t,e.colors?.[n]||uo[t]]}))),o=ao();return i.map(t=>o.parse(t[0]).map(n=>{let i,o;n.decorations.has(`reverse`)?(i=n.background?a.value(n.background):e.bg,o=n.foreground?a.value(n.foreground):e.fg):(i=n.foreground?a.value(n.foreground):e.fg,o=n.background?a.value(n.background):void 0),i=Qn(i,r),o=Qn(o,r),n.decorations.has(`dim`)&&(i=po(i));let s=B.None;return n.decorations.has(`bold`)&&(s|=B.Bold),n.decorations.has(`italic`)&&(s|=B.Italic),n.decorations.has(`underline`)&&(s|=B.Underline),n.decorations.has(`strikethrough`)&&(s|=B.Strikethrough),{content:n.value,offset:t[1],color:i,bgColor:o,fontStyle:s}}))}function po(e){let t=e.match(co);if(t){let e=t[1];if(e.length===8){let t=Math.round(Number.parseInt(e.slice(6,8),16)/2).toString(16).padStart(2,`0`);return`#${e.slice(0,6)}${t}`}else if(e.length===6)return`#${e}80`;else if(e.length===4){let t=e[0],n=e[1],r=e[2],i=e[3];return`#${t}${t}${n}${n}${r}${r}${Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,`0`)}`}else if(e.length===3){let t=e[0],n=e[1],r=e[2];return`#${t}${t}${n}${n}${r}${r}80`}}let n=e.match(lo);return n?`var(${n[1]}-dim)`:e}function mo(e,t,n={}){let r=e.resolveLangAlias(n.lang||`text`),{theme:i=e.getLoadedThemes()[0]}=n;if(!tr(r)&&!rr(i)&&r===`ansi`){let{theme:r}=e.setTheme(i);return fo(r,t,n)}return Dr(e,t,n)}function ho(e,t,n){let r,i,a,o,s,c;if(`themes`in n){let{defaultColor:l=`light`,cssVariablePrefix:u=`--shiki-`,colorsRendering:d=`css-vars`}=n,f=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})).sort((e,t)=>e.color===l?-1:+(t.color===l));if(f.length===0)throw new z("`themes` option must not be empty");let p=Ir(e,t,n,mo);if(c=xr(p),l&&l!==`light-dark()`&&!f.some(e=>e.color===l))throw new z(`\`themes\` option must contain the defaultColor key \`${l}\``);let m=f.map(t=>e.getTheme(t.theme)),h=f.map(e=>e.color);a=p.map(e=>e.map(e=>Ga(e,h,u,l,d))),c&&br(a,c);let g=f.map(e=>Zn(e.theme,n));i=go(f,m,g,u,l,`fg`,d),r=go(f,m,g,u,l,`bg`,d),o=`shiki-themes ${m.map(e=>e.name).join(` `)}`,s=l?void 0:[i,r].join(`;`)}else if(`theme`in n){let s=Zn(n.theme,n);a=mo(e,t,n);let l=e.getTheme(n.theme);r=Qn(l.bg,s),i=Qn(l.fg,s),o=l.name,c=xr(a)}else throw new z("Invalid options, either `theme` or `themes` must be provided");return{tokens:a,fg:i,bg:r,themeName:o,rootStyle:s,grammarState:c}}function go(e,t,n,r,i,a,o){return e.map((s,c)=>{let l=Qn(t[c][a],n[c])||`inherit`,u=`${r+s.color}${a===`bg`?`-bg`:``}:${l}`;if(c===0&&i){if(i===`light-dark()`&&e.length>1){let r=e.findIndex(e=>e.color===`light`),i=e.findIndex(e=>e.color===`dark`);if(r===-1||i===-1)throw new z('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${Qn(t[r][a],n[r])||`inherit`}, ${Qn(t[i][a],n[i])||`inherit`});${u}`}return l}return o===`css-vars`?u:null}).filter(e=>!!e).join(`;`)}var _o=/^\s+$/,vo=/^(\s*)(.*?)(\s*)$/;function yo(e,t,n,r={meta:{},options:n,codeToHast:(t,n)=>yo(e,t,n),codeToTokens:(t,n)=>ho(e,t,n)}){let i=t;for(let e of Qa(n))i=e.preprocess?.call(r,i,n)||i;let{tokens:a,fg:o,bg:s,themeName:c,rootStyle:l,grammarState:u}=ho(e,i,n),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?a=xo(a):d===`never`&&(a=So(a)),f&&(a=Co(a));let p={...r,get source(){return i}};for(let e of Qa(n))a=e.tokens?.call(p,a)||a;return bo(a,{...n,fg:o,bg:s,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},p,u)}function bo(e,t,n,r=xr(e)){let i=Qa(t),a=[],o={type:`root`,children:[]},{structure:s=`classic`,tabindex:c=`0`}=t,l={class:`shiki ${t.themeName||``}`};t.rootStyle!==!1&&(t.rootStyle==null?l.style=`background-color:${t.bg};color:${t.fg}`:l.style=t.rootStyle),c!==!1&&c!=null&&(l.tabindex=c.toString());for(let[e,n]of Object.entries(t.meta||{}))e.startsWith(`_`)||(l[e]=n);let u={type:`element`,tagName:`pre`,properties:l,children:[],data:t.data},d={type:`element`,tagName:`code`,properties:{},children:a},f=[],p={...n,structure:s,addClassToHast:za,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return o},get pre(){return u},get code(){return d},get lines(){return f}};if(e.forEach((e,t)=>{t&&(s===`inline`?o.children.push({type:`element`,tagName:`br`,properties:{},children:[]}):s===`classic`&&a.push({type:`text`,value:`
12
- `}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=qa(a.htmlStyle||Ka(a));c&&(e.properties.style=c);for(let o of i)e=o?.span?.call(p,e,t+1,r,n,a)||e;s===`inline`?o.children.push(e):s===`classic`&&n.children.push(e),r+=a.content.length}if(s===`classic`){for(let e of i)n=e?.line?.call(p,n,t+1)||n;f.push(n),a.push(n)}else s===`inline`&&f.push(n)}),s===`classic`){for(let e of i)d=e?.code?.call(p,d)||d;u.children.push(d);for(let e of i)u=e?.pre?.call(p,u)||u;o.children.push(u)}else if(s===`inline`){let e=[],t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]};for(let n of o.children)n.type===`element`&&n.tagName===`br`?(e.push(t),t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]}):(n.type===`element`||n.type===`text`)&&t.children.push(n);e.push(t);let n={type:`element`,tagName:`code`,properties:{},children:e};for(let e of i)n=e?.code?.call(p,n)||n;o.children=[];for(let e=0;e<n.children.length;e++){e>0&&o.children.push({type:`element`,tagName:`br`,properties:{},children:[]});let t=n.children[e];t.type===`element`&&o.children.push(...t.children)}}let m=o;for(let e of i)m=e?.root?.call(p,m)||m;return r&&br(m,r),m}function xo(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&B.Underline||i.fontStyle&B.Strikethrough));o&&_o.test(i.content)&&e[a+1]?(r===void 0&&(r=i.offset),n+=i.content):n?(o?t.push({...i,offset:r,content:n+i.content}):t.push({content:n,offset:r},i),r=void 0,n=``):t.push(i)}),t})}function So(e){return e.map(e=>e.flatMap(e=>{if(_o.test(e.content))return e;let t=e.content.match(vo);if(!t)return e;let[,n,r,i]=t;if(!n&&!i)return e;let a=[{...e,offset:e.offset+n.length,content:r}];return n&&a.unshift({content:n,offset:e.offset}),i&&a.push({content:i,offset:e.offset+n.length+r.length}),a}))}function Co(e){return e.map(e=>{let t=[];for(let n of e){if(t.length===0){t.push({...n});continue}let e=t.at(-1),r=qa(e.htmlStyle||Ka(e)),i=qa(n.htmlStyle||Ka(n)),a=e.fontStyle&&(e.fontStyle&B.Underline||e.fontStyle&B.Strikethrough),o=n.fontStyle&&(n.fontStyle&B.Underline||n.fontStyle&B.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var wo=Fa;function To(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>yo(e,t,n),codeToTokens:(t,n)=>ho(e,t,n)},i=wo(yo(e,t,n,r));for(let e of Qa(n))i=e.postprocess?.call(r,i,n)||i;return i}async function Eo(e){let t=await vr(e);return{getLastGrammarState:(...e)=>Or(t,...e),codeToTokensBase:(e,n)=>mo(t,e,n),codeToTokensWithThemes:(e,n)=>Ir(t,e,n),codeToTokens:(e,n)=>ho(t,e,n),codeToHast:(e,n)=>yo(t,e,n),codeToHtml:(e,n)=>To(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}var Do=4294967295,Oo=class{patterns;options;regexps;constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:n=!1,cache:r,regexConstructor:i}=t;if(!i)throw Error("Option `regexConstructor` is not provided");this.regexps=e.map(e=>{if(typeof e!=`string`)return e;let t=r?.get(e);if(t){if(t instanceof RegExp)return t;if(n)return null;throw t}try{let t=i(e);return r?.set(e,t),t}catch(t){if(r?.set(e,t),n)return null;throw t}})}findNextMatchSync(e,t,n){let r=typeof e==`string`?e:e.content,i=[];function a(e,t,n=0){return{index:e,captureIndices:t.indices.map(e=>e==null?{start:Do,end:Do,length:0}:{start:e[0]+n,end:e[1]+n,length:e[1]-e[0]})}}for(let e=0;e<this.regexps.length;e++){let n=this.regexps[e];if(n)try{n.lastIndex=t;let o=n.exec(r);if(!o)continue;if(o.index===t)return a(e,o,0);i.push([e,o,0])}catch(e){if(this.options.forgiving)continue;throw e}}if(i.length){let e=Math.min(...i.map(e=>e[1].index));for(let[t,n,r]of i)if(n.index===e)return a(t,n,r)}return null}};function ko(e){if([...e].length!==1)throw Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function Ao(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}var jo=new Set([`alnum`,`alpha`,`ascii`,`blank`,`cntrl`,`digit`,`graph`,`lower`,`print`,`punct`,`space`,`upper`,`word`,`xdigit`]),J=String.raw;function Mo(e,t){if(e==null)throw Error(t??`Value expected`);return e}var No=J`\[\^?`,Po=`c.? | C(?:-.?)?|${J`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${J`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${J`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${J`o\{[^\}]*\}?`}|${J`\d{1,3}`}`,Fo=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,Io=new RegExp(J`
13
- \\ (?:
14
- ${Po}
15
- | [gk]<[^>]*>?
16
- | [gk]'[^']*'?
17
- | .
18
- )
19
- | \( (?:
20
- \? (?:
21
- [:=!>({]
22
- | <[=!]
23
- | <[^>]*>
24
- | '[^']*'
25
- | ~\|?
26
- | #(?:[^)\\]|\\.?)*
27
- | [^:)]*[:)]
28
- )?
29
- | \*[^\)]*\)?
30
- )?
31
- | (?:${Fo.source})+
32
- | ${No}
33
- | .
34
- `.replace(/\s+/g,``),`gsu`),Lo=new RegExp(J`
35
- \\ (?:
36
- ${Po}
37
- | .
38
- )
39
- | \[:(?:\^?\p{Alpha}+|\^):\]
40
- | ${No}
41
- | &&
42
- | .
43
- `.replace(/\s+/g,``),`gsu`);function Ro(e,t={}){let n={flags:``,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!=`string`)throw Error(`String expected as pattern`);let r=ms(n.flags),i=[r.extended],a={captureGroup:n.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(e){i.push(e)},replaceCurrentModX(e){i[i.length-1]=e},singleline:n.rules.singleline},o=[],s;for(Io.lastIndex=0;s=Io.exec(e);){let t=zo(a,e,s[0],Io.lastIndex);t.tokens?o.push(...t.tokens):t.token&&o.push(t.token),t.lastIndex!==void 0&&(Io.lastIndex=t.lastIndex)}let c=[],l=0;o.filter(e=>e.type===`GroupOpen`).forEach(e=>{e.kind===`capturing`?e.number=++l:e.raw===`(`&&c.push(e)}),l||c.forEach((e,t)=>{e.kind=`capturing`,e.number=t+1});let u=l||c.length;return{tokens:o.map(e=>e.type===`EscapedNumber`?gs(e,u):e).flat(),flags:r}}function zo(e,t,n,r){let[i,a]=n;if(n===`[`||n===`[^`){let e=Bo(t,n,r);return{tokens:e.tokens,lastIndex:e.lastIndex}}if(i===`\\`){if(`AbBGyYzZ`.includes(a))return{token:Wo(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw Error(`Invalid group name "${n}"`);return{token:is(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw Error(`Invalid group name "${n}"`);return{token:Go(n)}}if(a===`K`)return{token:Qo(`keep`,n)};if(a===`N`||a===`R`)return{token:Zo(`newline`,n,{negate:a===`N`})};if(a===`O`)return{token:Zo(`any`,n)};if(a===`X`)return{token:Zo(`text_segment`,n)};let e=Ho(n,{inCharClass:!1});return Array.isArray(e)?{tokens:e}:{token:e}}if(i===`(`){if(a===`*`)return{token:ls(n)};if(n===`(?{`)throw Error(`Unsupported callout "${n}"`);if(n.startsWith(`(?#`)){if(t[r]!==`)`)throw Error(`Unclosed comment group "(?#"`);return{lastIndex:r+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:cs(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n===`(`&&!e.captureGroup||n===`(?:`)return{token:ts(`group`,n)};if(n===`(?>`)return{token:ts(`atomic`,n)};if(n===`(?=`||n===`(?!`||n===`(?<=`||n===`(?<!`)return{token:ts(n[2]===`<`?`lookbehind`:`lookahead`,n,{negate:n.endsWith(`!`)})};if(n===`(`&&e.captureGroup||n.startsWith(`(?<`)&&n.endsWith(`>`)||n.startsWith(`(?'`)&&n.endsWith(`'`))return{token:ts(`capturing`,n,{...n!==`(`&&{name:n.slice(3,-1)}})};if(n.startsWith(`(?~`)){if(n===`(?~|`)throw Error(`Unsupported absence function kind "${n}"`);return{token:ts(`absence_repeater`,n)}}throw Error(n===`(?(`?`Unsupported conditional "${n}"`:`Invalid or unsupported group option "${n}"`)}if(n===`)`){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw Error(`Unmatched ")"`);return{token:es(n)}}if(e.getCurrentModX()){if(n===`#`){let e=t.indexOf(`
44
- `,r);return{lastIndex:e===-1?t.length:e}}if(/^\s$/.test(n)){let e=/\s+/y;return e.lastIndex=r,{lastIndex:e.exec(t)?e.lastIndex:r}}}return n===`.`?{token:Zo(`dot`,n)}:n===`^`||n===`$`?{token:Wo(e.singleline?{"^":J`\A`,$:J`\Z`}[n]:n,n)}:n===`|`?{token:Uo(n)}:Fo.test(n)?{tokens:_s(n)}:{token:Ko(ko(n),n)}}function Bo(e,t,n){let r=[Xo(t[1]===`^`,t)],i=1,a;for(Lo.lastIndex=n;a=Lo.exec(e);){let e=a[0];if(e[0]===`[`&&e[1]!==`:`)i++,r.push(Xo(e[1]===`^`,e));else if(e===`]`){if(r.at(-1).type===`CharacterClassOpen`)r.push(Ko(93,e));else if(i--,r.push(qo(e)),!i)break}else{let t=Vo(e);Array.isArray(t)?r.push(...t):r.push(t)}}return{tokens:r,lastIndex:Lo.lastIndex||e.length}}function Vo(e){if(e[0]===`\\`)return Ho(e,{inCharClass:!0});if(e[0]===`[`){let t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!jo.has(t.groups.name))throw Error(`Invalid POSIX class "${e}"`);return Zo(`posix`,e,{value:t.groups.name,negate:!!t.groups.negate})}return e===`-`?Jo(e):e===`&&`?Yo(e):Ko(ko(e),e)}function Ho(e,{inCharClass:t}){let n=e[1];if(n===`c`||n===`C`)return ss(e);if(`dDhHsSwW`.includes(n))return ds(e);if(e.startsWith(J`\o{`))throw Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw Error(`Incomplete or invalid Unicode property "${e}"`);return fs(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let t=e.split(/\\x/).slice(1).map(e=>parseInt(e,16)),n=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(t)),r=new TextEncoder;return[...n].map(e=>{let t=[...r.encode(e)].map(e=>`\\x${e.toString(16)}`).join(``);return Ko(ko(e),t)})}catch{throw Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(n===`u`||n===`x`)return Ko(hs(e),e);if(os.has(n))return Ko(os.get(n),e);if(/\d/.test(n))return $o(t,e);if(e===`\\`)throw Error(J`Incomplete escape "\"`);if(n===`M`)throw Error(`Unsupported meta "${e}"`);if([...e].length===2)return Ko(e.codePointAt(1),e);throw Error(`Unexpected escape "${e}"`)}function Uo(e){return{type:`Alternator`,raw:e}}function Wo(e,t){return{type:`Assertion`,kind:e,raw:t}}function Go(e){return{type:`Backreference`,raw:e}}function Ko(e,t){return{type:`Character`,value:e,raw:t}}function qo(e){return{type:`CharacterClassClose`,raw:e}}function Jo(e){return{type:`CharacterClassHyphen`,raw:e}}function Yo(e){return{type:`CharacterClassIntersector`,raw:e}}function Xo(e,t){return{type:`CharacterClassOpen`,negate:e,raw:t}}function Zo(e,t,n={}){return{type:`CharacterSet`,kind:e,...n,raw:t}}function Qo(e,t,n={}){return e===`keep`?{type:`Directive`,kind:e,raw:t}:{type:`Directive`,kind:e,flags:Mo(n.flags),raw:t}}function $o(e,t){return{type:`EscapedNumber`,inCharClass:e,raw:t}}function es(e){return{type:`GroupClose`,raw:e}}function ts(e,t,n={}){return{type:`GroupOpen`,kind:e,...n,raw:t}}function ns(e,t,n,r){return{type:`NamedCallout`,kind:e,tag:t,arguments:n,raw:r}}function rs(e,t,n,r){return{type:`Quantifier`,kind:e,min:t,max:n,raw:r}}function is(e){return{type:`Subroutine`,raw:e}}var as=new Set([`COUNT`,`CMP`,`ERROR`,`FAIL`,`MAX`,`MISMATCH`,`SKIP`,`TOTAL_COUNT`]),os=new Map([[`a`,7],[`b`,8],[`e`,27],[`f`,12],[`n`,10],[`r`,13],[`t`,9],[`v`,11]]);function ss(e){let t=e[1]===`c`?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw Error(`Unsupported control character "${e}"`);return Ko(ko(t.toUpperCase())-64,e)}function cs(e,t){let{on:n,off:r}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;r??=``;let i=(t.getCurrentModX()||n.includes(`x`))&&!r.includes(`x`),a=ps(n),o=ps(r),s={};if(a&&(s.enable=a),o&&(s.disable=o),e.endsWith(`)`))return t.replaceCurrentModX(i),Qo(`flags`,e,{flags:s});if(e.endsWith(`:`))return t.pushModX(i),t.numOpenGroups++,ts(`group`,e,{...(a||o)&&{flags:s}});throw Error(`Unexpected flag modifier "${e}"`)}function ls(e){let t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw Error(`Incomplete or invalid named callout "${e}"`);let{name:n,tag:r,args:i}=t.groups;if(!n)throw Error(`Invalid named callout "${e}"`);if(r===``)throw Error(`Named callout tag with empty value not allowed "${e}"`);let a=i?i.split(`,`).filter(e=>e!==``).map(e=>/^[+-]?\d+$/.test(e)?+e:e):[],[o,s,c]=a,l=as.has(n)?n.toLowerCase():`custom`;switch(l){case`fail`:case`mismatch`:case`skip`:if(a.length>0)throw Error(`Named callout arguments not allowed "${a}"`);break;case`error`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(typeof o==`string`)throw Error(`Named callout argument must be a number "${o}"`);break;case`max`:if(!a.length||a.length>2)throw Error(`Named callout must have one or two arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(a.length===2&&(typeof s==`number`||!/^[<>X]$/.test(s)))throw Error(`Named callout optional argument two must be '<', '>', or 'X' "${s}"`);break;case`count`:case`total_count`:if(a.length>1)throw Error(`Named callout allows only one argument "${a}"`);if(a.length===1&&(typeof o==`number`||!/^[<>X]$/.test(o)))throw Error(`Named callout optional argument must be '<', '>', or 'X' "${o}"`);break;case`cmp`:if(a.length!==3)throw Error(`Named callout must have three arguments "${a}"`);if(typeof o==`string`&&!/^[A-Za-z_]\w*$/.test(o))throw Error(`Named callout argument one must be a tag or number "${o}"`);if(typeof s==`number`||!/^(?:[<>!=]=|[<>])$/.test(s))throw Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${s}"`);if(typeof c==`string`&&!/^[A-Za-z_]\w*$/.test(c))throw Error(`Named callout argument three must be a tag or number "${c}"`);break;case`custom`:throw Error(`Undefined callout name "${n}"`);default:throw Error(`Unexpected named callout kind "${l}"`)}return ns(l,r??null,i?.split(`,`)??null,e)}function us(e){let t=null,n,r;if(e[0]===`{`){let{minStr:i,maxStr:a}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,o=1e5;if(+i>o||a&&+a>o)throw Error(`Quantifier value unsupported in Oniguruma`);if(n=+i,r=a===void 0?+i:a===``?1/0:+a,n>r&&(t=`possessive`,[n,r]=[r,n]),e.endsWith(`?`)){if(t===`possessive`)throw Error(`Unsupported possessive interval quantifier chain with "?"`);t=`lazy`}else t||=`greedy`}else n=+(e[0]===`+`),r=e[0]===`?`?1:1/0,t=e[1]===`+`?`possessive`:e[1]===`?`?`lazy`:`greedy`;return rs(t,n,r,e)}function ds(e){let t=e[1].toLowerCase();return Zo({d:`digit`,h:`hex`,s:`space`,w:`word`}[t],e,{negate:e[1]!==t})}function fs(e){let{p:t,neg:n,value:r}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return Zo(`property`,e,{value:r,negate:t===`P`&&!n||t===`p`&&!!n})}function ps(e){let t={};return e.includes(`i`)&&(t.ignoreCase=!0),e.includes(`m`)&&(t.dotAll=!0),e.includes(`x`)&&(t.extended=!0),Object.keys(t).length?t:null}function ms(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n<e.length;n++){let r=e[n];if(!`imxDPSWy`.includes(r))throw Error(`Invalid flag "${r}"`);if(r===`y`){if(!/^y{[gw]}/.test(e.slice(n)))throw Error(`Invalid or unspecified flag "y" mode`);t.textSegmentMode=e[n+2]===`g`?`grapheme`:`word`,n+=3;continue}t[{i:`ignoreCase`,m:`dotAll`,x:`extended`,D:`digitIsAscii`,P:`posixIsAscii`,S:`spaceIsAscii`,W:`wordIsAscii`}[r]]=!0}return t}function hs(e){if(/^(?:\\u(?!\p{AHex}{4})|\\x(?!\p{AHex}{1,2}|\{\p{AHex}{1,8}\}))/u.test(e))throw Error(`Incomplete or invalid escape "${e}"`);let t=e[2]===`{`?/^\\x\{\s*(?<hex>\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function gs(e,t){let{raw:n,inCharClass:r}=e,i=n.slice(1);if(!r&&(i!==`0`&&i.length===1||i[0]!==`0`&&+i<=t))return[Go(n)];let a=[],o=i.match(/^[0-7]+|\d/g);for(let e=0;e<o.length;e++){let t=o[e],r;if(e===0&&t!==`8`&&t!==`9`){if(r=parseInt(t,8),r>127)throw Error(J`Octal encoded byte above 177 unsupported "${n}"`)}else r=ko(t);a.push(Ko(r,(e===0?`\\`:``)+t))}return a}function _s(e){let t=[],n=new RegExp(Fo,`gy`),r;for(;r=n.exec(e);){let e=r[0];if(e[0]===`{`){let r=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(e);if(r){let{min:i,max:a}=r.groups;if(+i>+a&&e.endsWith(`?`)){n.lastIndex--,t.push(us(e.slice(0,-1)));continue}}}t.push(us(e))}return t}function vs(e,t){if(!Array.isArray(e.body))throw Error(`Expected node with body array`);if(e.body.length!==1)return!1;let n=e.body[0];return!t||Object.keys(t).every(e=>t[e]===n[e])}function ys(e){return bs.has(e.type)}var bs=new Set([`AbsenceFunction`,`Backreference`,`CapturingGroup`,`Character`,`CharacterClass`,`CharacterSet`,`Group`,`Quantifier`,`Subroutine`]);function xs(e,t={}){let n={flags:``,normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},r=Ro(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),i=(e,t)=>{let n=r.tokens[a.nextIndex];switch(a.parent=e,a.nextIndex++,n.type){case`Alternator`:return js();case`Assertion`:return Ss(n);case`Backreference`:return Cs(n,a);case`Character`:return Fs(n.value,{useLastValid:!!t.isCheckingRangeEnd});case`CharacterClassHyphen`:return ws(n,a,t);case`CharacterClassOpen`:return Ts(n,a,t);case`CharacterSet`:return Es(n,a);case`Directive`:return zs(n.kind,{flags:n.flags});case`GroupOpen`:return Ds(n,a,t);case`NamedCallout`:return Us(n.kind,n.tag,n.arguments);case`Quantifier`:return Os(n,a);case`Subroutine`:return ks(n,a);default:throw Error(`Unexpected token type "${n.type}"`)}},a={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:r.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:i},o=Ks(Bs(r.flags)),s=o.body[0];for(;a.nextIndex<r.tokens.length;){let e=i(s,{});e.type===`Alternative`?(o.body.push(e),s=e):s.body.push(e)}let{capturingGroups:c,hasNumberedRef:l,namedGroupsByName:u,subroutines:d}=a;if(l&&u.size&&!n.rules.captureGroup)throw Error(`Numbered backref/subroutine not allowed when using named capture`);for(let{ref:e}of d)if(typeof e==`number`){if(e>c.length)throw Error(`Subroutine uses a group number that's not defined`);e&&(c[e-1].isSubroutined=!0)}else if(u.has(e)){if(u.get(e).length>1)throw Error(J`Subroutine uses a duplicate group name "\g<${e}>"`);u.get(e)[0].isSubroutined=!0}else throw Error(J`Subroutine uses a group name that's not defined "\g<${e}>"`);return o}function Ss({kind:e}){return Ms(Mo({"^":`line_start`,$:`line_end`,"\\A":`string_start`,"\\b":`word_boundary`,"\\B":`word_boundary`,"\\G":`search_start`,"\\y":`text_segment_boundary`,"\\Y":`text_segment_boundary`,"\\z":`string_end`,"\\Z":`string_end_newline`}[e],`Unexpected assertion kind "${e}"`),{negate:e===J`\B`||e===J`\Y`})}function Cs({raw:e},t){let n=/^\\k[<']/.test(e),r=n?e.slice(3,-1):e.slice(1),i=(n,r=!1)=>{let i=t.capturingGroups.length,a=!1;if(n>i)if(t.skipBackrefValidation)a=!0;else throw Error(`Not enough capturing groups defined to the left "${e}"`);return t.hasNumberedRef=!0,Ns(r?i+1-n:n,{orphan:a})};if(n){let n=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(r);if(n)return i(+n.groups.num,!!n.groups.sign);if(/[-+]/.test(r))throw Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(r))throw Error(`Group name not defined to the left "${e}"`);return Ns(r)}return i(+r)}function ws(e,t,n){let{tokens:r,walk:i}=t,a=t.parent,o=a.body.at(-1),s=r[t.nextIndex];if(!n.isCheckingRangeEnd&&o&&o.type!==`CharacterClass`&&o.type!==`CharacterClassRange`&&s&&s.type!==`CharacterClassOpen`&&s.type!==`CharacterClassClose`&&s.type!==`CharacterClassIntersector`){let e=i(a,{...n,isCheckingRangeEnd:!0});if(o.type===`Character`&&e.type===`Character`)return a.body.pop(),Ls(o,e);throw Error(`Invalid character class range`)}return Fs(ko(`-`))}function Ts({negate:e},t,n){let{tokens:r,walk:i}=t,a=[Is()],o=r[t.nextIndex],s=rc(o);for(;s.type!==`CharacterClassClose`;){if(s.type===`CharacterClassIntersector`)a.push(Is()),t.nextIndex++;else{let e=a.at(-1);e.body.push(i(e,n))}s=rc(r[t.nextIndex],o)}let c=Is({negate:e});return a.length===1?c.body=a[0].body:(c.kind=`intersection`,c.body=a.map(e=>e.body.length===1?e.body[0]:e)),t.nextIndex++,c}function Es({kind:e,negate:t,value:n},r){let{normalizeUnknownPropertyNames:i,skipPropertyNameValidation:a,unicodePropertyMap:o}=r;if(e===`property`){let r=nc(n);if(jo.has(r)&&!o?.has(r))e=`posix`,n=r;else return Js(n,{negate:t,normalizeUnknownPropertyNames:i,skipPropertyNameValidation:a,unicodePropertyMap:o})}return e===`posix`?Ws(n,{negate:t}):Rs(e,{negate:t})}function Ds(e,t,n){let{tokens:r,capturingGroups:i,namedGroupsByName:a,skipLookbehindValidation:o,walk:s}=t,c=Ys(e),l=c.type===`AbsenceFunction`,u=$s(c),d=u&&c.negate;if(c.type===`CapturingGroup`&&(i.push(c),c.name&&Ao(a,c.name,[]).push(c)),l&&n.isInAbsenceFunction)throw Error(`Nested absence function not supported by Oniguruma`);let f=ic(r[t.nextIndex]);for(;f.type!==`GroupClose`;){if(f.type===`Alternator`)c.body.push(js()),t.nextIndex++;else{let e=c.body.at(-1),t=s(e,{...n,isInAbsenceFunction:n.isInAbsenceFunction||l,isInLookbehind:n.isInLookbehind||u,isInNegLookbehind:n.isInNegLookbehind||d});if(e.body.push(t),(u||n.isInLookbehind)&&!o){let e=`Lookbehind includes a pattern not allowed by Oniguruma`;if(d||n.isInNegLookbehind){if(Qs(t)||t.type===`CapturingGroup`)throw Error(e)}else if(Qs(t)||$s(t)&&t.negate)throw Error(e)}}f=ic(r[t.nextIndex])}return t.nextIndex++,c}function Os({kind:e,min:t,max:n},r){let i=r.parent,a=i.body.at(-1);if(!a||!ys(a))throw Error(`Quantifier requires a repeatable token`);let o=Gs(e,t,n,a);return i.body.pop(),o}function ks({raw:e},t){let{capturingGroups:n,subroutines:r}=t,i=e.slice(3,-1),a=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(i);if(a){let e=+a.groups.num,r=n.length;if(t.hasNumberedRef=!0,i={"":e,"+":r+e,"-":r+1-e}[a.groups.sign],i<1)throw Error(`Invalid subroutine number`)}else i===`0`&&(i=0);let o=qs(i);return r.push(o),o}function As(e,t){if(e!==`repeater`)throw Error(`Unexpected absence function kind "${e}"`);return{type:`AbsenceFunction`,kind:e,body:Xs(t?.body)}}function js(e){return{type:`Alternative`,body:Zs(e?.body)}}function Ms(e,t){let n={type:`Assertion`,kind:e};return(e===`word_boundary`||e===`text_segment_boundary`)&&(n.negate=!!t?.negate),n}function Ns(e,t){let n=!!t?.orphan;return{type:`Backreference`,ref:e,...n&&{orphan:n}}}function Ps(e,t){let n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!ec(n.name))throw Error(`Group name "${n.name}" invalid in Oniguruma`);return{type:`CapturingGroup`,number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:Xs(t?.body)}}function Fs(e,t){let n={useLastValid:!1,...t};if(e>1114111){let t=e.toString(16);if(n.useLastValid)e=1114111;else throw Error(e>1310719?`Invalid code point out of range "\\x{${t}}"`:`Invalid code point out of range in JS "\\x{${t}}"`)}return{type:`Character`,value:e}}function Is(e){let t={kind:`union`,negate:!1,...e};return{type:`CharacterClass`,kind:t.kind,negate:t.negate,body:Zs(e?.body)}}function Ls(e,t){if(t.value<e.value)throw Error(`Character class range out of order`);return{type:`CharacterClassRange`,min:e,max:t}}function Rs(e,t){let n=!!t?.negate,r={type:`CharacterSet`,kind:e};return(e===`digit`||e===`hex`||e===`newline`||e===`space`||e===`word`)&&(r.negate=n),(e===`text_segment`||e===`newline`&&!n)&&(r.variableLength=!0),r}function zs(e,t={}){if(e===`keep`)return{type:`Directive`,kind:e};if(e===`flags`)return{type:`Directive`,kind:e,flags:Mo(t.flags)};throw Error(`Unexpected directive kind "${e}"`)}function Bs(e){return{type:`Flags`,...e}}function Vs(e){let t=e?.atomic,n=e?.flags;if(t&&n)throw Error(`Atomic group cannot have flags`);return{type:`Group`,...t&&{atomic:t},...n&&{flags:n},body:Xs(e?.body)}}function Hs(e){let t={behind:!1,negate:!1,...e};return{type:`LookaroundAssertion`,kind:t.behind?`lookbehind`:`lookahead`,negate:t.negate,body:Xs(e?.body)}}function Us(e,t,n){return{type:`NamedCallout`,kind:e,tag:t,arguments:n}}function Ws(e,t){let n=!!t?.negate;if(!jo.has(e))throw Error(`Invalid POSIX class "${e}"`);return{type:`CharacterSet`,kind:`posix`,value:e,negate:n}}function Gs(e,t,n,r){if(t>n)throw Error(`Invalid reversed quantifier range`);return{type:`Quantifier`,kind:e,min:t,max:n,body:r}}function Ks(e,t){return{type:`Regex`,body:Xs(t?.body),flags:e}}function qs(e){return{type:`Subroutine`,ref:e}}function Js(e,t){let n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},r=n.unicodePropertyMap?.get(nc(e));if(!r){if(n.normalizeUnknownPropertyNames)r=tc(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw Error(J`Invalid Unicode property "\p{${e}}"`)}return{type:`CharacterSet`,kind:`property`,value:r??e,negate:n.negate}}function Ys({flags:e,kind:t,name:n,negate:r,number:i}){switch(t){case`absence_repeater`:return As(`repeater`);case`atomic`:return Vs({atomic:!0});case`capturing`:return Ps(i,{name:n});case`group`:return Vs({flags:e});case`lookahead`:case`lookbehind`:return Hs({behind:t===`lookbehind`,negate:r});default:throw Error(`Unexpected group kind "${t}"`)}}function Xs(e){if(e===void 0)e=[js()];else if(!Array.isArray(e)||!e.length||!e.every(e=>e.type===`Alternative`))throw Error(`Invalid body; expected array of one or more Alternative nodes`);return e}function Zs(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(e=>!!e.type))throw Error(`Invalid body; expected array of nodes`);return e}function Qs(e){return e.type===`LookaroundAssertion`&&e.kind===`lookahead`}function $s(e){return e.type===`LookaroundAssertion`&&e.kind===`lookbehind`}function ec(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function tc(e){return e.trim().replace(/[- _]+/g,`_`).replace(/[A-Z][a-z]+(?=[A-Z])/g,`$&_`).replace(/[A-Za-z]+/g,e=>e[0].toUpperCase()+e.slice(1).toLowerCase())}function nc(e){return e.replace(/[- _]+/g,``).toLowerCase()}function rc(e,t){let n=t;return Mo(e,`Unclosed character class${n?.type===`Character`&&n.value===93&&n.raw===`]`?` (started with "]")`:``}`)}function ic(e){return Mo(e,`Unclosed group`)}function ac(e,t,n=null){function r(e,t){for(let n=0;n<e.length;n++){let r=i(e[n],t,n,e);n=Math.max(-1,n+r)}}function i(a,o=null,s=null,c=null){let l=0,u=!1,d={node:a,parent:o,key:s,container:c,root:e,remove(){oc(c).splice(Math.max(0,sc(s)+l),1),l--,u=!0},removeAllNextSiblings(){return oc(c).splice(sc(s)+1)},removeAllPrevSiblings(){let e=sc(s)+l;return l-=e,oc(c).splice(0,Math.max(0,e))},replaceWith(e,t={}){let n=!!t.traverse;c?c[Math.max(0,sc(s)+l)]=e:Mo(o,`Can't replace root node`)[s]=e,n&&i(e,o,s,c),u=!0},replaceWithMultiple(e,t={}){let n=!!t.traverse;if(oc(c).splice(Math.max(0,sc(s)+l),1,...e),l+=e.length-1,n){let t=0;for(let n=0;n<e.length;n++)t+=i(e[n],o,sc(s)+n+t,c)}u=!0},skip(){u=!0}},{type:f}=a,p=t[`*`],m=t[f],h=typeof p==`function`?p:p?.enter,g=typeof m==`function`?m:m?.enter;if(h?.(d,n),g?.(d,n),!u)switch(f){case`AbsenceFunction`:case`Alternative`:case`CapturingGroup`:case`CharacterClass`:case`Group`:case`LookaroundAssertion`:r(a.body,a);break;case`Assertion`:case`Backreference`:case`Character`:case`CharacterSet`:case`Directive`:case`Flags`:case`NamedCallout`:case`Subroutine`:break;case`CharacterClassRange`:i(a.min,a,`min`),i(a.max,a,`max`);break;case`Quantifier`:i(a.body,a,`body`);break;case`Regex`:r(a.body,a),i(a.flags,a,`flags`);break;default:throw Error(`Unexpected node type "${f}"`)}return m?.exit?.(d,n),p?.exit?.(d,n),l}return i(e),e}function oc(e){if(!Array.isArray(e))throw Error(`Container expected`);return e}function sc(e){if(typeof e!=`number`)throw Error(`Numeric key expected`);return e}var cc=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function lc(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function uc(e,t,n,r){return e.slice(0,t)+r+e.slice(t+n.length)}var Y=Object.freeze({DEFAULT:`DEFAULT`,CHAR_CLASS:`CHAR_CLASS`});function dc(e,t,n,r){let i=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,`gsu`),a=[!1],o=0,s=``;for(let t of e.matchAll(i)){let{0:e,groups:{$skip:i}}=t;if(!i&&(!r||r===Y.DEFAULT==!o)){n instanceof Function?s+=n(t,{context:o?Y.CHAR_CLASS:Y.DEFAULT,negated:a[a.length-1]}):s+=n;continue}e[0]===`[`?(o++,a.push(e[1]===`^`)):e===`]`&&o&&(o--,a.pop()),s+=e}return s}function fc(e,t,n,r){dc(e,t,n,r)}function pc(e,t,n=0,r){if(!new RegExp(t,`su`).test(e))return null;let i=RegExp(`${t}|(?<$skip>\\\\?.)`,`gsu`);i.lastIndex=n;let a=0,o;for(;o=i.exec(e);){let{0:e,groups:{$skip:t}}=o;if(!t&&(!r||r===Y.DEFAULT==!a))return o;e===`[`?a++:e===`]`&&a&&a--,i.lastIndex==o.index&&i.lastIndex++}return null}function mc(e,t,n){return!!pc(e,t,0,n)}function hc(e,t){let n=/\\?./gsu;n.lastIndex=t;let r=e.length,i=0,a=1,o;for(;o=n.exec(e);){let[e]=o;if(e===`[`)i++;else if(i)e===`]`&&i--;else if(e===`(`)a++;else if(e===`)`&&(a--,!a)){r=o.index;break}}return e.slice(t,r)}var gc=new RegExp(String.raw`(?<noncapturingStart>${cc})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,`gsu`);function _c(e,t){let n=t?.hiddenCaptures??[],r=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:n};let i=[0],a=[],o=0,s=0,c=NaN,l;do{l=!1;let t=0,u=0,d=!1,f;for(gc.lastIndex=Number.isNaN(c)?0:c+7;f=gc.exec(e);){let{0:p,index:m,groups:{capturingStart:h,noncapturingStart:g}}=f;if(p===`[`)t++;else if(t)p===`]`&&t--;else if(p===`(?>`&&!d)c=m,d=!0;else if(d&&g)u++;else if(h)d?u++:(o++,i.push(o+s));else if(p===`)`&&d){if(!u){s++;let t=o+s;if(e=`${e.slice(0,c)}(?:(?=(${e.slice(c+3,m)}))<$$${t}>)${e.slice(m+1)}`,l=!0,a.push(t),lc(n,t),r.size){let e=new Map;r.forEach((n,r)=>{e.set(r>=t?r+1:r,n.map(e=>e>=t?e+1:e))}),r=e}break}u--}}}while(l);return n.push(...a),e=dc(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:e,groups:{backrefNum:t,wrappedBackrefNum:n}})=>{if(t){let n=+t;if(n>i.length-1)throw Error(`Backref "${e}" greater than number of captures`);return`\\${i[n]}`}return`\\${n}`},Y.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:n}}var vc=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,yc=new RegExp(String.raw`
45
- \\(?: \d+
46
- | c[A-Za-z]
47
- | [gk]<[^>]+>
48
- | [pPu]\{[^\}]+\}
49
- | u[A-Fa-f\d]{4}
50
- | x[A-Fa-f\d]{2}
51
- )
52
- | \((?: \? (?: [:=!>]
53
- | <(?:[=!]|[^>]+>)
54
- | [A-Za-z\-]+:
55
- | \(DEFINE\)
56
- ))?
57
- | (?<qBase>${vc})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
58
- | \\?.
59
- `.replace(/\s+/g,``),`gsu`);function bc(e){if(!RegExp(`${vc}\\+`).test(e))return{pattern:e};let t=[],n=null,r=null,i=``,a=0,o;for(yc.lastIndex=0;o=yc.exec(e);){let{0:s,index:c,groups:{qBase:l,qMod:u,invalidQ:d}}=o;if(s===`[`)a||(r=c),a++;else if(s===`]`)a?a--:r=null;else if(!a)if(u===`+`&&i&&!i.startsWith(`(`)){if(d)throw Error(`Invalid quantifier "${s}"`);let t=-1;if(/^\{\d+\}$/.test(l))e=uc(e,c+l.length,u,``);else{if(i===`)`||i===`]`){let t=i===`)`?n:r;if(t===null)throw Error(`Invalid unmatched "${i}"`);e=`${e.slice(0,t)}(?>${e.slice(t,c)}${l})${e.slice(c+s.length)}`}else e=`${e.slice(0,c-i.length)}(?>${i}${l})${e.slice(c+s.length)}`;t+=4}yc.lastIndex+=t}else s[0]===`(`?t.push(c):s===`)`&&(n=t.length?t.pop():null);i=s}return{pattern:e}}var X=String.raw,xc=X`\(\?R=(?<rDepth>[^\)]+)\)|${X`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`}`,Sc=X`\(\?<(?![=!])(?<captureName>[^>]+)>`,Cc=X`${Sc}|(?<unnamed>\()(?!\?)`,wc=new RegExp(X`${Sc}|${xc}|\(\?|\\?.`,`gsu`),Tc=`Cannot use multiple overlapping recursions`;function Ec(e,t){let{hiddenCaptures:n,mode:r}={hiddenCaptures:[],mode:`plugin`,...t},i=t?.captureTransfers??new Map;if(!new RegExp(xc,`su`).test(e))return{pattern:e,captureTransfers:i,hiddenCaptures:n};if(r===`plugin`&&mc(e,X`\(\?\(DEFINE\)`,Y.DEFAULT))throw Error(`DEFINE groups cannot be used with recursion`);let a=[],o=mc(e,X`\\[1-9]`,Y.DEFAULT),s=new Map,c=[],l=!1,u=0,d=0,f;for(wc.lastIndex=0;f=wc.exec(e);){let{0:t,groups:{captureName:p,rDepth:m,gRNameOrNum:h,gRDepth:g}}=f;if(t===`[`)u++;else if(u)t===`]`&&u--;else if(m){if(Dc(m),l)throw Error(Tc);if(o)throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with global recursion`);let t=e.slice(0,f.index),s=e.slice(wc.lastIndex);if(mc(s,xc,Y.DEFAULT))throw Error(Tc);let c=m-1;e=Oc(t,s,c,!1,n,a,d),i=jc(i,t,c,a.length,0,d);break}else if(h){Dc(g);let u=!1;for(let e of c)if(e.name===h||e.num===+h){if(u=!0,e.hasRecursedWithin)throw Error(Tc);break}if(!u)throw Error(X`Recursive \g cannot be used outside the referenced group "${r===`external`?h:X`\g<${h}&R=${g}>`}"`);let p=s.get(h),m=hc(e,p);if(o&&mc(m,X`${Sc}|\((?!\?)`,Y.DEFAULT))throw Error(`${r===`external`?`Backrefs`:`Numbered backrefs`} cannot be used with recursion of capturing groups`);let _=e.slice(p,f.index),v=m.slice(_.length+t.length),y=a.length,b=g-1,x=Oc(_,v,b,!0,n,a,d);i=jc(i,_,b,a.length-y,y,d),e=`${e.slice(0,p)}${x}${e.slice(p+m.length)}`,wc.lastIndex+=x.length-t.length-_.length-v.length,c.forEach(e=>e.hasRecursedWithin=!0),l=!0}else if(p)d++,s.set(String(d),wc.lastIndex),s.set(p,wc.lastIndex),c.push({num:d,name:p});else if(t[0]===`(`){let e=t===`(`;e&&(d++,s.set(String(d),wc.lastIndex)),c.push(e?{num:d}:{})}else t===`)`&&c.pop()}return n.push(...a),{pattern:e,captureTransfers:i,hiddenCaptures:n}}function Dc(e){let t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e)||(e=+e,e<2||e>100))throw Error(t)}function Oc(e,t,n,r,i,a,o){let s=new Set;r&&fc(e+t,Sc,({groups:{captureName:e}})=>{s.add(e)},Y.DEFAULT);let c=[n,r?s:null,i,a,o];return`${e}${kc(`(?:${e}`,`forward`,...c)}(?:)${kc(`${t})`,`backward`,...c)}${t}`}function kc(e,t,n,r,i,a,o){let s=e=>t===`forward`?e+2:n-e+2-1,c=``;for(let t=0;t<n;t++){let n=s(t);c+=dc(e,X`${Cc}|\\k<(?<backref>[^>]+)>`,({0:e,groups:{captureName:t,unnamed:s,backref:c}})=>{if(c&&r&&!r.has(c))return e;let l=`_$${n}`;if(s||t){let n=o+a.length+1;return a.push(n),Ac(i,n),s?e:`(?<${t}${l}>`}return X`\k<${c}${l}>`},Y.DEFAULT)}return c}function Ac(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function jc(e,t,n,r,i,a){if(e.size&&r){let o=0;fc(t,Cc,()=>o++,Y.DEFAULT);let s=a-o+i,c=new Map;return e.forEach((e,t)=>{let i=(r-o*n)/n,a=o*n,l=t>s+o?t+r:t,u=[];for(let t of e)if(t<=s)u.push(t);else if(t>s+o+i)u.push(t+r);else if(t<=s+o)for(let e=0;e<=n;e++)u.push(t+o*e);else for(let e=0;e<=n;e++)u.push(t+a+i*e);c.set(l,u)}),c}return e}var Z=String.fromCodePoint,Q=String.raw,Mc={},Nc=globalThis.RegExp;Mc.flagGroups=(()=>{try{new Nc(`(?i:)`)}catch{return!1}return!0})(),Mc.unicodeSets=(()=>{try{new Nc(`[[]]`,`v`)}catch{return!1}return!0})(),Mc.bugFlagVLiteralHyphenIsRange=Mc.unicodeSets?(()=>{try{new Nc(Q`[\d\-a]`,`v`)}catch{return!0}return!1})():!1,Mc.bugNestedClassIgnoresNegation=Mc.unicodeSets&&new Nc(`[[^a]]`,`v`).test(`a`);function Pc(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function Fc(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function Ic(e,t){return Rc[e]>=Rc[t]}function Lc(e,t){if(e==null)throw Error(t??`Value expected`);return e}var Rc={ES2025:2025,ES2024:2024,ES2018:2018},zc={auto:`auto`,ES2025:`ES2025`,ES2024:`ES2024`,ES2018:`ES2018`};function Bc(e={}){if({}.toString.call(e)!==`[object Object]`)throw Error(`Unexpected options`);if(e.target!==void 0&&!zc[e.target])throw Error(`Unexpected target "${e.target}"`);let t={accuracy:`default`,avoidSubclass:!1,flags:``,global:!1,hasIndices:!1,lazyCompileLength:1/0,target:`auto`,verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target===`auto`&&(t.target=Mc.flagGroups?`ES2025`:Mc.unicodeSets?`ES2024`:`ES2018`),t}var Vc=`[ -\r ]`,Hc=new Set([Z(304),Z(305)]),Uc=Q`[\p{L}\p{M}\p{N}\p{Pc}]`;function Wc(e){if(Hc.has(e))return[e];let t=new Set,n=e.toLowerCase(),r=n.toUpperCase(),i=Jc.get(n),a=Kc.get(n),o=qc.get(n);return[...r].length===1&&t.add(r),o&&t.add(o),i&&t.add(i),t.add(n),a&&t.add(a),[...t]}var Gc=new Map(`C Other
60
- Cc Control cntrl
61
- Cf Format
62
- Cn Unassigned
63
- Co Private_Use
64
- Cs Surrogate
65
- L Letter
66
- LC Cased_Letter
67
- Ll Lowercase_Letter
68
- Lm Modifier_Letter
69
- Lo Other_Letter
70
- Lt Titlecase_Letter
71
- Lu Uppercase_Letter
72
- M Mark Combining_Mark
73
- Mc Spacing_Mark
74
- Me Enclosing_Mark
75
- Mn Nonspacing_Mark
76
- N Number
77
- Nd Decimal_Number digit
78
- Nl Letter_Number
79
- No Other_Number
80
- P Punctuation punct
81
- Pc Connector_Punctuation
82
- Pd Dash_Punctuation
83
- Pe Close_Punctuation
84
- Pf Final_Punctuation
85
- Pi Initial_Punctuation
86
- Po Other_Punctuation
87
- Ps Open_Punctuation
88
- S Symbol
89
- Sc Currency_Symbol
90
- Sk Modifier_Symbol
91
- Sm Math_Symbol
92
- So Other_Symbol
93
- Z Separator
94
- Zl Line_Separator
95
- Zp Paragraph_Separator
96
- Zs Space_Separator
97
- ASCII
98
- ASCII_Hex_Digit AHex
99
- Alphabetic Alpha
100
- Any
101
- Assigned
102
- Bidi_Control Bidi_C
103
- Bidi_Mirrored Bidi_M
104
- Case_Ignorable CI
105
- Cased
106
- Changes_When_Casefolded CWCF
107
- Changes_When_Casemapped CWCM
108
- Changes_When_Lowercased CWL
109
- Changes_When_NFKC_Casefolded CWKCF
110
- Changes_When_Titlecased CWT
111
- Changes_When_Uppercased CWU
112
- Dash
113
- Default_Ignorable_Code_Point DI
114
- Deprecated Dep
115
- Diacritic Dia
116
- Emoji
117
- Emoji_Component EComp
118
- Emoji_Modifier EMod
119
- Emoji_Modifier_Base EBase
120
- Emoji_Presentation EPres
121
- Extended_Pictographic ExtPict
122
- Extender Ext
123
- Grapheme_Base Gr_Base
124
- Grapheme_Extend Gr_Ext
125
- Hex_Digit Hex
126
- IDS_Binary_Operator IDSB
127
- IDS_Trinary_Operator IDST
128
- ID_Continue IDC
129
- ID_Start IDS
130
- Ideographic Ideo
131
- Join_Control Join_C
132
- Logical_Order_Exception LOE
133
- Lowercase Lower
134
- Math
135
- Noncharacter_Code_Point NChar
136
- Pattern_Syntax Pat_Syn
137
- Pattern_White_Space Pat_WS
138
- Quotation_Mark QMark
139
- Radical
140
- Regional_Indicator RI
141
- Sentence_Terminal STerm
142
- Soft_Dotted SD
143
- Terminal_Punctuation Term
144
- Unified_Ideograph UIdeo
145
- Uppercase Upper
146
- Variation_Selector VS
147
- White_Space space
148
- XID_Continue XIDC
149
- XID_Start XIDS`.split(/\s/).map(e=>[nc(e),e])),Kc=new Map([[`s`,Z(383)],[Z(383),`s`]]),qc=new Map([[Z(223),Z(7838)],[Z(107),Z(8490)],[Z(229),Z(8491)],[Z(969),Z(8486)]]),Jc=new Map([Zc(453),Zc(456),Zc(459),Zc(498),...Qc(8072,8079),...Qc(8088,8095),...Qc(8104,8111),Zc(8124),Zc(8140),Zc(8188)]),Yc=new Map([[`alnum`,Q`[\p{Alpha}\p{Nd}]`],[`alpha`,Q`\p{Alpha}`],[`ascii`,Q`\p{ASCII}`],[`blank`,Q`[\p{Zs}\t]`],[`cntrl`,Q`\p{Cc}`],[`digit`,Q`\p{Nd}`],[`graph`,Q`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],[`lower`,Q`\p{Lower}`],[`print`,Q`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],[`punct`,Q`[\p{P}\p{S}]`],[`space`,Q`\p{space}`],[`upper`,Q`\p{Upper}`],[`word`,Q`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],[`xdigit`,Q`\p{AHex}`]]);function Xc(e,t){let n=[];for(let r=e;r<=t;r++)n.push(r);return n}function Zc(e){let t=Z(e);return[t.toLowerCase(),t]}function Qc(e,t){return Xc(e,t).map(e=>Zc(e))}var $c=new Set([`Lower`,`Lowercase`,`Upper`,`Uppercase`,`Ll`,`Lowercase_Letter`,`Lt`,`Titlecase_Letter`,`Lu`,`Uppercase_Letter`]);function el(e,t){let n={accuracy:`default`,asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:`ES2025`,...t};il(e);let r={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Ic(n.bestEffortTarget,`ES2024`),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};ac(e,tl,r);let i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},a={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:r.subroutineRefMap};return ac(e,nl,a),ac(e,rl,{groupsByName:a.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:a.reffedNodesByReferencer}),e._originMap=a.groupOriginByCopy,e._strategy=r.strategy,e}var tl={AbsenceFunction({node:e,parent:t,replaceWith:n}){let{body:r,kind:i}=e;if(i===`repeater`){let e=Vs();e.body[0].body.push(Hs({negate:!0,body:r}),Js(`Any`));let i=Vs();i.body[0].body.push(Gs(`greedy`,0,1/0,e)),n($(i,t),{traverse:!0})}else throw Error(`Unsupported absence function "(?~|"`)},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:r}){let i=e.body.filter(e=>e.kind===`flags`);for(let e=n+1;e<t.body.length;e++){let n=t.body[e];Fc(r,n,[]).push(...i)}},exit({node:e},{flagDirectivesByAlt:t}){if(t.get(e)?.length){let n=dl(t.get(e));if(n){let t=Vs({flags:n});t.body[0].body=e.body,e.body=[$(t,e)]}}}},Assertion({node:e,parent:t,key:n,container:r,root:i,remove:a,replaceWith:o},s){let{kind:c,negate:l}=e,{asciiWordBoundaries:u,avoidSubclass:d,supportedGNodes:f,wordIsAscii:p}=s;if(c===`text_segment_boundary`)throw Error(`Unsupported text segment boundary "\\${l?`Y`:`y`}"`);if(c===`line_end`)o($(Hs({body:[js({body:[Ms(`string_end`)]}),js({body:[Fs(10)]})]}),t));else if(c===`line_start`)o($(bl(Q`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(c===`search_start`)if(f.has(e))i.flags.sticky=!0,a();else{let e=r[n-1];if(e&&_l(e))o($(Hs({negate:!0}),t));else if(d)throw Error(Q`Uses "\G" in a way that requires a subclass`);else o(Sl(Ms(`string_start`),t)),s.strategy=`clip_search`}else if(!(c===`string_end`||c===`string_start`))if(c===`string_end_newline`)o($(bl(Q`(?=\n?\z)`),t));else if(c===`word_boundary`){if(!p&&!u){let e=`(?:(?<=${Uc})(?!${Uc})|(?<!${Uc})(?=${Uc}))`,n=`(?:(?<=${Uc})(?=${Uc})|(?<!${Uc})(?!${Uc}))`;o($(bl(l?n:e),t))}}else throw Error(`Unexpected assertion kind "${c}"`)},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!yl(n)&&(n=ul(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:r}=e;r&&!yl(r)&&(r=ul(r,t),e.name=r),n.set(e.number,e),r&&n.set(r,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){t.kind===`intersection`&&n($(Is({body:[e]}),t),{traverse:!0})},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:r,minTargetEs2024:i,digitIsAscii:a,spaceIsAscii:o,wordIsAscii:s}){let{kind:c,negate:l,value:u}=e;if(a&&(c===`digit`||u===`digit`)){n(Sl(Rs(`digit`,{negate:l}),t));return}if(o&&(c===`space`||u===`space`)){n($(xl(bl(Vc),l),t));return}if(s&&(c===`word`||u===`word`)){n(Sl(Rs(`word`,{negate:l}),t));return}if(c===`any`)n(Sl(Js(`Any`),t));else if(c===`digit`)n(Sl(Js(`Nd`,{negate:l}),t));else if(c!==`dot`)if(c===`text_segment`){if(r===`strict`)throw Error(Q`Use of "\X" requires non-strict accuracy`);let e=`\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?`,a=Q`\p{RI}{2}|${e}(?:\u200D${e})*`;n($(bl(Q`(?>\r\n|${i?Q`\p{RGI_Emoji}`:a}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(c===`hex`)n(Sl(Js(`AHex`,{negate:l}),t));else if(c===`newline`)n($(bl(l?`[^
150
- ]`:`(?>\r
151
- ?|[
152
- \v\f…\u2028\u2029])`),t));else if(c===`posix`)if(!i&&(u===`graph`||u===`print`)){if(r===`strict`)throw Error(`POSIX class "${u}" requires min target ES2024 or non-strict accuracy`);let e={graph:`!-~`,print:` -~`}[u];l&&(e=`\0-${Z(e.codePointAt(0)-1)}${Z(e.codePointAt(2)+1)}-\u{10FFFF}`),n($(bl(`[${e}]`),t))}else n($(xl(bl(Yc.get(u)),l),t));else if(c===`property`)Gc.has(nc(u))||(e.key=`sc`);else if(c===`space`)n(Sl(Js(`space`,{negate:l}),t));else if(c===`word`)n($(xl(bl(Uc),l),t));else throw Error(`Unexpected character set kind "${c}"`)},Directive({node:e,parent:t,root:n,remove:r,replaceWith:i,removeAllPrevSiblings:a,removeAllNextSiblings:o}){let{kind:s,flags:c}=e;if(s===`flags`)if(!c.enable&&!c.disable)r();else{let e=Vs({flags:c});e.body[0].body=o(),i($(e,t),{traverse:!0})}else if(s===`keep`){let e=n.body[0],r=n.body.length===1&&vs(e,{type:`Group`})&&e.body[0].body.length===1?e.body[0]:n;if(t.parent!==r||r.body.length>1)throw Error(Q`Uses "\K" in a way that's unsupported`);let o=Hs({behind:!0});o.body[0].body=a(),i($(o,t))}else throw Error(`Unexpected directive kind "${s}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw Error(`Unsupported flag "P"`);if(e.textSegmentMode===`word`)throw Error(`Unsupported flag "y{w}"`);[`digitIsAscii`,`extended`,`posixIsAscii`,`spaceIsAscii`,`wordIsAscii`,`textSegmentMode`].forEach(t=>delete e[t]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:n}=e;n===`lookbehind`&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){let{kind:r}=e;if(r===`fail`)n($(Hs({negate:!0}),t));else throw Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type===`Quantifier`){let t=Vs();t.body[0].body.push(e.body),e.body=$(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let n=[],r=!1,i=!1;for(let t of e.body)if(t.body.length===1&&t.body[0].kind===`search_start`)t.body.pop();else{let e=ml(t.body);e?(r=!0,Array.isArray(e)?n.push(...e):n.push(e)):i=!0}r&&!i&&n.forEach(e=>t.add(e))},exit(e,{accuracy:t,passedLookbehind:n,strategy:r}){if(t===`strict`&&n&&r)throw Error(Q`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n==`string`&&!yl(n)&&(n=ul(n,t),e.ref=n)}},nl={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){let{orphan:r,ref:i}=e;r||n.set(e,[...t.get(i).map(({node:e})=>e)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:r},{groupOriginByCopy:i,groupsByName:a,multiplexCapturesToLeftByRef:o,openRefs:s,reffedNodesByReferencer:c}){let l=i.get(e);if(l&&s.has(e.number)){let r=Sl(cl(e.number),t);c.set(r,s.get(e.number)),n(r);return}s.set(e.number,e),o.set(e.number,[]),e.name&&Fc(o,e.name,[]);let u=o.get(e.name??e.number);for(let t=0;t<u.length;t++){let n=u[t];if(l===n.node||l&&l===n.origin||e===n.origin){u.splice(t,1);break}}if(o.get(e.number).push({node:e,origin:l}),e.name&&o.get(e.name).push({node:e,origin:l}),e.name){let t=Fc(a,e.name,new Map),n=!1;if(l)n=!0;else for(let e of t.values())if(!e.hasDuplicateNameToRemove){n=!0;break}a.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:n})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=Pc(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},r){let{isRecursive:i,ref:a}=e;if(i){let n=t;for(;(n=n.parent)&&!(n.type===`CapturingGroup`&&(n.name===a||n.number===a)););r.reffedNodesByReferencer.set(e,n);return}let o=r.subroutineRefMap.get(a),s=a===0,c=s?cl(0):sl(o,r.groupOriginByCopy,null),l=c;if(!s){let e=dl(ll(o,e=>e.type===`Group`&&!!e.flags)),t=e?Pc(r.globalFlags,e):r.globalFlags;al(t,r.currentFlags)||(l=Vs({flags:fl(t)}),l.body[0].body.push(c))}n($(l,t),{traverse:!s})}},rl={Backreference({node:e,parent:t,replaceWith:n},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}let i=r.reffedNodesByReferencer.get(e).filter(t=>ol(t,e));i.length?i.length>1?n($(Vs({atomic:!0,body:i.reverse().map(e=>js({body:[Ns(e.number)]}))}),t)):e.ref=i[0].number:n($(Hs({negate:!0}),t))},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let t=0;t<n;t++){let t=Ps();e.body.at(-1).body.push(t)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function il(e){ac(e,{"*"({node:e,parent:t}){e.parent=t}})}function al(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function ol(e,t){let n=t;do{if(n.type===`Regex`)return!1;if(n.type===`Alternative`)continue;if(n===e)return!1;let t=pl(n.parent);for(let r of t){if(r===n)break;if(r===e||hl(r,e))return!0}}while(n=n.parent);throw Error(`Unexpected path`)}function sl(e,t,n,r){let i=Array.isArray(e)?[]:{};for(let[a,o]of Object.entries(e))a===`parent`?i.parent=Array.isArray(n)?r:n:o&&typeof o==`object`?i[a]=sl(o,t,i,n):(a===`type`&&o===`CapturingGroup`&&t.set(i,t.get(e)??e),i[a]=o);return i}function cl(e){let t=qs(e);return t.isRecursive=!0,t}function ll(e,t){let n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function ul(e,t){if(t.has(e))return t.get(e);let n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/gu,`_`)}`;return t.set(e,n),n}function dl(e){let t=[`dotAll`,`ignoreCase`],n={enable:{},disable:{}};return e.forEach(({flags:e})=>{t.forEach(t=>{e.enable?.[t]&&(delete n.disable[t],n.enable[t]=!0),e.disable?.[t]&&(n.disable[t]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function fl({dotAll:e,ignoreCase:t}){let n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function pl(e){if(!e)throw Error(`Node expected`);let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function ml(e){let t=e.find(e=>e.kind===`search_start`||vl(e,{negate:!1})||!gl(e));if(!t)return null;if(t.kind===`search_start`)return t;if(t.type===`LookaroundAssertion`)return t.body[0].body[0];if(t.type===`CapturingGroup`||t.type===`Group`){let e=[];for(let n of t.body){let t=ml(n.body);if(!t)return null;Array.isArray(t)?e.push(...t):e.push(t)}return e}return null}function hl(e,t){let n=pl(e)??[];for(let e of n)if(e===t||hl(e,t))return!0;return!1}function gl({type:e}){return e===`Assertion`||e===`Directive`||e===`LookaroundAssertion`}function _l(e){let t=[`Character`,`CharacterClass`,`CharacterSet`];return t.includes(e.type)||e.type===`Quantifier`&&e.min&&t.includes(e.body.type)}function vl(e,t){let n={negate:null,...t};return e.type===`LookaroundAssertion`&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&vs(e.body[0],{type:`Assertion`,kind:`search_start`})}function yl(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function bl(e,t){let n=xs(e,{...t,unicodePropertyMap:Gc}).body;return n.length>1||n[0].body.length>1?Vs({body:n}):n[0].body[0]}function xl(e,t){return e.negate=t,e}function Sl(e,t){return e.parent=t,e}function $(e,t){return il(e),e.parent=t,e}function Cl(e,t){let n=Bc(t),r=Ic(n.target,`ES2024`),i=Ic(n.target,`ES2025`),a=n.rules.recursionLimit;if(!Number.isInteger(a)||a<2||a>20)throw Error(`Invalid recursionLimit; use 2-20`);let o=null,s=null;if(!i){let t=[e.flags.ignoreCase];ac(e,wl,{getCurrentModI:()=>t.at(-1),popModI(){t.pop()},pushModI(e){t.push(e)},setHasCasedChar(){t.at(-1)?o=!0:s=!0}})}let c={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||o)&&!s)},l=e,u={accuracy:n.accuracy,appliedGlobalFlags:c,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:a,useAppliedIgnoreCase:!!(!i&&o&&s),useFlagMods:i,useFlagV:r,verbose:n.verbose};function d(e){return u.lastNode=l,l=e,Lc(Tl[e.type],`Unexpected node type "${e.type}"`)(e,u,d)}let f={pattern:e.body.map(d).join(`|`),flags:d(e.flags),options:{...e.options}};return r||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],u.captureMap.forEach((e,t)=>{e.hidden&&f._hiddenCaptures.push(t),e.transferTo&&Fc(f._captureTransfers,e.transferTo,[]).push(t)}),f}var wl={"*":{enter({node:e},t){if(Ll(e)){let n=t.getCurrentModI();t.pushModI(e.flags?Pc({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){Ll(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){jl(Z(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),Ml(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind===`property`&&$c.has(e.value)&&t.setHasCasedChar()}},Tl={Alternative({body:e},t,n){return e.map(n).join(``)},Assertion({kind:e,negate:t}){if(e===`string_end`)return`$`;if(e===`string_start`)return`^`;if(e===`word_boundary`)return t?Q`\B`:Q`\b`;throw Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!=`number`)throw Error(`Unexpected named backref in transformed AST`);if(!t.useFlagMods&&t.accuracy===`strict`&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw Error(`Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy`);return`\\`+e},CapturingGroup(e,t,n){let{body:r,name:i,number:a}=e,o={ignoreCase:t.currentFlags.ignoreCase},s=t.originMap.get(e);return s&&(o.hidden=!0,a>s.number&&(o.transferTo=s.number)),t.captureMap.set(a,o),`(${i?`?<${i}>`:``}${r.map(n).join(`|`)})`},Character({value:e},t){let n=Z(e),r=Nl(e,{escDigit:t.lastNode.type===`Backreference`,inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(r!==n)return r;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&jl(n)){let e=Wc(n);return t.inCharClass?e.join(``):e.length>1?`[${e.join(``)}]`:e[0]}return n},CharacterClass(e,t,n){let{kind:r,negate:i,parent:a}=e,{body:o}=e;if(r===`intersection`&&!t.useFlagV)throw Error(`Use of character class intersection requires min target ES2024`);Mc.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&o.some(zl)&&(o=[Fs(45),...o.filter(e=>!zl(e))]);let s=()=>`[${i?`^`:``}${o.map(n).join(r===`intersection`?`&&`:``)}]`;if(!t.inCharClass){if((!t.useFlagV||Mc.bugNestedClassIgnoresNegation)&&!i){let t=o.filter(e=>e.type===`CharacterClass`&&e.kind===`union`&&e.negate);if(t.length){let r=Vs(),i=r.body[0];return r.parent=a,i.parent=r,o=o.filter(e=>!t.includes(e)),e.body=o,o.length?(e.parent=i,i.body.push(e)):r.body.pop(),t.forEach(e=>{let t=js({body:[e]});e.parent=t,t.parent=r,r.body.push(t)}),n(r)}}t.inCharClass=!0;let r=s();return t.inCharClass=!1,r}let c=o[0];if(r===`union`&&!i&&c&&((!t.useFlagV||!t.verbose)&&a.kind===`union`&&!(Mc.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&a.kind===`intersection`&&o.length===1&&c.type!==`CharacterClassRange`))return o.map(n).join(``);if(!t.useFlagV&&a.type===`CharacterClass`)throw Error(`Uses nested character class in a way that requires min target ES2024`);return s()},CharacterClassRange(e,t){let n=e.min.value,r=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},a=Nl(n,i),o=Nl(r,i),s=new Set;return t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Pl(Ml(e)).forEach(e=>{s.add(Array.isArray(e)?`${Nl(e[0],i)}-${Nl(e[1],i)}`:Nl(e,i))}),`${a}-${o}${[...s].join(``)}`},CharacterSet({kind:e,negate:t,value:n,key:r},i){if(e===`dot`)return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?`.`:`[^]`:Q`[^\n]`;if(e===`digit`)return t?Q`\D`:Q`\d`;if(e===`property`){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&$c.has(n))throw Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?Q`\P`:Q`\p`}{${r?`${r}=`:``}${n}}`}if(e===`word`)return t?Q`\W`:Q`\w`;throw Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?`i`:``)+(e.dotAll?`s`:``)+(e.sticky?`y`:``)},Group({atomic:e,body:t,flags:n,parent:r},i,a){let o=i.currentFlags;n&&(i.currentFlags=Pc(o,n));let s=t.map(a).join(`|`),c=!i.verbose&&t.length===1&&r.type!==`Quantifier`&&!e&&(!i.useFlagMods||!n)?s:`(?${Fl(e,n,i.useFlagMods)}${s})`;return i.currentFlags=o,c},LookaroundAssertion({body:e,kind:t,negate:n},r,i){return`(?${`${t===`lookahead`?``:`<`}${n?`!`:`=`}`}${e.map(i).join(`|`)})`},Quantifier(e,t,n){return n(e.body)+Il(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw Error(`Unexpected non-recursive subroutine in transformed AST`);let r=n.recursionLimit;return t===0?`(?R=${r})`:Q`\g<${t}&R=${r}>`}},El=new Set([`$`,`(`,`)`,`*`,`+`,`.`,`?`,`[`,`\\`,`]`,`^`,`{`,`|`,`}`]),Dl=new Set([`-`,`\\`,`]`,`^`,`[`]),Ol=new Set("()-/[\\]^{|}!#$%&*+,.:;<=>?@`~".split(``)),kl=new Map([[9,Q`\t`],[10,Q`\n`],[11,Q`\v`],[12,Q`\f`],[13,Q`\r`],[8232,Q`\u2028`],[8233,Q`\u2029`],[65279,Q`\uFEFF`]]),Al=/^\p{Cased}$/u;function jl(e){return Al.test(e)}function Ml(e,t){let n=!!t?.firstOnly,r=e.min.value,i=e.max.value,a=[];if(r<65&&(i===65535||i>=131071)||r===65536&&i>=131071)return a;for(let e=r;e<=i;e++){let t=Z(e);if(!jl(t))continue;let o=Wc(t).filter(e=>{let t=e.codePointAt(0);return t<r||t>i});if(o.length&&(a.push(...o),n))break}return a}function Nl(e,{escDigit:t,inCharClass:n,useFlagV:r}){if(kl.has(e))return kl.get(e);if(e<32||e>126&&e<160||e>262143||t&&Rl(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,`0`)}`;let i=n?r?Ol:Dl:El,a=Z(e);return(i.has(a)?`\\`:``)+a}function Pl(e){let t=e.map(e=>e.codePointAt(0)).sort((e,t)=>e-t),n=[],r=null;for(let e=0;e<t.length;e++)t[e+1]===t[e]+1?r??=t[e]:r===null?n.push(t[e]):(n.push([r,t[e]]),r=null);return n}function Fl(e,t,n){if(e)return`>`;let r=``;if(t&&n){let{enable:e,disable:n}=t;r=(e?.ignoreCase?`i`:``)+(e?.dotAll?`s`:``)+(n?`-`:``)+(n?.ignoreCase?`i`:``)+(n?.dotAll?`s`:``)}return`${r}:`}function Il({kind:e,max:t,min:n}){let r;return r=!n&&t===1?`?`:!n&&t===1/0?`*`:n===1&&t===1/0?`+`:n===t?`{${n}}`:`{${n},${t===1/0?``:t}}`,r+{greedy:``,lazy:`?`,possessive:`+`}[e]}function Ll({type:e}){return e===`CapturingGroup`||e===`Group`||e===`LookaroundAssertion`}function Rl(e){return e>47&&e<58}function zl({type:e,value:t}){return e===`Character`&&t===45}var Bl=class e extends RegExp{#e=new Map;#t=null;#n;#r=null;#i=null;rawOptions={};get source(){return this.#n||`(?:)`}constructor(t,n,r){let i=!!r?.lazyCompile;if(t instanceof RegExp){if(r)throw Error(`Cannot provide options when copying a regexp`);let i=t;super(i,n),this.#n=i.source,i instanceof e&&(this.#e=i.#e,this.#r=i.#r,this.#i=i.#i,this.rawOptions=i.rawOptions)}else{let e={hiddenCaptures:[],strategy:null,transfers:[],...r};super(i?``:t,n),this.#n=t,this.#e=Hl(e.hiddenCaptures,e.transfers),this.#i=e.strategy,this.rawOptions=r??{}}i||(this.#t=this)}exec(t){if(!this.#t){let{lazyCompile:t,...n}=this.rawOptions;this.#t=new e(this.#n,this.flags,n)}let n=this.global||this.sticky,r=this.lastIndex;if(this.#i===`clip_search`&&n&&r){this.lastIndex=0;let e=this.#a(t.slice(r));return e&&(Vl(e,r,t,this.hasIndices),this.lastIndex+=r),e}return this.#a(t)}#a(e){this.#t.lastIndex=this.lastIndex;let t=super.exec.call(this.#t,e);if(this.lastIndex=this.#t.lastIndex,!t||!this.#e.size)return t;let n=[...t];t.length=1;let r;this.hasIndices&&(r=[...t.indices],t.indices.length=1);let i=[0];for(let e=1;e<n.length;e++){let{hidden:a,transferTo:o}=this.#e.get(e)??{};if(a?i.push(null):(i.push(t.length),t.push(n[e]),this.hasIndices&&t.indices.push(r[e])),o&&n[e]!==void 0){let a=i[o];if(!a)throw Error(`Invalid capture transfer to "${a}"`);if(t[a]=n[e],this.hasIndices&&(t.indices[a]=r[e]),t.groups){this.#r||=Ul(this.source);let i=this.#r.get(o);i&&(t.groups[i]=n[e],this.hasIndices&&(t.indices.groups[i]=r[e]))}}}return t}};function Vl(e,t,n,r){if(e.index+=t,e.input=n,r){let n=e.indices;for(let e=0;e<n.length;e++){let r=n[e];r&&(n[e]=[r[0]+t,r[1]+t])}let r=n.groups;r&&Object.keys(r).forEach(e=>{let n=r[e];n&&(r[e]=[n[0]+t,n[1]+t])})}}function Hl(e,t){let n=new Map;for(let t of e)n.set(t,{hidden:!0});for(let[e,r]of t)for(let t of r)Fc(n,t,{}).transferTo=e;return n}function Ul(e){let t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,r=0,i=0,a;for(;a=t.exec(e);){let{0:e,groups:{capture:t,name:o}}=a;e===`[`?r++:r?e===`]`&&r--:t&&(i++,o&&n.set(i,o))}return n}function Wl(e,t){let n=Gl(e,t);return n.options?new Bl(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function Gl(e,t){let n=Bc(t),r=el(xs(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:Gc}),{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),i=Cl(r,n),a=Ec(i.pattern,{captureTransfers:i._captureTransfers,hiddenCaptures:i._hiddenCaptures,mode:`external`}),o=_c(bc(a.pattern).pattern,{captureTransfers:a.captureTransfers,hiddenCaptures:a.hiddenCaptures}),s={pattern:o.pattern,flags:`${n.hasIndices?`d`:``}${n.global?`g`:``}${i.flags}${i.options.disable.v?`u`:`v`}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw Error(`Lazy compilation requires subclass`)}else{let e=o.hiddenCaptures.sort((e,t)=>e-t),t=Array.from(o.captureTransfers),i=r._strategy,a=s.pattern.length>=n.lazyCompileLength;(e.length||t.length||i||a)&&(s.options={...e.length&&{hiddenCaptures:e},...t.length&&{transfers:t},...i&&{strategy:i},...a&&{lazyCompile:a}})}return s}function Kl(e,t){return Wl(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function ql(e={}){let t={target:`auto`,cache:new Map,...e};return t.regexConstructor||=e=>Kl(e,{target:t.target}),{createScanner(e){return new Oo(e,t)},createString(e){return{content:e}}}}var Jl=``+new URL(`c-BNa-DeUl.json`,import.meta.url).href,Yl=``+new URL(`cpp-B-T4NRoH.json`,import.meta.url).href,Xl=``+new URL(`csharp-BbxHChhA.json`,import.meta.url).href,Zl=``+new URL(`css-CWCxuwmz.json`,import.meta.url).href,Ql=``+new URL(`diff-B-2N89g8.json`,import.meta.url).href,$l=``+new URL(`docker-DWTvYW26.json`,import.meta.url).href,eu=``+new URL(`go-B2hyYeNg.json`,import.meta.url).href,tu=``+new URL(`graphql-Z6Id2aNO.json`,import.meta.url).href,nu=``+new URL(`html-BtzvlIfu.json`,import.meta.url).href,ru=``+new URL(`ini-Bn3Twap1.json`,import.meta.url).href,iu=``+new URL(`java-C7t2dwLO.json`,import.meta.url).href,au=``+new URL(`javascript-DuC2v0C0.json`,import.meta.url).href,ou=``+new URL(`json-CwdkWeV5.json`,import.meta.url).href,su=``+new URL(`jsonc-MYWDbTU3.json`,import.meta.url).href,cu=``+new URL(`jsx-Cn8EZuIC.json`,import.meta.url).href,lu=``+new URL(`kotlin-CFNOz1gw.json`,import.meta.url).href,uu=``+new URL(`make-BVnlFCcl.json`,import.meta.url).href,du=``+new URL(`markdown-B4Xk2WM_.json`,import.meta.url).href,fu=``+new URL(`php-CAQzQmmI.json`,import.meta.url).href,pu=``+new URL(`python-CYQee8m4.json`,import.meta.url).href,mu=``+new URL(`ruby-D7R58tus.json`,import.meta.url).href,hu=``+new URL(`rust-BFBbFiei.json`,import.meta.url).href,gu=``+new URL(`scss-TQRhBkPG.json`,import.meta.url).href,_u=``+new URL(`shellscript-DieAkC4W.json`,import.meta.url).href,vu=``+new URL(`sql-Bxd030LV.json`,import.meta.url).href,yu=``+new URL(`toml-ChrKGzsV.json`,import.meta.url).href,bu=``+new URL(`tsx-D2e90MFw.json`,import.meta.url).href,xu=``+new URL(`typescript-DonXQ_n1.json`,import.meta.url).href,Su=``+new URL(`xml-B17r2RXF.json`,import.meta.url).href,Cu={typescript:xu,tsx:bu,javascript:au,jsx:cu,json:ou,jsonc:su,yaml:``+new URL(`yaml-CKn4h1zy.json`,import.meta.url).href,toml:yu,markdown:du,html:nu,css:Zl,scss:gu,shellscript:_u,docker:$l,python:pu,go:eu,rust:hu,java:iu,kotlin:lu,c:Jl,cpp:Yl,csharp:Xl,ruby:mu,php:fu,sql:vu,graphql:tu,xml:Su,make:uu,ini:ru,diff:Ql};function wu(e){return[{scope:[`comment`,`punctuation.definition.comment`],settings:{foreground:e.comment}},{scope:[`constant`,`constant.numeric`,`constant.language`,`support.constant`,`variable.other.constant`,`variable.language`],settings:{foreground:e.constant}},{scope:[`entity`,`entity.name.function`,`support.function`,`meta.function-call`],settings:{foreground:e.entity}},{scope:[`keyword`,`storage`,`storage.type`,`keyword.operator`,`punctuation.definition.keyword`],settings:{foreground:e.keyword}},{scope:[`string`,`string.quoted`,`punctuation.definition.string`,`support.type.property-name`],settings:{foreground:e.string}},{scope:[`variable`,`support.type`,`support.class`,`entity.name.type`,`entity.name.class`],settings:{foreground:e.variable}},{scope:[`entity.name.tag`,`entity.other.attribute-name`,`support.type.property-name.json`],settings:{foreground:e.tag}},{scope:[`markup.heading`,`entity.name.section`],settings:{foreground:e.heading}},{scope:[`markup.inserted`,`markup.inserted.diff`],settings:{foreground:e.inserted}},{scope:[`markup.deleted`,`markup.deleted.diff`],settings:{foreground:e.deleted}}]}var Tu={name:`reviews-dark`,type:`dark`,colors:{"editor.foreground":`#e6edf3`,"editor.background":`#0d1117`},tokenColors:wu({comment:`#8b949e`,constant:`#79c0ff`,entity:`#d2a8ff`,keyword:`#ff7b72`,string:`#a5d6ff`,variable:`#ffa657`,tag:`#7ee787`,heading:`#79c0ff`,inserted:`#7ee787`,deleted:`#ffa198`})},Eu={name:`reviews-light`,type:`light`,colors:{"editor.foreground":`#1f2328`,"editor.background":`#ffffff`},tokenColors:wu({comment:`#6e7781`,constant:`#0550ae`,entity:`#8250df`,keyword:`#cf222e`,string:`#0a3069`,variable:`#953800`,tag:`#116329`,heading:`#0550ae`,inserted:`#116329`,deleted:`#82071e`})},Du=null,Ou=new Map,ku={dark:`reviews-dark`,light:`reviews-light`};function Au(){return Du??=Eo({themes:[Tu,Eu],langs:[],engine:ql()}),Du}function ju(e,t){return fetch(Cu[t]).then(e=>{if(!e.ok)throw Error(`${e.status}`);return e.json()}).then(async n=>(await e.loadLanguage({...n,name:t}),!0)).catch(()=>!1)}async function Mu(e){let t=await Au(),n=Ou.get(e);return n===void 0&&(n=ju(t,e),Ou.set(e,n)),await n?t:null}function Nu(e,t,n,r,i){let{tokens:a}=e.codeToTokens(t.join(`
153
- `),{lang:n,theme:ku[r],grammarState:i});return{rows:a.map(e=>e.map(e=>({text:e.content,color:e.color??``,at:e.offset}))),state:a.length===0?i:e.getLastGrammarState(a)}}function Pu(e,t){let n=`${e??``}\n${t}`,[r,i]=(0,m.useState)({of:n,hunks:new Map,failure:null}),a=(0,m.useRef)(new Set),o=(0,m.useRef)(new Set),s=(0,m.useRef)([]);r.of!==n&&(s.current=[...a.current],a.current=new Set,o.current=new Set,i({of:n,hunks:new Map,failure:null}));let c=(0,m.useCallback)(r=>{if(e===null||r<0)return;let s=Math.floor(r/50);if(a.current.has(s))return;let c=a.current,l=o.current;c.add(s),k(e,s*50,50).then(e=>{if(e.fingerprint!==t){c.delete(s);return}i(t=>{if(t.of!==n)return t;let r=new Map(t.hunks);for(let t of e.hunks)r.set(t.id,t);return{...t,hunks:r}})}).catch(e=>{c.delete(s),l.add(s),i(t=>t.of===n?{...t,failure:e.message}:t)})},[e,t,n]);(0,m.useEffect)(()=>{c(0);for(let e of s.current)c(e*50);s.current=[]},[c]);let l=(0,m.useCallback)(()=>{let e=[...o.current];o.current=new Set,i(e=>e.of===n?{...e,failure:null}:e);for(let t of e)c(t*50)},[c,n]);return{hunks:r.hunks,need:c,failure:r.failure,retry:l}}function Fu(e,t){let n=(0,m.useRef)(t);n.current=t;let r=(0,m.useRef)(e);r.current=e;let i=(0,m.useRef)(e=>e.dataset[r.current.attribute]),a=(0,m.useRef)(null);return a.current===null&&typeof IntersectionObserver==`function`&&(a.current=new IntersectionObserver(e=>{for(let t of e){if(!t.isIntersecting)continue;let e=i.current(t.target);e!==void 0&&n.current(e)}},{rootMargin:e.margin})),(0,m.useEffect)(()=>{let e=a.current;return()=>e?.disconnect()},[]),(0,m.useCallback)(e=>{if(e===null)return;let t=a.current;if(t===null){let t=i.current(e);r.current.atMount&&t!==void 0&&n.current(t);return}return t.observe(e),()=>t.unobserve(e)},[])}function Iu(e){return Fu({attribute:`index`,margin:`400px 0px`,atMount:!0},t=>{let n=Number(t);Number.isFinite(n)&&e(n)})}function Lu(e){return Fu({attribute:`unread`,margin:`0px`,atMount:!1},e)}function Ru(e){let t={old:[],new:[]},n=[];for(let r of e)r.on!==`new`&&t.old.push(r.text),r.on!==`old`&&t.new.push(r.text),n.push(r.on===`old`?{side:`old`,at:t.old.length-1}:{side:`new`,at:t.new.length-1});return{lines:t,from:n}}function zu(e,t,n,r){let[i,a]=(0,m.useState)({of:``,rows:[]}),[o,s]=(0,m.useState)(!1),c=ht(e),l=(0,m.useRef)(t);l.current=t;let u=Fu({attribute:`hunk`,margin:`200px 0px`,atMount:!0},()=>s(!0));(0,m.useEffect)(()=>{if(c===null||!o)return;let e=l.current,t=Ru(e),i=[`old`,`new`].filter(e=>t.from.some(t=>t.side===e)),s=!0,u;return a({of:n,rows:e.map(()=>null)}),Mu(c).then(e=>{if(!s||e===null)return;let o=(l,d,f)=>{if(!s)return;let p=i[l];if(p===void 0)return;let m=t.lines[p],h=Nu(e,m.slice(d,d+100),c,r,f);a(e=>{if(e.of!==n)return e;let r=[...e.rows];return t.from.forEach((e,t)=>{if(e.side!==p)return;let n=h.rows[e.at-d];e.at>=d&&n!==void 0&&(r[t]=n)}),{of:n,rows:r}}),d+100<m.length?u=setTimeout(()=>o(l,d+100,h.state),0):l+1<i.length&&(u=setTimeout(()=>o(l+1,0,void 0),0))};o(0,0,void 0)}),()=>{s=!1,clearTimeout(u)}},[c,n,r,o]);let d=i.of===n?i.rows:[];return(0,m.useMemo)(()=>({ref:u,rows:d}),[u,d])}var Bu=[5,10],Vu=1e5,Hu=[`undo`,`explain`,`talk`,`comment`];function Uu(e){let t=e.lastIndexOf(`/`);return t===-1?{dir:``,name:e}:{dir:e.slice(0,t+1),name:e.slice(t+1)}}var Wu=2;function Gu(e){let t=e.filter(e=>e.lines!==null&&e.lines.length>0).map(e=>({kind:e.kind,first:Math.min(...e.lines),last:Math.max(...e.lines)})).sort((e,t)=>e.first-t.first||t.last-e.last),n=Array.from({length:Wu},()=>0),r=new Map;for(let e of t){let t=n.findIndex(t=>t<e.first),i=t===-1?0:t;n[i]=Math.max(n[i]??0,e.last);for(let t=e.first;t<=e.last;t+=1){let n=r.get(t)??[];n.push({lane:i,kind:e.kind,first:t===e.first,last:t===e.last}),r.set(t,n)}}return r}function Ku(e){return(0,j.jsx)(`span`,{style:{color:e.color},children:e.text},e.at)}function qu(e){return e===`info`?``:` is-${e}`}function Ju(e,t){let n=Math.min(e,t),r=Math.max(e,t);return Array.from({length:r-n+1},(e,t)=>n+t)}function Yu(e){let{file:t,hunk:n}=e,[r,i]=(0,m.useState)([]),[a,o]=(0,m.useState)([]),[s,c]=(0,m.useState)(null),[l,u]=(0,m.useState)(null),[d,f]=(0,m.useState)(!1),[p,h]=(0,m.useState)(e.draft?.act??null),[g,_]=(0,m.useState)(()=>{let t=e.draft?.lines??[];return t.length===0?null:{from:Math.min(...t),to:Math.max(...t)}}),v=e.draft;(0,m.useEffect)(()=>{v===null||p!==null||(h(v.act),_(v.lines.length===0?null:{from:Math.min(...v.lines),to:Math.max(...v.lines)}))},[v,p]);let y=e.entry.id,b=(0,m.useRef)(n?.header??``);n!==null&&b.current!==n.header&&(b.current=n.header,i([]),o([]),c(null));let x=t?.newBlob??null,S=g===null?[]:Ju(g.from,g.to),C=n===null?[]:[...r.map(e=>({text:e,on:`both`})),...n.lines.map(e=>({text:e.text,on:e.kind===`add`?`new`:e.kind===`remove`?`old`:`both`})),...a.map(e=>({text:e,on:`both`}))],w=n===null?``:`${y}|${n.header}|${r.length}|${a.length}`,T=zu(n?.path??``,C,w,e.theme),E=(0,m.useCallback)(async(t,s)=>{if(n===null||x===null)return;let l=n.newStart-r.length,d=n.newStart+n.newLines-1+a.length,f=t===`above`?Math.max(1,l-(s??l-1)):d+1,p=t===`above`?l-f:s??Vu;if(!(p<=0))try{let n=await te(e.slug,x,f,p);if(c(n.total),n.lines.length===0)return;t===`above`?i(e=>[...n.lines,...e]):o(e=>[...e,...n.lines])}catch(e){u(e instanceof Error?e.message:`that context could not be read`)}},[r.length,a.length,x,n,e.slug]),D=e=>{_(t=>t===null?{from:e,to:e}:Ju(t.from,t.to).includes(e)?null:{from:t.from,to:e})};if(n===null)return(0,j.jsxs)(`section`,{className:`rv-hunk rv-waiting`,"data-index":e.index,"data-hunk":y,"data-key":e.cardKey,ref:e.watch,"aria-hidden":`true`,children:[(0,j.jsx)(`span`,{className:`rv-skel is-narrow`}),(0,j.jsx)(`span`,{className:`rv-skel is-wide`}),(0,j.jsx)(`span`,{className:`rv-skel is-half`})]});let{dir:O,name:ee}=Uu(n.path),k=n.header===``?`the whole file`:n.header,ne=Gu(e.notes),re=e.notes.some(e=>e.lines===null||e.lines.length===0),ie=qu(Le(e.notes.map(e=>e.kind))),ae=re?` is-note${ie}`:``;if(e.seen&&!e.open)return(0,j.jsxs)(`div`,{className:`rv-folded${re||ne.size>0?` is-note${ie}`:``}`,"data-hunk":y,"data-key":e.cardKey,children:[(0,j.jsx)(`span`,{className:`rv-ok`,"aria-hidden":`true`,children:`✓`}),(0,j.jsx)(`span`,{children:`Seen`}),(0,j.jsx)(`span`,{className:`rv-mono`,children:n.path}),(0,j.jsx)(`span`,{className:`rv-mono`,children:k}),(0,j.jsx)(`span`,{className:`rv-grow`}),e.changed&&(0,j.jsx)(`span`,{className:`rv-changed`,children:`Changed since you saw it`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-link`,onClick:()=>e.onOpen(!0),children:`Expand`})]});let A=n.newStart-r.length,oe=n.newStart+n.newLines-1+a.length,se=x!==null&&A>1,ce=x!==null&&(s===null||oe<s),le=(e,t,n)=>{let r=e.kind===`add`?` is-add`:e.kind===`remove`?` is-del`:``,i=T.rows[n]??null,a=e.newLine===null?[]:ne.get(e.newLine)??[],o=a.length===0?``:` is-note${qu(Le(a.map(e=>e.kind)))}`,s=e.newLine!==null&&S.includes(e.newLine);return(0,j.jsxs)(`div`,{className:`rv-l${r}${o}${s?` is-picked`:``}`,"data-line":e.newLine??void 0,children:[a.map(e=>(0,j.jsx)(`i`,{className:`rv-nl is-lane${e.lane}${qu(e.kind)}${e.first?` is-first`:``}${e.last?` is-last`:``}`,"aria-hidden":`true`},e.lane)),(0,j.jsx)(`span`,{className:`rv-ln`,children:e.oldLine??``}),e.newLine===null?(0,j.jsx)(`span`,{className:`rv-ln`}):(0,j.jsx)(`button`,{type:`button`,className:`rv-ln`,"aria-label":`Line ${e.newLine}`,"aria-pressed":s,onClick:()=>D(e.newLine),children:e.newLine}),(0,j.jsxs)(`span`,{children:[e.kind===`add`?`+`:e.kind===`remove`?`-`:` `,i===null?e.text:i.map(e=>Ku(e))]})]},t)},M=(e,t,r)=>le({kind:`context`,text:e,oldLine:t-(n.newStart-n.oldStart),newLine:t,noNewline:!1},`c${t}`,r),ue=e=>(0,j.jsxs)(`div`,{className:`rv-expand`,children:[Bu.map(t=>(0,j.jsxs)(`button`,{type:`button`,className:`rv-link`,onClick:()=>void E(e,t),children:[`+`,t]},t)),(0,j.jsx)(`button`,{type:`button`,className:`rv-link`,onClick:()=>void E(e,null),children:`whole file`})]});return(0,j.jsxs)(`section`,{className:`rv-hunk${e.readable?``:` is-dim`}`,"data-hunk":y,"data-key":e.cardKey,"data-index":e.index,ref:T.ref,children:[(0,j.jsxs)(`div`,{className:`rv-fh${ae}`,children:[(0,j.jsxs)(`span`,{className:`rv-path rv-mono`,children:[O!==``&&(0,j.jsx)(`i`,{children:O}),ee]}),(0,j.jsx)(`span`,{className:`rv-mono`,children:k}),e.also.length>0&&(0,j.jsxs)(`span`,{className:`rv-also`,children:[`also in `,e.also.map(e=>`"${e}"`).join(`, `)]}),(0,j.jsx)(`span`,{className:`rv-grow`}),e.changed&&(0,j.jsx)(`span`,{className:`rv-changed`,children:`Changed since you saw it`}),(r.length>0||a.length>0)&&(0,j.jsx)(`button`,{type:`button`,className:`rv-link`,onClick:()=>{i([]),o([])},children:`Back to the hunk`}),e.readable&&!e.fileRead&&(0,j.jsx)(`button`,{type:`button`,className:`rv-link`,disabled:e.busy,onClick:e.onFile,children:`Mark file Seen`}),e.seen&&e.readable?(0,j.jsxs)(`button`,{type:`button`,className:`rv-state is-seen`,disabled:e.busy,"aria-label":`Mark as not seen`,onClick:()=>e.onSeen(!1),children:[(0,j.jsx)(`span`,{className:`rv-state-on`,children:`✓ Seen`}),(0,j.jsx)(`span`,{className:`rv-state-off`,children:`Not seen`})]}):(0,j.jsx)(`span`,{className:`rv-state${e.seen?` is-seen`:``}`,children:e.seen?`✓ Seen`:`pending`}),e.seen&&(0,j.jsx)(`button`,{type:`button`,className:`rv-icon`,"aria-label":`Fold this hunk`,onClick:()=>e.onOpen(!1),children:(0,j.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,j.jsx)(`path`,{d:`M3 10l5-5 5 5`})})})]}),(0,j.jsxs)(`div`,{className:`rv-diff`,children:[se&&ue(`above`),r.map((e,t)=>M(e,A+t,t)),(0,j.jsx)(`div`,{className:`rv-hd`,children:k}),n.lines.map((e,t)=>le(e,`${e.oldLine??`x`}-${e.newLine??`x`}`,r.length+t)),a.map((e,t)=>M(e,n.newStart+n.newLines+t,r.length+n.lines.length+t)),ce&&ue(`below`)]}),l!==null&&(0,j.jsx)(`p`,{className:`rv-trouble`,children:l}),p!==null&&(0,j.jsx)(ct,{act:p,lines:S,text:e.draft?.text??``,busy:e.busy,onChange:t=>e.onDraft({act:p,lines:S,text:t}),onWrite:t=>{h(null),_(null),e.onDraft(null),e.onFeedback(p,t,S)},onCancel:()=>{h(null),e.onDraft(null)}}),e.threads.map(t=>(0,j.jsx)(ft,{thread:t,readable:e.readable,agentHolds:e.agentHolds,busy:e.busy,onClose:()=>e.onCloseThread(t.id),watch:e.watchReply},t.id)),e.readable&&(0,j.jsxs)(j.Fragment,{children:[d&&(0,j.jsxs)(`div`,{className:`rv-fabmenu`,children:[(0,j.jsx)(`button`,{type:`button`,className:`rv-seen`,disabled:e.busy,onClick:()=>{f(!1),e.onSeen(!e.seen)},children:e.seen?`Not seen`:`✓ Seen`}),(0,j.jsx)(`hr`,{}),Hu.map(t=>t===`talk`?(0,j.jsx)(`button`,{type:`button`,disabled:e.busy,onClick:()=>{f(!1),e.onTalk(S),_(null)},children:`Let's talk`},t):(0,j.jsx)(`button`,{type:`button`,disabled:e.busy,onClick:()=>{f(!1),h(t),e.onDraft({act:t,lines:S,text:``})},children:be[t]},t))]}),(0,j.jsx)(`button`,{type:`button`,className:`rv-fab`,"aria-expanded":d,"aria-label":`Act on ${n.path} ${k}`,onClick:()=>f(e=>!e),children:d?`×`:`+`})]})]})}var Xu={binary:`binary`,generated:`generated`,oversize:`too large to read as a diff`,text:`whole file`};function Zu(e,t){let[n,r]=(0,m.useState)({old:null,new:null}),i=t?.oldBlob??null,a=t?.newBlob??null;return(0,m.useEffect)(()=>{let t=!0,n=t=>t===null?Promise.resolve(null):A(`${e}/${me}/${t}`);return Promise.all([n(i),n(a)]).then(([e,n])=>{t&&r({old:e,new:n})}),()=>{t=!1}},[e,i,a]),n}function Qu(e){let{file:t,hunk:n}=e,i=Zu(e.slug,t),a=n?.path??t?.path??e.entry.id,o=Math.max(t?.oldBytes??0,t?.newBytes??0)>d,s=l(a)===`image`&&!o;if(n===null)return(0,j.jsx)(`div`,{className:`rv-nt-row rv-waiting`,"data-index":e.index,"data-hunk":e.entry.id,"data-key":e.cardKey,ref:e.watch,children:(0,j.jsx)(`span`,{className:`rv-mono`,children:a})});let c=t===null||t.added===0&&t.deleted===0?``:`+${t.added} -${t.deleted}`,u=[t?.oldBytes??null,t?.newBytes??null].filter(e=>e!==null).map(r).join(` → `);return(0,j.jsxs)(`div`,{className:`rv-nt-row`,"data-hunk":e.entry.id,"data-key":e.cardKey,"data-index":e.index,children:[(0,j.jsxs)(`div`,{className:`rv-nt-head`,children:[(0,j.jsx)(`span`,{className:`rv-mono`,children:a}),(0,j.jsxs)(`span`,{className:`rv-facts`,children:[Xu[t?.category??`text`],c===``?``:` - ${c}`,u===``?``:` - ${u}`,o?` - too large to show`:``]}),(0,j.jsx)(`span`,{className:`rv-grow`}),e.seen?(0,j.jsx)(`span`,{className:`rv-ok`,children:`✓ Seen`}):e.readable&&(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,disabled:e.busy,onClick:()=>e.onSeen(!0),children:`Mark Seen`})]}),s&&(0,j.jsxs)(`div`,{className:`rv-nt-images`,children:[i.old!==null&&(0,j.jsxs)(`figure`,{children:[(0,j.jsx)(`img`,{src:i.old,alt:`${a} before`}),(0,j.jsx)(`figcaption`,{children:`before`})]}),i.new!==null&&(0,j.jsxs)(`figure`,{children:[(0,j.jsx)(`img`,{src:i.new,alt:`${a} after`}),(0,j.jsx)(`figcaption`,{children:`after`})]})]})]})}function $u(e,t){let n=new Set(e.hunks),r=[],i=new Set;for(let a of t){if(a.id===e.id)continue;let t=a.hunks.filter(e=>n.has(e));if(t.length!==0){r.push(a.name);for(let e of t)i.add(e)}}return{count:i.size,groups:r}}function ed(e,t){return e?.querySelector(`[data-hunk="${Ne(t)}"]`)??null}function td(e){let t=e.review,n=t.baseline,r=(0,m.useRef)(null),i=(0,m.useRef)(null),a=(0,m.useRef)(!1),o=n?.entries??[],s=(0,m.useMemo)(()=>new Map(o.map((e,t)=>[e.id,t])),[o]),c=n?.files??[],l=new Set(t.marks.marks.map(e=>e.hunk)),u=new Set(t.marks.changed.map(e=>e.hunk)),d=new Map;for(let e of t.metadata.groups)for(let t of e.hunks)d.set(t,[...d.get(t)??[],e.name]);let f=new Map;for(let e of t.metadata.notes)f.set(e.hunk,[...f.get(e.hunk)??[],e]);let p=new Map;for(let e of t.threads.threads){let t=`${e.kind}\n${e.anchor}`;p.set(t,[...p.get(t)??[],e])}let h=t.state.side===`you`&&t.state.status===`reviewing`,g=t.state.side===`agent`,_=Ke(t),v=_.filter(t=>e.group===null||t.id===e.group),y=e.at,b=e.need,x=e.hunks,S=e.onLanded;(0,m.useEffect)(()=>{if(y===null)return;let e=s.get(y);if(e!==void 0&&b(e),!x.has(y))return;let t=ed(r.current,y);typeof t?.scrollIntoView==`function`&&t.scrollIntoView({block:`center`}),S()},[y,b,s,x,S]);let C=e.startAt;(0,m.useEffect)(()=>{a.current||x.size===0||r.current===null||(a.current=!0,r.current.scrollTop=C)},[x.size,C]);let w=t.threads.threads.filter(e=>e.open&&e.label===`hunk-removed`),T=[],E=v.map(n=>{let r=new Set(n.hunks),i=o.filter(e=>r.has(e.id)),a=i.filter(e=>c[e.file]?.category===`text`),m=i.filter(e=>c[e.file]?.category!==`text`),v=(r,i)=>{let a=`${n.id}-${r.id}`,m=l.has(r.id),_=`hunk:${r.id}`,v=e.opened.has(r.id)||e.drafts.has(_);T.push({key:a,id:r.id,folded:m&&!v});let y={cardKey:a,slug:t.slug,entry:r,file:c[r.file]??null,hunk:e.hunks.get(r.id)??null,seen:m,busy:e.busy,readable:h,agentHolds:g,onSeen:t=>e.onSeen(r.id,t),index:s.get(r.id)??0,watch:e.watch},b=()=>e.onBulk(`file`,c[r.file]?.key??``);return i?(0,j.jsx)(Qu,{...y},a):(0,j.jsx)(Yu,{...y,theme:e.theme,onFile:b,fileRead:o.every(e=>e.file!==r.file||l.has(e.id)),changed:u.has(r.id),also:(d.get(r.id)??[]).filter(e=>e!==n.name),open:v,onOpen:t=>e.onOpen(r.id,t),draft:e.drafts.get(_)??null,onDraft:t=>e.onDraft(_,t),notes:f.get(r.id)??[],threads:p.get(`hunk\n${r.id}`)??[],onFeedback:(t,n,i)=>e.onFeedback(t,r.id,n,i),onTalk:t=>e.onTalk(r.id,t),onCloseThread:e.onCloseThread,watchReply:e.watchReply},a)};return(0,j.jsxs)(`div`,{className:`rv-section`,children:[(0,j.jsx)(nd,{section:n,review:t,held:i,seen:l,readable:h,agentHolds:g,busy:e.busy,shared:$u(n,_),threads:p.get(`group\n${n.id}`)??[],draft:e.drafts.get(`group:${n.id}`)??null,onDraft:t=>e.onDraft(`group:${n.id}`,t),onBulk:e.onBulk,onGroupComment:e.onGroupComment,onCloseThread:e.onCloseThread,watchReply:e.watchReply}),a.map(e=>v(e,!1)),m.length>0&&(0,j.jsxs)(`details`,{className:`rv-nt`,children:[(0,j.jsxs)(`summary`,{children:[`Non-textual (`,m.length,`)`,(0,j.jsx)(`span`,{className:`rv-nt-names`,children:m.map(e=>c[e.file]?.path??``).join(`, `)})]}),m.map(e=>v(e,!0))]})]},n.id)});return(0,j.jsx)(`div`,{className:`rv-feed`,ref:r,onScroll:t=>e.onScroll(t.currentTarget.scrollTop),children:(0,j.jsxs)(`div`,{className:`rv-fgrid${e.notesShut?` is-shut`:``}`,ref:i,children:[(0,j.jsxs)(`div`,{className:`rv-fmain`,children:[E,e.group===null&&Array.from({length:e.coming},(e,t)=>`coming-${t}`).map(e=>(0,j.jsxs)(`section`,{className:`rv-gcard rv-waiting`,"aria-hidden":`true`,children:[(0,j.jsx)(`span`,{className:`rv-skel is-narrow`}),(0,j.jsx)(`span`,{className:`rv-skel is-wide`}),(0,j.jsx)(`span`,{className:`rv-skel is-half`})]},e)),e.group===null&&w.length>0&&(0,j.jsxs)(`section`,{className:`rv-gcard`,children:[(0,j.jsxs)(`div`,{className:`rv-gcard-top`,children:[(0,j.jsx)(`h3`,{children:`Hunks that are gone`}),(0,j.jsxs)(`span`,{className:`rv-facts`,children:[w.length,` thread`,w.length===1?``:`s`]})]}),(0,j.jsx)(`p`,{children:`The hunk each of these was about is no longer in the change. Close it once it is settled.`}),w.map(t=>(0,j.jsx)(ft,{thread:t,readable:h,agentHolds:g,busy:e.busy,onClose:()=>e.onCloseThread(t.id),watch:e.watchReply},t.id))]}),v.length===0&&e.coming===0&&w.length===0&&(0,j.jsx)(`p`,{className:`rv-facts`,children:t.baseline===null?`This review has no baseline to draw.`:`Nothing is grouped yet, and nothing is left to read.`}),e.footer]}),(0,j.jsx)(We,{notes:t.metadata.notes,drawn:T,dismissed:e.dismissed,elsewhere:e.elsewhere,readable:h,collapsed:e.notesShut,onCollapse:e.onNotesShut,onAsk:(t,n,r)=>e.onDraft(`hunk:${t}`,{act:`fix`,lines:n,text:r}),onTalk:e.onTalk,onDismiss:e.onDismiss,onGroup:e.onGroup,onGo:e.onGo,frame:i})]})})}function nd(e){let[t,n]=(0,m.useState)(e.draft!==null),r=e.section,i=e.held,a=i.filter(t=>e.seen.has(t.id)).length,o=new Set(i.map(e=>e.file)).size,s=new Set(r.hunks),c=e.review.threads.threads.filter(e=>e.open&&s.has(e.anchor)).length;return(0,j.jsxs)(`section`,{className:`rv-gcard${e.readable?``:` is-dim`}`,children:[(0,j.jsxs)(`div`,{className:`rv-gcard-top`,children:[(0,j.jsx)(`h3`,{children:r.name}),(0,j.jsxs)(`span`,{className:`rv-facts`,children:[i.length,` hunk`,i.length===1?``:`s`,` - `,o,` file`,o===1?``:`s`,` - `,a,` Seen`,c===0?``:` - ${c} thread${c===1?``:`s`}`,e.shared.count===0?``:` - ${e.shared.count} shared with ${e.shared.groups.join(`, `)}`]})]}),r.narrative!==``&&(0,j.jsx)(`p`,{children:r.narrative}),r.facts.length>0&&(0,j.jsx)(`ul`,{children:r.facts.map(e=>(0,j.jsx)(`li`,{children:e},e))}),(0,j.jsxs)(`div`,{className:`rv-gcard-acts`,children:[(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,disabled:!e.readable||e.busy||a===i.length,onClick:()=>e.onBulk(`group`,r.id),children:`Mark remaining as Seen`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,disabled:!e.readable||e.busy,onClick:()=>{n(!0),e.onDraft({act:`group-comment`,lines:[],text:``})},children:`Comment on group`})]}),t&&(0,j.jsx)(ct,{act:`group-comment`,lines:[],text:e.draft?.text??``,busy:e.busy,onChange:t=>e.onDraft({act:`group-comment`,lines:[],text:t}),onWrite:t=>{n(!1),e.onDraft(null),e.onGroupComment(r.id,t)},onCancel:()=>{n(!1),e.onDraft(null)}}),e.threads.map(t=>(0,j.jsx)(ft,{thread:t,readable:e.readable,agentHolds:e.agentHolds,busy:e.busy,onClose:()=>e.onCloseThread(t.id),watch:e.watchReply},t.id))]})}function rd(e){let[t,n]=(0,m.useState)(!1),r=e.items.length;return r===0?null:(0,j.jsxs)(`aside`,{className:`rv-send${t?` is-open`:``}${e.notesShut?` is-wide`:``}`,"aria-label":`Pending feedback`,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[!t&&(0,j.jsxs)(`button`,{type:`button`,className:`rv-sendpill`,onClick:()=>n(!0),children:[`Send to agent`,(0,j.jsx)(`span`,{className:`rv-n`,children:r})]}),t&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`p`,{className:`rv-send-head`,children:`Pending feedback`}),e.items.map(t=>(0,j.jsxs)(`div`,{className:`rv-si`,children:[(0,j.jsx)(`b`,{children:be[t.act]}),(0,j.jsx)(`span`,{className:`rv-f`,children:e.whereOf(t)}),(0,j.jsx)(`span`,{className:`rv-q`,children:t.text}),(0,j.jsxs)(`span`,{className:`rv-si-ctl`,children:[(0,j.jsx)(`button`,{type:`button`,"aria-label":`Edit ${be[t.act]}`,disabled:!e.readable||e.busy,onClick:()=>e.onEdit(t),children:`✎`}),(0,j.jsx)(`button`,{type:`button`,"aria-label":`Remove ${be[t.act]}`,disabled:!e.readable||e.busy,onClick:()=>e.onRemove(t),children:`×`})]})]},t.id)),(0,j.jsxs)(`p`,{className:`rv-send-foot`,children:[(0,j.jsxs)(`button`,{type:`button`,className:`rv-btn is-primary`,disabled:!e.readable||e.busy,onClick:e.onSend,children:[`Send to agent (`,r,`)`]}),(0,j.jsx)(`small`,{children:`The agent works while you wait, and this review turns read-only`})]})]})]})}var id=3e4;function ad(e,t){let[n,r]=(0,m.useState)(()=>t??new Date);return(0,m.useEffect)(()=>{if(t!==void 0||!e)return;let n=setInterval(()=>r(new Date),id);return()=>clearInterval(n)},[e,t]),t??n}function od(e,t){let n=(0,m.useRef)(t);n.current=t;let r=(0,m.useRef)(null),i=(0,m.useRef)(!1),a=(0,m.useCallback)(()=>{r.current=null,!(!i.current||e===null)&&(i.current=!1,ae(e,`place`,n.current()).catch(()=>{}))},[e]),o=(0,m.useCallback)(()=>{i.current=!0,r.current===null&&(r.current=setTimeout(a,500))},[a]);return(0,m.useEffect)(()=>()=>{r.current!==null&&clearTimeout(r.current),r.current=null,a()},[a]),o}function sd(e){return Array.from({length:e},(e,t)=>`waiting-${t}`)}function cd(e){let t=e.state;return t.status===`approved`||t.status===`archived`&&e.approval?.approved?{text:`Approved`,kind:`is-ended`}:t.status===`closed`||t.status===`archived`?{text:`Closed`,kind:`is-ended`}:t.side===`agent`?null:e.ready?{text:`Ready for approval`,kind:`is-ready`}:{text:`Awaits you`,kind:`is-you`}}function ld(e){let t=e.attention,n=[];return t.issues>0&&n.push({kind:`is-issue`,text:`${t.issues} issue${t.issues===1?``:`s`}`}),t.attention>0&&n.push({kind:`is-attention`,text:`${t.attention} attention`}),t.unreadReplies>0&&n.push({kind:`is-reply`,text:`${t.unreadReplies} unread ${t.unreadReplies===1?`reply`:`replies`}`}),t.waiting>0&&n.push({kind:`is-you`,text:`${t.waiting} wait${t.waiting===1?`s`:``} on you`}),t.changed>0&&n.push({kind:`is-changed`,text:`${t.changed} changed since seen`}),n}function ud(e,t){let n=e.filter(e=>t===null||t.has(e.hunk));return{issues:n.filter(e=>e.kind===`issue`).length,attention:n.filter(e=>e.kind===`attention`).length}}function dd(e,t,n,r,i){let a=e.findIndex(e=>e.id===t);if(t===null||a===-1)return null;let o=new Set(e[a]?.hunks??[]),s=n.filter(e=>!o.has(e.hunk)),c=ud(r,new Set(s.map(e=>e.hunk))),l=e=>e.kind===`issue`||e.kind===`attention`,u=null;for(let t=1;t<e.length&&u===null;t+=1){let n=e[(a+t)%e.length];if(n===void 0)continue;let o=new Set(n.hunks),s=new Set(r.filter(e=>l(e)&&o.has(e.hunk)).map(e=>e.hunk)),c=i.find(e=>s.has(e));c!==void 0&&(u={group:n.id,name:n.name,hunk:c})}return{count:s.length,issues:c.issues,attention:c.attention,next:u}}function fd(e){return e.issues===0&&e.attention===0?null:(0,j.jsxs)(`span`,{className:`rv-badge`,children:[e.issues>0&&(0,j.jsxs)(`span`,{className:`rv-badge-one is-issue`,children:[(0,j.jsx)(`i`,{"aria-hidden":`true`}),e.issues]}),e.attention>0&&(0,j.jsxs)(`span`,{className:`rv-badge-one is-attention`,children:[(0,j.jsx)(`i`,{"aria-hidden":`true`}),e.attention]})]})}function pd(e,t){let n=e.state,r=[_e(n.selection)],i=n.selection.kind===`last-commit`||n.selection.kind===`commit`,a=e.baseline?.commits[0]?.subject??``;return i&&a!==``&&r.push(a),n.filedBy===`terminal`&&r.push(`filed from the terminal ${De(n.created,t)}`),r.join(` - `)}function md(e,t){return`${(e===``?`Working on the review`:e).replace(/[.;\s]+$/,``)}${t===`prepare`?`; code changes are best avoided meanwhile`:``}.`}function hd(e,t){let n=new Date(e);return Number.isNaN(n.getTime())||n.toDateString()===t.toDateString()?``:n.toLocaleDateString([],{month:`short`,day:`numeric`})}function gd(e){let t=e.review,n=t.state,r=t.baseline,[i,a]=(0,m.useState)(!1),[o,s]=(0,m.useState)(!1),[c,l]=(0,m.useState)(t.place.group),[u,d]=(0,m.useState)(new Set(t.place.expanded)),[f,p]=(0,m.useState)(()=>new Map(t.place.drafts.map(e=>[e.anchor,e]))),[h,g]=(0,m.useState)(()=>{let e=t.place.drafts.find(e=>e.anchor.startsWith(`pending:`));return e===void 0?null:t.pending.items.find(t=>`pending:${t.id}`===e.anchor)??null}),_=n.side===`agent`&&n.status===`reviewing`,v=t.slug.startsWith(`${P}/`),y=ad(_,e.now),b=cd(t),x=ld(t),S=new Set(t.dismissals.items.map(e=>Ce(e.hunk,e.key))),C=t.metadata.notes.filter(e=>!S.has(Ce(e.hunk,e.key))),w=t.relation,T=w!==null&&w.relation===`out-of-sync`?w:null,E=w!==null&&w.relation===`merged`?w:null,D=(0,m.useRef)(t.place.scroll),O=Pu(t.slug,r?.fingerprint??``),ee=Iu(O.need),k=(0,m.useRef)(new Set),te=od(v?null:t.slug,()=>({scroll:D.current,expanded:[...u],group:c,read:[...k.current],drafts:[...f.values()]})),ne=(e,t)=>{p(n=>{let r=new Map(n);return t===null?r.delete(e):r.set(e,{anchor:e,...t}),r}),te()},re=Lu(e=>{k.current.has(e)||(k.current.add(e),te())}),ie=_&&Oe(n.agent.lastPostAt,y),ae=md(n.agent.activity,n.agent.act),A=t.metadata.groups,oe=n.agent.groups,se=sd(oe===null?0:Math.max(0,oe-A.length)),ce=Ge(n.side),le=new Set(t.marks.marks.map(e=>e.hunk)),M=dd(Ke(t),c,t.metadata.notes,C,(t.baseline?.entries??[]).map(e=>e.id)),ue=e=>{let t=ud(C,e===null?null:new Set(e));return(0,j.jsx)(fd,{issues:t.issues,attention:t.attention})},N=t.progress.total,F=N===0?0:Math.round(t.progress.seen/N*100),I=n.side===`you`&&n.status===`reviewing`,de=e=>{if(e.group!==null){let t=A.find(t=>t.id===e.group);return t===void 0?`the group`:t.name}let t=(r?.entries??[]).find(t=>t.id===e.hunk);if(t===void 0)return e.label===`hunk-removed`?`a hunk that is gone`:e.hunk??``;let n=r?.files[t.file]?.path??``,i=/^@@ (-\d+)/.exec(t.header);return i===null?n:`${n} @@ ${i[1]}`},L=e=>{l(e),te()},{onGroup:fe}=e;return(0,m.useEffect)(()=>fe(c),[c,fe]),(0,j.jsxs)(`div`,{className:`rv-screen`,children:[(0,j.jsxs)(`div`,{className:`rv-head`,children:[(0,j.jsx)(`h2`,{children:n.name}),(0,j.jsx)(`span`,{className:`rv-head-what`,children:pd(t,y)}),(0,j.jsx)(`span`,{className:`rv-grow`}),b!==null&&(0,j.jsx)(`span`,{className:`rv-chip ${b.kind}`,children:b.text})]}),t.approval!==null&&(0,j.jsx)(ut,{approval:t.approval,slug:t.slug,filed:v,busy:e.busy,onArchive:e.onArchive}),_&&(0,j.jsxs)(`div`,{className:`rv-agentbar`,children:[(0,j.jsx)(`b`,{children:`Awaits agent`}),(0,j.jsxs)(`span`,{className:`rv-say`,children:[ae,n.agent.lastPostAt!==null&&(0,j.jsxs)(j.Fragment,{children:[` Last post ${it(n.agent.lastPostAt)}, `,(0,j.jsx)(`span`,{className:ie?`rv-late`:void 0,children:De(n.agent.lastPostAt,y)}),`.`]})]}),(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small is-primary`,disabled:e.busy,onClick:e.onStop,children:`Stop the agent and review now`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small is-outline`,disabled:e.busy,onClick:e.onAsk,children:`Ask the agent to continue`})]}),!_&&T!==null&&(0,j.jsxs)(`div`,{className:`rv-banner`,children:[(0,j.jsx)(`b`,{children:`Out of sync`}),(0,j.jsx)(`span`,{children:`The tree is out of sync with the baseline.`}),(0,j.jsx)(`span`,{className:`rv-grow`}),(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,disabled:e.busy,onClick:e.onSync,children:`Sync the review`})]}),!_&&E!==null&&(0,j.jsxs)(`div`,{className:`rv-banner is-merged`,children:[(0,j.jsx)(`b`,{children:`Merged`}),(0,j.jsx)(`span`,{children:E.mergedAs===null?`This branch was merged.`:`This branch was merged as ${E.mergedAs}.`}),(0,j.jsx)(`span`,{className:`rv-grow`}),E.mergedAs!==null&&(0,j.jsx)(`button`,{type:`button`,className:`rv-btn is-small`,disabled:e.busy,onClick:e.onFollow,children:`Follow the merge`})]}),t.error!==null&&(0,j.jsxs)(`div`,{className:`rv-banner`,children:[(0,j.jsx)(`b`,{children:`Not all there`}),(0,j.jsx)(`span`,{children:t.error}),I&&!t.ready&&(0,j.jsx)(rt,{busy:e.busy,onClose:e.onCloseReview})]}),(0,j.jsxs)(`div`,{className:`rv-pills`,children:[(0,j.jsxs)(`button`,{type:`button`,className:`rv-pill`,"aria-pressed":c===null,onClick:()=>L(null),children:[`All groups`,ue(null)]}),A.map(e=>(0,j.jsxs)(`button`,{type:`button`,className:`rv-pill`,"aria-pressed":c===e.id,onClick:()=>L(e.id),children:[e.name,` `,e.hunks.filter(e=>le.has(e)).length,`/`,e.hunks.length,ue(e.hunks)]},e.id)),t.ungrouped.length>0&&(0,j.jsxs)(`button`,{type:`button`,className:`rv-pill`,"aria-pressed":c===`ungrouped`,onClick:()=>L(`ungrouped`),children:[ce,` `,t.ungrouped.length,ue(t.ungrouped)]}),se.map(e=>(0,j.jsx)(`span`,{className:`rv-pill is-waiting`,children:`loading`},e))]}),(0,j.jsxs)(`div`,{className:`rv-body`,children:[(0,j.jsx)(td,{review:t,group:c,hunks:O.hunks,need:O.need,watch:ee,watchReply:re,at:e.at??null,onLanded:e.onLanded,opened:u,onOpen:(e,t)=>{d(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r}),te()},drafts:f,onDraft:ne,busy:e.busy,onSeen:e.onSeen,onBulk:e.onBulk,onFeedback:e.onFeedback,onGroupComment:e.onGroupComment,onTalk:e.onTalk,onCloseThread:e.onCloseThread,notesShut:o,onNotesShut:s,dismissed:S,elsewhere:M,onDismiss:e.onDismiss,onGroup:L,onGo:e.onGo,startAt:t.place.scroll,theme:e.theme,onScroll:e=>{D.current=e,te()},coming:se.length,footer:I&&t.ready?(0,j.jsx)(st,{review:t,busy:e.busy,onApprove:e.onApprove,onClose:e.onCloseReview}):void 0}),(0,j.jsx)(rd,{items:t.pending.items,whereOf:de,readable:I,busy:e.busy,onEdit:e=>{g(e),ne(`pending:${e.id}`,{act:e.act,lines:[],text:e.text})},onRemove:n=>e.onPending(t.pending.items.filter(e=>e.id!==n.id)),onSend:e.onSend,notesShut:o})]}),h!==null&&(0,j.jsx)(`div`,{className:`rv-editing`,children:(0,j.jsx)(ct,{act:h.act,lines:[],text:f.get(`pending:${h.id}`)?.text??h.text,busy:e.busy,onChange:e=>ne(`pending:${h.id}`,{act:h.act,lines:[],text:e}),onWrite:n=>{let r=h;g(null),ne(`pending:${r.id}`,null),e.onPending(t.pending.items.map(e=>e.id===r.id?{...e,text:n}:e))},onCancel:()=>{ne(`pending:${h.id}`,null),g(null)}})}),O.failure!==null&&(0,j.jsxs)(`p`,{className:`notice notice-failure`,children:[O.failure,` `,(0,j.jsx)(`button`,{type:`button`,className:`rv-link`,onClick:O.retry,children:`Try again`})]}),i&&(0,j.jsx)(`div`,{className:`rv-log`,children:[...n.log].reverse().map(e=>(0,j.jsxs)(`p`,{children:[(0,j.jsxs)(`b`,{children:[hd(e.at,y),` `,it(e.at)]}),` `,e.said]},`${e.at}-${e.said}`))}),(0,j.jsxs)(`div`,{className:`rv-status`,children:[(0,j.jsxs)(`span`,{className:`rv-loops`,title:`Agent-human feedback loops`,children:[(0,j.jsxs)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,fill:`none`,stroke:`currentColor`,children:[(0,j.jsx)(`path`,{d:`M13 8a5 5 0 0 0-8.5-3.5M3 8a5 5 0 0 0 8.5 3.5`,strokeWidth:`1.5`,strokeLinecap:`round`}),(0,j.jsx)(`path`,{d:`M4.5 1.5v3h3M11.5 14.5v-3h-3`,strokeWidth:`1.5`,strokeLinecap:`round`})]}),t.loops]}),(0,j.jsx)(`span`,{className:`rv-prog`,children:(0,j.jsx)(`i`,{style:{width:`${F}%`}})}),(0,j.jsxs)(`span`,{children:[t.progress.seen,` of `,N,` Seen`]}),x.map(e=>(0,j.jsxs)(`span`,{className:`rv-fact ${e.kind}`,children:[(0,j.jsx)(`i`,{"aria-hidden":`true`}),e.text]},e.kind)),(0,j.jsx)(`span`,{className:`rv-grow`}),(0,j.jsxs)(`button`,{type:`button`,className:`rv-log-toggle`,"aria-expanded":i,onClick:()=>a(e=>!e),children:[(0,j.jsx)(`span`,{"aria-hidden":`true`,children:i?`▾`:`▸`}),`Activity (`,n.log.length,`)`]})]})]})}var _d={open:null,starting:!1,at:null,form:null};function vd(){let[e,t]=(0,m.useState)(null),[n,r]=(0,m.useState)(null),[i,o]=(0,m.useState)(null),[s,c]=(0,m.useState)(null),[l,d]=(0,m.useState)(!1),[f,p]=(0,m.useState)({options:[],notOffered:null}),[h,g]=(0,m.useState)(!1),[_,S]=(0,m.useState)(!1),[w,T]=(0,m.useState)(null),[E,D]=(0,m.useState)(null),[k,te]=(0,m.useState)(null),re=u({onSession:y,askTheme:C}),ie=(0,m.useRef)(new Map),A=(0,m.useRef)(null),oe=(0,m.useRef)(_d),se=(0,m.useRef)(null),[ce,le]=(0,m.useState)(0),M=(0,m.useCallback)(()=>{O().then(e=>{t(e),r(null)}).catch(e=>r(e.message))},[]),N=(0,m.useCallback)(e=>{if(e===null){c(null);return}ee(e).then(c).catch(e=>{c(null),T(e.message)})},[]);(0,m.useEffect)(M,[M]),(0,m.useEffect)(()=>N(i),[i,N]),(0,m.useEffect)(()=>v(()=>{M(),N(i)}),[i,M,N]),(0,m.useEffect)(()=>{e!==null&&x(e.awaitingYou,e.any)},[e]);let P=(0,m.useCallback)(async(e,t,n)=>{for(let t of e){let e=await b({event:t.event,detail:t.detail,path:t.path});e.ok||T(`No agent was told: ${e.error}`)}if(!t)return;let r=await b({event:`review`,detail:n});r.ok||T(`No agent was told: ${r.error}`)},[]),F=(0,m.useCallback)(async(e,t,n={})=>{S(!0),T(null);try{let r=await ae(e,t,n);r.review!==null&&(c(r.review),r.review.slug!==e&&o(r.review.slug),M(),await P(r.typed,r.command,r.review.state.name))}catch(e){T(e instanceof Error?e.message:`that act was refused`)}finally{S(!1)}},[M,P]),I=(0,m.useCallback)(()=>{g(!0),ne().then(p).catch(e=>T(e.message)).finally(()=>g(!1))},[]),de=(0,m.useCallback)(()=>{se.current=null,d(!0),o(null),T(null),I()},[I]);(0,m.useEffect)(()=>{oe.current={open:i,starting:l,at:E}},[i,l,E]);let L=(0,m.useCallback)(e=>{if(A.current===e)return;let t=oe.current,n=e===null?void 0:ie.current.get(e);if(A.current===null&&n===void 0){A.current=e;return}A.current!==null&&ie.current.set(A.current,{...t,form:se.current}),A.current=e;let r=n??_d;oe.current=r,se.current=r.form,o(r.open),d(r.starting),D(r.at),le(e=>e+1),T(null),r.starting&&I()},[I]);(0,m.useEffect)(()=>y(e=>L(e.sid)),[L]);let fe=(0,m.useCallback)(e=>{se.current=null,d(!1),o(e.slug),M(),P([],e.command,e.state.name)},[M,P]);if(e===null)return(0,j.jsx)(`p`,{className:`notice notice-failure`,children:n??`Waiting for the pane to hand over…`});let R=s!==null&&s.slug===i?s:null;return(0,j.jsxs)(`div`,{className:`workspace is-alone is-review`,children:[R===null?(0,j.jsx)(tt,{active:e.active,archived:e.archived,open:i,onOpen:e=>{d(!1),o(e)},starting:l,onStart:de,repository:e.repository,error:e.error}):(0,j.jsx)(Xe,{review:R,at:E,group:k,onPick:D,onBack:()=>{o(null),D(null)}}),(0,j.jsxs)(`div`,{className:`stage${R===null?``:` has-bar`}`,"data-theme":re.theme,children:[(0,j.jsx)(a,{theme:re.theme,kept:re.kept,onToggle:re.toggle}),w!==null&&(0,j.jsx)(`p`,{className:`notice notice-failure`,children:w}),l?(0,j.jsx)(ue,{offer:f,reading:h,onRefresh:I,draft:se.current,onDraft:e=>{se.current=e},onCancel:()=>{se.current=null,d(!1)},onStarted:fe},ce):R===null?(0,j.jsx)(`div`,{className:`doc`,children:(0,j.jsx)(`p`,{className:`notice`,children:i===null?`Nothing is open. Pick a review on the left.`:`Reading the review…`})}):(0,j.jsx)(gd,{review:R,at:E,busy:_,theme:re.theme,onStop:()=>void F(R.slug,`stop`),onGroup:te,onAsk:()=>void P([],!0,R.state.name),onSeen:(e,t)=>void F(R.slug,`mark`,t?{hunk:e}:{hunk:e,seen:!1}),onBulk:(e,t)=>void F(R.slug,`bulk`,{kind:e,id:t}),onFeedback:(e,t,n,r)=>void F(R.slug,`comment`,{hunk:t,kind:e,text:n,lines:r}),onGroupComment:(e,t)=>void F(R.slug,`group-comment`,{group:e,text:t}),onTalk:(e,t)=>void F(R.slug,`comment`,{hunk:e,kind:`talk`,text:``,lines:t}),onCloseThread:e=>void F(R.slug,`close-thread`,{thread:e}),onPending:e=>void F(R.slug,`pending`,{items:e}),onDismiss:(e,t,n)=>void F(R.slug,`dismiss`,{hunk:e,key:t,on:n}),onSend:()=>void F(R.slug,`send`),onSync:()=>void F(R.slug,`sync`),onFollow:()=>void F(R.slug,`follow`),onApprove:(e,t)=>void F(R.slug,`approve`,{name:e,signature:t}),onCloseReview:e=>void F(R.slug,`close`,{reason:e}),onArchive:()=>void F(R.slug,`archive`),onGo:D,onLanded:()=>D(null)},R.slug)]})]})}S();var yd=document.getElementById(`root`);yd&&(0,h.createRoot)(yd).render((0,j.jsx)(m.StrictMode,{children:(0,j.jsx)(vd,{})}));