@powerduck/md-editor 0.8.2 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -247,6 +247,12 @@ npm run build # vite build + d.ts generation
247
247
 
248
248
  ## Changelog
249
249
 
250
+ ### v0.8.3
251
+
252
+ - **Changed**: Task list checkbox semantics inverted per project convention. `- [ ]` now renders as **checked** (green checkmark); `- [x]` / `- [X]` renders as **unchecked** (empty box). `toggleTaskList()` and all tests updated accordingly.
253
+ - **Improved**: Clicking the @mention or document-link toolbar button without configuring the search hook now logs a clear `console.warn` explaining that `mention.onMentionSearch` / `docLink.onDocSearch` must be provided.
254
+ - **Test**: 310 tests, all passing, zero unhandled errors.
255
+
250
256
  ### v0.8.2
251
257
 
252
258
  - **Fixed**: @mention and `/` doc-link dropdowns did not appear. Root cause: v0.8.1 mounted dropdowns inside `.md-editor-root` where ancestor `overflow:hidden` / stacking contexts could clip or misplace `position:fixed` elements. Reverted to `document.body` mounting with `position:fixed`, and added explicit light/dark colors via `data-theme` attribute (no dependency on editor-scoped CSS variables).
package/dist/Editor.d.ts CHANGED
@@ -55,10 +55,9 @@ export declare class CodeEditor {
55
55
  insertDocLink(): void;
56
56
  /**
57
57
  * Toggle task list (checkbox) markers on the current line or selected
58
- * lines. If a line already has `- [ ]` or `- [x]`, the marker is removed.
59
- * If a line has `- ` (plain list), it is converted to `- [ ] `. Otherwise
60
- * `- [ ] ` is prepended. Lines with `- [x]` are toggled to `- [ ]` and
61
- * vice versa when all selected lines are task items.
58
+ * lines. Project convention: `- [ ]` = checked (green), `- [x]` = unchecked.
59
+ * If all selected lines are task items: all-checked uncheck all;
60
+ * otherwise check all. Plain lines or `- ` lists get `- [ ] ` prepended.
62
61
  */
63
62
  toggleTaskList(): void;
64
63
  destroy(): void;
package/dist/index.cjs CHANGED
@@ -6,10 +6,10 @@
6
6
  `).map(c=>`${e}${c}`).join(`
7
7
  `);this.view.dispatch({changes:{from:i,to:r,insert:o},selection:{anchor:i,head:i+o.length}})}else{const s=this.view.state.doc.lineAt(i);a=s.text;const o=s.from,c=s.to,d=(a?a.split(`
8
8
  `):[t]).map(h=>`${e}${h}`).join(`
9
- `);this.view.dispatch({changes:{from:o,to:c,insert:d},selection:{anchor:o+e.length}})}this.view.focus()}focus(){this.view.focus()}insertMention(){this.insertAtCursor("@")}insertDocLink(){this.insertAtCursor("/")}toggleTaskList(){const{from:e,to:t}=this.view.state.selection.main,i=this.view.state.doc.lineAt(e),r=this.view.state.doc.lineAt(t),a=[];for(let d=i.number;d<=r.number;d++)a.push(this.view.state.doc.line(d).text);const s=a.every(d=>/^- \[[ xX]\]\s/.test(d)||/^- \[[ xX]\]$/.test(d)),o=a.every(d=>/^- \[[xX]\]\s/.test(d)||/^- \[[xX]\]$/.test(d)),l=a.map(d=>s?o?d.replace(/^- \[[xX]\](\s?)/,"- [ ]$1"):d.replace(/^- \[[ xX]\](\s?)/,"- [x]$1"):/^-(\s|$)/.test(d)?d.replace(/^-(\s?)/,"- [ ]$1"):`- [ ] ${d}`).join(`
10
- `);this.view.dispatch({changes:{from:i.from,to:r.to,insert:l},selection:{anchor:i.from,head:i.from+l.length}}),this.view.focus()}destroy(){var e,t;(e=this.mention)==null||e.destroy(),(t=this.docLink)==null||t.destroy(),this.view.destroy()}}const fn=/^\$([^$\n]+?)\$/;function bn(n){return/^[\d.,]+$/.test(n.trim())}function _n(n){n.block.ruler.before("fence","math_block",(e,t,i,r)=>{const a=e.src.slice(e.bMarks[t],e.eMarks[t]);if(!a.startsWith("$$"))return!1;const s=a.match(/^\$\$(.+?)\$\$\s*$/);if(s){if(r)return!0;const h=e.push("math_block","div",0);return h.content=s[1].trim(),h.markup="$$",e.line=t+1,!0}let o=t+1,c=!1;for(;o<e.lineMax;){if(e.src.slice(e.bMarks[o],e.eMarks[o]).trimEnd().endsWith("$$")){c=!0;break}o++}if(!c)return!1;if(r)return!0;const l=e.src.slice(e.bMarks[t]+2,e.eMarks[o]-2).trim(),d=e.push("math_block","div",0);return d.content=l,d.markup="$$",e.line=o+1,!0}),n.renderer.rules.math_block=(e,t)=>{var r;const i=((r=e[t])==null?void 0:r.content)??"";try{return`<div class="md-editor-math-block">${Ge.renderToString(i,{displayMode:!0,throwOnError:!1,strict:!1})}</div>`}catch{return`<div class="md-editor-math-block md-editor-math-error">${We(i)}</div>`}},n.inline.ruler.after("escape","math_inline",(e,t)=>{if(e.src[e.pos]!=="$"||e.src[e.pos+1]==="$")return!1;const i=e.src.slice(e.pos).match(fn);if(!i)return!1;const r=i[1]??"";if(bn(r))return!1;if(t)return!0;const a=e.push("math_inline","span",0);return a.content=r,a.markup="$",e.pos+=i[0].length,!0}),n.renderer.rules.math_inline=(e,t)=>{var r;const i=((r=e[t])==null?void 0:r.content)??"";try{return Ge.renderToString(i,{displayMode:!1,throwOnError:!1,strict:!1})}catch{return`<span class="md-editor-math-error">$${We(i)}$</span>`}}}function We(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}typeof globalThis.ResizeObserver>"u"&&(globalThis.ResizeObserver=class{observe(){}unobserve(){}disconnect(){}});let Ye=0;function En(n){n.block.ruler.before("fence","mindmap_fence",(t,i,r,a)=>{const s=t.bMarks[i]+t.tShift[i],o=t.eMarks[i],l=t.src.slice(s,o).match(/^(`{3,})\s*mindmap\s*$/i);if(!l)return!1;if(a)return!0;const d=l[1].length;let h=i+1,g=1;for(;h<r;){const b=t.bMarks[h]+t.tShift[h],w=t.eMarks[h],O=t.src.slice(b,w).match(/^(`{3,})\s*(.*)$/);if(O&&O[1].length>=d){if(O[2].trim())g++;else if(g--,g===0)break}h++}const m=h<r?h:r-1,y=t.push("mindmap_block","div",0);return y.content=t.getLines(i+1,m,t.blkIndent,!0),y.map=[i,m+1],y.markup=l[1],y.info="mindmap",t.line=m+1,!0}),n.renderer.rules.mindmap_block=(t,i)=>{const r=t[i];if(!r)return"";const a=`md-editor-mindmap-${++Ye}`,s=encodeURIComponent(r.content);return`<div class="md-editor-mindmap" id="${a}" data-source="${s}"></div>`};const e=n.renderer.rules.fence?n.renderer.rules.fence.bind(n.renderer.rules):(t,i,r,a,s)=>s.renderToken(t,i,r);n.renderer.rules.fence=(t,i,r,a,s)=>{const o=t[i];if(!o)return e(t,i,r,a,s);if(o.info.trim().toLowerCase()==="mindmap"){const l=`md-editor-mindmap-${++Ye}`,d=encodeURIComponent(o.content);return`<div class="md-editor-mindmap" id="${l}" data-source="${d}"></div>`}return e(t,i,r,a,s)}}const yn=600,wn=320;async function vn(n){const e=n.querySelectorAll(".md-editor-mindmap:not([data-hydrated])");if(e.length===0)return;const{Transformer:t}=await import("markmap-lib"),i=await import("markmap-view"),r=i.Markmap??i.default;if(!r)return;const a=new t;for(const s of Array.from(e)){s.setAttribute("data-hydrated","1");const o=decodeURIComponent(s.dataset.source??"")||"- Empty mindmap",{root:c}=a.transform(o);s.innerHTML="";const l=s.clientWidth>0?s.clientWidth:yn,d=s.clientHeight>0?s.clientHeight:wn,h=document.createElementNS("http://www.w3.org/2000/svg","svg");h.setAttribute("width",String(l)),h.setAttribute("height",String(d)),h.style.width="100%",h.style.height="100%",h.style.display="block",s.appendChild(h);const g=r.create(h,{autoFit:!1},c),m=()=>{try{const b=h.querySelector("g");if(b){const w=b.getAttribute("transform")||"";(!w||w.includes("NaN"))&&b.setAttribute("transform",`translate(40, ${d/2}) scale(1)`)}}catch{}};m(),(typeof requestAnimationFrame=="function"?requestAnimationFrame:b=>setTimeout(b,16))(()=>{var b;try{const w=h.getBoundingClientRect();w.width>0&&w.height>0&&((b=g.fit)==null||b.call(g),m())}catch{}})}}function kn(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function ot(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(e=>{const t=n[e],i=typeof t;(i==="object"||i==="function")&&!Object.isFrozen(t)&&ot(t)}),n}class Ze{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function at(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function J(n,...e){const t=Object.create(null);for(const i in n)t[i]=n[i];return e.forEach(function(i){for(const r in i)t[r]=i[r]}),t}const Tn="</span>",Xe=n=>!!n.scope,Nn=(n,{prefix:e})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){const t=n.split(".");return[`${e}${t.shift()}`,...t.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${n}`};class Sn{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=at(e)}openNode(e){if(!Xe(e))return;const t=Nn(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){Xe(e)&&(this.buffer+=Tn)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}const Ve=(n={})=>{const e={children:[]};return Object.assign(e,n),e};class Re{constructor(){this.rootNode=Ve(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=Ve({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t=="string"?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(i=>this._walk(e,i)),e.closeNode(t)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(t=>typeof t=="string")?e.children=[e.children.join("")]:e.children.forEach(t=>{Re._collapse(t)}))}}class An extends Re{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const i=e.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new Sn(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function ue(n){return n?typeof n=="string"?n:n.source:null}function ct(n){return ie("(?=",n,")")}function xn(n){return ie("(?:",n,")*")}function Cn(n){return ie("(?:",n,")?")}function ie(...n){return n.map(t=>ue(t)).join("")}function Mn(n){const e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function ye(...n){return"("+(Mn(n).capture?"":"?:")+n.map(i=>ue(i)).join("|")+")"}function lt(n){return new RegExp(n.toString()+"|").exec("").length-1}function Rn(n,e){const t=n&&n.exec(e);return t&&t.index===0}const On=new RegExp(ye(/\[(?:[^\\\]]|\\.)*\]/,/\(\?<(?![=!])[^>]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function Oe(n,{joinWith:e}){let t=0;return n.map(i=>{t+=1;const r=t;let a=ue(i),s="";for(;a.length>0;){const o=On.exec(a);if(!o){s+=a;break}s+=a.substring(0,o.index),a=a.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?s+="\\"+String(Number(o[1])+r):(s+=o[0],(o[0]==="("||/^\(\?[<']/.test(o[0]))&&t++)}return s}).map(i=>`(${i})`).join(e)}const In=/\b\B/,dt="[a-zA-Z]\\w*",Ie="[a-zA-Z_]\\w*",ut="\\b\\d+(\\.\\d+)?",ht="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",pt="\\b(0b[01]+)",Ln="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Dn=(n={})=>{const e=/^#![ ]*\//;return n.binary&&(n.begin=ie(e,/.*\b/,n.binary,/\b.*/)),J({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(t,i)=>{t.index!==0&&i.ignoreMatch()}},n)},he={begin:"\\\\[\\s\\S]",relevance:0},Pn={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[he]},Bn={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[he]},$n={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},we=function(n,e,t={}){const i=J({scope:"comment",begin:n,end:e,contains:[]},t);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=ye("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:ie(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Un=we("//","$"),Fn=we("/\\*","\\*/"),Hn=we("#","$"),zn={scope:"number",begin:ut,relevance:0},Kn={scope:"number",begin:ht,relevance:0},Gn={scope:"number",begin:pt,relevance:0},qn={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[he,{begin:/\[/,end:/\]/,relevance:0,contains:[he]}]},Wn={scope:"title",begin:dt,relevance:0},Yn={scope:"title",begin:Ie,relevance:0},Zn={begin:"\\.\\s*"+Ie,relevance:0},Xn=function(n){return Object.assign(n,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})};var me=Object.freeze({__proto__:null,APOS_STRING_MODE:Pn,BACKSLASH_ESCAPE:he,BINARY_NUMBER_MODE:Gn,BINARY_NUMBER_RE:pt,COMMENT:we,C_BLOCK_COMMENT_MODE:Fn,C_LINE_COMMENT_MODE:Un,C_NUMBER_MODE:Kn,C_NUMBER_RE:ht,END_SAME_AS_BEGIN:Xn,HASH_COMMENT_MODE:Hn,IDENT_RE:dt,MATCH_NOTHING_RE:In,METHOD_GUARD:Zn,NUMBER_MODE:zn,NUMBER_RE:ut,PHRASAL_WORDS_MODE:$n,QUOTE_STRING_MODE:Bn,REGEXP_MODE:qn,RE_STARTERS_RE:Ln,SHEBANG:Dn,TITLE_MODE:Wn,UNDERSCORE_IDENT_RE:Ie,UNDERSCORE_TITLE_MODE:Yn});function Vn(n,e){n.input[n.index-1]==="."&&e.ignoreMatch()}function Qn(n,e){n.className!==void 0&&(n.scope=n.className,delete n.className)}function Jn(n,e){e&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=Vn,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function jn(n,e){Array.isArray(n.illegal)&&(n.illegal=ye(...n.illegal))}function ei(n,e){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function ti(n,e){n.relevance===void 0&&(n.relevance=1)}const ni=(n,e)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");const t=Object.assign({},n);Object.keys(n).forEach(i=>{delete n[i]}),n.keywords=t.keywords,n.begin=ie(t.beforeMatch,ct(t.begin)),n.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},n.relevance=0,delete t.beforeMatch},ii=["of","and","for","in","not","or","if","then","parent","list","value"],ri="keyword";function gt(n,e,t=ri){const i=Object.create(null);return typeof n=="string"?r(t,n.split(" ")):Array.isArray(n)?r(t,n):Object.keys(n).forEach(function(a){Object.assign(i,gt(n[a],e,a))}),i;function r(a,s){e&&(s=s.map(o=>o.toLowerCase())),s.forEach(function(o){const c=o.split("|");i[c[0]]=[a,si(c[0],c[1])]})}}function si(n,e){return e?Number(e):oi(n)?0:1}function oi(n){return ii.includes(n.toLowerCase())}const Qe={},ne=n=>{console.error(n)},Je=(n,...e)=>{console.log(`WARN: ${n}`,...e)},re=(n,e)=>{Qe[`${n}/${e}`]||(console.log(`Deprecated as of ${n}. ${e}`),Qe[`${n}/${e}`]=!0)},_e=new Error;function mt(n,e,{key:t}){let i=0;const r=n[t],a={},s={};for(let o=1;o<=e.length;o++)s[o+i]=r[o],a[o+i]=!0,i+=lt(e[o-1]);n[t]=s,n[t]._emit=a,n[t]._multi=!0}function ai(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw ne("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),_e;if(typeof n.beginScope!="object"||n.beginScope===null)throw ne("beginScope must be object"),_e;mt(n,n.begin,{key:"beginScope"}),n.begin=Oe(n.begin,{joinWith:""})}}function ci(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw ne("skip, excludeEnd, returnEnd not compatible with endScope: {}"),_e;if(typeof n.endScope!="object"||n.endScope===null)throw ne("endScope must be object"),_e;mt(n,n.end,{key:"endScope"}),n.end=Oe(n.end,{joinWith:""})}}function li(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function di(n){li(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),ai(n),ci(n)}function ui(n){function e(s,o){return new RegExp(ue(s),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(o?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,o]),this.matchAt+=lt(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(c=>c[1]);this.matcherRe=e(Oe(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const c=this.matcherRe.exec(o);if(!c)return null;const l=c.findIndex((h,g)=>g>0&&h!==void 0),d=this.matchIndexes[l];return c.splice(0,l),Object.assign(c,d)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const c=new t;return this.rules.slice(o).forEach(([l,d])=>c.addRule(l,d)),c.compile(),this.multiRegexes[o]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,c){this.rules.push([o,c]),c.type==="begin"&&this.count++}exec(o){const c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let l=c.exec(o);if(this.resumingScanAtSamePosition()&&!(l&&l.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,l=d.exec(o)}return l&&(this.regexIndex+=l.position+1,this.regexIndex===this.count&&this.considerAll()),l}}function r(s){const o=new i;return s.contains.forEach(c=>o.addRule(c.begin,{rule:c,type:"begin"})),s.terminatorEnd&&o.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&o.addRule(s.illegal,{type:"illegal"}),o}function a(s,o){const c=s;if(s.isCompiled)return c;[Qn,ei,di,ni].forEach(d=>d(s,o)),n.compilerExtensions.forEach(d=>d(s,o)),s.__beforeBegin=null,[Jn,jn,ti].forEach(d=>d(s,o)),s.isCompiled=!0;let l=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),l=s.keywords.$pattern,delete s.keywords.$pattern),l=l||/\w+/,s.keywords&&(s.keywords=gt(s.keywords,n.case_insensitive)),c.keywordPatternRe=e(l,!0),o&&(s.begin||(s.begin=/\B|\b/),c.beginRe=e(c.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(c.endRe=e(c.end)),c.terminatorEnd=ue(c.end)||"",s.endsWithParent&&o.terminatorEnd&&(c.terminatorEnd+=(s.end?"|":"")+o.terminatorEnd)),s.illegal&&(c.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(d){return hi(d==="self"?s:d)})),s.contains.forEach(function(d){a(d,c)}),s.starts&&a(s.starts,o),c.matcher=r(c),c}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=J(n.classNameAliases||{}),a(n)}function ft(n){return n?n.endsWithParent||ft(n.starts):!1}function hi(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(e){return J(n,{variants:null},e)})),n.cachedVariants?n.cachedVariants:ft(n)?J(n,{starts:n.starts?J(n.starts):null}):Object.isFrozen(n)?J(n):n}var pi="11.12.0";class gi extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const xe=at,je=J,et=Symbol("nomatch"),mi=7,bt=function(n){const e=Object.create(null),t=Object.create(null),i=[];let r=!0;const a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:An};function c(u){return o.noHighlightRe.test(u)}function l(u){let _=u.className+" ";_+=u.parentNode?u.parentNode.className:"";const f=o.languageDetectRe.exec(_);if(f){const k=$(f[1]);return k||(Je(a.replace("{}",f[1])),Je("Falling back to no-highlight mode for this block.",u)),k?f[1]:"no-highlight"}return _.split(/\s+/).find(k=>c(k)||$(k))}function d(u,_,f){let k="",N="";typeof _=="object"?(k=u,f=_.ignoreIllegals,N=_.language):(re("10.7.0","highlight(lang, code, ...args) has been deprecated."),re("10.7.0",`Please use highlight(code, options) instead.
11
- https://github.com/highlightjs/highlight.js/issues/2277`),N=u,k=_),f===void 0&&(f=!0);const P={code:k,language:N};V("before:highlight",P);const z=P.result?P.result:h(P.language,P.code,f);return z.code=P.code,V("after:highlight",z),z}function h(u,_,f,k){const N=Object.create(null);function P(p,E){return p.keywords[E]}function z(){if(!v.keywords){H.addText(C);return}let p=0;v.keywordPatternRe.lastIndex=0;let E=v.keywordPatternRe.exec(C),T="";for(;E;){T+=C.substring(p,E.index);const A=Y.case_insensitive?E[0].toLowerCase():E[0],K=P(v,A);if(K){const[Z,jt]=K;if(H.addText(T),T="",N[A]=(N[A]||0)+1,N[A]<=mi&&(ge+=jt),Z.startsWith("_"))T+=E[0];else{const en=Y.classNameAliases[Z]||Z;W(E[0],en)}}else T+=E[0];p=v.keywordPatternRe.lastIndex,E=v.keywordPatternRe.exec(C)}T+=C.substring(p),H.addText(T)}function q(){if(C==="")return;let p=null;if(typeof v.subLanguage=="string"){if(!e[v.subLanguage]){H.addText(C);return}p=h(v.subLanguage,C,!0,He[v.subLanguage]),He[v.subLanguage]=p._top}else p=m(C,v.subLanguage.length?v.subLanguage:null);v.relevance>0&&(ge+=p.relevance),H.__addSublanguage(p._emitter,p.language)}function G(){v.subLanguage!=null?q():z(),C=""}function W(p,E){p!==""&&(H.startScope(E),H.addText(p),H.endScope())}function Be(p,E){let T=1;const A=E.length-1;for(;T<=A;){if(!p._emit[T]){T++;continue}const K=Y.classNameAliases[p[T]]||p[T],Z=E[T];K?W(Z,K):(C=Z,z(),C=""),T++}}function $e(p,E){return p.scope&&typeof p.scope=="string"&&H.openNode(Y.classNameAliases[p.scope]||p.scope),p.beginScope&&(p.beginScope._wrap?(W(C,Y.classNameAliases[p.beginScope._wrap]||p.beginScope._wrap),C=""):p.beginScope._multi&&(Be(p.beginScope,E),C="")),v=Object.create(p,{parent:{value:v}}),v}function Ue(p,E,T){let A=Rn(p.endRe,T);if(A){if(p["on:end"]){const K=new Ze(p);p["on:end"](E,K),K.isMatchIgnored&&(A=!1)}if(A){for(;p.endsParent&&p.parent;)p=p.parent;return p}}if(p.endsWithParent)return Ue(p.parent,E,T)}function Zt(p){return v.matcher.regexIndex===0?(C+=p[0],1):(Te=!0,0)}function Xt(p){const E=p[0],T=p.rule,A=new Ze(T),K=[T.__beforeBegin,T["on:begin"]];for(const Z of K)if(Z&&(Z(p,A),A.isMatchIgnored))return Zt(E);return T.skip?C+=E:(T.excludeBegin&&(C+=E),G(),!T.returnBegin&&!T.excludeBegin&&(C=E)),$e(T,p),T.returnBegin?0:E.length}function Vt(p){const E=p[0],T=_.substring(p.index),A=Ue(v,p,T);if(!A)return et;const K=v;v.endScope&&v.endScope._wrap?(G(),W(E,v.endScope._wrap)):v.endScope&&v.endScope._multi?(G(),Be(v.endScope,p)):K.skip?C+=E:(K.returnEnd||K.excludeEnd||(C+=E),G(),K.excludeEnd&&(C=E));do v.scope&&H.closeNode(),!v.skip&&!v.subLanguage&&(ge+=v.relevance),v=v.parent;while(v!==A.parent);return A.starts&&$e(A.starts,p),K.returnEnd?0:E.length}function Qt(){const p=[];for(let E=v;E!==Y;E=E.parent)E.scope&&p.unshift(E.scope);p.forEach(E=>H.openNode(E))}let pe={};function Fe(p,E){const T=E&&E[0];if(C+=p,T==null)return G(),0;if(pe.type==="begin"&&E.type==="end"&&pe.index===E.index&&T===""){if(C+=_.slice(E.index,E.index+1),!r){const A=new Error(`0 width match regex (${u})`);throw A.languageName=u,A.badRule=pe.rule,A}return 1}if(pe=E,E.type==="begin")return Xt(E);if(E.type==="illegal"&&!f){const A=new Error('Illegal lexeme "'+T+'" for mode "'+(v.scope||"<unnamed>")+'"');throw A.mode=v,A}else if(E.type==="end"){const A=Vt(E);if(A!==et)return A}if(E.type==="illegal"&&T==="")return E.index===_.length||(C+=`
12
- `),1;if(ke>1e5&&ke>E.index*3)throw new Error("potential infinite loop, way more iterations than matches");return C+=T,T.length}const Y=$(u);if(!Y)throw ne(a.replace("{}",u)),new Error('Unknown language: "'+u+'"');const Jt=ui(Y);let ve="",v=k||Jt;const He={},H=new o.__emitter(o);Qt();let C="",ge=0,ee=0,ke=0,Te=!1;try{if(Y.__emitTokens)Y.__emitTokens(_,H);else{for(v.matcher.considerAll();;){ke++,Te?Te=!1:v.matcher.considerAll(),v.matcher.lastIndex=ee;const p=v.matcher.exec(_);if(!p)break;const E=_.substring(ee,p.index),T=Fe(E,p);ee=p.index+T}Fe(_.substring(ee))}return H.finalize(),ve=H.toHTML(),{language:u,value:ve,relevance:ge,illegal:!1,_emitter:H,_top:v}}catch(p){if(p.message&&p.message.includes("Illegal"))return{language:u,value:xe(_),illegal:!0,relevance:0,_illegalBy:{message:p.message,index:ee,context:_.slice(ee-100,ee+100),mode:p.mode,resultSoFar:ve},_emitter:H};if(r)return{language:u,value:xe(_),illegal:!1,relevance:0,errorRaised:p,_emitter:H,_top:v};throw p}}function g(u){const _={value:xe(u),illegal:!1,relevance:0,_top:s,_emitter:new o.__emitter(o)};return _._emitter.addText(u),_}function m(u,_){_=_||o.languages||Object.keys(e);const f=g(u),k=_.filter($).filter(X).map(G=>h(G,u,!1));k.unshift(f);const N=k.sort((G,W)=>{if(G.relevance!==W.relevance)return W.relevance-G.relevance;if(G.language&&W.language){if($(G.language).supersetOf===W.language)return 1;if($(W.language).supersetOf===G.language)return-1}return 0}),[P,z]=N,q=P;return q.secondBest=z,q}function y(u,_,f){const k=_&&t[_]||f;u.classList.add("hljs"),u.classList.add(`language-${k}`)}function b(u){let _=null;const f=l(u);if(c(f))return;if(V("before:highlightElement",{el:u,language:f}),u.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);return}if(u.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),o.throwUnescapedHTML))throw new gi("One of your code blocks includes unescaped HTML.",u.innerHTML);_=u;const k=_.textContent,N=f?d(k,{language:f,ignoreIllegals:!0}):m(k);u.innerHTML=N.value,u.dataset.highlighted="yes",y(u,f,N.language),u.result={language:N.language,re:N.relevance,relevance:N.relevance},N.secondBest&&(u.secondBest={language:N.secondBest.language,relevance:N.secondBest.relevance}),V("after:highlightElement",{el:u,result:N,text:k})}function w(u){o=je(o,u)}const R=()=>{x(),re("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function O(){x(),re("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let U=!1;function x(){function u(){x()}if(document.readyState==="loading"){U||window.addEventListener("DOMContentLoaded",u,!1),U=!0;return}document.querySelectorAll(o.cssSelector).forEach(b)}function I(u,_){let f=null;try{f=_(n)}catch(k){if(ne("Language definition for '{}' could not be registered.".replace("{}",u)),r)ne(k);else throw k;f=s}f.name||(f.name=u),e[u]=f,f.rawDefinition=_.bind(null,n),f.aliases&&F(f.aliases,{languageName:u})}function D(u){delete e[u];for(const _ of Object.keys(t))t[_]===u&&delete t[_]}function B(){return Object.keys(e)}function $(u){return u=(u||"").toLowerCase(),e[u]||e[t[u]]}function F(u,{languageName:_}){typeof u=="string"&&(u=[u]),u.forEach(f=>{t[f.toLowerCase()]=_})}function X(u){const _=$(u);return _&&!_.disableAutodetect}function j(u){u["before:highlightBlock"]&&!u["before:highlightElement"]&&(u["before:highlightElement"]=_=>{u["before:highlightBlock"](Object.assign({block:_.el},_))}),u["after:highlightBlock"]&&!u["after:highlightElement"]&&(u["after:highlightElement"]=_=>{u["after:highlightBlock"](Object.assign({block:_.el},_))})}function ae(u){j(u),i.push(u)}function ce(u){const _=i.indexOf(u);_!==-1&&i.splice(_,1)}function V(u,_){const f=u;i.forEach(function(k){k[f]&&k[f](_)})}function le(u){return re("10.7.0","highlightBlock will be removed entirely in v12.0"),re("10.7.0","Please use highlightElement now."),b(u)}Object.assign(n,{highlight:d,highlightAuto:m,highlightAll:x,highlightElement:b,highlightBlock:le,configure:w,initHighlighting:R,initHighlightingOnLoad:O,registerLanguage:I,unregisterLanguage:D,listLanguages:B,getLanguage:$,registerAliases:F,autoDetection:X,inherit:je,addPlugin:ae,removePlugin:ce}),n.debugMode=function(){r=!1},n.safeMode=function(){r=!0},n.versionString=pi,n.regex={concat:ie,lookahead:ct,either:ye,optional:Cn,anyNumberOfTimes:xn};for(const u in me)typeof me[u]=="object"&&ot(me[u]);return Object.assign(n,me),n},oe=bt({});oe.newInstance=()=>bt({});var fi=oe;oe.HighlightJS=oe;oe.default=oe;const S=kn(fi),tt="[A-Za-z$_][0-9A-Za-z$_]*",bi=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],_i=["true","false","null","undefined","NaN","Infinity"],_t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Et=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],yt=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ei=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],yi=[].concat(yt,_t,Et);function wt(n){const e=n.regex,t=(f,{after:k})=>{const N="</"+f[0].slice(1);return f.input.indexOf(N,k)!==-1},i=tt,r={begin:"<>",end:"</>"},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(f,k)=>{const N=f[0].length+f.index,P=f.input[N];if(P==="<"||P===","){k.ignoreMatch();return}P===">"&&(t(f,{after:N})||k.ignoreMatch());let z;const q=f.input.substring(N);if(z=q.match(/^\s*=/)){k.ignoreMatch();return}if((z=q.match(/^\s+extends\s+/))&&z.index===0){k.ignoreMatch();return}}},o={$pattern:tt,keyword:bi,literal:_i,built_in:yi,"variable.language":Ei},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",h={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},y={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,g]},O={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,y,b,w,{match:/\$\d+/},h];g.contains=U.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(U)});const x=[].concat(O,g.contains),I=x.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(x)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:I},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},$={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[..._t,...Et]}},F={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},X={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},j={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ae(f){return e.concat("(?!",f.join("|"),")")}const ce={match:e.concat(/\b/,ae([...yt,"super","import","await"].map(f=>`${f}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},le={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},u="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",_={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(u)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:I,CLASS_REFERENCE:$},illegal:/#(?![$_A-Za-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),F,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,y,b,w,O,{match:/\$\d+/},h,$,{scope:"attr",match:i+e.lookahead(":"),relevance:0},_,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,n.REGEXP_MODE,{className:"function",begin:u,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:I}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:a},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},X,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},ce,j,B,le,{match:/\$[(.]/}]}}const Ee="[A-Za-z$_][0-9A-Za-z$_]*",vt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],kt=["true","false","null","undefined","NaN","Infinity"],Tt=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Nt=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],St=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],At=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],xt=[].concat(St,Tt,Nt);function wi(n){const e=n.regex,t=(f,{after:k})=>{const N="</"+f[0].slice(1);return f.input.indexOf(N,k)!==-1},i=Ee,r={begin:"<>",end:"</>"},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(f,k)=>{const N=f[0].length+f.index,P=f.input[N];if(P==="<"||P===","){k.ignoreMatch();return}P===">"&&(t(f,{after:N})||k.ignoreMatch());let z;const q=f.input.substring(N);if(z=q.match(/^\s*=/)){k.ignoreMatch();return}if((z=q.match(/^\s+extends\s+/))&&z.index===0){k.ignoreMatch();return}}},o={$pattern:Ee,keyword:vt,literal:kt,built_in:xt,"variable.language":At},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",h={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},y={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,g]},O={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,y,b,w,{match:/\$\d+/},h];g.contains=U.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(U)});const x=[].concat(O,g.contains),I=x.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(x)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:I},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},$={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Tt,...Nt]}},F={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},X={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},j={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ae(f){return e.concat("(?!",f.join("|"),")")}const ce={match:e.concat(/\b/,ae([...St,"super","import","await"].map(f=>`${f}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},le={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},u="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",_={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(u)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:I,CLASS_REFERENCE:$},illegal:/#(?![$_A-Za-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),F,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,y,b,w,O,{match:/\$\d+/},h,$,{scope:"attr",match:i+e.lookahead(":"),relevance:0},_,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,n.REGEXP_MODE,{className:"function",begin:u,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:I}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:a},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},X,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},ce,j,B,le,{match:/\$[(.]/}]}}function Ct(n){const e=n.regex,t=wi(n),i=Ee,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],a={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[t.exports.CLASS_REFERENCE]},o={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],l={$pattern:Ee,keyword:vt.concat(c),literal:kt,built_in:xt.concat(r),"variable.language":At},d={className:"meta",begin:"@"+i},h=(b,w,R)=>{const O=b.contains.findIndex(U=>U.label===w);if(O===-1)throw new Error("can not find mode to replace");b.contains.splice(O,1,R)};Object.assign(t.keywords,l),t.exports.PARAMS_CONTAINS.push(d);const g=t.contains.find(b=>b.scope==="attr"),m=Object.assign({},g,{match:e.concat(i,e.lookahead(/\s*\?:/))});t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,g,m]),t.contains=t.contains.concat([d,a,s,m]),h(t,"shebang",n.SHEBANG()),h(t,"use_strict",o);const y=t.contains.find(b=>b.label==="func.def");return y.relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t}function Mt(n){const e=n.regex,t=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","lazy","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:["__import__","abs","aiter","all","anext","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozendict","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","sentinel","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},d={begin:/\{\{/,relevance:0},h={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c,d,l]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c,d,l]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,d,l]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,d,l]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},g="[0-9](_?[0-9])*",m=`(\\b(${g}))?\\.(${g})|\\b(${g})\\.`,y=`\\b|${i.join("|")}`,b={className:"number",relevance:0,variants:[{begin:`(\\b(${g})|(${m}))[eE][+-]?(${g})[jJ]?(?=${y})`},{begin:`(${m})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${y})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${y})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${y})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${y})`},{begin:`\\b(${g})[jJ](?=${y})`}]},w={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},R={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",c,b,h,n.HASH_COMMENT_MODE]}]};return l.contains=[h,b,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[c,b,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},h,w,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[R]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,R,h]}]}}const vi="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",ki={scope:"number",match:vi,relevance:0};function Ti(n){const e={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:i},contains:[e,t,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,r,ki,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function Le(n){const e=n.regex,t={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},a=n.inherit(n.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,t,r]};r.contains.push(o);const c={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},h={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,t]},g=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],m=n.SHEBANG({binary:`(${g.join("|")})`,relevance:10}),y={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],w=["true","false"],R={match:/(\/[a-z._-]+)+/},O=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],U=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],x=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],I=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:w,built_in:[...O,...U,"set","shopt",...x,...I]},contains:[m,n.SHEBANG(),y,h,a,s,R,o,c,l,d,t]}}const Ni=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Si=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ai=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],xi=[...Si,...Ai],Ci=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Mi=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Ri=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Oi=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","corner-bottom-left-shape","corner-bottom-right-shape","corner-shape","corner-top-left-shape","corner-top-right-shape","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Ii(n){const e=n.regex,t=Ni(n),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",a=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",o=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,i,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Mi.join("|")+")"},{begin:":(:)?("+Ri.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Oi.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,t.UNICODE_RANGE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:a},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Ci.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+xi.join("|")+")\\b"}]}}function De(n){const e=n.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=n.inherit(a,{begin:/\(/,end:/\)/}),o=n.inherit(n.APOS_STRING_MODE,{className:"string"}),c=n.inherit(n.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:i,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,c,o,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[a,s,c,o]}]}]},n.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(t,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Li(n){const e=n.regex,t=n.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},a=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],h=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],g=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],m=d,y=[...l,...c].filter(I=>!d.includes(I)),b={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},w={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},R={match:e.concat(/\b/,e.either(...m),/\s*\(/),relevance:0,keywords:{built_in:m}};function O(I){return e.concat(/\b/,e.either(...I.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}const U={scope:"keyword",match:O(g),relevance:0};function x(I,{exceptions:D,when:B}={}){const $=B;return D=D||[],I.map(F=>F.match(/\|\d+$/)||D.includes(F)?F:$(F)?`${F}|0`:F)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:x(y,{when:I=>I.length<3}),literal:a,type:o,built_in:h},contains:[{scope:"type",match:O(s)},U,R,b,i,r,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,t,w]}}function Rt(n){const e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},a={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[n.BACKSLASH_ESCAPE,r]},o=n.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),g={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},m={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},y={begin:/\{/,end:/\}/,contains:[m],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[m],illegal:"\\n",relevance:0},w=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},g,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},y,b,a,s],R=[...w];return R.pop(),R.push(o),m.contains=R,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:w}}function Ot(n){const e=n.regex,t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},a={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},h=n.inherit(l,{contains:[]}),g=n.inherit(d,{contains:[]});l.contains.push(g),d.contains.push(h);let m=[t,c];return[l,d,h,g].forEach(R=>{R.contains=R.contains.concat(m)}),m=m.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:m},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:m}]}]},t,a,i,l,d,{className:"quote",begin:"^>\\s+",contains:m,end:"$"},r,c,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function Di(n){const a={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:a,illegal:"</",contains:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{className:"string",variants:[n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\b0[bB](_?[01])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[n.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:a,illegal:/["']/}]}]}}function It(n){const e=n.regex,t=/(r#)?/,i=e.concat(t,n.UNDERSCORE_IDENT_RE),r=e.concat(t,n.IDENT_RE),a={scope:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!(?:let|for|while|if|else|match)\b)/,r,e.lookahead(/\s*\(/))},s="([ui](8|16|32|64|128|size)|f(16|32|64|128))?",o=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","raw","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],c=["true","false","Some","None","Ok","Err"],l=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f16","f32","f64","f128","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:n.IDENT_RE+"!?",type:d,keyword:o,literal:c,built_in:l},illegal:"</",contains:[n.C_LINE_COMMENT_MODE,n.COMMENT("/\\*","\\*/",{contains:["self"]}),n.inherit(n.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{scope:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|"|\\|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{scope:"number",variants:[{begin:"\\b0b([01_]+)"+s},{begin:"\\b0o([0-7_]+)"+s},{begin:"\\b0x([A-Fa-f0-9_]+)"+s},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+s}],relevance:0},{begin:[/\bsafe/,/\s+/,/extern/],scope:{1:"keyword",3:"keyword"}},{begin:[/fn/,/\s+/,i],scope:{1:"keyword",3:"title.function"}},{scope:"meta",begin:"#!?\\[",end:"\\]",contains:[{scope:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,i],scope:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,i,/\s+/,/in/],scope:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,i],scope:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,i],scope:{1:"keyword",3:"title.class"}},{begin:n.IDENT_RE+"::",keywords:{keyword:"Self",built_in:l,type:d}},{scope:"punctuation",begin:"->"},a]}}var se="[0-9](_*[0-9])*",fe=`\\.(${se})`,be="[0-9a-fA-F](_*[0-9a-fA-F])*",nt={className:"number",variants:[{begin:`(\\b(${se})((${fe})|\\.)?|(${fe}))[eE][+-]?(${se})[fFdD]?\\b`},{begin:`\\b(${se})((${fe})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${fe})[fFdD]?\\b`},{begin:`\\b(${se})[fFdD]\\b`},{begin:`\\b0[xX]((${be})\\.?|(${be})?\\.(${be}))[pP][+-]?(${se})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${be})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Lt(n,e,t){return t===-1?"":n.replace(e,i=>Lt(n,e,t-1))}function Pi(n){const e=n.regex,t="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",i="(?:(?:\\s*\\[\\s*])+)?",r=t+"<@@@>"+i,s="(?:"+("\\?(?:\\s+(?:extends|super)\\s+"+r+")?")+"|"+r+")",o=Lt("(?:\\s*<\\s*"+s+"(?:\\s*,\\s*"+s+")*\\s*>)?",/<@@@>/g,2),g={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},m={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},y={className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:g,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{beginKeywords:"new throw return else yield assert",relevance:0},{begin:[t,e.concat(o,i,/\s+/),t,i,/\s*/,/=(?!=)/],className:{1:"type",3:"variable",6:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[y,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{begin:[t,e.concat(o,i,/\s+/),t,/\s*(?=\()/],className:{1:"type",3:"title.function"},keywords:g,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[m,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,nt,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},nt,m]}}function Bi(n){const e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",o=e.concat(/\batomic_/,e.either("bool","char","schar","uchar","short","ushort","int","uint","long","ulong","llong","ullong","char16_t","char32_t","wchar_t","int_least8_t","uint_least8_t","int_least16_t","uint_least16_t","int_least32_t","uint_least32_t","int_least64_t","uint_least64_t","int_fast8_t","uint_fast8_t","int_fast16_t","uint_fast16_t","int_fast32_t","uint_fast32_t","int_fast64_t","uint_fast64_t","intptr_t","uintptr_t","size_t","ptrdiff_t","intmax_t","uintmax_t"),/\b/),c={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:o}]},d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\\s"]{0,16})\(/,end:/\)([^()\\\s"]{0,16})"/})]},h={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},g={scope:"meta",begin:/#\s*include\b/,end:/$/,keywords:{keyword:"include"},contains:[{begin:/\\\n/},d,{scope:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},m={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},n.inherit(d,{className:"string"}),t,n.C_BLOCK_COMMENT_MODE]},y=[g,m],b={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},w=e.optional(r)+n.IDENT_RE+"\\s*\\(",R=12,x={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},I=[...y,c,t,n.C_BLOCK_COMMENT_MODE,h,d],D={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:x,contains:I.concat([{begin:/\(/,end:/\)/,keywords:x,contains:I.concat(["self"]),relevance:0}]),relevance:0},B={begin:"("+s+"[\\*&\\s]+){1,"+R+"}"+w,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:x,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:x,relevance:0},{begin:w,returnBegin:!0,contains:[n.inherit(b,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,d,h,c,{begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,d,h,c]}]},c,t,n.C_BLOCK_COMMENT_MODE,...y]};return{name:"C",aliases:["h"],keywords:x,disableAutodetect:!0,illegal:"</",contains:[].concat(D,B,I,[...y,{begin:n.IDENT_RE+"::",keywords:x},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{preprocessor:m,strings:d,keywords:x}}}function Dt(n){const e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\\s"]{0,16})\(/,end:/\)([^()\\\s"]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:\\b[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|\\b[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|\\b0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},h={scope:"meta",begin:/#\s*include\b/,end:/$/,keywords:{keyword:"include"},contains:[{begin:/\\\n/},l,{scope:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},n.inherit(l,{className:"string"}),t,n.C_BLOCK_COMMENT_MODE]},m=[h,g],y={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},b=e.optional(r)+n.IDENT_RE+"\\s*\\(",w=12,R=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],O=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],U=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],x=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],B={type:O,keyword:R,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:U},$={className:"function.dispatch",relevance:0,keywords:{_hint:x},begin:e.concat(/\b/,`(?!${R.join("|")})`,n.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},F=[$,...m,o,t,n.C_BLOCK_COMMENT_MODE,d,l],X={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:B,contains:F.concat([{begin:/\(/,end:/\)/,keywords:B,contains:F.concat(["self"]),relevance:0}]),relevance:0},j={className:"function",begin:"("+s+"[\\*&\\s]+){1,"+w+"}"+b,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:B,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:B,relevance:0},{begin:b,returnBegin:!0,contains:[y],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,l,d,o,{begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,l,d,o]}]},o,t,n.C_BLOCK_COMMENT_MODE,...m]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:B,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(X,j,$,F,[...m,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:B,contains:["self",o]},{begin:n.IDENT_RE+"::",keywords:B},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}S.registerLanguage("javascript",wt);S.registerLanguage("js",wt);S.registerLanguage("typescript",Ct);S.registerLanguage("ts",Ct);S.registerLanguage("python",Mt);S.registerLanguage("py",Mt);S.registerLanguage("json",Ti);S.registerLanguage("bash",Le);S.registerLanguage("sh",Le);S.registerLanguage("shell",Le);S.registerLanguage("css",Ii);S.registerLanguage("xml",De);S.registerLanguage("html",De);S.registerLanguage("svg",De);S.registerLanguage("sql",Li);S.registerLanguage("yaml",Rt);S.registerLanguage("yml",Rt);S.registerLanguage("markdown",Ot);S.registerLanguage("md",Ot);S.registerLanguage("go",Di);S.registerLanguage("rust",It);S.registerLanguage("rs",It);S.registerLanguage("java",Pi);S.registerLanguage("c",Bi);S.registerLanguage("cpp",Dt);S.registerLanguage("c++",Dt);const $i=new Set(["mindmap"]);function de(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Ui(n,e={}){const t=new Set(e.reservedLanguages??$i),i=n.renderer.rules.fence?n.renderer.rules.fence.bind(n.renderer.rules):(r,a,s,o,c)=>c.renderToken(r,a,s);n.renderer.rules.fence=(r,a,s,o,c)=>{var b;const l=r[a];if(!l)return i(r,a,s,o,c);const h=((b=l.info.trim().split(/\s+/)[0])==null?void 0:b.toLowerCase())??"";if(t.has(h))return i(r,a,s,o,c);const g=l.content;let m,y=h||"text";if(h&&S.getLanguage(h))try{m=S.highlight(g,{language:h,ignoreIllegals:!0}).value}catch{m=de(g)}else if(h)try{const w=S.highlightAuto(g);m=w.value,y=w.language||h}catch{m=de(g)}else try{const w=S.highlightAuto(g);m=w.value,y=w.language||"text"}catch{m=de(g)}return`<div class="md-editor-codeblock"><div class="md-editor-codeblock-header"><span class="md-editor-codeblock-lights"><span class="md-editor-codeblock-dot md-editor-codeblock-dot--red"></span><span class="md-editor-codeblock-dot md-editor-codeblock-dot--yellow"></span><span class="md-editor-codeblock-dot md-editor-codeblock-dot--green"></span></span><span class="md-editor-codeblock-lang">${de(y)}</span><button type="button" class="md-editor-codeblock-copy" aria-label="Copy code">Copy</button></div><pre class="md-editor-codeblock-pre"><code class="language-${de(y)}">${m}</code></pre></div>`}}const Fi=[".mp4",".webm",".ogg",".mov",".m4v",".avi",".mkv"],Hi=[/(?:youtube\.com\/watch\?[^ ]*v=|youtu\.be\/|youtube\.com\/embed\/|youtube\.com\/shorts\/|youtube\.com\/v\/)([a-zA-Z0-9_-]{11})/,/^([a-zA-Z0-9_-]{11})$/];function Pt(n){const e=n.trim();if(!e)return null;for(const t of Hi){const i=e.match(t);if(i&&i[1])return i[1]}return null}function Bt(n,e="YouTube video"){const t=`https://img.youtube.com/vi/${n}/hqdefault.jpg`,i=`https://www.youtube.com/watch?v=${n}`;return`[![${e}](${t})](${i})`}function $t(n){const e=n.toLowerCase().split("?")[0]??"";return Fi.some(t=>e.endsWith(t))}function Ce(n,e="image"){return`![${e}](${n})`}function Ut(n,e="video"){return`![${e}](${n})`}function zi(n){const e=n.renderer.rules.image?n.renderer.rules.image.bind(n.renderer.rules):(t,i,r,a,s)=>s.renderToken(t,i,r);n.renderer.rules.image=(t,i,r,a,s)=>{const o=t[i];if(!o)return e(t,i,r,a,s);const c=o.attrGet("src")??"";if($t(c)){const l=o.content||"";return`<video src="${c}" controls class="md-editor-video" title="${l}">${l}</video>`}return e(t,i,r,a,s)}}const Ki=new Set(["notice","info","tip","warning","danger","success"]),Gi=/^:::(\w+)(?:\s+(.+))?$/,qi=/^:::\s*$/,it={notice:"Notice",info:"Info",tip:"Tip",warning:"Warning",danger:"Danger",success:"Success"},Wi={notice:"i",info:"i",tip:"✓",warning:"!",danger:"✕",success:"✓"};function Yi(n){n.block.ruler.before("fence","tips_block",(e,t,i,r)=>{const s=e.src.slice(e.bMarks[t],e.eMarks[t]).match(Gi);if(!s)return!1;const o=(s[1]??"").toLowerCase();if(!Ki.has(o))return!1;let c=t+1,l=!1;for(;c<i;){const y=e.src.slice(e.bMarks[c],e.eMarks[c]);if(qi.test(y.trim())){l=!0;break}c++}if(!l)return!1;if(r)return!0;const d=s[2]??it[o]??o,h=e.src.slice(e.bMarks[t+1],e.bMarks[c]).trim(),g=n.render(h),m=e.push("tips_block","div",0);return m.content=g,m.info=o,m.markup=d,e.line=c+1,!0}),n.renderer.rules.tips_block=(e,t)=>{const i=e[t];if(!i)return"";const r=i.info??"notice",a=i.markup??it[r]??"Notice",s=Wi[r]??"i",o=i.content??"";return`<div class="md-editor-tip md-editor-tip--${r}"><div class="md-editor-tip-header"><span class="md-editor-tip-icon">${s}</span><span class="md-editor-tip-title">${Zi(a)}</span></div><div class="md-editor-tip-body">${o}</div></div>`}}function Zi(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Xi(n){const e=n.renderer.rules.list_item_open;n.renderer.rules.list_item_open=(t,i,r,a,s)=>{var l,d;const o=t[i];if(!o)return e?e(t,i,r,a,s):s.renderToken(t,i,r);let c;for(let h=i+1;h<t.length&&h<i+6;h++){if(((l=t[h])==null?void 0:l.type)==="inline"){c=t[h];break}if(((d=t[h])==null?void 0:d.type)==="list_item_close")break}if(c&&c.content){const h=c.content,g=/^\[\s\]\s/.test(h),m=/^\[[xX]\]\s/.test(h);if(g||m){if(c.content=h.replace(/^\[[ xX]\]\s/,""),c.children&&c.children.length>0){const w=c.children[0];w&&w.type==="text"&&(w.content=w.content.replace(/^\[[ xX]\]\s/,""))}o.attrSet("class","task-list-item");const y=`<input type="checkbox" disabled${m?" checked":""} /> `;return(e?e(t,i,r,a,s):s.renderToken(t,i,r))+y}}return e?e(t,i,r,a,s):s.renderToken(t,i,r)}}class Pe{constructor(e={}){this.md=new dn({html:e.html??!1,linkify:!0,breaks:e.breaks??!1,typographer:!0}),e.math!==!1&&_n(this.md),this.mindmapEnabled=e.mindmap!==!1,this.mindmapEnabled&&En(this.md),e.codeHighlight!==!1&&Ui(this.md,{reservedLanguages:this.mindmapEnabled?["mindmap"]:[]}),e.tips!==!1&&Yi(this.md),Xi(this.md),mn(this.md),zi(this.md)}render(e){return this.md.render(e||"")}async hydrate(e){this.mindmapEnabled&&await vn(e)}}function Vi(n,e={}){return new Pe(e).render(n)}class Ft{constructor(e){this.buttons=new Map,this.el=document.createElement("div"),this.el.className="md-editor-toolbar",this.el.setAttribute("role","toolbar");for(const t of e){const i=document.createElement("button");if(i.type="button",i.className="md-editor-toolbar-btn",t.toggle&&i.classList.add("is-toggle"),t.active&&i.classList.add("is-active"),i.title=t.title,i.setAttribute("aria-label",t.title),i.setAttribute("data-action",t.name),i.innerHTML=t.icon,i.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation(),t.handler(i)}),this.buttons.set(t.name,i),this.el.appendChild(i),t.groupEnd){const r=document.createElement("span");r.className="md-editor-toolbar-sep",this.el.appendChild(r)}}}setActive(e,t){var i;(i=this.buttons.get(e))==null||i.classList.toggle("is-active",t)}setIcon(e,t){const i=this.buttons.get(e);i&&(i.innerHTML=t)}destroy(){for(const e of this.buttons.values())e.onclick=null;this.buttons.clear(),this.el.remove()}}function Me(n){const e=n.trim();return{charCount:n.length,wordCount:e?e.split(/\s+/).length:0}}class Ht{constructor(e){this.el=document.createElement("div"),this.el.className="md-editor-statusbar",this.countEl=document.createElement("span"),this.blockEl=document.createElement("span"),this.blockEl.className="md-editor-statusbar-muted",this.refreshBtn=document.createElement("button"),this.refreshBtn.type="button",this.refreshBtn.className="md-editor-statusbar-refresh",this.refreshBtn.textContent="Refresh preview",this.refreshBtn.style.display="none",this.refreshBtn.addEventListener("click",e.onRefreshPreview),this.el.appendChild(this.countEl),this.el.appendChild(this.blockEl),this.el.appendChild(this.refreshBtn)}update(e){this.countEl.textContent=`${e.charCount} chars · ${e.wordCount} words`,this.blockEl.textContent=`${e.blockCount} render blocks`,this.refreshBtn.style.display=e.autoPreview?"none":""}destroy(){this.refreshBtn.onclick=null,this.el.remove()}}const Qi=/^ {0,3}#{1,6}\s/,Ji=/^ {0,3}(`{3,}|~{3,})/;function ji(n){let e=5381;for(let t=0;t<n.length;t++)e=e*33^n.charCodeAt(t);return(e>>>0).toString(36)+":"+n.length}function zt(n){var o;const e=n.split(`
9
+ `);this.view.dispatch({changes:{from:o,to:c,insert:d},selection:{anchor:o+e.length}})}this.view.focus()}focus(){this.view.focus()}insertMention(){this.mention||console.warn("[md-editor] Mention dropdown is disabled. Pass `mention: { onMentionSearch }` in the editor options to enable it."),this.insertAtCursor("@")}insertDocLink(){this.docLink||console.warn("[md-editor] Document link dropdown is disabled. Pass `docLink: { onDocSearch }` in the editor options to enable it."),this.insertAtCursor("/")}toggleTaskList(){const{from:e,to:t}=this.view.state.selection.main,i=this.view.state.doc.lineAt(e),r=this.view.state.doc.lineAt(t),a=[];for(let d=i.number;d<=r.number;d++)a.push(this.view.state.doc.line(d).text);const s=a.every(d=>/^- \[[ xX]\]\s/.test(d)||/^- \[[ xX]\]$/.test(d)),o=a.every(d=>/^- \[ \]\s/.test(d)||/^- \[ \]$/.test(d)),l=a.map(d=>s?o?d.replace(/^- \[ \](\s?)/,"- [x]$1"):d.replace(/^- \[[xX]\](\s?)/,"- [ ]$1"):/^-(\s|$)/.test(d)?d.replace(/^-(\s?)/,"- [ ]$1"):`- [ ] ${d}`).join(`
10
+ `);this.view.dispatch({changes:{from:i.from,to:r.to,insert:l},selection:{anchor:i.from,head:i.from+l.length}}),this.view.focus()}destroy(){var e,t;(e=this.mention)==null||e.destroy(),(t=this.docLink)==null||t.destroy(),this.view.destroy()}}const fn=/^\$([^$\n]+?)\$/;function bn(n){return/^[\d.,]+$/.test(n.trim())}function _n(n){n.block.ruler.before("fence","math_block",(e,t,i,r)=>{const a=e.src.slice(e.bMarks[t],e.eMarks[t]);if(!a.startsWith("$$"))return!1;const s=a.match(/^\$\$(.+?)\$\$\s*$/);if(s){if(r)return!0;const h=e.push("math_block","div",0);return h.content=s[1].trim(),h.markup="$$",e.line=t+1,!0}let o=t+1,c=!1;for(;o<e.lineMax;){if(e.src.slice(e.bMarks[o],e.eMarks[o]).trimEnd().endsWith("$$")){c=!0;break}o++}if(!c)return!1;if(r)return!0;const l=e.src.slice(e.bMarks[t]+2,e.eMarks[o]-2).trim(),d=e.push("math_block","div",0);return d.content=l,d.markup="$$",e.line=o+1,!0}),n.renderer.rules.math_block=(e,t)=>{var r;const i=((r=e[t])==null?void 0:r.content)??"";try{return`<div class="md-editor-math-block">${Ge.renderToString(i,{displayMode:!0,throwOnError:!1,strict:!1})}</div>`}catch{return`<div class="md-editor-math-block md-editor-math-error">${We(i)}</div>`}},n.inline.ruler.after("escape","math_inline",(e,t)=>{if(e.src[e.pos]!=="$"||e.src[e.pos+1]==="$")return!1;const i=e.src.slice(e.pos).match(fn);if(!i)return!1;const r=i[1]??"";if(bn(r))return!1;if(t)return!0;const a=e.push("math_inline","span",0);return a.content=r,a.markup="$",e.pos+=i[0].length,!0}),n.renderer.rules.math_inline=(e,t)=>{var r;const i=((r=e[t])==null?void 0:r.content)??"";try{return Ge.renderToString(i,{displayMode:!1,throwOnError:!1,strict:!1})}catch{return`<span class="md-editor-math-error">$${We(i)}$</span>`}}}function We(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}typeof globalThis.ResizeObserver>"u"&&(globalThis.ResizeObserver=class{observe(){}unobserve(){}disconnect(){}});let Ye=0;function En(n){n.block.ruler.before("fence","mindmap_fence",(t,i,r,a)=>{const s=t.bMarks[i]+t.tShift[i],o=t.eMarks[i],l=t.src.slice(s,o).match(/^(`{3,})\s*mindmap\s*$/i);if(!l)return!1;if(a)return!0;const d=l[1].length;let h=i+1,g=1;for(;h<r;){const b=t.bMarks[h]+t.tShift[h],w=t.eMarks[h],O=t.src.slice(b,w).match(/^(`{3,})\s*(.*)$/);if(O&&O[1].length>=d){if(O[2].trim())g++;else if(g--,g===0)break}h++}const m=h<r?h:r-1,y=t.push("mindmap_block","div",0);return y.content=t.getLines(i+1,m,t.blkIndent,!0),y.map=[i,m+1],y.markup=l[1],y.info="mindmap",t.line=m+1,!0}),n.renderer.rules.mindmap_block=(t,i)=>{const r=t[i];if(!r)return"";const a=`md-editor-mindmap-${++Ye}`,s=encodeURIComponent(r.content);return`<div class="md-editor-mindmap" id="${a}" data-source="${s}"></div>`};const e=n.renderer.rules.fence?n.renderer.rules.fence.bind(n.renderer.rules):(t,i,r,a,s)=>s.renderToken(t,i,r);n.renderer.rules.fence=(t,i,r,a,s)=>{const o=t[i];if(!o)return e(t,i,r,a,s);if(o.info.trim().toLowerCase()==="mindmap"){const l=`md-editor-mindmap-${++Ye}`,d=encodeURIComponent(o.content);return`<div class="md-editor-mindmap" id="${l}" data-source="${d}"></div>`}return e(t,i,r,a,s)}}const yn=600,wn=320;async function vn(n){const e=n.querySelectorAll(".md-editor-mindmap:not([data-hydrated])");if(e.length===0)return;const{Transformer:t}=await import("markmap-lib"),i=await import("markmap-view"),r=i.Markmap??i.default;if(!r)return;const a=new t;for(const s of Array.from(e)){s.setAttribute("data-hydrated","1");const o=decodeURIComponent(s.dataset.source??"")||"- Empty mindmap",{root:c}=a.transform(o);s.innerHTML="";const l=s.clientWidth>0?s.clientWidth:yn,d=s.clientHeight>0?s.clientHeight:wn,h=document.createElementNS("http://www.w3.org/2000/svg","svg");h.setAttribute("width",String(l)),h.setAttribute("height",String(d)),h.style.width="100%",h.style.height="100%",h.style.display="block",s.appendChild(h);const g=r.create(h,{autoFit:!1},c),m=()=>{try{const b=h.querySelector("g");if(b){const w=b.getAttribute("transform")||"";(!w||w.includes("NaN"))&&b.setAttribute("transform",`translate(40, ${d/2}) scale(1)`)}}catch{}};m(),(typeof requestAnimationFrame=="function"?requestAnimationFrame:b=>setTimeout(b,16))(()=>{var b;try{const w=h.getBoundingClientRect();w.width>0&&w.height>0&&((b=g.fit)==null||b.call(g),m())}catch{}})}}function kn(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function ot(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(e=>{const t=n[e],i=typeof t;(i==="object"||i==="function")&&!Object.isFrozen(t)&&ot(t)}),n}class Ze{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function at(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function J(n,...e){const t=Object.create(null);for(const i in n)t[i]=n[i];return e.forEach(function(i){for(const r in i)t[r]=i[r]}),t}const Tn="</span>",Ve=n=>!!n.scope,Nn=(n,{prefix:e})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){const t=n.split(".");return[`${e}${t.shift()}`,...t.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${n}`};class Sn{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=at(e)}openNode(e){if(!Ve(e))return;const t=Nn(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){Ve(e)&&(this.buffer+=Tn)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}const Xe=(n={})=>{const e={children:[]};return Object.assign(e,n),e};class Re{constructor(){this.rootNode=Xe(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=Xe({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t=="string"?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(i=>this._walk(e,i)),e.closeNode(t)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(t=>typeof t=="string")?e.children=[e.children.join("")]:e.children.forEach(t=>{Re._collapse(t)}))}}class An extends Re{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const i=e.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new Sn(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function ue(n){return n?typeof n=="string"?n:n.source:null}function ct(n){return ie("(?=",n,")")}function xn(n){return ie("(?:",n,")*")}function Cn(n){return ie("(?:",n,")?")}function ie(...n){return n.map(t=>ue(t)).join("")}function Mn(n){const e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function ye(...n){return"("+(Mn(n).capture?"":"?:")+n.map(i=>ue(i)).join("|")+")"}function lt(n){return new RegExp(n.toString()+"|").exec("").length-1}function Rn(n,e){const t=n&&n.exec(e);return t&&t.index===0}const On=new RegExp(ye(/\[(?:[^\\\]]|\\.)*\]/,/\(\?<(?![=!])[^>]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function Oe(n,{joinWith:e}){let t=0;return n.map(i=>{t+=1;const r=t;let a=ue(i),s="";for(;a.length>0;){const o=On.exec(a);if(!o){s+=a;break}s+=a.substring(0,o.index),a=a.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?s+="\\"+String(Number(o[1])+r):(s+=o[0],(o[0]==="("||/^\(\?[<']/.test(o[0]))&&t++)}return s}).map(i=>`(${i})`).join(e)}const In=/\b\B/,dt="[a-zA-Z]\\w*",Ie="[a-zA-Z_]\\w*",ut="\\b\\d+(\\.\\d+)?",ht="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",pt="\\b(0b[01]+)",Ln="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Dn=(n={})=>{const e=/^#![ ]*\//;return n.binary&&(n.begin=ie(e,/.*\b/,n.binary,/\b.*/)),J({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(t,i)=>{t.index!==0&&i.ignoreMatch()}},n)},he={begin:"\\\\[\\s\\S]",relevance:0},Pn={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[he]},Bn={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[he]},$n={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},we=function(n,e,t={}){const i=J({scope:"comment",begin:n,end:e,contains:[]},t);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=ye("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:ie(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Un=we("//","$"),Fn=we("/\\*","\\*/"),Hn=we("#","$"),zn={scope:"number",begin:ut,relevance:0},Kn={scope:"number",begin:ht,relevance:0},Gn={scope:"number",begin:pt,relevance:0},qn={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[he,{begin:/\[/,end:/\]/,relevance:0,contains:[he]}]},Wn={scope:"title",begin:dt,relevance:0},Yn={scope:"title",begin:Ie,relevance:0},Zn={begin:"\\.\\s*"+Ie,relevance:0},Vn=function(n){return Object.assign(n,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})};var me=Object.freeze({__proto__:null,APOS_STRING_MODE:Pn,BACKSLASH_ESCAPE:he,BINARY_NUMBER_MODE:Gn,BINARY_NUMBER_RE:pt,COMMENT:we,C_BLOCK_COMMENT_MODE:Fn,C_LINE_COMMENT_MODE:Un,C_NUMBER_MODE:Kn,C_NUMBER_RE:ht,END_SAME_AS_BEGIN:Vn,HASH_COMMENT_MODE:Hn,IDENT_RE:dt,MATCH_NOTHING_RE:In,METHOD_GUARD:Zn,NUMBER_MODE:zn,NUMBER_RE:ut,PHRASAL_WORDS_MODE:$n,QUOTE_STRING_MODE:Bn,REGEXP_MODE:qn,RE_STARTERS_RE:Ln,SHEBANG:Dn,TITLE_MODE:Wn,UNDERSCORE_IDENT_RE:Ie,UNDERSCORE_TITLE_MODE:Yn});function Xn(n,e){n.input[n.index-1]==="."&&e.ignoreMatch()}function Qn(n,e){n.className!==void 0&&(n.scope=n.className,delete n.className)}function Jn(n,e){e&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=Xn,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function jn(n,e){Array.isArray(n.illegal)&&(n.illegal=ye(...n.illegal))}function ei(n,e){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function ti(n,e){n.relevance===void 0&&(n.relevance=1)}const ni=(n,e)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");const t=Object.assign({},n);Object.keys(n).forEach(i=>{delete n[i]}),n.keywords=t.keywords,n.begin=ie(t.beforeMatch,ct(t.begin)),n.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},n.relevance=0,delete t.beforeMatch},ii=["of","and","for","in","not","or","if","then","parent","list","value"],ri="keyword";function gt(n,e,t=ri){const i=Object.create(null);return typeof n=="string"?r(t,n.split(" ")):Array.isArray(n)?r(t,n):Object.keys(n).forEach(function(a){Object.assign(i,gt(n[a],e,a))}),i;function r(a,s){e&&(s=s.map(o=>o.toLowerCase())),s.forEach(function(o){const c=o.split("|");i[c[0]]=[a,si(c[0],c[1])]})}}function si(n,e){return e?Number(e):oi(n)?0:1}function oi(n){return ii.includes(n.toLowerCase())}const Qe={},ne=n=>{console.error(n)},Je=(n,...e)=>{console.log(`WARN: ${n}`,...e)},re=(n,e)=>{Qe[`${n}/${e}`]||(console.log(`Deprecated as of ${n}. ${e}`),Qe[`${n}/${e}`]=!0)},_e=new Error;function mt(n,e,{key:t}){let i=0;const r=n[t],a={},s={};for(let o=1;o<=e.length;o++)s[o+i]=r[o],a[o+i]=!0,i+=lt(e[o-1]);n[t]=s,n[t]._emit=a,n[t]._multi=!0}function ai(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw ne("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),_e;if(typeof n.beginScope!="object"||n.beginScope===null)throw ne("beginScope must be object"),_e;mt(n,n.begin,{key:"beginScope"}),n.begin=Oe(n.begin,{joinWith:""})}}function ci(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw ne("skip, excludeEnd, returnEnd not compatible with endScope: {}"),_e;if(typeof n.endScope!="object"||n.endScope===null)throw ne("endScope must be object"),_e;mt(n,n.end,{key:"endScope"}),n.end=Oe(n.end,{joinWith:""})}}function li(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function di(n){li(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),ai(n),ci(n)}function ui(n){function e(s,o){return new RegExp(ue(s),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(o?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,o]),this.matchAt+=lt(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(c=>c[1]);this.matcherRe=e(Oe(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const c=this.matcherRe.exec(o);if(!c)return null;const l=c.findIndex((h,g)=>g>0&&h!==void 0),d=this.matchIndexes[l];return c.splice(0,l),Object.assign(c,d)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const c=new t;return this.rules.slice(o).forEach(([l,d])=>c.addRule(l,d)),c.compile(),this.multiRegexes[o]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,c){this.rules.push([o,c]),c.type==="begin"&&this.count++}exec(o){const c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let l=c.exec(o);if(this.resumingScanAtSamePosition()&&!(l&&l.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,l=d.exec(o)}return l&&(this.regexIndex+=l.position+1,this.regexIndex===this.count&&this.considerAll()),l}}function r(s){const o=new i;return s.contains.forEach(c=>o.addRule(c.begin,{rule:c,type:"begin"})),s.terminatorEnd&&o.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&o.addRule(s.illegal,{type:"illegal"}),o}function a(s,o){const c=s;if(s.isCompiled)return c;[Qn,ei,di,ni].forEach(d=>d(s,o)),n.compilerExtensions.forEach(d=>d(s,o)),s.__beforeBegin=null,[Jn,jn,ti].forEach(d=>d(s,o)),s.isCompiled=!0;let l=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),l=s.keywords.$pattern,delete s.keywords.$pattern),l=l||/\w+/,s.keywords&&(s.keywords=gt(s.keywords,n.case_insensitive)),c.keywordPatternRe=e(l,!0),o&&(s.begin||(s.begin=/\B|\b/),c.beginRe=e(c.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(c.endRe=e(c.end)),c.terminatorEnd=ue(c.end)||"",s.endsWithParent&&o.terminatorEnd&&(c.terminatorEnd+=(s.end?"|":"")+o.terminatorEnd)),s.illegal&&(c.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(d){return hi(d==="self"?s:d)})),s.contains.forEach(function(d){a(d,c)}),s.starts&&a(s.starts,o),c.matcher=r(c),c}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=J(n.classNameAliases||{}),a(n)}function ft(n){return n?n.endsWithParent||ft(n.starts):!1}function hi(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(e){return J(n,{variants:null},e)})),n.cachedVariants?n.cachedVariants:ft(n)?J(n,{starts:n.starts?J(n.starts):null}):Object.isFrozen(n)?J(n):n}var pi="11.12.0";class gi extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const xe=at,je=J,et=Symbol("nomatch"),mi=7,bt=function(n){const e=Object.create(null),t=Object.create(null),i=[];let r=!0;const a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:An};function c(u){return o.noHighlightRe.test(u)}function l(u){let _=u.className+" ";_+=u.parentNode?u.parentNode.className:"";const f=o.languageDetectRe.exec(_);if(f){const k=$(f[1]);return k||(Je(a.replace("{}",f[1])),Je("Falling back to no-highlight mode for this block.",u)),k?f[1]:"no-highlight"}return _.split(/\s+/).find(k=>c(k)||$(k))}function d(u,_,f){let k="",N="";typeof _=="object"?(k=u,f=_.ignoreIllegals,N=_.language):(re("10.7.0","highlight(lang, code, ...args) has been deprecated."),re("10.7.0",`Please use highlight(code, options) instead.
11
+ https://github.com/highlightjs/highlight.js/issues/2277`),N=u,k=_),f===void 0&&(f=!0);const P={code:k,language:N};X("before:highlight",P);const z=P.result?P.result:h(P.language,P.code,f);return z.code=P.code,X("after:highlight",z),z}function h(u,_,f,k){const N=Object.create(null);function P(p,E){return p.keywords[E]}function z(){if(!v.keywords){H.addText(C);return}let p=0;v.keywordPatternRe.lastIndex=0;let E=v.keywordPatternRe.exec(C),T="";for(;E;){T+=C.substring(p,E.index);const A=Y.case_insensitive?E[0].toLowerCase():E[0],K=P(v,A);if(K){const[Z,jt]=K;if(H.addText(T),T="",N[A]=(N[A]||0)+1,N[A]<=mi&&(ge+=jt),Z.startsWith("_"))T+=E[0];else{const en=Y.classNameAliases[Z]||Z;W(E[0],en)}}else T+=E[0];p=v.keywordPatternRe.lastIndex,E=v.keywordPatternRe.exec(C)}T+=C.substring(p),H.addText(T)}function q(){if(C==="")return;let p=null;if(typeof v.subLanguage=="string"){if(!e[v.subLanguage]){H.addText(C);return}p=h(v.subLanguage,C,!0,He[v.subLanguage]),He[v.subLanguage]=p._top}else p=m(C,v.subLanguage.length?v.subLanguage:null);v.relevance>0&&(ge+=p.relevance),H.__addSublanguage(p._emitter,p.language)}function G(){v.subLanguage!=null?q():z(),C=""}function W(p,E){p!==""&&(H.startScope(E),H.addText(p),H.endScope())}function Be(p,E){let T=1;const A=E.length-1;for(;T<=A;){if(!p._emit[T]){T++;continue}const K=Y.classNameAliases[p[T]]||p[T],Z=E[T];K?W(Z,K):(C=Z,z(),C=""),T++}}function $e(p,E){return p.scope&&typeof p.scope=="string"&&H.openNode(Y.classNameAliases[p.scope]||p.scope),p.beginScope&&(p.beginScope._wrap?(W(C,Y.classNameAliases[p.beginScope._wrap]||p.beginScope._wrap),C=""):p.beginScope._multi&&(Be(p.beginScope,E),C="")),v=Object.create(p,{parent:{value:v}}),v}function Ue(p,E,T){let A=Rn(p.endRe,T);if(A){if(p["on:end"]){const K=new Ze(p);p["on:end"](E,K),K.isMatchIgnored&&(A=!1)}if(A){for(;p.endsParent&&p.parent;)p=p.parent;return p}}if(p.endsWithParent)return Ue(p.parent,E,T)}function Zt(p){return v.matcher.regexIndex===0?(C+=p[0],1):(Te=!0,0)}function Vt(p){const E=p[0],T=p.rule,A=new Ze(T),K=[T.__beforeBegin,T["on:begin"]];for(const Z of K)if(Z&&(Z(p,A),A.isMatchIgnored))return Zt(E);return T.skip?C+=E:(T.excludeBegin&&(C+=E),G(),!T.returnBegin&&!T.excludeBegin&&(C=E)),$e(T,p),T.returnBegin?0:E.length}function Xt(p){const E=p[0],T=_.substring(p.index),A=Ue(v,p,T);if(!A)return et;const K=v;v.endScope&&v.endScope._wrap?(G(),W(E,v.endScope._wrap)):v.endScope&&v.endScope._multi?(G(),Be(v.endScope,p)):K.skip?C+=E:(K.returnEnd||K.excludeEnd||(C+=E),G(),K.excludeEnd&&(C=E));do v.scope&&H.closeNode(),!v.skip&&!v.subLanguage&&(ge+=v.relevance),v=v.parent;while(v!==A.parent);return A.starts&&$e(A.starts,p),K.returnEnd?0:E.length}function Qt(){const p=[];for(let E=v;E!==Y;E=E.parent)E.scope&&p.unshift(E.scope);p.forEach(E=>H.openNode(E))}let pe={};function Fe(p,E){const T=E&&E[0];if(C+=p,T==null)return G(),0;if(pe.type==="begin"&&E.type==="end"&&pe.index===E.index&&T===""){if(C+=_.slice(E.index,E.index+1),!r){const A=new Error(`0 width match regex (${u})`);throw A.languageName=u,A.badRule=pe.rule,A}return 1}if(pe=E,E.type==="begin")return Vt(E);if(E.type==="illegal"&&!f){const A=new Error('Illegal lexeme "'+T+'" for mode "'+(v.scope||"<unnamed>")+'"');throw A.mode=v,A}else if(E.type==="end"){const A=Xt(E);if(A!==et)return A}if(E.type==="illegal"&&T==="")return E.index===_.length||(C+=`
12
+ `),1;if(ke>1e5&&ke>E.index*3)throw new Error("potential infinite loop, way more iterations than matches");return C+=T,T.length}const Y=$(u);if(!Y)throw ne(a.replace("{}",u)),new Error('Unknown language: "'+u+'"');const Jt=ui(Y);let ve="",v=k||Jt;const He={},H=new o.__emitter(o);Qt();let C="",ge=0,ee=0,ke=0,Te=!1;try{if(Y.__emitTokens)Y.__emitTokens(_,H);else{for(v.matcher.considerAll();;){ke++,Te?Te=!1:v.matcher.considerAll(),v.matcher.lastIndex=ee;const p=v.matcher.exec(_);if(!p)break;const E=_.substring(ee,p.index),T=Fe(E,p);ee=p.index+T}Fe(_.substring(ee))}return H.finalize(),ve=H.toHTML(),{language:u,value:ve,relevance:ge,illegal:!1,_emitter:H,_top:v}}catch(p){if(p.message&&p.message.includes("Illegal"))return{language:u,value:xe(_),illegal:!0,relevance:0,_illegalBy:{message:p.message,index:ee,context:_.slice(ee-100,ee+100),mode:p.mode,resultSoFar:ve},_emitter:H};if(r)return{language:u,value:xe(_),illegal:!1,relevance:0,errorRaised:p,_emitter:H,_top:v};throw p}}function g(u){const _={value:xe(u),illegal:!1,relevance:0,_top:s,_emitter:new o.__emitter(o)};return _._emitter.addText(u),_}function m(u,_){_=_||o.languages||Object.keys(e);const f=g(u),k=_.filter($).filter(V).map(G=>h(G,u,!1));k.unshift(f);const N=k.sort((G,W)=>{if(G.relevance!==W.relevance)return W.relevance-G.relevance;if(G.language&&W.language){if($(G.language).supersetOf===W.language)return 1;if($(W.language).supersetOf===G.language)return-1}return 0}),[P,z]=N,q=P;return q.secondBest=z,q}function y(u,_,f){const k=_&&t[_]||f;u.classList.add("hljs"),u.classList.add(`language-${k}`)}function b(u){let _=null;const f=l(u);if(c(f))return;if(X("before:highlightElement",{el:u,language:f}),u.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);return}if(u.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),o.throwUnescapedHTML))throw new gi("One of your code blocks includes unescaped HTML.",u.innerHTML);_=u;const k=_.textContent,N=f?d(k,{language:f,ignoreIllegals:!0}):m(k);u.innerHTML=N.value,u.dataset.highlighted="yes",y(u,f,N.language),u.result={language:N.language,re:N.relevance,relevance:N.relevance},N.secondBest&&(u.secondBest={language:N.secondBest.language,relevance:N.secondBest.relevance}),X("after:highlightElement",{el:u,result:N,text:k})}function w(u){o=je(o,u)}const R=()=>{x(),re("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function O(){x(),re("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let U=!1;function x(){function u(){x()}if(document.readyState==="loading"){U||window.addEventListener("DOMContentLoaded",u,!1),U=!0;return}document.querySelectorAll(o.cssSelector).forEach(b)}function I(u,_){let f=null;try{f=_(n)}catch(k){if(ne("Language definition for '{}' could not be registered.".replace("{}",u)),r)ne(k);else throw k;f=s}f.name||(f.name=u),e[u]=f,f.rawDefinition=_.bind(null,n),f.aliases&&F(f.aliases,{languageName:u})}function D(u){delete e[u];for(const _ of Object.keys(t))t[_]===u&&delete t[_]}function B(){return Object.keys(e)}function $(u){return u=(u||"").toLowerCase(),e[u]||e[t[u]]}function F(u,{languageName:_}){typeof u=="string"&&(u=[u]),u.forEach(f=>{t[f.toLowerCase()]=_})}function V(u){const _=$(u);return _&&!_.disableAutodetect}function j(u){u["before:highlightBlock"]&&!u["before:highlightElement"]&&(u["before:highlightElement"]=_=>{u["before:highlightBlock"](Object.assign({block:_.el},_))}),u["after:highlightBlock"]&&!u["after:highlightElement"]&&(u["after:highlightElement"]=_=>{u["after:highlightBlock"](Object.assign({block:_.el},_))})}function ae(u){j(u),i.push(u)}function ce(u){const _=i.indexOf(u);_!==-1&&i.splice(_,1)}function X(u,_){const f=u;i.forEach(function(k){k[f]&&k[f](_)})}function le(u){return re("10.7.0","highlightBlock will be removed entirely in v12.0"),re("10.7.0","Please use highlightElement now."),b(u)}Object.assign(n,{highlight:d,highlightAuto:m,highlightAll:x,highlightElement:b,highlightBlock:le,configure:w,initHighlighting:R,initHighlightingOnLoad:O,registerLanguage:I,unregisterLanguage:D,listLanguages:B,getLanguage:$,registerAliases:F,autoDetection:V,inherit:je,addPlugin:ae,removePlugin:ce}),n.debugMode=function(){r=!1},n.safeMode=function(){r=!0},n.versionString=pi,n.regex={concat:ie,lookahead:ct,either:ye,optional:Cn,anyNumberOfTimes:xn};for(const u in me)typeof me[u]=="object"&&ot(me[u]);return Object.assign(n,me),n},oe=bt({});oe.newInstance=()=>bt({});var fi=oe;oe.HighlightJS=oe;oe.default=oe;const S=kn(fi),tt="[A-Za-z$_][0-9A-Za-z$_]*",bi=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],_i=["true","false","null","undefined","NaN","Infinity"],_t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Et=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],yt=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ei=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],yi=[].concat(yt,_t,Et);function wt(n){const e=n.regex,t=(f,{after:k})=>{const N="</"+f[0].slice(1);return f.input.indexOf(N,k)!==-1},i=tt,r={begin:"<>",end:"</>"},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(f,k)=>{const N=f[0].length+f.index,P=f.input[N];if(P==="<"||P===","){k.ignoreMatch();return}P===">"&&(t(f,{after:N})||k.ignoreMatch());let z;const q=f.input.substring(N);if(z=q.match(/^\s*=/)){k.ignoreMatch();return}if((z=q.match(/^\s+extends\s+/))&&z.index===0){k.ignoreMatch();return}}},o={$pattern:tt,keyword:bi,literal:_i,built_in:yi,"variable.language":Ei},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",h={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},y={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,g]},O={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,y,b,w,{match:/\$\d+/},h];g.contains=U.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(U)});const x=[].concat(O,g.contains),I=x.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(x)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:I},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},$={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[..._t,...Et]}},F={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},V={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},j={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ae(f){return e.concat("(?!",f.join("|"),")")}const ce={match:e.concat(/\b/,ae([...yt,"super","import","await"].map(f=>`${f}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},X={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},le={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},u="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",_={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(u)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:I,CLASS_REFERENCE:$},illegal:/#(?![$_A-Za-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),F,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,y,b,w,O,{match:/\$\d+/},h,$,{scope:"attr",match:i+e.lookahead(":"),relevance:0},_,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,n.REGEXP_MODE,{className:"function",begin:u,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:I}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:a},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},V,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},X,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},ce,j,B,le,{match:/\$[(.]/}]}}const Ee="[A-Za-z$_][0-9A-Za-z$_]*",vt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],kt=["true","false","null","undefined","NaN","Infinity"],Tt=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Nt=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],St=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],At=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],xt=[].concat(St,Tt,Nt);function wi(n){const e=n.regex,t=(f,{after:k})=>{const N="</"+f[0].slice(1);return f.input.indexOf(N,k)!==-1},i=Ee,r={begin:"<>",end:"</>"},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(f,k)=>{const N=f[0].length+f.index,P=f.input[N];if(P==="<"||P===","){k.ignoreMatch();return}P===">"&&(t(f,{after:N})||k.ignoreMatch());let z;const q=f.input.substring(N);if(z=q.match(/^\s*=/)){k.ignoreMatch();return}if((z=q.match(/^\s+extends\s+/))&&z.index===0){k.ignoreMatch();return}}},o={$pattern:Ee,keyword:vt,literal:kt,built_in:xt,"variable.language":At},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",h={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},y={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,g]},O={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,y,b,w,{match:/\$\d+/},h];g.contains=U.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(U)});const x=[].concat(O,g.contains),I=x.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(x)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:I},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},$={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Tt,...Nt]}},F={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},V={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},j={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ae(f){return e.concat("(?!",f.join("|"),")")}const ce={match:e.concat(/\b/,ae([...St,"super","import","await"].map(f=>`${f}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},X={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},le={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},u="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",_={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(u)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:I,CLASS_REFERENCE:$},illegal:/#(?![$_A-Za-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),F,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,m,y,b,w,O,{match:/\$\d+/},h,$,{scope:"attr",match:i+e.lookahead(":"),relevance:0},_,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,n.REGEXP_MODE,{className:"function",begin:u,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:I}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:a},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},V,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},X,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},ce,j,B,le,{match:/\$[(.]/}]}}function Ct(n){const e=n.regex,t=wi(n),i=Ee,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],a={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[t.exports.CLASS_REFERENCE]},o={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],l={$pattern:Ee,keyword:vt.concat(c),literal:kt,built_in:xt.concat(r),"variable.language":At},d={className:"meta",begin:"@"+i},h=(b,w,R)=>{const O=b.contains.findIndex(U=>U.label===w);if(O===-1)throw new Error("can not find mode to replace");b.contains.splice(O,1,R)};Object.assign(t.keywords,l),t.exports.PARAMS_CONTAINS.push(d);const g=t.contains.find(b=>b.scope==="attr"),m=Object.assign({},g,{match:e.concat(i,e.lookahead(/\s*\?:/))});t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,g,m]),t.contains=t.contains.concat([d,a,s,m]),h(t,"shebang",n.SHEBANG()),h(t,"use_strict",o);const y=t.contains.find(b=>b.label==="func.def");return y.relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t}function Mt(n){const e=n.regex,t=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","lazy","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:["__import__","abs","aiter","all","anext","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozendict","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","sentinel","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},d={begin:/\{\{/,relevance:0},h={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c,d,l]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c,d,l]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,d,l]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,d,l]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},g="[0-9](_?[0-9])*",m=`(\\b(${g}))?\\.(${g})|\\b(${g})\\.`,y=`\\b|${i.join("|")}`,b={className:"number",relevance:0,variants:[{begin:`(\\b(${g})|(${m}))[eE][+-]?(${g})[jJ]?(?=${y})`},{begin:`(${m})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${y})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${y})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${y})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${y})`},{begin:`\\b(${g})[jJ](?=${y})`}]},w={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},R={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",c,b,h,n.HASH_COMMENT_MODE]}]};return l.contains=[h,b,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[c,b,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},h,w,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[R]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,R,h]}]}}const vi="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",ki={scope:"number",match:vi,relevance:0};function Ti(n){const e={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:i},contains:[e,t,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,r,ki,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function Le(n){const e=n.regex,t={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},a=n.inherit(n.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,t,r]};r.contains.push(o);const c={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},h={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,t]},g=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],m=n.SHEBANG({binary:`(${g.join("|")})`,relevance:10}),y={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],w=["true","false"],R={match:/(\/[a-z._-]+)+/},O=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],U=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],x=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],I=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:w,built_in:[...O,...U,"set","shopt",...x,...I]},contains:[m,n.SHEBANG(),y,h,a,s,R,o,c,l,d,t]}}const Ni=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Si=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ai=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],xi=[...Si,...Ai],Ci=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Mi=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Ri=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Oi=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","corner-bottom-left-shape","corner-bottom-right-shape","corner-shape","corner-top-left-shape","corner-top-right-shape","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Ii(n){const e=n.regex,t=Ni(n),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",a=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",o=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,i,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Mi.join("|")+")"},{begin:":(:)?("+Ri.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Oi.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,t.UNICODE_RANGE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:a},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Ci.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+xi.join("|")+")\\b"}]}}function De(n){const e=n.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=n.inherit(a,{begin:/\(/,end:/\)/}),o=n.inherit(n.APOS_STRING_MODE,{className:"string"}),c=n.inherit(n.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:i,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,c,o,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[a,s,c,o]}]}]},n.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(t,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Li(n){const e=n.regex,t=n.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},a=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],h=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],g=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],m=d,y=[...l,...c].filter(I=>!d.includes(I)),b={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},w={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},R={match:e.concat(/\b/,e.either(...m),/\s*\(/),relevance:0,keywords:{built_in:m}};function O(I){return e.concat(/\b/,e.either(...I.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}const U={scope:"keyword",match:O(g),relevance:0};function x(I,{exceptions:D,when:B}={}){const $=B;return D=D||[],I.map(F=>F.match(/\|\d+$/)||D.includes(F)?F:$(F)?`${F}|0`:F)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:x(y,{when:I=>I.length<3}),literal:a,type:o,built_in:h},contains:[{scope:"type",match:O(s)},U,R,b,i,r,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,t,w]}}function Rt(n){const e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},a={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[n.BACKSLASH_ESCAPE,r]},o=n.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),g={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},m={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},y={begin:/\{/,end:/\}/,contains:[m],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[m],illegal:"\\n",relevance:0},w=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},g,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},y,b,a,s],R=[...w];return R.pop(),R.push(o),m.contains=R,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:w}}function Ot(n){const e=n.regex,t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},a={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},h=n.inherit(l,{contains:[]}),g=n.inherit(d,{contains:[]});l.contains.push(g),d.contains.push(h);let m=[t,c];return[l,d,h,g].forEach(R=>{R.contains=R.contains.concat(m)}),m=m.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:m},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:m}]}]},t,a,i,l,d,{className:"quote",begin:"^>\\s+",contains:m,end:"$"},r,c,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function Di(n){const a={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:a,illegal:"</",contains:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{className:"string",variants:[n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\b0[bB](_?[01])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[n.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:a,illegal:/["']/}]}]}}function It(n){const e=n.regex,t=/(r#)?/,i=e.concat(t,n.UNDERSCORE_IDENT_RE),r=e.concat(t,n.IDENT_RE),a={scope:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!(?:let|for|while|if|else|match)\b)/,r,e.lookahead(/\s*\(/))},s="([ui](8|16|32|64|128|size)|f(16|32|64|128))?",o=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","raw","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],c=["true","false","Some","None","Ok","Err"],l=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f16","f32","f64","f128","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:n.IDENT_RE+"!?",type:d,keyword:o,literal:c,built_in:l},illegal:"</",contains:[n.C_LINE_COMMENT_MODE,n.COMMENT("/\\*","\\*/",{contains:["self"]}),n.inherit(n.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{scope:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|"|\\|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{scope:"number",variants:[{begin:"\\b0b([01_]+)"+s},{begin:"\\b0o([0-7_]+)"+s},{begin:"\\b0x([A-Fa-f0-9_]+)"+s},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+s}],relevance:0},{begin:[/\bsafe/,/\s+/,/extern/],scope:{1:"keyword",3:"keyword"}},{begin:[/fn/,/\s+/,i],scope:{1:"keyword",3:"title.function"}},{scope:"meta",begin:"#!?\\[",end:"\\]",contains:[{scope:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,i],scope:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,i,/\s+/,/in/],scope:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,i],scope:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,i],scope:{1:"keyword",3:"title.class"}},{begin:n.IDENT_RE+"::",keywords:{keyword:"Self",built_in:l,type:d}},{scope:"punctuation",begin:"->"},a]}}var se="[0-9](_*[0-9])*",fe=`\\.(${se})`,be="[0-9a-fA-F](_*[0-9a-fA-F])*",nt={className:"number",variants:[{begin:`(\\b(${se})((${fe})|\\.)?|(${fe}))[eE][+-]?(${se})[fFdD]?\\b`},{begin:`\\b(${se})((${fe})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${fe})[fFdD]?\\b`},{begin:`\\b(${se})[fFdD]\\b`},{begin:`\\b0[xX]((${be})\\.?|(${be})?\\.(${be}))[pP][+-]?(${se})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${be})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Lt(n,e,t){return t===-1?"":n.replace(e,i=>Lt(n,e,t-1))}function Pi(n){const e=n.regex,t="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",i="(?:(?:\\s*\\[\\s*])+)?",r=t+"<@@@>"+i,s="(?:"+("\\?(?:\\s+(?:extends|super)\\s+"+r+")?")+"|"+r+")",o=Lt("(?:\\s*<\\s*"+s+"(?:\\s*,\\s*"+s+")*\\s*>)?",/<@@@>/g,2),g={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},m={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},y={className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:g,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{beginKeywords:"new throw return else yield assert",relevance:0},{begin:[t,e.concat(o,i,/\s+/),t,i,/\s*/,/=(?!=)/],className:{1:"type",3:"variable",6:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[y,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{begin:[t,e.concat(o,i,/\s+/),t,/\s*(?=\()/],className:{1:"type",3:"title.function"},keywords:g,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0,contains:[m,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,nt,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},nt,m]}}function Bi(n){const e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",o=e.concat(/\batomic_/,e.either("bool","char","schar","uchar","short","ushort","int","uint","long","ulong","llong","ullong","char16_t","char32_t","wchar_t","int_least8_t","uint_least8_t","int_least16_t","uint_least16_t","int_least32_t","uint_least32_t","int_least64_t","uint_least64_t","int_fast8_t","uint_fast8_t","int_fast16_t","uint_fast16_t","int_fast32_t","uint_fast32_t","int_fast64_t","uint_fast64_t","intptr_t","uintptr_t","size_t","ptrdiff_t","intmax_t","uintmax_t"),/\b/),c={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:o}]},d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\\s"]{0,16})\(/,end:/\)([^()\\\s"]{0,16})"/})]},h={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},g={scope:"meta",begin:/#\s*include\b/,end:/$/,keywords:{keyword:"include"},contains:[{begin:/\\\n/},d,{scope:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},m={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},n.inherit(d,{className:"string"}),t,n.C_BLOCK_COMMENT_MODE]},y=[g,m],b={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},w=e.optional(r)+n.IDENT_RE+"\\s*\\(",R=12,x={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},I=[...y,c,t,n.C_BLOCK_COMMENT_MODE,h,d],D={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:x,contains:I.concat([{begin:/\(/,end:/\)/,keywords:x,contains:I.concat(["self"]),relevance:0}]),relevance:0},B={begin:"("+s+"[\\*&\\s]+){1,"+R+"}"+w,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:x,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:x,relevance:0},{begin:w,returnBegin:!0,contains:[n.inherit(b,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,d,h,c,{begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,d,h,c]}]},c,t,n.C_BLOCK_COMMENT_MODE,...y]};return{name:"C",aliases:["h"],keywords:x,disableAutodetect:!0,illegal:"</",contains:[].concat(D,B,I,[...y,{begin:n.IDENT_RE+"::",keywords:x},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{preprocessor:m,strings:d,keywords:x}}}function Dt(n){const e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\\s"]{0,16})\(/,end:/\)([^()\\\s"]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:\\b[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|\\b[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|\\b0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},h={scope:"meta",begin:/#\s*include\b/,end:/$/,keywords:{keyword:"include"},contains:[{begin:/\\\n/},l,{scope:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},n.inherit(l,{className:"string"}),t,n.C_BLOCK_COMMENT_MODE]},m=[h,g],y={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},b=e.optional(r)+n.IDENT_RE+"\\s*\\(",w=12,R=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],O=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],U=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],x=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],B={type:O,keyword:R,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:U},$={className:"function.dispatch",relevance:0,keywords:{_hint:x},begin:e.concat(/\b/,`(?!${R.join("|")})`,n.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},F=[$,...m,o,t,n.C_BLOCK_COMMENT_MODE,d,l],V={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:B,contains:F.concat([{begin:/\(/,end:/\)/,keywords:B,contains:F.concat(["self"]),relevance:0}]),relevance:0},j={className:"function",begin:"("+s+"[\\*&\\s]+){1,"+w+"}"+b,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:B,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:B,relevance:0},{begin:b,returnBegin:!0,contains:[y],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,l,d,o,{begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,l,d,o]}]},o,t,n.C_BLOCK_COMMENT_MODE,...m]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:B,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(V,j,$,F,[...m,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:B,contains:["self",o]},{begin:n.IDENT_RE+"::",keywords:B},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}S.registerLanguage("javascript",wt);S.registerLanguage("js",wt);S.registerLanguage("typescript",Ct);S.registerLanguage("ts",Ct);S.registerLanguage("python",Mt);S.registerLanguage("py",Mt);S.registerLanguage("json",Ti);S.registerLanguage("bash",Le);S.registerLanguage("sh",Le);S.registerLanguage("shell",Le);S.registerLanguage("css",Ii);S.registerLanguage("xml",De);S.registerLanguage("html",De);S.registerLanguage("svg",De);S.registerLanguage("sql",Li);S.registerLanguage("yaml",Rt);S.registerLanguage("yml",Rt);S.registerLanguage("markdown",Ot);S.registerLanguage("md",Ot);S.registerLanguage("go",Di);S.registerLanguage("rust",It);S.registerLanguage("rs",It);S.registerLanguage("java",Pi);S.registerLanguage("c",Bi);S.registerLanguage("cpp",Dt);S.registerLanguage("c++",Dt);const $i=new Set(["mindmap"]);function de(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Ui(n,e={}){const t=new Set(e.reservedLanguages??$i),i=n.renderer.rules.fence?n.renderer.rules.fence.bind(n.renderer.rules):(r,a,s,o,c)=>c.renderToken(r,a,s);n.renderer.rules.fence=(r,a,s,o,c)=>{var b;const l=r[a];if(!l)return i(r,a,s,o,c);const h=((b=l.info.trim().split(/\s+/)[0])==null?void 0:b.toLowerCase())??"";if(t.has(h))return i(r,a,s,o,c);const g=l.content;let m,y=h||"text";if(h&&S.getLanguage(h))try{m=S.highlight(g,{language:h,ignoreIllegals:!0}).value}catch{m=de(g)}else if(h)try{const w=S.highlightAuto(g);m=w.value,y=w.language||h}catch{m=de(g)}else try{const w=S.highlightAuto(g);m=w.value,y=w.language||"text"}catch{m=de(g)}return`<div class="md-editor-codeblock"><div class="md-editor-codeblock-header"><span class="md-editor-codeblock-lights"><span class="md-editor-codeblock-dot md-editor-codeblock-dot--red"></span><span class="md-editor-codeblock-dot md-editor-codeblock-dot--yellow"></span><span class="md-editor-codeblock-dot md-editor-codeblock-dot--green"></span></span><span class="md-editor-codeblock-lang">${de(y)}</span><button type="button" class="md-editor-codeblock-copy" aria-label="Copy code">Copy</button></div><pre class="md-editor-codeblock-pre"><code class="language-${de(y)}">${m}</code></pre></div>`}}const Fi=[".mp4",".webm",".ogg",".mov",".m4v",".avi",".mkv"],Hi=[/(?:youtube\.com\/watch\?[^ ]*v=|youtu\.be\/|youtube\.com\/embed\/|youtube\.com\/shorts\/|youtube\.com\/v\/)([a-zA-Z0-9_-]{11})/,/^([a-zA-Z0-9_-]{11})$/];function Pt(n){const e=n.trim();if(!e)return null;for(const t of Hi){const i=e.match(t);if(i&&i[1])return i[1]}return null}function Bt(n,e="YouTube video"){const t=`https://img.youtube.com/vi/${n}/hqdefault.jpg`,i=`https://www.youtube.com/watch?v=${n}`;return`[![${e}](${t})](${i})`}function $t(n){const e=n.toLowerCase().split("?")[0]??"";return Fi.some(t=>e.endsWith(t))}function Ce(n,e="image"){return`![${e}](${n})`}function Ut(n,e="video"){return`![${e}](${n})`}function zi(n){const e=n.renderer.rules.image?n.renderer.rules.image.bind(n.renderer.rules):(t,i,r,a,s)=>s.renderToken(t,i,r);n.renderer.rules.image=(t,i,r,a,s)=>{const o=t[i];if(!o)return e(t,i,r,a,s);const c=o.attrGet("src")??"";if($t(c)){const l=o.content||"";return`<video src="${c}" controls class="md-editor-video" title="${l}">${l}</video>`}return e(t,i,r,a,s)}}const Ki=new Set(["notice","info","tip","warning","danger","success"]),Gi=/^:::(\w+)(?:\s+(.+))?$/,qi=/^:::\s*$/,it={notice:"Notice",info:"Info",tip:"Tip",warning:"Warning",danger:"Danger",success:"Success"},Wi={notice:"i",info:"i",tip:"✓",warning:"!",danger:"✕",success:"✓"};function Yi(n){n.block.ruler.before("fence","tips_block",(e,t,i,r)=>{const s=e.src.slice(e.bMarks[t],e.eMarks[t]).match(Gi);if(!s)return!1;const o=(s[1]??"").toLowerCase();if(!Ki.has(o))return!1;let c=t+1,l=!1;for(;c<i;){const y=e.src.slice(e.bMarks[c],e.eMarks[c]);if(qi.test(y.trim())){l=!0;break}c++}if(!l)return!1;if(r)return!0;const d=s[2]??it[o]??o,h=e.src.slice(e.bMarks[t+1],e.bMarks[c]).trim(),g=n.render(h),m=e.push("tips_block","div",0);return m.content=g,m.info=o,m.markup=d,e.line=c+1,!0}),n.renderer.rules.tips_block=(e,t)=>{const i=e[t];if(!i)return"";const r=i.info??"notice",a=i.markup??it[r]??"Notice",s=Wi[r]??"i",o=i.content??"";return`<div class="md-editor-tip md-editor-tip--${r}"><div class="md-editor-tip-header"><span class="md-editor-tip-icon">${s}</span><span class="md-editor-tip-title">${Zi(a)}</span></div><div class="md-editor-tip-body">${o}</div></div>`}}function Zi(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Vi(n){const e=n.renderer.rules.list_item_open;n.renderer.rules.list_item_open=(t,i,r,a,s)=>{var l,d;const o=t[i];if(!o)return e?e(t,i,r,a,s):s.renderToken(t,i,r);let c;for(let h=i+1;h<t.length&&h<i+6;h++){if(((l=t[h])==null?void 0:l.type)==="inline"){c=t[h];break}if(((d=t[h])==null?void 0:d.type)==="list_item_close")break}if(c&&c.content){const h=c.content,g=/^\[\s\]\s/.test(h),m=/^\[[xX]\]\s/.test(h);if(g||m){if(c.content=h.replace(/^\[[ xX]\]\s/,""),c.children&&c.children.length>0){const w=c.children[0];w&&w.type==="text"&&(w.content=w.content.replace(/^\[[ xX]\]\s/,""))}o.attrSet("class","task-list-item");const y=`<input type="checkbox" disabled${g?" checked":""} /> `;return(e?e(t,i,r,a,s):s.renderToken(t,i,r))+y}}return e?e(t,i,r,a,s):s.renderToken(t,i,r)}}class Pe{constructor(e={}){this.md=new dn({html:e.html??!1,linkify:!0,breaks:e.breaks??!1,typographer:!0}),e.math!==!1&&_n(this.md),this.mindmapEnabled=e.mindmap!==!1,this.mindmapEnabled&&En(this.md),e.codeHighlight!==!1&&Ui(this.md,{reservedLanguages:this.mindmapEnabled?["mindmap"]:[]}),e.tips!==!1&&Yi(this.md),Vi(this.md),mn(this.md),zi(this.md)}render(e){return this.md.render(e||"")}async hydrate(e){this.mindmapEnabled&&await vn(e)}}function Xi(n,e={}){return new Pe(e).render(n)}class Ft{constructor(e){this.buttons=new Map,this.el=document.createElement("div"),this.el.className="md-editor-toolbar",this.el.setAttribute("role","toolbar");for(const t of e){const i=document.createElement("button");if(i.type="button",i.className="md-editor-toolbar-btn",t.toggle&&i.classList.add("is-toggle"),t.active&&i.classList.add("is-active"),i.title=t.title,i.setAttribute("aria-label",t.title),i.setAttribute("data-action",t.name),i.innerHTML=t.icon,i.addEventListener("mousedown",r=>{r.preventDefault(),r.stopPropagation(),t.handler(i)}),this.buttons.set(t.name,i),this.el.appendChild(i),t.groupEnd){const r=document.createElement("span");r.className="md-editor-toolbar-sep",this.el.appendChild(r)}}}setActive(e,t){var i;(i=this.buttons.get(e))==null||i.classList.toggle("is-active",t)}setIcon(e,t){const i=this.buttons.get(e);i&&(i.innerHTML=t)}destroy(){for(const e of this.buttons.values())e.onclick=null;this.buttons.clear(),this.el.remove()}}function Me(n){const e=n.trim();return{charCount:n.length,wordCount:e?e.split(/\s+/).length:0}}class Ht{constructor(e){this.el=document.createElement("div"),this.el.className="md-editor-statusbar",this.countEl=document.createElement("span"),this.blockEl=document.createElement("span"),this.blockEl.className="md-editor-statusbar-muted",this.refreshBtn=document.createElement("button"),this.refreshBtn.type="button",this.refreshBtn.className="md-editor-statusbar-refresh",this.refreshBtn.textContent="Refresh preview",this.refreshBtn.style.display="none",this.refreshBtn.addEventListener("click",e.onRefreshPreview),this.el.appendChild(this.countEl),this.el.appendChild(this.blockEl),this.el.appendChild(this.refreshBtn)}update(e){this.countEl.textContent=`${e.charCount} chars · ${e.wordCount} words`,this.blockEl.textContent=`${e.blockCount} render blocks`,this.refreshBtn.style.display=e.autoPreview?"none":""}destroy(){this.refreshBtn.onclick=null,this.el.remove()}}const Qi=/^ {0,3}#{1,6}\s/,Ji=/^ {0,3}(`{3,}|~{3,})/;function ji(n){let e=5381;for(let t=0;t<n.length;t++)e=e*33^n.charCodeAt(t);return(e>>>0).toString(36)+":"+n.length}function zt(n){var o;const e=n.split(`
13
13
  `),t=[];let i=[],r=!1,a="";for(const c of e){const l=c.match(Ji);if(l){const d=((o=l[1])==null?void 0:o[0])??"";r?d===a&&(r=!1):(r=!0,a=d),i.push(c);continue}if(!r&&Qi.test(c)&&i.length>0){t.push(i.join(`
14
14
  `)),i=[c];continue}i.push(c)}i.length>0&&t.push(i.join(`
15
15
  `)),t.length===0&&t.push("");const s=new Map;return t.map(c=>{const l=ji(c),d=(s.get(l)??0)+1;return s.set(l,d),{key:`${l}#${d}`,hash:l,source:c}})}class Kt{constructor(e,t,i=800){this.container=e,this.renderBlock=t,this.maxCacheEntries=i,this.nodeByKey=new Map,this.htmlByHash=new Map,this.prevBlocks=[]}update(e){const t=zt(e),i=document.createDocumentFragment(),r=new Map;let a=0;for(const s of t){let o=this.nodeByKey.get(s.key);if(!o){let c=this.htmlByHash.get(s.hash);c===void 0&&(c=this.renderBlock(s.source),this.htmlByHash.set(s.hash,c),a++),o=document.createElement("div"),o.className="md-editor-block",o.dataset.blockKey=s.key,o.innerHTML=c}r.set(s.key,o),i.appendChild(o)}return this.container.innerHTML="",this.container.appendChild(i),this.nodeByKey=r,this.prevBlocks=t,this.evictCacheIfNeeded(t),{rerenderedCount:a,totalCount:t.length}}evictCacheIfNeeded(e){if(this.htmlByHash.size<=this.maxCacheEntries)return;const t=new Set(e.map(i=>i.hash));for(const i of Array.from(this.htmlByHash.keys()))t.has(i)||this.htmlByHash.delete(i)}getBlockCount(){return this.prevBlocks.length}destroy(){this.container.innerHTML="",this.nodeByKey.clear(),this.htmlByHash.clear(),this.prevBlocks=[]}}function Gt(n,e){let t,i;const r=(...a)=>{i=a,t!==void 0&&clearTimeout(t),t=setTimeout(()=>{t=void 0,i&&n(...i)},e)};return r.cancel=()=>{t!==void 0&&clearTimeout(t),t=void 0},r.flush=()=>{t!==void 0&&(clearTimeout(t),t=void 0,i&&n(...i))},r}function qt(n,e=120,t=600){const i=Math.max(0,n),r=Math.floor(i/2e4)*60;return Math.min(t,e+r)}function er(n,e=300){const t=window;return typeof t.requestIdleCallback=="function"?t.requestIdleCallback(n,{timeout:e}):window.setTimeout(n,0)}function tr(n){const e=window;typeof e.cancelIdleCallback=="function"?e.cancelIdleCallback(n):clearTimeout(n)}const L=n=>`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">${n}</svg>`,M={bold:L('<path d="M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"/><path d="M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"/>'),italic:L('<line x1="19" y1="4" x2="10" y2="4"/><line x1="14" y1="20" x2="5" y2="20"/><line x1="15" y1="4" x2="9" y2="20"/>'),heading:L('<path d="M6 12h12"/><path d="M6 4v16"/><path d="M18 4v16"/>'),link:L('<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>'),code:L('<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>'),image:L('<rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/>'),video:L('<polygon points="23 7 16 12 23 17 23 7"/><rect x="1" y="5" width="15" height="14" rx="2" ry="2"/>'),youtube:L('<path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"/><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"/>'),quote:L('<path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z"/><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z"/>'),list:L('<line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/>'),listOrdered:L('<line x1="10" y1="6" x2="21" y2="6"/><line x1="10" y1="12" x2="21" y2="12"/><line x1="10" y1="18" x2="21" y2="18"/><path d="M4 6h1v4"/><path d="M4 10h2"/><path d="M6 16H4c0-1 2-2 2-3s-1-1.5-2-1"/>'),taskList:L('<rect x="3" y="4" width="6" height="6" rx="1"/><polyline points="4.5 7 5.5 8 7.5 5.5"/><line x1="13" y1="7" x2="21" y2="7"/><rect x="3" y="14" width="6" height="6" rx="1"/><line x1="13" y1="17" x2="21" y2="17"/>'),mention:L('<circle cx="12" cy="12" r="4"/><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"/>'),fileText:L('<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/>'),table:L('<rect x="3" y="3" width="18" height="18" rx="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="3" y1="15" x2="21" y2="15"/><line x1="9" y1="3" x2="9" y2="21"/>'),hr:L('<line x1="4" y1="12" x2="20" y2="12"/>'),alert:L('<path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/>'),sigma:L('<path d="M18 7V4H6l6 8-6 8h12v-3"/>'),mindmap:L('<circle cx="12" cy="12" r="3"/><circle cx="4" cy="5" r="2"/><circle cx="4" cy="19" r="2"/><circle cx="20" cy="5" r="2"/><circle cx="20" cy="19" r="2"/><line x1="9.5" y1="10.5" x2="5.5" y2="6.5"/><line x1="9.5" y1="13.5" x2="5.5" y2="17.5"/><line x1="14.5" y1="10.5" x2="18.5" y2="6.5"/><line x1="14.5" y1="13.5" x2="18.5" y2="17.5"/>'),eye:L('<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/>'),help:L('<circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12.01" y2="17"/>'),moon:L('<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/>'),sun:L('<circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>'),refresh:L('<polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/>')};class te{constructor(e,t){this.inputs=new Map,this.destroyed=!1,this.anchor=e,this.config=t,this.el=document.createElement("div"),this.el.className="md-editor-popup",this.el.setAttribute("role","dialog"),this.el.setAttribute("aria-label",t.title),t.theme&&this.el.setAttribute("data-theme",t.theme),this.build(),this.onOutsideClick=i=>{const r=i.target;!this.el.contains(r)&&!this.anchor.contains(r)&&this.hide()},this.onKeyDown=i=>{i.key==="Escape"&&this.hide()}}build(){const e=document.createElement("div");e.className="md-editor-popup-header",e.textContent=this.config.title;const t=document.createElement("div");t.className="md-editor-popup-body";for(const s of this.config.fields){const o=document.createElement("div");o.className="md-editor-popup-field";const c=document.createElement("label");c.className="md-editor-popup-label",c.textContent=s.label,c.setAttribute("for",`md-editor-popup-${s.name}`);let l;s.type==="textarea"?(l=document.createElement("textarea"),l.rows=2):(l=document.createElement("input"),l.type="text"),l.id=`md-editor-popup-${s.name}`,l.className="md-editor-popup-input",s.placeholder&&(l.placeholder=s.placeholder),s.required&&(l.required=!0),o.appendChild(c),o.appendChild(l),t.appendChild(o),this.inputs.set(s.name,l)}const i=document.createElement("div");i.className="md-editor-popup-footer";const r=document.createElement("button");r.type="button",r.className="md-editor-popup-btn md-editor-popup-btn--ghost",r.textContent="Cancel",r.addEventListener("click",()=>this.hide());const a=document.createElement("button");a.type="button",a.className="md-editor-popup-btn md-editor-popup-btn--primary",a.textContent=this.config.submitLabel??"Insert",a.addEventListener("click",()=>this.submit()),i.appendChild(r),i.appendChild(a),this.el.appendChild(e),this.el.appendChild(t),this.el.appendChild(i);for(const s of this.inputs.values())s.tagName==="INPUT"&&s.addEventListener("keydown",o=>{const c=o;c.key==="Enter"&&(c.preventDefault(),this.submit())})}submit(){const e={};for(const[t,i]of this.inputs)e[t]=i.value.trim();this.config.onSubmit(e),this.hide()}show(){if(this.destroyed)return;document.body.appendChild(this.el),this.position(),document.addEventListener("mousedown",this.onOutsideClick),document.addEventListener("keydown",this.onKeyDown);const e=this.inputs.values().next().value;e==null||e.focus()}hide(){this.destroyed||(this.el.remove(),document.removeEventListener("mousedown",this.onOutsideClick),document.removeEventListener("keydown",this.onKeyDown))}position(){const e=this.anchor.getBoundingClientRect(),t=this.el.getBoundingClientRect();let i=e.left;const r=e.bottom+6;i+t.width>window.innerWidth-8&&(i=window.innerWidth-t.width-8),i<8&&(i=8),this.el.style.left=`${i+window.scrollX}px`,this.el.style.top=`${r+window.scrollY}px`}destroy(){this.hide(),this.destroyed=!0,this.inputs.clear()}}const Wt=[{action:"bold",key:"Mod-b",description:"Bold"},{action:"italic",key:"Mod-i",description:"Italic"},{action:"heading",key:"Mod-Alt-1",description:"Heading"},{action:"link",key:"Mod-k",description:"Insert link"},{action:"code",key:"Mod-Alt-c",description:"Code block"},{action:"quote",key:"Mod-Shift-.",description:"Blockquote"},{action:"ul",key:"Mod-Shift-8",description:"Unordered list"},{action:"ol",key:"Mod-Shift-7",description:"Ordered list"},{action:"tasklist",key:"Mod-Shift-9",description:"Task list"},{action:"math",key:"Mod-Alt-m",description:"Math formula"},{action:"preview",key:"Mod-Alt-p",description:"Toggle preview"},{action:"theme",key:"Mod-Shift-l",description:"Toggle theme"}];function nr(n,e){var c;const t=n.toLowerCase().split("-");let i="",r=!1,a=!1,s=!1,o=!1;for(const l of t)switch(l){case"mod":(c=navigator.platform)!=null&&c.toLowerCase().includes("mac")?a=!0:r=!0;break;case"ctrl":r=!0;break;case"meta":case"cmd":a=!0;break;case"alt":case"option":s=!0;break;case"shift":o=!0;break;default:i=l}return!(e.ctrlKey!==r||e.metaKey!==a||e.altKey!==s||e.shiftKey!==o||e.key.toLowerCase()!==i)}function ir(n){var i;const e=((i=navigator.platform)==null?void 0:i.toLowerCase().includes("mac"))??!1;return n.split("-").map(r=>{switch(r.toLowerCase()){case"mod":return e?"Cmd":"Ctrl";case"ctrl":return"Ctrl";case"meta":case"cmd":return"Cmd";case"alt":return e?"Option":"Alt";case"shift":return"Shift";default:return r.toUpperCase()}}).join("+")}function Yt(n){var i;const e=((i=navigator.platform)==null?void 0:i.toLowerCase().includes("mac"))??!1;return n.split("-").map(r=>{let a=r,s="";switch(r.toLowerCase()){case"mod":a=e?"Cmd":"Ctrl",s=e?"⌘":"";break;case"ctrl":a="Ctrl",s=e?"⌃":"";break;case"meta":case"cmd":a="Cmd",s="⌘";break;case"alt":a=e?"Option":"Alt",s=e?"⌥":"";break;case"shift":a="Shift",s="⇧";break;default:a=r.toUpperCase()}return`<kbd class="md-editor-kbd">${s?`<span class="md-editor-kbd-symbol">${s}</span>`:""}<span>${a}</span></kbd>`}).join('<span class="md-editor-kbd-plus">+</span>')}const rt={bold:["**","**","bold text"],italic:["_","_","italic text"],heading:["## ","","Heading"],link:["[","](https://)","link text"],code:["```\n","\n```","code"],math:["$","$","E=mc^2"],mindmapBlock:[`\`\`\`mindmap
@@ -30,7 +30,7 @@ ${r}
30
30
  ${s}
31
31
  `:`${i}
32
32
  ${r}
33
- `}showHelpPopup(e){var a;(a=this.activePopup)==null||a.destroy();const t=new te(e,{title:"Keyboard Shortcuts",theme:this.theme,fields:[],onSubmit:()=>{}}),i=t.el.querySelector(".md-editor-popup-body");if(i){const s=[{label:"Task list",hint:"- [ ] unchecked / - [x] checked"},{label:"@mention",hint:"Type @ then pick a user from the dropdown"},{label:"Document link",hint:"Type / then pick a document"},{label:"Math formula",hint:"$E=mc^2$ inline / $$ block $$"},{label:"Mindmap",hint:"```mindmap fenced block with # headings"},{label:"Callout",hint:":::warning Title ...content... :::"}];i.innerHTML='<div class="md-editor-help-list">'+this.shortcuts.map(o=>`<div class="md-editor-help-row">
33
+ `}showHelpPopup(e){var a;(a=this.activePopup)==null||a.destroy();const t=new te(e,{title:"Keyboard Shortcuts",theme:this.theme,fields:[],onSubmit:()=>{}}),i=t.el.querySelector(".md-editor-popup-body");if(i){const s=[{label:"Task list",hint:"- [ ] checked / - [x] unchecked"},{label:"@mention",hint:"Type @ then pick a user from the dropdown"},{label:"Document link",hint:"Type / then pick a document"},{label:"Math formula",hint:"$E=mc^2$ inline / $$ block $$"},{label:"Mindmap",hint:"```mindmap fenced block with # headings"},{label:"Callout",hint:":::warning Title ...content... :::"}];i.innerHTML='<div class="md-editor-help-list">'+this.shortcuts.map(o=>`<div class="md-editor-help-row">
34
34
  <span class="md-editor-help-desc">${o.description}</span>
35
35
  <span class="md-editor-help-keys">${Yt(o.key)}</span>
36
36
  </div>`).join("")+'</div><div class="md-editor-help-section-title">Syntax</div><div class="md-editor-help-list">'+s.map(o=>`<div class="md-editor-help-row">
@@ -41,4 +41,4 @@ ${r}
41
41
  Your ${c.key.toLowerCase()} content here.
42
42
 
43
43
  :::
44
- `),i.hide()}),o.appendChild(l)}r.innerHTML="",r.appendChild(o)}const a=i.el.querySelector(".md-editor-popup-footer");a&&a.remove(),this.activePopup=i,this.activePopup.show()}setupCopyHandler(){this.previewPane&&this.previewPane.addEventListener("click",e=>{const t=e.target.closest(".md-editor-codeblock-copy");if(!t)return;const i=t.closest(".md-editor-codeblock"),r=i==null?void 0:i.querySelector("code");if(!r)return;const a=r.textContent??"";this.copyToClipboard(a,t)})}copyToClipboard(e,t){var r;const i=()=>{const a=t.textContent;t.textContent="Copied!",t.classList.add("is-copied"),window.setTimeout(()=>{t.textContent=a,t.classList.remove("is-copied")},2e3)};(r=navigator.clipboard)!=null&&r.writeText?navigator.clipboard.writeText(e).then(i).catch(()=>{this.fallbackCopy(e,i)}):this.fallbackCopy(e,i)}fallbackCopy(e,t){try{const i=document.createElement("textarea");i.value=e,i.style.position="fixed",i.style.opacity="0",document.body.appendChild(i),i.select();const r=document.execCommand("copy");document.body.removeChild(i),r&&t()}catch{}}insertSnippet(e){const[t,i,r]=rt[e];this.codeEditor.insertAtCursor(`${t}${r}${i}`)}wrapSnippet(e){const[t,i,r]=rt[e];this.codeEditor.wrapSelection(t,i,r)}togglePreview(){var t;if(!this.previewPane)return;const e=this.previewPane.style.display!=="none";this.previewPane.style.display=e?"none":"",(t=this.toolbar)==null||t.setActive("preview",!e)}requestPreviewRender(e){var i,r;const t=this.renderDebounceOpt===!1?0:this.renderDebounceOpt??qt(e.length);if(t===0){(i=this.scheduledRender)==null||i.cancel(),this.scheduledRender=null,this.renderPreview(e);return}(!this.scheduledRender||this.scheduledWait!==t)&&((r=this.scheduledRender)==null||r.cancel(),this.scheduledRender=Gt(a=>this.renderPreview(a),t),this.scheduledWait=t),this.scheduledRender(e)}renderPreview(e){if(!this.previewPane||!this.incremental)return;const{totalCount:t}=this.incremental.update(e);if(this.renderer.hydrate(this.previewPane),this.statusBar){const{charCount:i,wordCount:r}=Me(e);this.statusBar.update({charCount:i,wordCount:r,blockCount:t,mode:this.mode,autoPreview:this.autoPreview})}}updateStatusBar(e){var r;if(!this.statusBar)return;const{charCount:t,wordCount:i}=Me(e);this.statusBar.update({charCount:t,wordCount:i,blockCount:((r=this.incremental)==null?void 0:r.getBlockCount())??0,mode:this.mode,autoPreview:this.autoPreview})}getValue(){return this.codeEditor.getValue()}setValue(e){var t;this.codeEditor.setValue(e),(t=this.scheduledRender)==null||t.cancel(),this.renderPreview(e),this.updateStatusBar(e)}getHtml(){return this.renderer.render(this.getValue())}renderNow(){var e;(e=this.scheduledRender)==null||e.cancel(),this.renderPreview(this.codeEditor.getValue())}setAutoPreview(e){this.autoPreview=e,e&&this.renderPreview(this.codeEditor.getValue()),this.updateStatusBar(this.codeEditor.getValue())}setMode(e){var t,i,r;e!==this.mode&&(this.mode=e,this.container.classList.remove("md-editor-mode-simple","md-editor-mode-complex"),this.container.classList.add(`md-editor-mode-${e}`),this.codeEditor.setLineNumbers(e==="complex"),(t=this.toolbar)==null||t.destroy(),this.toolbar=null,(i=this.statusBar)==null||i.destroy(),this.statusBar=null,(r=this.activePopup)==null||r.destroy(),this.activePopup=null,e==="complex"&&(this.buildToolbar(),this.buildStatusBar(),this.updateStatusBar(this.codeEditor.getValue())))}setTheme(e){var t;this.theme=e,this.container.setAttribute("data-theme",e),(t=this.toolbar)==null||t.setIcon("theme",e==="dark"?M.sun:M.moon)}focus(){this.codeEditor.focus()}destroy(){var e,t,i,r,a;(e=this.scheduledRender)==null||e.cancel(),this.scheduledRender=null,(t=this.activePopup)==null||t.destroy(),this.activePopup=null,this.codeEditor.destroy(),(i=this.toolbar)==null||i.destroy(),this.toolbar=null,(r=this.statusBar)==null||r.destroy(),this.statusBar=null,(a=this.incremental)==null||a.destroy(),this.incremental=null,this.container.innerHTML="",this.container.classList.remove("md-editor-root",`md-editor-mode-${this.mode}`),this.container.removeAttribute("data-theme")}}exports.CodeEditor=st;exports.DEFAULT_SHORTCUTS=Wt;exports.IncrementalRenderer=Kt;exports.MarkdownEditor=rr;exports.Popup=te;exports.Renderer=Pe;exports.StatusBar=Ht;exports.Toolbar=Ft;exports.adaptiveDebounceMs=qt;exports.cancelIdle=tr;exports.countText=Me;exports.debounce=Gt;exports.extractYouTubeId=Pt;exports.formatShortcut=ir;exports.formatShortcutHtml=Yt;exports.icons=M;exports.imageMarkdown=Ce;exports.isVideoFile=$t;exports.matchShortcut=nr;exports.renderMarkdown=Vi;exports.scheduleIdle=er;exports.splitIntoBlocks=zt;exports.videoMarkdown=Ut;exports.youTubeEmbedMarkdown=Bt;
44
+ `),i.hide()}),o.appendChild(l)}r.innerHTML="",r.appendChild(o)}const a=i.el.querySelector(".md-editor-popup-footer");a&&a.remove(),this.activePopup=i,this.activePopup.show()}setupCopyHandler(){this.previewPane&&this.previewPane.addEventListener("click",e=>{const t=e.target.closest(".md-editor-codeblock-copy");if(!t)return;const i=t.closest(".md-editor-codeblock"),r=i==null?void 0:i.querySelector("code");if(!r)return;const a=r.textContent??"";this.copyToClipboard(a,t)})}copyToClipboard(e,t){var r;const i=()=>{const a=t.textContent;t.textContent="Copied!",t.classList.add("is-copied"),window.setTimeout(()=>{t.textContent=a,t.classList.remove("is-copied")},2e3)};(r=navigator.clipboard)!=null&&r.writeText?navigator.clipboard.writeText(e).then(i).catch(()=>{this.fallbackCopy(e,i)}):this.fallbackCopy(e,i)}fallbackCopy(e,t){try{const i=document.createElement("textarea");i.value=e,i.style.position="fixed",i.style.opacity="0",document.body.appendChild(i),i.select();const r=document.execCommand("copy");document.body.removeChild(i),r&&t()}catch{}}insertSnippet(e){const[t,i,r]=rt[e];this.codeEditor.insertAtCursor(`${t}${r}${i}`)}wrapSnippet(e){const[t,i,r]=rt[e];this.codeEditor.wrapSelection(t,i,r)}togglePreview(){var t;if(!this.previewPane)return;const e=this.previewPane.style.display!=="none";this.previewPane.style.display=e?"none":"",(t=this.toolbar)==null||t.setActive("preview",!e)}requestPreviewRender(e){var i,r;const t=this.renderDebounceOpt===!1?0:this.renderDebounceOpt??qt(e.length);if(t===0){(i=this.scheduledRender)==null||i.cancel(),this.scheduledRender=null,this.renderPreview(e);return}(!this.scheduledRender||this.scheduledWait!==t)&&((r=this.scheduledRender)==null||r.cancel(),this.scheduledRender=Gt(a=>this.renderPreview(a),t),this.scheduledWait=t),this.scheduledRender(e)}renderPreview(e){if(!this.previewPane||!this.incremental)return;const{totalCount:t}=this.incremental.update(e);if(this.renderer.hydrate(this.previewPane),this.statusBar){const{charCount:i,wordCount:r}=Me(e);this.statusBar.update({charCount:i,wordCount:r,blockCount:t,mode:this.mode,autoPreview:this.autoPreview})}}updateStatusBar(e){var r;if(!this.statusBar)return;const{charCount:t,wordCount:i}=Me(e);this.statusBar.update({charCount:t,wordCount:i,blockCount:((r=this.incremental)==null?void 0:r.getBlockCount())??0,mode:this.mode,autoPreview:this.autoPreview})}getValue(){return this.codeEditor.getValue()}setValue(e){var t;this.codeEditor.setValue(e),(t=this.scheduledRender)==null||t.cancel(),this.renderPreview(e),this.updateStatusBar(e)}getHtml(){return this.renderer.render(this.getValue())}renderNow(){var e;(e=this.scheduledRender)==null||e.cancel(),this.renderPreview(this.codeEditor.getValue())}setAutoPreview(e){this.autoPreview=e,e&&this.renderPreview(this.codeEditor.getValue()),this.updateStatusBar(this.codeEditor.getValue())}setMode(e){var t,i,r;e!==this.mode&&(this.mode=e,this.container.classList.remove("md-editor-mode-simple","md-editor-mode-complex"),this.container.classList.add(`md-editor-mode-${e}`),this.codeEditor.setLineNumbers(e==="complex"),(t=this.toolbar)==null||t.destroy(),this.toolbar=null,(i=this.statusBar)==null||i.destroy(),this.statusBar=null,(r=this.activePopup)==null||r.destroy(),this.activePopup=null,e==="complex"&&(this.buildToolbar(),this.buildStatusBar(),this.updateStatusBar(this.codeEditor.getValue())))}setTheme(e){var t;this.theme=e,this.container.setAttribute("data-theme",e),(t=this.toolbar)==null||t.setIcon("theme",e==="dark"?M.sun:M.moon)}focus(){this.codeEditor.focus()}destroy(){var e,t,i,r,a;(e=this.scheduledRender)==null||e.cancel(),this.scheduledRender=null,(t=this.activePopup)==null||t.destroy(),this.activePopup=null,this.codeEditor.destroy(),(i=this.toolbar)==null||i.destroy(),this.toolbar=null,(r=this.statusBar)==null||r.destroy(),this.statusBar=null,(a=this.incremental)==null||a.destroy(),this.incremental=null,this.container.innerHTML="",this.container.classList.remove("md-editor-root",`md-editor-mode-${this.mode}`),this.container.removeAttribute("data-theme")}}exports.CodeEditor=st;exports.DEFAULT_SHORTCUTS=Wt;exports.IncrementalRenderer=Kt;exports.MarkdownEditor=rr;exports.Popup=te;exports.Renderer=Pe;exports.StatusBar=Ht;exports.Toolbar=Ft;exports.adaptiveDebounceMs=qt;exports.cancelIdle=tr;exports.countText=Me;exports.debounce=Gt;exports.extractYouTubeId=Pt;exports.formatShortcut=ir;exports.formatShortcutHtml=Yt;exports.icons=M;exports.imageMarkdown=Ce;exports.isVideoFile=$t;exports.matchShortcut=nr;exports.renderMarkdown=Xi;exports.scheduleIdle=er;exports.splitIntoBlocks=zt;exports.videoMarkdown=Ut;exports.youTubeEmbedMarkdown=Bt;
package/dist/index.mjs CHANGED
@@ -504,18 +504,21 @@ class jt {
504
504
  }
505
505
  /** Insert @ at cursor and trigger the mention dropdown. */
506
506
  insertMention() {
507
- this.insertAtCursor("@");
507
+ this.mention || console.warn(
508
+ "[md-editor] Mention dropdown is disabled. Pass `mention: { onMentionSearch }` in the editor options to enable it."
509
+ ), this.insertAtCursor("@");
508
510
  }
509
511
  /** Insert trigger char at cursor and trigger the doc-link search dropdown. */
510
512
  insertDocLink() {
511
- this.insertAtCursor("/");
513
+ this.docLink || console.warn(
514
+ "[md-editor] Document link dropdown is disabled. Pass `docLink: { onDocSearch }` in the editor options to enable it."
515
+ ), this.insertAtCursor("/");
512
516
  }
513
517
  /**
514
518
  * Toggle task list (checkbox) markers on the current line or selected
515
- * lines. If a line already has `- [ ]` or `- [x]`, the marker is removed.
516
- * If a line has `- ` (plain list), it is converted to `- [ ] `. Otherwise
517
- * `- [ ] ` is prepended. Lines with `- [x]` are toggled to `- [ ]` and
518
- * vice versa when all selected lines are task items.
519
+ * lines. Project convention: `- [ ]` = checked (green), `- [x]` = unchecked.
520
+ * If all selected lines are task items: all-checked uncheck all;
521
+ * otherwise check all. Plain lines or `- ` lists get `- [ ] ` prepended.
519
522
  */
520
523
  toggleTaskList() {
521
524
  const { from: e, to: t } = this.view.state.selection.main, i = this.view.state.doc.lineAt(e), r = this.view.state.doc.lineAt(t), a = [];
@@ -524,8 +527,8 @@ class jt {
524
527
  const s = a.every(
525
528
  (d) => /^- \[[ xX]\]\s/.test(d) || /^- \[[ xX]\]$/.test(d)
526
529
  ), o = a.every(
527
- (d) => /^- \[[xX]\]\s/.test(d) || /^- \[[xX]\]$/.test(d)
528
- ), l = a.map((d) => s ? o ? d.replace(/^- \[[xX]\](\s?)/, "- [ ]$1") : d.replace(/^- \[[ xX]\](\s?)/, "- [x]$1") : /^-(\s|$)/.test(d) ? d.replace(/^-(\s?)/, "- [ ]$1") : `- [ ] ${d}`).join(`
530
+ (d) => /^- \[ \]\s/.test(d) || /^- \[ \]$/.test(d)
531
+ ), l = a.map((d) => s ? o ? d.replace(/^- \[ \](\s?)/, "- [x]$1") : d.replace(/^- \[[xX]\](\s?)/, "- [ ]$1") : /^-(\s|$)/.test(d) ? d.replace(/^-(\s?)/, "- [ ]$1") : `- [ ] ${d}`).join(`
529
532
  `);
530
533
  this.view.dispatch({
531
534
  changes: { from: i.from, to: r.to, insert: l },
@@ -7899,7 +7902,7 @@ function $i(n) {
7899
7902
  w && w.type === "text" && (w.content = w.content.replace(/^\[[ xX]\]\s/, ""));
7900
7903
  }
7901
7904
  o.attrSet("class", "task-list-item");
7902
- const y = `<input type="checkbox" disabled${m ? " checked" : ""} /> `;
7905
+ const y = `<input type="checkbox" disabled${g ? " checked" : ""} /> `;
7903
7906
  return (e ? e(t, i, r, a, s) : s.renderToken(t, i, r)) + y;
7904
7907
  }
7905
7908
  }
@@ -8533,7 +8536,7 @@ ${r}
8533
8536
  }), i = t.el.querySelector(".md-editor-popup-body");
8534
8537
  if (i) {
8535
8538
  const s = [
8536
- { label: "Task list", hint: "- [ ] unchecked / - [x] checked" },
8539
+ { label: "Task list", hint: "- [ ] checked / - [x] unchecked" },
8537
8540
  { label: "@mention", hint: "Type @ then pick a user from the dropdown" },
8538
8541
  { label: "Document link", hint: "Type / then pick a document" },
8539
8542
  { label: "Math formula", hint: "$E=mc^2$ inline / $$ block $$" },
@@ -1,7 +1,11 @@
1
1
  import type { MarkdownIt } from "markdown-it";
2
2
  /**
3
3
  * Lightweight task list (checkbox) support for markdown-it.
4
- * Converts `- [ ]` and `- [x]` list items into checkboxes without
5
- * requiring the full markdown-it-task-lists dependency.
4
+ * Converts `- [ ]` and `- [x]` list items into checkboxes.
5
+ * Semantics (per project convention):
6
+ * `- [ ]` → checked (green checkmark)
7
+ * `- [x]` → unchecked (empty box)
8
+ * This is the inverse of GitHub Flavored Markdown; the project treats an
9
+ * empty box as "selected/done" and a marked box as "not yet selected".
6
10
  */
7
11
  export declare function useTaskList(md: MarkdownIt): void;
package/dist/react.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react/jsx-runtime"),n=require("react"),y=require("./index.cjs"),k=n.forwardRef(function(g,v){const{value:u,defaultValue:E,onChange:a,className:M,style:V,mode:i,theme:c,math:d,mindmap:l,preview:f,autoPreview:m,renderDebounce:w}=g,s=n.useRef(null),t=n.useRef(null),o=n.useRef(a);return o.current=a,n.useLayoutEffect(()=>{if(!s.current)return;const e=new y.MarkdownEditor(s.current,{value:u??E??"",mode:i,theme:c,math:d,mindmap:l,preview:f,autoPreview:m,renderDebounce:w,onChange:r=>{var R;return(R=o.current)==null?void 0:R.call(o,r)}});return t.current=e,()=>{e.destroy(),t.current=null}},[i,d,l,f,m,w]),n.useEffect(()=>{const e=t.current;!e||u===void 0||e.getValue()!==u&&e.setValue(u)},[u]),n.useEffect(()=>{t.current&&c&&t.current.setTheme(c)},[c]),n.useImperativeHandle(v,()=>({getValue:()=>{var e;return((e=t.current)==null?void 0:e.getValue())??""},setValue:e=>{var r;return(r=t.current)==null?void 0:r.setValue(e)},getHtml:()=>{var e;return((e=t.current)==null?void 0:e.getHtml())??""},focus:()=>{var e;return(e=t.current)==null?void 0:e.focus()},setMode:e=>{var r;return(r=t.current)==null?void 0:r.setMode(e)},setTheme:e=>{var r;return(r=t.current)==null?void 0:r.setTheme(e)},renderNow:()=>{var e;return(e=t.current)==null?void 0:e.renderNow()}}),[]),h.jsx("div",{ref:s,className:M,style:V})});exports.MarkdownEditorReact=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),n=require("react"),k=require("./index.cjs"),p=n.forwardRef(function(g,v){const{value:u,defaultValue:E,onChange:a,className:M,style:V,mode:i,theme:c,math:d,mindmap:l,preview:f,autoPreview:m,renderDebounce:w,...h}=g,o=n.useRef(null),t=n.useRef(null),s=n.useRef(a);return s.current=a,n.useLayoutEffect(()=>{if(!o.current)return;const e=new k.MarkdownEditor(o.current,{value:u??E??"",mode:i,theme:c,math:d,mindmap:l,preview:f,autoPreview:m,renderDebounce:w,onChange:r=>{var R;return(R=s.current)==null?void 0:R.call(s,r)},...h});return t.current=e,()=>{e.destroy(),t.current=null}},[i,d,l,f,m,w]),n.useEffect(()=>{const e=t.current;!e||u===void 0||e.getValue()!==u&&e.setValue(u)},[u]),n.useEffect(()=>{t.current&&c&&t.current.setTheme(c)},[c]),n.useImperativeHandle(v,()=>({getValue:()=>{var e;return((e=t.current)==null?void 0:e.getValue())??""},setValue:e=>{var r;return(r=t.current)==null?void 0:r.setValue(e)},getHtml:()=>{var e;return((e=t.current)==null?void 0:e.getHtml())??""},focus:()=>{var e;return(e=t.current)==null?void 0:e.focus()},setMode:e=>{var r;return(r=t.current)==null?void 0:r.setMode(e)},setTheme:e=>{var r;return(r=t.current)==null?void 0:r.setTheme(e)},renderNow:()=>{var e;return(e=t.current)==null?void 0:e.renderNow()}}),[]),y.jsx("div",{ref:o,className:M,style:V})});exports.MarkdownEditorReact=p;
package/dist/react.mjs CHANGED
@@ -1,12 +1,12 @@
1
- import { jsx as R } from "react/jsx-runtime";
2
- import { forwardRef as k, useRef as a, useLayoutEffect as y, useEffect as v, useImperativeHandle as H } from "react";
3
- import { MarkdownEditor as N } from "./index.mjs";
4
- const C = k(
1
+ import { jsx as k } from "react/jsx-runtime";
2
+ import { forwardRef as y, useRef as s, useLayoutEffect as H, useEffect as v, useImperativeHandle as N } from "react";
3
+ import { MarkdownEditor as T } from "./index.mjs";
4
+ const D = y(
5
5
  function(V, g) {
6
6
  const {
7
7
  value: n,
8
8
  defaultValue: h,
9
- onChange: s,
9
+ onChange: a,
10
10
  className: E,
11
11
  style: M,
12
12
  mode: i,
@@ -15,11 +15,15 @@ const C = k(
15
15
  mindmap: f,
16
16
  preview: d,
17
17
  autoPreview: m,
18
- renderDebounce: w
19
- } = V, o = a(null), r = a(null), c = a(s);
20
- return c.current = s, y(() => {
18
+ renderDebounce: w,
19
+ // All remaining options (mention, docLink, toolbar, onImageUpload,
20
+ // includeCommonHeaders, includeCookies, lineNumbers, placeholder, etc.)
21
+ // are passed through to the underlying MarkdownEditor instance.
22
+ ...R
23
+ } = V, o = s(null), r = s(null), c = s(a);
24
+ return c.current = a, H(() => {
21
25
  if (!o.current) return;
22
- const e = new N(o.current, {
26
+ const e = new T(o.current, {
23
27
  value: n ?? h ?? "",
24
28
  mode: i,
25
29
  theme: u,
@@ -31,7 +35,8 @@ const C = k(
31
35
  onChange: (t) => {
32
36
  var p;
33
37
  return (p = c.current) == null ? void 0 : p.call(c, t);
34
- }
38
+ },
39
+ ...R
35
40
  });
36
41
  return r.current = e, () => {
37
42
  e.destroy(), r.current = null;
@@ -41,7 +46,7 @@ const C = k(
41
46
  !e || n === void 0 || e.getValue() !== n && e.setValue(n);
42
47
  }, [n]), v(() => {
43
48
  r.current && u && r.current.setTheme(u);
44
- }, [u]), H(
49
+ }, [u]), N(
45
50
  g,
46
51
  () => ({
47
52
  getValue: () => {
@@ -74,9 +79,9 @@ const C = k(
74
79
  }
75
80
  }),
76
81
  []
77
- ), /* @__PURE__ */ R("div", { ref: o, className: E, style: M });
82
+ ), /* @__PURE__ */ k("div", { ref: o, className: E, style: M });
78
83
  }
79
84
  );
80
85
  export {
81
- C as MarkdownEditorReact
86
+ D as MarkdownEditorReact
82
87
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerduck/md-editor",
3
- "version": "0.8.2",
3
+ "version": "0.8.4",
4
4
  "description": "High-performance embeddable Markdown editor: KaTeX math, Markmap mindmaps, highlight.js code blocks with copy button, github-markdown-css preview, admonition blocks, rich toolbar with image/video/YouTube/table popups, keyboard shortcuts, configurable toolbar, image upload hook, standalone renderMarkdown API, React component, block-level incremental rendering. Simple and complex modes, light/dark themes.",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",