github.com/ngocphuongnb/tetua@v0.0.7-alpha/packages/editor/assets/highlight-11.5.0.min.js (about) 1 /*! 2 Highlight.js v11.5.0 (git: 7a62552656) 3 (c) 2006-2022 Ivan Sagalaev and other contributors 4 License: BSD-3-Clause 5 */ 6 var hljs=function(){"use strict";var e={exports:{}};function n(e){ 7 return e instanceof Map?e.clear=e.delete=e.set=()=>{ 8 throw Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=()=>{ 9 throw Error("set is read-only") 10 }),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((t=>{var a=e[t] 11 ;"object"!=typeof a||Object.isFrozen(a)||n(a)})),e} 12 e.exports=n,e.exports.default=n;var t=e.exports;class a{constructor(e){ 13 void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} 14 ignoreMatch(){this.isMatchIgnored=!0}}function i(e){ 15 return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'") 16 }function r(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] 17 ;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const s=e=>!!e.kind 18 ;class o{constructor(e,n){ 19 this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ 20 this.buffer+=i(e)}openNode(e){if(!s(e))return;let n=e.kind 21 ;n=e.sublanguage?"language-"+n:((e,{prefix:n})=>{if(e.includes(".")){ 22 const t=e.split(".") 23 ;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") 24 }return`${n}${e}`})(n,{prefix:this.classPrefix}),this.span(n)}closeNode(e){ 25 s(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){ 26 this.buffer+=`<span class="${e}">`}}class l{constructor(){this.rootNode={ 27 children:[]},this.stack=[this.rootNode]}get top(){ 28 return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ 29 this.top.children.push(e)}openNode(e){const n={kind:e,children:[]} 30 ;this.add(n),this.stack.push(n)}closeNode(){ 31 if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ 32 for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} 33 walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ 34 return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), 35 n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ 36 "string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ 37 l._collapse(e)})))}}class c extends l{constructor(e){super(),this.options=e} 38 addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())} 39 addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root 40 ;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){ 41 return new o(this,this.options).value()}finalize(){return!0}}function d(e){ 42 return e?"string"==typeof e?e:e.source:null}function g(e){return m("(?=",e,")")} 43 function u(e){return m("(?:",e,")*")}function b(e){return m("(?:",e,")?")} 44 function m(...e){return e.map((e=>d(e))).join("")}function p(...e){const n=(e=>{ 45 const n=e[e.length-1] 46 ;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} 47 })(e);return"("+(n.capture?"":"?:")+e.map((e=>d(e))).join("|")+")"} 48 function _(e){return RegExp(e.toString()+"|").exec("").length-1} 49 const h=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ 50 ;function f(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t 51 ;let a=d(e),i="";for(;a.length>0;){const e=h.exec(a);if(!e){i+=a;break} 52 i+=a.substring(0,e.index), 53 a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], 54 "("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} 55 const E="[a-zA-Z]\\w*",y="[a-zA-Z_]\\w*",w="\\b\\d+(\\.\\d+)?",N="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v="\\b(0b[01]+)",k={ 56 begin:"\\\\[\\s\\S]",relevance:0},O={scope:"string",begin:"'",end:"'", 57 illegal:"\\n",contains:[k]},x={scope:"string",begin:'"',end:'"',illegal:"\\n", 58 contains:[k]},M=(e,n,t={})=>{const a=r({scope:"comment",begin:e,end:n, 59 contains:[]},t);a.contains.push({scope:"doctag", 60 begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", 61 end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) 62 ;const i=p("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,}/) 63 ;return a.contains.push({begin:m(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a 64 },S=M("//","$"),A=M("/\\*","\\*/"),C=M("#","$");var T=Object.freeze({ 65 __proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:E,UNDERSCORE_IDENT_RE:y, 66 NUMBER_RE:w,C_NUMBER_RE:N,BINARY_NUMBER_RE:v, 67 RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", 68 SHEBANG:(e={})=>{const n=/^#![ ]*\// 69 ;return e.binary&&(e.begin=m(n,/.*\b/,e.binary,/\b.*/)),r({scope:"meta",begin:n, 70 end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, 71 BACKSLASH_ESCAPE:k,APOS_STRING_MODE:O,QUOTE_STRING_MODE:x,PHRASAL_WORDS_MODE:{ 72 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/ 73 },COMMENT:M,C_LINE_COMMENT_MODE:S,C_BLOCK_COMMENT_MODE:A,HASH_COMMENT_MODE:C, 74 NUMBER_MODE:{scope:"number",begin:w,relevance:0},C_NUMBER_MODE:{scope:"number", 75 begin:N,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:v,relevance:0}, 76 REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, 77 end:/\/[gimuy]*/,illegal:/\n/,contains:[k,{begin:/\[/,end:/\]/,relevance:0, 78 contains:[k]}]}]},TITLE_MODE:{scope:"title",begin:E,relevance:0}, 79 UNDERSCORE_TITLE_MODE:{scope:"title",begin:y,relevance:0},METHOD_GUARD:{ 80 begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ 81 "on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ 82 n.data._beginMatch!==e[1]&&n.ignoreMatch()}})});function R(e,n){ 83 "."===e.input[e.index-1]&&n.ignoreMatch()}function D(e,n){ 84 void 0!==e.className&&(e.scope=e.className,delete e.className)}function I(e,n){ 85 n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", 86 e.__beforeBegin=R,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, 87 void 0===e.relevance&&(e.relevance=0))}function L(e,n){ 88 Array.isArray(e.illegal)&&(e.illegal=p(...e.illegal))}function B(e,n){ 89 if(e.match){ 90 if(e.begin||e.end)throw Error("begin & end are not supported with match") 91 ;e.begin=e.match,delete e.match}}function $(e,n){ 92 void 0===e.relevance&&(e.relevance=1)}const z=(e,n)=>{if(!e.beforeMatch)return 93 ;if(e.starts)throw Error("beforeMatch cannot be used with starts") 94 ;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] 95 })),e.keywords=t.keywords,e.begin=m(t.beforeMatch,g(t.begin)),e.starts={ 96 relevance:0,contains:[Object.assign(t,{endsParent:!0})] 97 },e.relevance=0,delete t.beforeMatch 98 },F=["of","and","for","in","not","or","if","then","parent","list","value"] 99 ;function U(e,n,t="keyword"){const a=Object.create(null) 100 ;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ 101 Object.assign(a,U(e[t],n,t))})),a;function i(e,t){ 102 n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") 103 ;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){ 104 return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const P={},K=e=>{ 105 console.error(e)},H=(e,...n)=>{console.log("WARN: "+e,...n)},q=(e,n)=>{ 106 P[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),P[`${e}/${n}`]=!0) 107 },Z=Error();function G(e,n,{key:t}){let a=0;const i=e[t],r={},s={} 108 ;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=_(n[e-1]) 109 ;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function W(e){(e=>{ 110 e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, 111 delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ 112 _wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope 113 }),(e=>{if(Array.isArray(e.begin)){ 114 if(e.skip||e.excludeBegin||e.returnBegin)throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), 115 Z 116 ;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), 117 Z;G(e,e.begin,{key:"beginScope"}),e.begin=f(e.begin,{joinWith:""})}})(e),(e=>{ 118 if(Array.isArray(e.end)){ 119 if(e.skip||e.excludeEnd||e.returnEnd)throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), 120 Z 121 ;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), 122 Z;G(e,e.end,{key:"endScope"}),e.end=f(e.end,{joinWith:""})}})(e)}function Q(e){ 123 function n(n,t){ 124 return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) 125 }class t{constructor(){ 126 this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} 127 addRule(e,n){ 128 n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), 129 this.matchAt+=_(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) 130 ;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(f(e,{joinWith:"|" 131 }),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex 132 ;const n=this.matcherRe.exec(e);if(!n)return null 133 ;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] 134 ;return n.splice(0,t),Object.assign(n,a)}}class a{constructor(){ 135 this.rules=[],this.multiRegexes=[], 136 this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ 137 if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t 138 ;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), 139 n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ 140 return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ 141 this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ 142 const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex 143 ;let t=n.exec(e) 144 ;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ 145 const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} 146 return t&&(this.regexIndex+=t.position+1, 147 this.regexIndex===this.count&&this.considerAll()),t}} 148 if(e.compilerExtensions||(e.compilerExtensions=[]), 149 e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") 150 ;return e.classNameAliases=r(e.classNameAliases||{}),function t(i,s){const o=i 151 ;if(i.isCompiled)return o 152 ;[D,B,W,z].forEach((e=>e(i,s))),e.compilerExtensions.forEach((e=>e(i,s))), 153 i.__beforeBegin=null,[I,L,$].forEach((e=>e(i,s))),i.isCompiled=!0;let l=null 154 ;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords), 155 l=i.keywords.$pattern, 156 delete i.keywords.$pattern),l=l||/\w+/,i.keywords&&(i.keywords=U(i.keywords,e.case_insensitive)), 157 o.keywordPatternRe=n(l,!0), 158 s&&(i.begin||(i.begin=/\B|\b/),o.beginRe=n(o.begin),i.end||i.endsWithParent||(i.end=/\B|\b/), 159 i.end&&(o.endRe=n(o.end)), 160 o.terminatorEnd=d(o.end)||"",i.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(i.end?"|":"")+s.terminatorEnd)), 161 i.illegal&&(o.illegalRe=n(i.illegal)), 162 i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>r(e,{ 163 variants:null},n)))),e.cachedVariants?e.cachedVariants:X(e)?r(e,{ 164 starts:e.starts?r(e.starts):null 165 }):Object.isFrozen(e)?r(e):e))("self"===e?i:e)))),i.contains.forEach((e=>{t(e,o) 166 })),i.starts&&t(i.starts,s),o.matcher=(e=>{const n=new a 167 ;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" 168 }))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" 169 }),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function X(e){ 170 return!!e&&(e.endsWithParent||X(e.starts))}class V extends Error{ 171 constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} 172 const J=i,Y=r,ee=Symbol("nomatch");var ne=(e=>{ 173 const n=Object.create(null),i=Object.create(null),r=[];let s=!0 174 ;const o="Could not find the language '{}', did you forget to load/include a language module?",l={ 175 disableAutodetect:!0,name:"Plain text",contains:[]};let d={ 176 ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, 177 languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", 178 cssSelector:"pre code",languages:null,__emitter:c};function _(e){ 179 return d.noHighlightRe.test(e)}function h(e,n,t){let a="",i="" 180 ;"object"==typeof n?(a=e, 181 t=n.ignoreIllegals,i=n.language):(q("10.7.0","highlight(lang, code, ...args) has been deprecated."), 182 q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), 183 i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};x("before:highlight",r) 184 ;const s=r.result?r.result:f(r.language,r.code,t) 185 ;return s.code=r.code,x("after:highlight",s),s}function f(e,t,i,r){ 186 const l=Object.create(null);function c(){if(!O.keywords)return void M.addText(S) 187 ;let e=0;O.keywordPatternRe.lastIndex=0;let n=O.keywordPatternRe.exec(S),t="" 188 ;for(;n;){t+=S.substring(e,n.index) 189 ;const i=w.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,O.keywords[a]);if(r){ 190 const[e,a]=r 191 ;if(M.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(A+=a),e.startsWith("_"))t+=n[0];else{ 192 const t=w.classNameAliases[e]||e;M.addKeyword(n[0],t)}}else t+=n[0] 193 ;e=O.keywordPatternRe.lastIndex,n=O.keywordPatternRe.exec(S)}var a 194 ;t+=S.substr(e),M.addText(t)}function g(){null!=O.subLanguage?(()=>{ 195 if(""===S)return;let e=null;if("string"==typeof O.subLanguage){ 196 if(!n[O.subLanguage])return void M.addText(S) 197 ;e=f(O.subLanguage,S,!0,x[O.subLanguage]),x[O.subLanguage]=e._top 198 }else e=E(S,O.subLanguage.length?O.subLanguage:null) 199 ;O.relevance>0&&(A+=e.relevance),M.addSublanguage(e._emitter,e.language) 200 })():c(),S=""}function u(e,n){let t=1;const a=n.length-1;for(;t<=a;){ 201 if(!e._emit[t]){t++;continue}const a=w.classNameAliases[e[t]]||e[t],i=n[t] 202 ;a?M.addKeyword(i,a):(S=i,c(),S=""),t++}}function b(e,n){ 203 return e.scope&&"string"==typeof e.scope&&M.openNode(w.classNameAliases[e.scope]||e.scope), 204 e.beginScope&&(e.beginScope._wrap?(M.addKeyword(S,w.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), 205 S=""):e.beginScope._multi&&(u(e.beginScope,n),S="")),O=Object.create(e,{parent:{ 206 value:O}}),O}function m(e,n,t){let i=((e,n)=>{const t=e&&e.exec(n) 207 ;return t&&0===t.index})(e.endRe,t);if(i){if(e["on:end"]){const t=new a(e) 208 ;e["on:end"](n,t),t.isMatchIgnored&&(i=!1)}if(i){ 209 for(;e.endsParent&&e.parent;)e=e.parent;return e}} 210 if(e.endsWithParent)return m(e.parent,n,t)}function p(e){ 211 return 0===O.matcher.regexIndex?(S+=e[0],1):(R=!0,0)}function _(e){ 212 const n=e[0],a=t.substr(e.index),i=m(O,e,a);if(!i)return ee;const r=O 213 ;O.endScope&&O.endScope._wrap?(g(), 214 M.addKeyword(n,O.endScope._wrap)):O.endScope&&O.endScope._multi?(g(), 215 u(O.endScope,e)):r.skip?S+=n:(r.returnEnd||r.excludeEnd||(S+=n), 216 g(),r.excludeEnd&&(S=n));do{ 217 O.scope&&M.closeNode(),O.skip||O.subLanguage||(A+=O.relevance),O=O.parent 218 }while(O!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:n.length} 219 let h={};function y(n,r){const o=r&&r[0];if(S+=n,null==o)return g(),0 220 ;if("begin"===h.type&&"end"===r.type&&h.index===r.index&&""===o){ 221 if(S+=t.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`) 222 ;throw n.languageName=e,n.badRule=h.rule,n}return 1} 223 if(h=r,"begin"===r.type)return(e=>{ 224 const n=e[0],t=e.rule,i=new a(t),r=[t.__beforeBegin,t["on:begin"]] 225 ;for(const t of r)if(t&&(t(e,i),i.isMatchIgnored))return p(n) 226 ;return t.skip?S+=n:(t.excludeBegin&&(S+=n), 227 g(),t.returnBegin||t.excludeBegin||(S=n)),b(t,e),t.returnBegin?0:n.length})(r) 228 ;if("illegal"===r.type&&!i){ 229 const e=Error('Illegal lexeme "'+o+'" for mode "'+(O.scope||"<unnamed>")+'"') 230 ;throw e.mode=O,e}if("end"===r.type){const e=_(r);if(e!==ee)return e} 231 if("illegal"===r.type&&""===o)return 1 232 ;if(T>1e5&&T>3*r.index)throw Error("potential infinite loop, way more iterations than matches") 233 ;return S+=o,o.length}const w=v(e) 234 ;if(!w)throw K(o.replace("{}",e)),Error('Unknown language: "'+e+'"') 235 ;const N=Q(w);let k="",O=r||N;const x={},M=new d.__emitter(d);(()=>{const e=[] 236 ;for(let n=O;n!==w;n=n.parent)n.scope&&e.unshift(n.scope) 237 ;e.forEach((e=>M.openNode(e)))})();let S="",A=0,C=0,T=0,R=!1;try{ 238 for(O.matcher.considerAll();;){ 239 T++,R?R=!1:O.matcher.considerAll(),O.matcher.lastIndex=C 240 ;const e=O.matcher.exec(t);if(!e)break;const n=y(t.substring(C,e.index),e) 241 ;C=e.index+n}return y(t.substr(C)),M.closeAllNodes(),M.finalize(),k=M.toHTML(),{ 242 language:e,value:k,relevance:A,illegal:!1,_emitter:M,_top:O}}catch(n){ 243 if(n.message&&n.message.includes("Illegal"))return{language:e,value:J(t), 244 illegal:!0,relevance:0,_illegalBy:{message:n.message,index:C, 245 context:t.slice(C-100,C+100),mode:n.mode,resultSoFar:k},_emitter:M};if(s)return{ 246 language:e,value:J(t),illegal:!1,relevance:0,errorRaised:n,_emitter:M,_top:O} 247 ;throw n}}function E(e,t){t=t||d.languages||Object.keys(n);const a=(e=>{ 248 const n={value:J(e),illegal:!1,relevance:0,_top:l,_emitter:new d.__emitter(d)} 249 ;return n._emitter.addText(e),n})(e),i=t.filter(v).filter(O).map((n=>f(n,e,!1))) 250 ;i.unshift(a);const r=i.sort(((e,n)=>{ 251 if(e.relevance!==n.relevance)return n.relevance-e.relevance 252 ;if(e.language&&n.language){if(v(e.language).supersetOf===n.language)return 1 253 ;if(v(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,c=s 254 ;return c.secondBest=o,c}function y(e){let n=null;const t=(e=>{ 255 let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" 256 ;const t=d.languageDetectRe.exec(n);if(t){const n=v(t[1]) 257 ;return n||(H(o.replace("{}",t[1])), 258 H("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} 259 return n.split(/\s+/).find((e=>_(e)||v(e)))})(e);if(_(t))return 260 ;if(x("before:highlightElement",{el:e,language:t 261 }),e.children.length>0&&(d.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), 262 console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), 263 console.warn("The element with unescaped HTML:"), 264 console.warn(e)),d.throwUnescapedHTML))throw new V("One of your code blocks includes unescaped HTML.",e.innerHTML) 265 ;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a) 266 ;e.innerHTML=r.value,((e,n,t)=>{const a=n&&i[n]||t 267 ;e.classList.add("hljs"),e.classList.add("language-"+a) 268 })(e,t,r.language),e.result={language:r.language,re:r.relevance, 269 relevance:r.relevance},r.secondBest&&(e.secondBest={ 270 language:r.secondBest.language,relevance:r.secondBest.relevance 271 }),x("after:highlightElement",{el:e,result:r,text:a})}let w=!1;function N(){ 272 "loading"!==document.readyState?document.querySelectorAll(d.cssSelector).forEach(y):w=!0 273 }function v(e){return e=(e||"").toLowerCase(),n[e]||n[i[e]]} 274 function k(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ 275 i[e.toLowerCase()]=n}))}function O(e){const n=v(e) 276 ;return n&&!n.disableAutodetect}function x(e,n){const t=e;r.forEach((e=>{ 277 e[t]&&e[t](n)}))} 278 "undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ 279 w&&N()}),!1),Object.assign(e,{highlight:h,highlightAuto:E,highlightAll:N, 280 highlightElement:y, 281 highlightBlock:e=>(q("10.7.0","highlightBlock will be removed entirely in v12.0"), 282 q("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{d=Y(d,e)}, 283 initHighlighting:()=>{ 284 N(),q("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, 285 initHighlightingOnLoad:()=>{ 286 N(),q("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") 287 },registerLanguage:(t,a)=>{let i=null;try{i=a(e)}catch(e){ 288 if(K("Language definition for '{}' could not be registered.".replace("{}",t)), 289 !s)throw e;K(e),i=l} 290 i.name||(i.name=t),n[t]=i,i.rawDefinition=a.bind(null,e),i.aliases&&k(i.aliases,{ 291 languageName:t})},unregisterLanguage:e=>{delete n[e] 292 ;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, 293 listLanguages:()=>Object.keys(n),getLanguage:v,registerAliases:k, 294 autoDetection:O,inherit:Y,addPlugin:e=>{(e=>{ 295 e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ 296 e["before:highlightBlock"](Object.assign({block:n.el},n)) 297 }),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ 298 e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)} 299 }),e.debugMode=()=>{s=!1},e.safeMode=()=>{s=!0 300 },e.versionString="11.5.0",e.regex={concat:m,lookahead:g,either:p,optional:b, 301 anyNumberOfTimes:u};for(const e in T)"object"==typeof T[e]&&t(T[e]) 302 ;return Object.assign(e,T),e})({});const te=e=>({IMPORTANT:{scope:"meta", 303 begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ 304 scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, 305 FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, 306 ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", 307 contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ 308 scope:"number", 309 begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", 310 relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/} 311 }),ae=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],ie=["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"],re=["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"],se=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],oe=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),le=re.concat(se) 312 ;var ce="\\.([0-9](_*[0-9])*)",de="[0-9a-fA-F](_*[0-9a-fA-F])*",ge={ 313 className:"number",variants:[{ 314 begin:`(\\b([0-9](_*[0-9])*)((${ce})|\\.)?|(${ce}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` 315 },{begin:`\\b([0-9](_*[0-9])*)((${ce})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ 316 begin:`(${ce})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ 317 begin:`\\b0[xX]((${de})\\.?|(${de})?\\.(${de}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` 318 },{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${de})[lL]?\\b`},{ 319 begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], 320 relevance:0};function ue(e,n,t){return-1===t?"":e.replace(n,(a=>ue(e,n,t-1)))} 321 const be="[A-Za-z$_][0-9A-Za-z$_]*",me=["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"],pe=["true","false","null","undefined","NaN","Infinity"],_e=["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"],he=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],fe=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ee=["arguments","this","super","console","window","document","localStorage","module","global"],ye=[].concat(fe,_e,he) 322 ;function we(e){const n=e.regex,t=be,a={begin:/<[A-Za-z0-9\\._:-]+/, 323 end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ 324 const t=e[0].length+e.index,a=e.input[t] 325 ;if("<"===a||","===a)return void n.ignoreMatch();let i 326 ;">"===a&&(((e,{after:n})=>{const t="</"+e[0].slice(1) 327 ;return-1!==e.input.indexOf(t,n)})(e,{after:t 328 })||n.ignoreMatch()),(i=e.input.substr(t).match(/^\s+extends\s+/))&&0===i.index&&n.ignoreMatch() 329 }},i={$pattern:be,keyword:me,literal:pe,built_in:ye,"variable.language":Ee 330 },r="\\.([0-9](_?[0-9])*)",s="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",o={ 331 className:"number",variants:[{ 332 begin:`(\\b(${s})((${r})|\\.)?|(${r}))[eE][+-]?([0-9](_?[0-9])*)\\b`},{ 333 begin:`\\b(${s})\\b((${r})\\b|\\.)?|(${r})\\b`},{ 334 begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{ 335 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{ 336 begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{ 337 begin:"\\b0[0-7]+n?\\b"}],relevance:0},l={className:"subst",begin:"\\$\\{", 338 end:"\\}",keywords:i,contains:[]},c={begin:"html`",end:"",starts:{end:"`", 339 returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,l],subLanguage:"xml"}},d={ 340 begin:"css`",end:"",starts:{end:"`",returnEnd:!1, 341 contains:[e.BACKSLASH_ESCAPE,l],subLanguage:"css"}},g={className:"string", 342 begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,l]},u={className:"comment", 343 variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{ 344 begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag", 345 begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0, 346 excludeBegin:!0,relevance:0},{className:"variable",begin:t+"(?=\\s*(-)|$)", 347 endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}] 348 }),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE] 349 },b=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,d,g,o];l.contains=b.concat({ 350 begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(b)}) 351 ;const m=[].concat(u,l.contains),p=m.concat([{begin:/\(/,end:/\)/,keywords:i, 352 contains:["self"].concat(m)}]),_={className:"params",begin:/\(/,end:/\)/, 353 excludeBegin:!0,excludeEnd:!0,keywords:i,contains:p},h={variants:[{ 354 match:[/class/,/\s+/,t,/\s+/,/extends/,/\s+/,n.concat(t,"(",n.concat(/\./,t),")*")], 355 scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{ 356 match:[/class/,/\s+/,t],scope:{1:"keyword",3:"title.class"}}]},f={relevance:0, 357 match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/), 358 className:"title.class",keywords:{_:[..._e,...he]}},E={variants:[{ 359 match:[/function/,/\s+/,t,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}], 360 className:{1:"keyword",3:"title.function"},label:"func.def",contains:[_], 361 illegal:/%/},y={ 362 match:n.concat(/\b/,(w=[...fe,"super"],n.concat("(?!",w.join("|"),")")),t,n.lookahead(/\(/)), 363 className:"title.function",relevance:0};var w;const N={ 364 begin:n.concat(/\./,n.lookahead(n.concat(t,/(?![0-9A-Za-z$_(])/))),end:t, 365 excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},v={ 366 match:[/get|set/,/\s+/,t,/(?=\()/],className:{1:"keyword",3:"title.function"}, 367 contains:[{begin:/\(\)/},_] 368 },k="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",O={ 369 match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(k)], 370 keywords:"async",className:{1:"keyword",3:"title.function"},contains:[_]} 371 ;return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ 372 PARAMS_CONTAINS:p,CLASS_REFERENCE:f},illegal:/#(?![$_A-z])/, 373 contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ 374 label:"use_strict",className:"meta",relevance:10, 375 begin:/^\s*['"]use (strict|asm)['"]/ 376 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,d,g,u,o,f,{className:"attr", 377 begin:t+n.lookahead(":"),relevance:0},O,{ 378 begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", 379 keywords:"return throw case",relevance:0,contains:[u,e.REGEXP_MODE,{ 380 className:"function",begin:k,returnBegin:!0,end:"\\s*=>",contains:[{ 381 className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ 382 className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0, 383 excludeEnd:!0,keywords:i,contains:p}]}]},{begin:/,/,relevance:0},{match:/\s+/, 384 relevance:0},{variants:[{begin:"<>",end:"</>"},{ 385 match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, 386 "on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ 387 begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},E,{ 388 beginKeywords:"while if switch catch for"},{ 389 begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", 390 returnBegin:!0,label:"func.def",contains:[_,e.inherit(e.TITLE_MODE,{begin:t, 391 className:"title.function"})]},{match:/\.\.\./,relevance:0},N,{match:"\\$"+t, 392 relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, 393 contains:[_]},y,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, 394 className:"variable.constant"},h,v,{match:/\$[(.]/}]}} 395 const Ne=e=>m(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ve=["Protocol","Type"].map(Ne),ke=["init","self"].map(Ne),Oe=["Any","Self"],xe=["actor","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Me=["false","nil","true"],Se=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ae=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],Ce=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Te=p(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Re=p(Te,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),De=m(Te,Re,"*"),Ie=p(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Le=p(Ie,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Be=m(Ie,Le,"*"),$e=m(/[A-Z]/,Le,"*"),ze=["autoclosure",m(/convention\(/,p("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",m(/objc\(/,Be,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],Fe=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] 396 ;var Ue=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ 397 begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} 398 ;Object.assign(t,{className:"variable",variants:[{ 399 begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ 400 className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},r={ 401 begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, 402 end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/, 403 contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(s);const o={begin:/\$\(\(/, 404 end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] 405 },l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 406 }),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, 407 contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ 408 name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, 409 keyword:["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"], 410 literal:["true","false"], 411 built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","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","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"] 412 },contains:[l,e.SHEBANG(),c,o,e.HASH_COMMENT_MODE,r,{match:/(\/[a-z._-]+)+/},s,{ 413 className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}, 414 grmr_c:e=>{const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] 415 }),a="[a-zA-Z_]\\w*::",i="(decltype\\(auto\\)|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={ 416 className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ 417 match:/\batomic_[a-z]{3,6}\b/}]},s={className:"string",variants:[{ 418 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ 419 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", 420 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ 421 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ 422 className:"number",variants:[{begin:"\\b(0b[01']+)"},{ 423 begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" 424 },{ 425 begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" 426 }],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ 427 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" 428 },contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{ 429 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},c={ 430 className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0 431 },d=n.optional(a)+e.IDENT_RE+"\\s*\\(",g={ 432 keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], 433 type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"], 434 literal:"true false NULL", 435 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" 436 },u=[l,r,t,e.C_BLOCK_COMMENT_MODE,o,s],b={variants:[{begin:/=/,end:/;/},{ 437 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], 438 keywords:g,contains:u.concat([{begin:/\(/,end:/\)/,keywords:g, 439 contains:u.concat(["self"]),relevance:0}]),relevance:0},m={ 440 begin:"("+i+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, 441 keywords:g,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", 442 keywords:g,relevance:0},{begin:d,returnBegin:!0,contains:[e.inherit(c,{ 443 className:"title.function"})],relevance:0},{relevance:0,match:/,/},{ 444 className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0, 445 contains:[t,e.C_BLOCK_COMMENT_MODE,s,o,r,{begin:/\(/,end:/\)/,keywords:g, 446 relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,s,o,r]}] 447 },r,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C",aliases:["h"],keywords:g, 448 disableAutodetect:!0,illegal:"</",contains:[].concat(b,m,u,[l,{ 449 begin:e.IDENT_RE+"::",keywords:g},{className:"class", 450 beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{ 451 beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:l, 452 strings:s,keywords:g}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{ 453 contains:[{begin:/\\\n/}] 454 }),a="[a-zA-Z_]\\w*::",i="(?!struct)(decltype\\(auto\\)|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={ 455 className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{ 456 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ 457 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", 458 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ 459 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ 460 className:"number",variants:[{begin:"\\b(0b[01']+)"},{ 461 begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" 462 },{ 463 begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" 464 }],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ 465 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" 466 },contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{ 467 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},c={ 468 className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0 469 },d=n.optional(a)+e.IDENT_RE+"\\s*\\(",g={ 470 type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], 471 keyword:["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"], 472 literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], 473 _type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","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"] 474 },u={className:"function.dispatch",relevance:0,keywords:{ 475 _hint:["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"] 476 }, 477 begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/)) 478 },b=[u,l,r,t,e.C_BLOCK_COMMENT_MODE,o,s],m={variants:[{begin:/=/,end:/;/},{ 479 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], 480 keywords:g,contains:b.concat([{begin:/\(/,end:/\)/,keywords:g, 481 contains:b.concat(["self"]),relevance:0}]),relevance:0},p={className:"function", 482 begin:"("+i+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, 483 keywords:g,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", 484 keywords:g,relevance:0},{begin:d,returnBegin:!0,contains:[c],relevance:0},{ 485 begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,o]},{ 486 relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:g, 487 relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,s,o,r,{begin:/\(/,end:/\)/, 488 keywords:g,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,s,o,r]}] 489 },r,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++", 490 aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:g,illegal:"</", 491 classNameAliases:{"function.dispatch":"built_in"}, 492 contains:[].concat(m,p,u,b,[l,{ 493 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)\\s*<(?!<)", 494 end:">",keywords:g,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:g},{ 495 match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], 496 className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={ 497 keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), 498 built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], 499 literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{ 500 begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{ 501 begin:"\\b(0b[01']+)"},{ 502 begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ 503 begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" 504 }],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] 505 },r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/, 506 keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/, 507 end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ 508 },e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{ 509 begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/, 510 contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]}) 511 ;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE], 512 o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{ 513 illegal:/\n/})];const g={variants:[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] 514 },u={begin:"<",end:">",contains:[{beginKeywords:"in out"},t] 515 },b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={ 516 begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], 517 keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, 518 contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ 519 begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}] 520 }),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", 521 end:"$",keywords:{ 522 keyword:"if else elif endif define undef warning error line region endregion pragma checksum" 523 }},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, 524 illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" 525 },t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", 526 relevance:0,end:/[{;=]/,illegal:/[^\s:]/, 527 contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ 528 beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, 529 contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", 530 begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ 531 className:"string",begin:/"/,end:/"/}]},{ 532 beginKeywords:"new return throw await else",relevance:0},{className:"function", 533 begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, 534 end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ 535 beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", 536 relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, 537 contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params", 538 begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, 539 contains:[g,a,e.C_BLOCK_COMMENT_MODE] 540 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{ 541 const n=e.regex,t=te(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{ 542 name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{ 543 keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"}, 544 contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ 545 },t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 546 },{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 547 },t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ 548 begin:":("+re.join("|")+")"},{begin:":(:)?("+se.join("|")+")"}] 549 },t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b"},{ 550 begin:/:/,end:/[;}{]/, 551 contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ 552 begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" 553 },contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}] 554 },t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]",relevance:0, 555 illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{ 556 begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ 557 $pattern:/[a-z-]+/,keyword:"and or not only",attribute:ie.join(" ")},contains:[{ 558 begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ 559 className:"selector-tag",begin:"\\b("+ae.join("|")+")\\b"}]}},grmr_diff:e=>{ 560 const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ 561 className:"meta",relevance:10, 562 match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) 563 },{className:"comment",variants:[{ 564 begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), 565 end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ 566 className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, 567 end:/$/}]}},grmr_go:e=>{const n={ 568 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"], 569 type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], 570 literal:["true","false","iota","nil"], 571 built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] 572 };return{name:"Go",aliases:["golang"],keywords:n,illegal:"</", 573 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string", 574 variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{ 575 className:"number",variants:[{begin:e.C_NUMBER_RE+"[i]",relevance:1 576 },e.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func", 577 end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params", 578 begin:/\(/,end:/\)/,endsParent:!0,keywords:n,illegal:/["']/}]}]}},grmr_ini:e=>{ 579 const n=e.regex,t={className:"number",relevance:0,variants:[{ 580 begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{ 581 begin:/;/,end:/$/},{begin:/#/,end:/$/}];const i={className:"variable", 582 variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},r={ 583 className:"literal",begin:/\bon|off|true|false|yes|no\b/},s={className:"string", 584 contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{ 585 begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}] 586 },o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0 587 },l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ 588 name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, 589 contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{ 590 begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)), 591 className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{ 592 const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+ue("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ 593 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"], 594 literal:["false","true","null"], 595 type:["char","boolean","long","float","int","byte","short","double"], 596 built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{ 597 begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/, 598 end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} 599 ;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, 600 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, 601 relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ 602 begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 603 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, 604 className:"string",contains:[e.BACKSLASH_ESCAPE] 605 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ 606 match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ 607 1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ 608 begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=/],className:{1:"type", 609 3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", 610 3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ 611 beginKeywords:"new throw return else",relevance:0},{ 612 begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ 613 2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, 614 end:/\)/,keywords:i,relevance:0, 615 contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,ge,e.C_BLOCK_COMMENT_MODE] 616 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},ge,r]}},grmr_javascript:we, 617 grmr_json:e=>({name:"JSON",contains:[{className:"attr", 618 begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/, 619 className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,{ 620 beginKeywords:"true false null" 621 },e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}), 622 grmr_kotlin:e=>{const n={ 623 keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", 624 built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", 625 literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" 626 },a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ 627 className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", 628 variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", 629 illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, 630 contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={ 631 className:"meta", 632 begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" 633 },o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, 634 end:/\)/,contains:[e.inherit(r,{className:"string"})]}] 635 },l=ge,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ 636 variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, 637 contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], 638 {name:"Kotlin",aliases:["kt","kts"],keywords:n, 639 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", 640 begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", 641 begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", 642 begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$", 643 returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ 644 begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, 645 contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/, 646 keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, 647 endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, 648 endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 649 },e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{className:"class", 650 beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, 651 illegal:"extends implements",contains:[{ 652 beginKeywords:"public protected internal private constructor" 653 },e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0, 654 excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/, 655 excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env", 656 end:"$",illegal:"\n"},l]}},grmr_less:e=>{ 657 const n=te(e),t=le,a="([\\w-]+|@\\{[\\w-]+\\})",i=[],r=[],s=e=>({ 658 className:"string",begin:"~?"+e+".*?"+e}),o=(e,n,t)=>({className:e,begin:n, 659 relevance:t}),l={$pattern:/[a-z-]+/,keyword:"and or not only", 660 attribute:ie.join(" ")},c={begin:"\\(",end:"\\)",contains:r,keywords:l, 661 relevance:0} 662 ;r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s("'"),s('"'),n.CSS_NUMBER_MODE,{ 663 begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", 664 excludeEnd:!0} 665 },n.HEXCOLOR,c,o("variable","@@?[\\w-]+",10),o("variable","@\\{[\\w-]+\\}"),o("built_in","~?`[^`]*?`"),{ 666 className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0 667 },n.IMPORTANT);const d=r.concat({begin:/\{/,end:/\}/,contains:i}),g={ 668 beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not" 669 }].concat(r)},u={begin:a+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0, 670 contains:[{begin:/-(webkit|moz|ms|o)-/},n.CSS_VARIABLE,{className:"attribute", 671 begin:"\\b("+oe.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0, 672 illegal:"[<=$]",relevance:0,contains:r}}]},b={className:"keyword", 673 begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", 674 starts:{end:"[;{}]",keywords:l,returnEnd:!0,contains:r,relevance:0}},m={ 675 className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{ 676 begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:d}},p={variants:[{ 677 begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:a,end:/\{/}],returnBegin:!0, 678 returnEnd:!0,illegal:"[<='$\"]",relevance:0, 679 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,o("keyword","all\\b"),o("variable","@\\{[\\w-]+\\}"),{ 680 begin:"\\b("+ae.join("|")+")\\b",className:"selector-tag" 681 },n.CSS_NUMBER_MODE,o("selector-tag",a,0),o("selector-id","#"+a),o("selector-class","\\."+a,0),o("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{ 682 className:"selector-pseudo",begin:":("+re.join("|")+")"},{ 683 className:"selector-pseudo",begin:":(:)?("+se.join("|")+")"},{begin:/\(/, 684 end:/\)/,relevance:0,contains:d},{begin:"!important"},n.FUNCTION_DISPATCH]},_={ 685 begin:`[\\w-]+:(:)?(${t.join("|")})`,returnBegin:!0,contains:[p]} 686 ;return i.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,b,m,_,u,p),{ 687 name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:i}},grmr_lua:e=>{ 688 const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"] 689 },i=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[",t,{contains:[a], 690 relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, 691 literal:"true false nil", 692 keyword:"and break do else elseif end for goto if in local not or repeat return then until while", 693 built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" 694 },contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)", 695 contains:[e.inherit(e.TITLE_MODE,{ 696 begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", 697 begin:"\\(",endsWithParent:!0,contains:i}].concat(i) 698 },e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", 699 begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={ 700 className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", 701 contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},t={className:"string", 702 begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n]},a={className:"variable", 703 begin:/\$\([\w-]+\s/,end:/\)/,keywords:{ 704 built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value" 705 },contains:[n]},i={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},r={ 706 className:"section",begin:/^[^\s]+:/,end:/$/,contains:[n]};return{ 707 name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/, 708 keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath" 709 },contains:[e.HASH_COMMENT_MODE,n,t,a,i,{className:"meta",begin:/^\.PHONY:/, 710 end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},r]}},grmr_xml:e=>{ 711 const n=e.regex,t=n.concat(/[A-Z_]/,n.optional(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),a={ 712 className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, 713 contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] 714 },r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{ 715 className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ 716 endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr", 717 begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{ 718 className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{ 719 begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{ 720 name:"HTML, XML", 721 aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], 722 case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/, 723 relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{className:"meta", 724 begin:/<![a-z]/,end:/>/,contains:[i,r,o,s]}]}]},e.COMMENT(/<!--/,/-->/,{ 725 relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},a,{ 726 className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[o] 727 },{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/, 728 keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0, 729 subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/, 730 keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0, 731 subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/ 732 },{className:"tag", 733 begin:n.concat(/</,n.lookahead(n.concat(t,n.either(/\/>/,/>/,/\s/)))), 734 end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ 735 className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ 736 className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} 737 },grmr_markdown:e=>{const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml", 738 relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ 739 begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, 740 relevance:2},{ 741 begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), 742 relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ 743 begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ 744 },{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, 745 returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", 746 excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", 747 end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], 748 variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},i={ 749 className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{ 750 begin:/_(?!_)/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[] 751 }),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r) 752 ;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o) 753 })),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ 754 className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ 755 begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", 756 contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", 757 end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, 758 end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ 759 begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ 760 begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", 761 contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ 762 begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ 763 className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ 764 className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}},grmr_objectivec:e=>{ 765 const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, 766 keyword:["@interface","@class","@protocol","@implementation"]};return{ 767 name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], 768 keywords:{"variable.language":["this","super"],$pattern:n, 769 keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], 770 literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], 771 built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], 772 type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] 773 },illegal:"</",contains:[{className:"built_in", 774 begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+" 775 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{ 776 className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n", 777 contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/, 778 keywords:{ 779 keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include" 780 },contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{ 781 className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n" 782 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", 783 begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, 784 contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, 785 relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={ 786 $pattern:/[\w.]+/, 787 keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" 788 },i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/, 789 end:/\}/},s={variants:[{begin:/\$\d/},{ 790 begin:n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") 791 },{begin:/[$%@][^\s\w{]/,relevance:0}] 792 },o=[e.BACKSLASH_ESCAPE,i,s],l=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],c=(e,a,i="\\1")=>{ 793 const r="\\1"===i?i:n.concat(i,a) 794 ;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t) 795 },d=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),g=[s,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ 796 endsWithParent:!0}),r,{className:"string",contains:o,variants:[{ 797 begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", 798 end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ 799 begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", 800 relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", 801 contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", 802 contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ 803 begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number", 804 begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", 805 relevance:0},{ 806 begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", 807 keywords:"split return print reverse grep",relevance:0, 808 contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ 809 begin:c("s|tr|y",n.either(...l,{capture:!0}))},{begin:c("s|tr|y","\\(","\\)")},{ 810 begin:c("s|tr|y","\\[","\\]")},{begin:c("s|tr|y","\\{","\\}")}],relevance:2},{ 811 className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ 812 begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",n.either(...l,{capture:!0 813 }),/\1/)},{begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{ 814 begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub", 815 end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{ 816 begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$", 817 subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}] 818 }];return i.contains=g,r.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:a, 819 contains:g}},grmr_php:e=>{ 820 const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r={ 821 scope:"variable",match:"\\$+"+a},s={scope:"subst",variants:[{begin:/\$\w+/},{ 822 begin:/\{\$/,end:/\}/}]},o=e.inherit(e.APOS_STRING_MODE,{illegal:null 823 }),l="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ 824 illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s) 825 }),o,e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/, 826 contains:e.QUOTE_STRING_MODE.contains.concat(s)})]},d={scope:"number", 827 variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{ 828 begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ 829 begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ 830 begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" 831 }],relevance:0 832 },g=["false","null","true"],u=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={ 833 keyword:u,literal:(e=>{const n=[];return e.forEach((e=>{ 834 n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase()) 835 })),n})(g),built_in:b},p=e=>e.map((e=>e.replace(/\|\d+$/,""))),_={variants:[{ 836 match:[/new/,n.concat(l,"+"),n.concat("(?!",p(b).join("\\b|"),"\\b)"),i],scope:{ 837 1:"keyword",4:"title.class"}}]},h=n.concat(a,"\\b(?!\\()"),f={variants:[{ 838 match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{2:"variable.constant" 839 }},{match:[/::/,/class/],scope:{2:"variable.language"}},{ 840 match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{1:"title.class", 841 3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))], 842 scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class", 843 3:"variable.language"}}]},E={scope:"attr", 844 match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},y={relevance:0, 845 begin:/\(/,end:/\)/,keywords:m,contains:[E,r,f,e.C_BLOCK_COMMENT_MODE,c,d,_] 846 },w={relevance:0, 847 match:[/\b/,n.concat("(?!fn\\b|function\\b|",p(u).join("\\b|"),"|",p(b).join("\\b|"),"\\b)"),a,n.concat(l,"*"),n.lookahead(/(?=\()/)], 848 scope:{3:"title.function.invoke"},contains:[y]};y.contains.push(w) 849 ;const N=[E,f,e.C_BLOCK_COMMENT_MODE,c,d,_];return{case_insensitive:!1, 850 keywords:m,contains:[{begin:n.concat(/#\[\s*/,i),beginScope:"meta",end:/]/, 851 endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{ 852 begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]}, 853 contains:["self",...N]},...N,{scope:"meta",match:i}] 854 },e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{ 855 scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, 856 keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, 857 contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ 858 begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ 859 begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,w,f,{ 860 match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},_,{ 861 scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, 862 excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" 863 },e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", 864 begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m, 865 contains:["self",r,f,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{ 866 beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", 867 illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ 868 beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ 869 beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, 870 contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ 871 beginKeywords:"use",relevance:0,end:";",contains:[{ 872 match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]} 873 },grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{ 874 begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*", 875 end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0 876 },e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null, 877 skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null, 878 contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text", 879 aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{ 880 const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={ 881 $pattern:/[A-Za-z]\w+|__\w+__/,keyword:a, 882 built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","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","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], 883 literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], 884 type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] 885 },r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/, 886 end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={ 887 className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ 888 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, 889 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ 890 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, 891 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ 892 begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, 893 contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, 894 end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/, 895 relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ 896 begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, 897 end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, 898 contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, 899 contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] 900 },c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={ 901 className:"number",relevance:0,variants:[{ 902 begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{ 903 begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{ 904 begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})` 905 },{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})` 906 }]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i, 907 contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ 908 className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, 909 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i, 910 contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{ 911 name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i, 912 illegal:/(<\/|->|\?)|=>/,contains:[r,u,{begin:/\bself\b/},{beginKeywords:"if", 913 relevance:0},l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{ 914 1:"keyword",3:"title.function"},contains:[m]},{variants:[{ 915 match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}], 916 scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ 917 className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}}, 918 grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt", 919 starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{ 920 begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{ 921 const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) 922 ;return{name:"R",keywords:{$pattern:t, 923 keyword:"function if in break next repeat else for while", 924 literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", 925 built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" 926 },contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, 927 starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), 928 endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ 929 scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 930 }]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] 931 }),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], 932 variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ 933 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ 934 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ 935 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ 936 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ 937 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', 938 relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ 939 1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"}, 940 match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{ 941 2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"}, 942 match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{ 943 match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`", 944 contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{ 945 const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={ 946 "variable.constant":["__FILE__","__LINE__"], 947 "variable.language":["self","super"], 948 keyword:["alias","and","attr_accessor","attr_reader","attr_writer","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","include","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield"], 949 built_in:["proc","lambda"],literal:["true","false","nil"]},s={ 950 className:"doctag",begin:"@[A-Za-z]+"},o={begin:"#<",end:">" 951 },l=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^=begin","^=end",{ 952 contains:[s],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={ 953 className:"subst",begin:/#\{/,end:/\}/,keywords:r},d={className:"string", 954 contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ 955 },{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/, 956 end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{ 957 begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/, 958 end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ 959 begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ 960 begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ 961 begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ 962 begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), 963 contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, 964 contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", 965 relevance:0,variants:[{ 966 begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ 967 begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" 968 },{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ 969 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ 970 begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ 971 className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, 972 keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ 973 match:[/class\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"}, 974 keywords:r},{relevance:0,match:[i,/\.new[ (]/],scope:{1:"title.class"}},{ 975 relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{ 976 match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ 977 begin:e.IDENT_RE+"::"},{className:"symbol", 978 begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", 979 begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", 980 begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ 981 className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, 982 relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", 983 keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], 984 illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ 985 begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", 986 end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) 987 ;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} 988 },{className:"meta.prompt", 989 begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", 990 starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby", 991 aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/, 992 contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, 993 grmr_rust:e=>{const n=e.regex,t={className:"title.function.invoke",relevance:0, 994 begin:n.concat(/\b/,/(?!let\b)/,e.IDENT_RE,n.lookahead(/\s*\(/)) 995 },a="([ui](8|16|32|64|128|size)|f(32|64))?",i=["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!","panic!","file!","format!","format_args!","include_bin!","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!"] 996 ;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?", 997 type:["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"], 998 keyword:["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","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"], 999 literal:["true","false","Some","None","Ok","Err"],built_in:i},illegal:"</", 1000 contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"] 1001 }),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{ 1002 className:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{ 1003 begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:"symbol", 1004 begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:"number",variants:[{ 1005 begin:"\\b0b([01_]+)"+a},{begin:"\\b0o([0-7_]+)"+a},{ 1006 begin:"\\b0x([A-Fa-f0-9_]+)"+a},{ 1007 begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+a}],relevance:0},{ 1008 begin:[/fn/,/\s+/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword", 1009 3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{ 1010 className:"string",begin:/"/,end:/"/}]},{ 1011 begin:[/let/,/\s+/,/(?:mut\s+)?/,e.UNDERSCORE_IDENT_RE],className:{1:"keyword", 1012 3:"keyword",4:"variable"}},{ 1013 begin:[/for/,/\s+/,e.UNDERSCORE_IDENT_RE,/\s+/,/in/],className:{1:"keyword", 1014 3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,e.UNDERSCORE_IDENT_RE], 1015 className:{1:"keyword",3:"title.class"}},{ 1016 begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,e.UNDERSCORE_IDENT_RE], 1017 className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{ 1018 keyword:"Self",built_in:i}},{className:"punctuation",begin:"->"},t]}}, 1019 grmr_scss:e=>{const n=te(e),t=se,a=re,i="@[a-z-]+",r={className:"variable", 1020 begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", 1021 case_insensitive:!0,illegal:"[=/|']", 1022 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{ 1023 className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ 1024 className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 1025 },n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", 1026 begin:"\\b("+ae.join("|")+")\\b",relevance:0},{className:"selector-pseudo", 1027 begin:":("+a.join("|")+")"},{className:"selector-pseudo", 1028 begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/, 1029 contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute", 1030 begin:"\\b("+oe.join("|")+")\\b"},{ 1031 begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" 1032 },{begin:/:/,end:/[;}{]/, 1033 contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT] 1034 },{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{ 1035 begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, 1036 keyword:"and or not only",attribute:ie.join(" ")},contains:[{begin:i, 1037 className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" 1038 },r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE] 1039 },n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session", 1040 aliases:["console","shellsession"],contains:[{className:"meta.prompt", 1041 begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, 1042 subLanguage:"bash"}}]}),grmr_sql:e=>{ 1043 const n=e.regex,t=e.COMMENT("--","$"),a=["true","false","unknown"],i=["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"],r=["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"],s=["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"],o=r,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","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={ 1044 begin:n.concat(/\b/,n.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}} 1045 ;return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ 1046 $pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t 1047 ;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e)) 1048 })(l,{when:e=>e.length<3}),literal:a,type:i, 1049 built_in:["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"] 1050 },contains:[{begin:n.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/, 1051 keyword:l.concat(s),literal:a,type:i}},{className:"type", 1052 begin:n.either("double precision","large object","with timezone","without timezone") 1053 },c,{className:"variable",begin:/@[a-z0-9]+/},{className:"string",variants:[{ 1054 begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{ 1055 begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{className:"operator", 1056 begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}, 1057 grmr_swift:e=>{const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{ 1058 contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={match:[/\./,p(...ve,...ke)], 1059 className:{2:"keyword"}},r={match:m(/\./,p(...xe)),relevance:0 1060 },s=xe.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ 1061 className:"keyword", 1062 match:p(...xe.filter((e=>"string"!=typeof e)).concat(Oe).map(Ne),...ke)}]},l={ 1063 $pattern:p(/\b\w+/,/#\w+/),keyword:s.concat(Ae),literal:Me},c=[i,r,o],d=[{ 1064 match:m(/\./,p(...Ce)),relevance:0},{className:"built_in", 1065 match:m(/\b/,p(...Ce),/(?=\()/)}],u={match:/->/,relevance:0},b=[u,{ 1066 className:"operator",relevance:0,variants:[{match:De},{match:`\\.(\\.|${Re})+`}] 1067 }],_="([0-9a-fA-F]_*)+",h={className:"number",relevance:0,variants:[{ 1068 match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{ 1069 match:`\\b0x(${_})(\\.(${_}))?([pP][+-]?(([0-9]_*)+))?\\b`},{ 1070 match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},f=(e="")=>({ 1071 className:"subst",variants:[{match:m(/\\/,e,/[0\\tnr"']/)},{ 1072 match:m(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),E=(e="")=>({className:"subst", 1073 match:m(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),y=(e="")=>({className:"subst", 1074 label:"interpol",begin:m(/\\/,e,/\(/),end:/\)/}),w=(e="")=>({begin:m(e,/"""/), 1075 end:m(/"""/,e),contains:[f(e),E(e),y(e)]}),N=(e="")=>({begin:m(e,/"/), 1076 end:m(/"/,e),contains:[f(e),y(e)]}),v={className:"string", 1077 variants:[w(),w("#"),w("##"),w("###"),N(),N("#"),N("##"),N("###")]},k={ 1078 match:m(/`/,Be,/`/)},O=[k,{className:"variable",match:/\$\d+/},{ 1079 className:"variable",match:`\\$${Le}+`}],x=[{match:/(@|#(un)?)available/, 1080 className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Fe, 1081 contains:[...b,h,v]}]}},{className:"keyword",match:m(/@/,p(...ze))},{ 1082 className:"meta",match:m(/@/,Be)}],M={match:g(/\b[A-Z]/),relevance:0,contains:[{ 1083 className:"type", 1084 match:m(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Le,"+") 1085 },{className:"type",match:$e,relevance:0},{match:/[?!]+/,relevance:0},{ 1086 match:/\.\.\./,relevance:0},{match:m(/\s+&\s+/,g($e)),relevance:0}]},S={ 1087 begin:/</,end:/>/,keywords:l,contains:[...a,...c,...x,u,M]};M.contains.push(S) 1088 ;const A={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ 1089 match:m(Be,/\s*:/),keywords:"_|0",relevance:0 1090 },...a,...c,...d,...b,h,v,...O,...x,M]},C={begin:/</,end:/>/,contains:[...a,M] 1091 },T={begin:/\(/,end:/\)/,keywords:l,contains:[{ 1092 begin:p(g(m(Be,/\s*:/)),g(m(Be,/\s+/,Be,/\s*:/))),end:/:/,relevance:0, 1093 contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Be}] 1094 },...a,...c,...b,h,v,...x,M,A],endsParent:!0,illegal:/["']/},R={ 1095 match:[/func/,/\s+/,p(k.match,Be,De)],className:{1:"keyword",3:"title.function" 1096 },contains:[C,T,n],illegal:[/\[/,/%/]},D={ 1097 match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, 1098 contains:[C,T,n],illegal:/\[|%/},I={match:[/operator/,/\s+/,De],className:{ 1099 1:"keyword",3:"title"}},L={begin:[/precedencegroup/,/\s+/,$e],className:{ 1100 1:"keyword",3:"title"},contains:[M],keywords:[...Se,...Me],end:/}/} 1101 ;for(const e of v.variants){const n=e.contains.find((e=>"interpol"===e.label)) 1102 ;n.keywords=l;const t=[...c,...d,...b,h,v,...O];n.contains=[...t,{begin:/\(/, 1103 end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:l, 1104 contains:[...a,R,D,{beginKeywords:"struct protocol class extension enum actor", 1105 end:"\\{",excludeEnd:!0,keywords:l,contains:[e.inherit(e.TITLE_MODE,{ 1106 className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c] 1107 },I,L,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0 1108 },...c,...d,...b,h,v,...O,...x,M,A]}},grmr_typescript:e=>{ 1109 const n=we(e),t=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],a={ 1110 beginKeywords:"namespace",end:/\{/,excludeEnd:!0, 1111 contains:[n.exports.CLASS_REFERENCE]},i={beginKeywords:"interface",end:/\{/, 1112 excludeEnd:!0,keywords:{keyword:"interface extends",built_in:t}, 1113 contains:[n.exports.CLASS_REFERENCE]},r={$pattern:be, 1114 keyword:me.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]), 1115 literal:pe,built_in:ye.concat(t),"variable.language":Ee},s={className:"meta", 1116 begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},o=(e,n,t)=>{ 1117 const a=e.contains.findIndex((e=>e.label===n)) 1118 ;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)} 1119 ;return Object.assign(n.keywords,r), 1120 n.exports.PARAMS_CONTAINS.push(s),n.contains=n.contains.concat([s,a,i]), 1121 o(n,"shebang",e.SHEBANG()),o(n,"use_strict",{className:"meta",relevance:10, 1122 begin:/^\s*['"]use strict['"]/ 1123 }),n.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(n,{ 1124 name:"TypeScript",aliases:["ts","tsx"]}),n},grmr_vbnet:e=>{ 1125 const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={ 1126 className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{ 1127 begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{ 1128 begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}] 1129 },o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}] 1130 }),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}) 1131 ;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0, 1132 classNameAliases:{label:"symbol"},keywords:{ 1133 keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", 1134 built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", 1135 type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", 1136 literal:"true false nothing"}, 1137 illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ 1138 className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, 1139 end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0, 1140 variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ 1141 },{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ 1142 begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ 1143 className:"label",begin:/^\w+:/},o,l,{className:"meta", 1144 begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, 1145 end:/$/,keywords:{ 1146 keyword:"const disable else elseif enable end externalsource if region then"}, 1147 contains:[l]}]}},grmr_yaml:e=>{ 1148 const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ 1149 className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ 1150 },{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", 1151 variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{ 1152 variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r={ 1153 end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},s={begin:/\{/, 1154 end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={begin:"\\[",end:"\\]", 1155 contains:[r],illegal:"\\n",relevance:0},l=[{className:"attr",variants:[{ 1156 begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ 1157 begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", 1158 relevance:10},{className:"string", 1159 begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ 1160 begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, 1161 relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", 1162 begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t 1163 },{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", 1164 begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", 1165 relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ 1166 className:"number", 1167 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" 1168 },{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,a],c=[...l] 1169 ;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0, 1170 aliases:["yml"],contains:l}}});const je=ne;for(const e of Object.keys(Ue)){ 1171 const n=e.replace("grmr_","").replace("_","-");je.registerLanguage(n,Ue[e])} 1172 return je}() 1173 ;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);