[yelp-xsl] Update highlight.pack.js to 9.15.8, add awk and shell



commit 37f08289c03989502cbc7ce9447ca11a6c59c41f
Author: Shaun McCance <shaunm redhat com>
Date:   Wed Jul 10 05:46:56 2019 -0400

    Update highlight.pack.js to 9.15.8, add awk and shell

 js/README.duck                       | 14 +++++++++++---
 js/highlight.pack.js                 |  6 ++----
 test/syntax/code/awk                 | 16 ++++++++++++++++
 test/syntax/code/shell               | 11 +++++++++++
 test/syntax/dita.dita                | 20 ++++++++++++++++++++
 test/syntax/docbook.docbook          | 16 ++++++++++++++++
 test/syntax/mallard.page             | 16 ++++++++++++++++
 xslt/common/html.xsl                 |  2 +-
 xslt/dita/html/dita2html-block.xsl   | 12 ++++++++++--
 xslt/docbook/html/db2html-block.xsl  | 12 ++++++++++--
 xslt/mallard/html/mal2html-block.xsl | 10 +++++++++-
 11 files changed, 122 insertions(+), 13 deletions(-)
---
diff --git a/js/README.duck b/js/README.duck
index fdcb9f5b..68f92241 100644
--- a/js/README.duck
+++ b/js/README.duck
@@ -7,29 +7,37 @@ code snippet under test/syntax/code, then XInclude it into the test files
 for Mallard, DocBook, and DITA under test/syntax. A good place to get test
 files is the live demo on highlightjs.org.
 
+[steps]
+. Get prerequisites:
+* dnf install nodejs
+* npm install commander
+
 [steps]
 . Build highlight.pack.js with the default yelp-xsl languages:
-* git clone https://github.com/isagalaev/highlight.js.git
+* git clone https://github.com/highlightjs/highlight.js.git
 * cd highlight.js
 * node tools/build.js $(find /path/to/yelp-xsl/test/syntax/code/* -exec basename {} \;)
+* cp build/highlight.pack.js /path/to/yelp-xsl/js/
 
 You might want to add a language for your local site, keeping all of the
 default languages as well.
 
 [steps]
 . Build highlight.pack.js with language foo plus the default languages:
-* git clone https://github.com/isagalaev/highlight.js.git
+* git clone https://github.com/highlightjs/highlight.js.git
 * cd highlight.js
 * node tools/build.js foo $(find /path/to/yelp-xsl/test/syntax/code/* -exec basename {} \;)
+* cp build/highlight.pack.js /path/to/yelp-xsl/js/
 
 Or you might want to trim highlight.pack.js down to just the languages
 you know you use.
 
 [steps]
 . Build hightlight.pack.js with just languages foo and bar:
-* git clone https://github.com/isagalaev/highlight.js.git
+* git clone https://github.com/highlightjs/highlight.js.git
 * cd highlight.js
 * node tools/build.js foo bar
+* cp build/highlight.pack.js /path/to/yelp-xsl/js/
 
 [note]
   As of 2016-01-03, highlight.pack.js uses the new anonymous function syntax,
diff --git a/js/highlight.pack.js b/js/highlight.pack.js
index 45ed8116..fff5e16f 100644
--- a/js/highlight.pack.js
+++ b/js/highlight.pack.js
@@ -1,4 +1,2 @@
-/*! highlight.js v8.9.1 | BSD3 License | git.io/hljslicense */
-!function(e){if("undefined"!=typeof exports)e(exports);else if("undefined"!=typeof 
window)window.hljs=e({}),"function"==typeof define&&define.amd&&define("hljs",[],function(){return 
window.hljs});else{if("undefined"==typeof self)throw new Error("No global object found to bind hljs variable 
to.");self.hljs=e({})}}(function(e){function t(e){return 
e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function r(e){return 
e.nodeName.toLowerCase()}function a(e,t){var r=e&&e.exec(t);return r&&0==r.index}function 
n(e){return/^(no-?highlight|plain|text)$/i.test(e)}function i(e){var t,r,a,i=e.className+" 
";if(i+=e.parentNode?e.parentNode.className:"",r=/\blang(?:uage)?-([\w-]+)\b/i.exec(i))return 
v(r[1])?r[1]:"no-highlight";for(i=i.split(/\s+/),t=0,a=i.length;a>t;t++)if(v(i[t])||n(i[t]))return 
i[t]}function s(e,t){var r,a={};for(r in e)a[r]=e[r];if(t)for(r in t)a[r]=t[r];return a}function c(e){var 
t=[];return function a(e,n){for(var i=e.firstChild;i;i=i.nextSibling)3=
 =i.nodeT
 
ype?n+=i.nodeValue.length:1==i.nodeType&&(t.push({event:"start",offset:n,node:i}),n=a(i,n),r(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:n,node:i}));return
 n}(e,0),t}function o(e,a,n){function i(){return 
e.length&&a.length?e[0].offset!=a[0].offset?e[0].offset<a[0].offset?e:a:"start"==a[0].event?e:a:e.length?e:a}function
 s(e){function a(e){return" 
"+e.nodeName+'="'+t(e.value)+'"'}d+="<"+r(e)+Array.prototype.map.call(e.attributes,a).join("")+">"}function 
c(e){d+="</"+r(e)+">"}function o(e){("start"==e.event?s:c)(e.node)}for(var 
l=0,d="",u=[];e.length||a.length;){var 
b=i();if(d+=t(n.substr(l,b[0].offset-l)),l=b[0].offset,b==e){u.reverse().forEach(c);do 
o(b.splice(0,1)[0]),b=i();while(b==e&&b.length&&b[0].offset==l);u.reverse().forEach(s)}else"start"==b[0].event?u.push(b[0].node):u.pop(),o(b.splice(0,1)[0])}return
 d+t(n.substr(l))}function l(e){function t(e){return e&&e.source||e}function r(r,a){return new 
RegExp(t(r),"m"+(e.cI?"i":"")+(a?"g":""))}function a(n,i){if
 (!n.comp
 iled){if(n.compiled=!0,n.k=n.k||n.bK,n.k){var c={},o=function(t,r){e.cI&&(r=r.toLowerCase()),r.split(" 
").forEach(function(e){var r=e.split("|");c[r[0]]=[t,r[1]?Number(r[1]):1]})};"string"==typeof 
n.k?o("keyword",n.k):Object.keys(n.k).forEach(function(e){o(e,n.k[e])}),n.k=c}n.lR=r(n.l||/\b\w+\b/,!0),i&&(n.bK&&(n.b="\\b("+n.bK.split("
 
").join("|")+")\\b"),n.b||(n.b=/\B|\b/),n.bR=r(n.b),n.e||n.eW||(n.e=/\B|\b/),n.e&&(n.eR=r(n.e)),n.tE=t(n.e)||"",n.eW&&i.tE&&(n.tE+=(n.e?"|":"")+i.tE)),n.i&&(n.iR=r(n.i)),void
 0===n.r&&(n.r=1),n.c||(n.c=[]);var 
l=[];n.c.forEach(function(e){e.v?e.v.forEach(function(t){l.push(s(e,t))}):l.push("self"==e?n:e)}),n.c=l,n.c.forEach(function(e){a(e,n)}),n.starts&&a(n.starts,i);var
 d=n.c.map(function(e){return 
e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([n.tE,n.i]).map(t).filter(Boolean);n.t=d.length?r(d.join("|"),!0):{exec:function(){return
 null}}}}a(e)}function d(e,r,n,i){function s(e,t){for(var r=0;r<t.c.length;r++)if(a(t.c[r].bR,e))return 
t.c[r]}function c(
 e,t){if(
 a(e.eR,t)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?c(e.parent,t):void 0}function 
o(e,t){return!n&&a(t.iR,e)}function b(e,t){var r=y.cI?t[0].toLowerCase():t[0];return 
e.k.hasOwnProperty(r)&&e.k[r]}function p(e,t,r,a){var n=a?"":w.classPrefix,i='<span 
class="'+n,s=r?"":"</span>";return i+=e+'">',i+t+s}function m(){if(!x.k)return t(z);var 
e="",r=0;x.lR.lastIndex=0;for(var a=x.lR.exec(z);a;){e+=t(z.substr(r,a.index-r));var 
n=b(x,a);n?(A+=n[1],e+=p(n[0],t(a[0]))):e+=t(a[0]),r=x.lR.lastIndex,a=x.lR.exec(z)}return 
e+t(z.substr(r))}function f(){var e="string"==typeof x.sL;if(e&&!N[x.sL])return t(z);var 
r=e?d(x.sL,z,!0,C[x.sL]):u(z,x.sL.length?x.sL:void 0);return 
x.r>0&&(A+=r.r),e&&(C[x.sL]=r.top),p(r.language,r.value,!1,!0)}function g(){return void 
0!==x.sL?f():m()}function h(e,r){var 
a=e.cN?p(e.cN,"",!0):"";e.rB?(M+=a,z=""):e.eB?(M+=t(r)+a,z=""):(M+=a,z=r),x=Object.create(e,{parent:{value:x}})}function
 _(e,r){if(z+=e,void 0===r)return M+=g(),0;var a=s(r,x);if(a
 )return 
 M+=g(),h(a,r),a.rB?0:r.length;var n=c(x,r);if(n){var i=x;i.rE||i.eE||(z+=r),M+=g();do 
x.cN&&(M+="</span>"),A+=x.r,x=x.parent;while(x!=n.parent);return 
i.eE&&(M+=t(r)),z="",n.starts&&h(n.starts,""),i.rE?0:r.length}if(o(r,x))throw new Error('Illegal lexeme 
"'+r+'" for mode "'+(x.cN||"<unnamed>")+'"');return z+=r,r.length||1}var y=v(e);if(!y)throw new 
Error('Unknown language: "'+e+'"');l(y);var 
k,x=i||y,C={},M="";for(k=x;k!=y;k=k.parent)k.cN&&(M=p(k.cN,"",!0)+M);var z="",A=0;try{for(var 
E,$,L=0;;){if(x.t.lastIndex=L,E=x.t.exec(r),!E)break;$=_(r.substr(L,E.index-L),E[0]),L=E.index+$}for(_(r.substr(L)),k=x;k.parent;k=k.parent)k.cN&&(M+="</span>");return{r:A,value:M,language:e,top:x}}catch(q){if(-1!=q.message.indexOf("Illegal"))return{r:0,value:t(r)};throw
 q}}function u(e,r){r=r||w.languages||Object.keys(N);var a={r:0,value:t(e)},n=a;return 
r.forEach(function(t){if(v(t)){var 
r=d(t,e,!1);r.language=t,r.r>n.r&&(n=r),r.r>a.r&&(n=a,a=r)}}),n.language&&(a.second_best=n),a}function b(e)
 {return 
 w.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,t){return 
t.replace(/\t/g,w.tabReplace)})),w.useBR&&(e=e.replace(/\n/g,"<br>")),e}function p(e,t,r){var 
a=t?k[t]:r,n=[e.trim()];return e.match(/\bhljs\b/)||n.push("hljs"),-1===e.indexOf(a)&&n.push(a),n.join(" 
").trim()}function m(e){var t=i(e);if(!n(t)){var 
r;w.useBR?(r=document.createElementNS("http://www.w3.org/1999/xhtml","div";),r.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[
 \/]*>/g,"\n")):r=e;var a=r.textContent,s=t?d(t,a,!0):u(a),l=c(r);if(l.length){var 
m=document.createElementNS("http://www.w3.org/1999/xhtml","div";);m.innerHTML=s.value,s.value=o(l,c(m),a)}s.value=b(s.value),e.innerHTML=s.value,e.className=p(e.className,t,s.language),e.result={language:s.language,re:s.r},s.second_best&&(e.second_best={language:s.second_best.language,re:s.second_best.r})}}function
 f(e){w=s(w,e)}function g(){if(!g.called){g.called=!0;var e=document.querySelectorAll("pre 
code");Array.prototype.forEach.call(e,m)}}function h
 (){addEv
 entListener("DOMContentLoaded",g,!1),addEventListener("load",g,!1)}function _(t,r){var 
a=N[t]=r(e);a.aliases&&a.aliases.forEach(function(e){k[e]=t})}function y(){return Object.keys(N)}function 
v(e){return e=(e||"").toLowerCase(),N[e]||N[k[e]]}var 
w={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},N={},k={};return 
e.highlight=d,e.highlightAuto=u,e.fixMarkup=b,e.highlightBlock=m,e.configure=f,e.initHighlighting=g,e.initHighlightingOnLoad=h,e.registerLanguage=_,e.listLanguages=y,e.getLanguage=v,e.inherit=s,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I
 |I'm|isn
 
't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.C=function(t,r,a){var
 n=e.inherit({cN:"comment",b:t,e:r,c:[]},a||{});return 
n.c.push(e.PWM),n.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),n},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|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)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.registerLanguage("actionscript",function(e){var
 
t="[a-zA-Z_$][a-zA-Z0-9_$]*",r="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",a={cN:"rest_arg",b:"[.]{3}",e:t,r:10};return{aliases:["as"],k:{keyword:"as
 break case catch class const continue default delete do dynamic each else extends final finally f
 or funct
 ion get if implements import in include instanceof interface internal is namespace native new override 
package private protected public return set static super switch this throw try typeof use var void while 
with",literal:"true false null 
undefined"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"class",bK:"package",e:"{",c:[e.TM]},{cN:"class",bK:"class 
interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.TM]},{cN:"meta",bK:"import 
include",e:";"},{cN:"function",bK:"function",e:"[{;]",eE:!0,i:"\\S",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",c:[e.ASM,e.QSM,e.CLCM,e.CBCM,a]},{b:":\\s*"+r}]}],i:/#/}}),e.registerLanguage("apache",function(e){var
 
t={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:"</?",e:">"},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order
 deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule 
options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{c
 N:"meta"
 
,b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",t]},t,e.QSM]}}],i:/\S/}}),e.registerLanguage("xml",function(e){var
 
t="[A-Za-z0-9\\._:-]+",r={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php"},a={eW:!0,i:/</,r:0,c:[r,{cN:"attr",b:t,r:0},{b:"=",r:0,c:[{cN:"string",c:[r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"meta",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("<!--","-->",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{name:"style"},c:[a],starts:{e:"</style>",rE:!0,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{name:"script"},c:[a],starts:{e:"</script>",rE:!0,sL:["actionscript","javascript","handlebars"]}},r,{cN:"meta",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"name",b:/[^
 
\/><\n\t]+/,r:0},a]}]}}),e.registerLanguage("asciidoc",function(e){return{aliases:["adoc"],c:[e.C("^/{4,}\\n","\\n/{4,}$",{r:10}),e.C("^//","$",{r
 :0}),{cN
 :"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"section",r:10,v:[{b:"^(={1,5}) 
.+?( 
\\1)?$"},{b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{cN:"meta",b:"^:.+?:",e:"\\s",eE:!0,r:10},{cN:"meta",b:"^\\[.+?\\]$",r:0},{cN:"quote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"symbol",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"string",v:[{b:"``.+?''"},{b:"`.+?'"}]},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[
 \\t]",e:"$",r:0},{b:"^'{3,}[ 
\\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:!0,c:[{b:"(link|image:?):",r:0},{cN:"link",b:"
 \\w",e:"
 
[^\\[]+",r:0},{cN:"string",b:"\\[",e:"\\]",eB:!0,eE:!0,r:0}],r:10}]}}),e.registerLanguage("bash",function(e){var
 
t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if
 then else elif fi for while in do done case esac function",literal:"true false",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 sche
 d 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",_:"-ne -eq -lt -gt -f -d -e 
-s -l 
-a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,e.NM,r,a,t]}}),e.registerLanguage("clojure",function(e){var
 t={built_in:"def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? 
delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? 
sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? 
even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . 
inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern 
condp case reduced cycle split-at sp
 lit-with
  repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext 
nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch 
mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! 
error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- 
macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize 
constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll 
deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta 
ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient 
persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint 
biginteger bigdec print-method print-dup thro
 w-if pri
 ntf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn 
time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! 
reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set 
ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future 
future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by 
sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference 
intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append 
chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec 
unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next 
chunk-cons chunked-seq? prn vary-meta lazy-seq spread list
 * str fi
 nd-keyword keyword symbol gensym force 
rationalize"},r="a-zA-Z_\\-!.?+*=<>&#'",a="["+r+"]["+r+"0-9/;:]*",n="[-+]?\\d+(\\.\\d+)?",i={b:a,r:0},s={cN:"number",b:n,r:0},c=e.inherit(e.QSM,{i:null}),o=e.C(";","$",{r:0}),l={cN:"literal",b:/\b(true|false|nil)\b/},d={b:"[\\[\\{]",e:"[\\]\\}]"},u={cN:"comment",b:"\\^"+a},b=e.C("\\^\\{","\\}"),p={cN:"symbol",b:"[:]"+a},m={b:"\\(",e:"\\)"},f={eW:!0,r:0},g={k:t,l:a,cN:"name",b:a,starts:f},h=[m,c,u,b,o,p,d,s,l,i];return
 
m.c=[e.C("comment",""),g,f],f.c=h,d.c=h,{aliases:["clj"],i:/\S/,c:[m,c,u,b,o,p,d,s,l]}}),e.registerLanguage("cmake",function(e){return{aliases:["cmake.in"],cI:!0,k:{keyword:"add_custom_command
 add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test 
aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file 
create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction 
endif endmacro endwhile execute_pr
 ocess ex
 port find_file find_library find_package find_path find_program fltk_wrap_ui foreach function 
get_cmake_property get_directory_property get_filename_component get_property get_source_file_property 
get_target_property get_test_property if include include_directories include_external_msproject 
include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message 
option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set 
set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties 
site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name 
exec_program export_library_dependencies install_files install_programs install_targets link_libraries 
make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file 
qt5_use_modules qt5_use_package qt5_wrap_cpp on off 
 true fal
 se and or equal less greater strless strgreater strequal 
matches"},c:[{cN:"variable",b:"\\${",e:"}"},e.HCM,e.QSM,e.NM]}}),e.registerLanguage("cpp",function(e){var 
t={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[e.inherit(e.QSM,{b:'((u8?|U)|L)?"'}),{b:'(u8?|U)?R"',e:'"',c:[e.BE]},{b:"'\\\\?.",e:"'",i:"."}]},a={cN:"number",v:[{b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{b:e.CNR}],r:0},n={cN:"meta",b:"#",e:"$",k:"if
 else elif endif define undef warning error line pragma ifdef 
ifndef",c:[{b:/\\\n/,r:0},{bK:"include",e:"$",c:[r,{cN:"string",b:"<",e:">",i:"\\n"}]},r,a,e.CLCM,e.CBCM]},i=e.IR+"\\s*\\(",s={keyword:"int
 float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const 
struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if 
public friend do goto auto void enum else break extern using class asm case typeid short reinterpret_cast|10 
default double register explic
 it signe
 d typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert 
thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar 
atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong 
atomic_ullong",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream 
ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set 
unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc 
ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf 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 strpbr
 k strrch
 r strspn strstr tanh tan vfprintf vprintf vsprintf",literal:"true false nullptr 
NULL"};return{aliases:["c","cc","h","c++","h++","hpp"],k:s,i:"</",c:[t,e.CLCM,e.CBCM,a,r,n,{b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:s,c:["self",t]},{b:e.IR+"::",k:s},{bK:"new
 throw return 
else",r:0},{cN:"function",b:"("+e.IR+"[\\*&\\s]+)+"+i,rB:!0,e:/[{;=]/,eE:!0,k:s,i:/[^\w\s\*&]/,c:[{b:i,rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:s,r:0,c:[e.CLCM,e.CBCM,r,a]},e.CLCM,e.CBCM,n]}]}}),e.registerLanguage("cs",function(e){var
 t="abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate 
do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int 
interface internal is lock long null when object operator out override params private protected public 
readonly ref sbyte sealed short sizeof stackal
 loc stat
 ic string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void 
while async protected public private internal ascending descending from get group into join let orderby 
partial select set value var where 
yield",r=e.IR+"(<"+e.IR+">)?";return{aliases:["csharp"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:"<!--|-->"},{b:"</?",e:">"}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:"if
 else elif endif define undef warning error line region endregion pragma 
checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},e.ASM,e.QSM,e.CNM,{bK:"class 
interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{bK:"new
 return throw 
await",r:0},{cN:"function",b:"("+r+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.
 CBCM]}]}
 }),e.registerLanguage("css",function(e){var 
t="[a-zA-Z-][a-zA-Z0-9_-]*",r={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"']+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face
 
page"},{b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:t,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,r]}]}}),e.registerLanguage("d",function(e){var
 t={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug 
default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if 
immutable import in inout int interface invariant is lazy ma
 cro mixi
 n module new nothrow out override package pragma private protected public pure ref return scope shared 
static struct super switch synchronized template this throw try typedef typeid typeof union unittest version 
void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ 
__TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double 
dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar 
wstring",literal:"false null 
true"},r="(0|[1-9][\\d_]*)",a="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",n="0[bB][01_]+",i="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",s="0[xX]"+i,c="([eE][+-]?"+a+")",o="("+a+"(\\.\\d*|"+c+")|\\d+\\."+a+a+"|\\."+r+c+"?)",l="(0[xX]("+i+"\\."+i+"|\\.?"+i+")[pP][+-]?"+a+")",d="("+r+"|"+n+"|"+s+")",u="("+l+"|"+o+")",b="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",p={cN:"
 number",
 
b:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",r:0},m={cN:"number",b:"\\b("+u+"([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",r:0},f={cN:"string",b:"'("+b+"|.)",e:"'",i:"."},g={b:b,r:0},h={cN:"string",b:'"',c:[g],e:'"[cwd]?'},_={cN:"string",b:'[rq]"',e:'"[cwd]?',r:5},y={cN:"string",b:"`",e:"`[cwd]?"},v={cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10},w={cN:"string",b:'q"\\{',e:'\\}"'},N={cN:"meta",b:"^#!",e:"$",r:5},k={cN:"meta",b:"#(line)",e:"$",r:5},x={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"},C=e.C("\\/\\+","\\+\\/",{c:["self"],r:10});return{l:e.UIR,k:t,c:[e.CLCM,e.CBCM,C,v,h,_,y,w,m,p,f,N,k,x]}}),e.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@
 +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ 
+\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} 
/,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$
 "},{cN:"
 addition",b:"^\\!",e:"$"}]}}),e.registerLanguage("django",function(e){var 
t={b:/\|[A-Za-z]+:?/,k:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags 
filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst 
pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat 
linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default 
truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape 
iriencode last safe safeseq truncatechars localize unlocalize localtime utc 
timezone",c:[e.QSM,e.ASM]};return{aliases:["jinja"],cI:!0,sL:"xml",c:[e.C(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e.C(/\{#/,/#}/),{cN:"template-tag",b:/\{%/,e:/%}/,c:[{cN:"name",b:/\w+/,k:"comment
 endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal 
widthrat
 io exten
 ds include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug 
block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans 
endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages 
get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime 
endlocaltime timezone endtimezone get_current_timezone verbatim",starts:{eW:!0,k:"in by 
as",c:[t],r:0}}]},{cN:"template-variable",b:/\{\{/,e:/}}/,c:[t]}]}}),e.registerLanguage("dockerfile",function(e){return{aliases:["docker"],cI:!0,k:"from
 maintainer cmd expose add copy entrypoint volume user workdir onbuild run env label",c:[e.HCM,{k:"run cmd 
entrypoint volume add copy workdir onbuild label",b:/^ *(onbuild 
+)?(run|cmd|entrypoint|volume|add|copy|workdir|label) +/,starts:{e:/[^\\]\n/,sL:"bash"}},{k:"from maintainer 
expose env user onbuild",b:/^ *(onbuild +)?(from|maint
 ainer|ex
 pose|env|user|onbuild) 
+/,e:/[^\\]\n/,c:[e.ASM,e.QSM,e.NM,e.HCM]}]}}),e.registerLanguage("dos",function(e){var 
t=e.C(/@?rem\b/,/$/,{r:10}),r={cN:"symbol",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",r:0};return{aliases:["bat","cmd"],cI:!0,i:/\/\*/,k:{keyword:"if
 else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq",built_in:"prn nul lpt3 
lpt2 lpt1 con com4 com3 com2 com1 aux shift cd dir echo setlocal endlocal set pause copy append assoc at 
attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy 
doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print 
popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver 
verify vol ping net ipconfig taskkill xcopy ren del"},c:[{cN:"variable",b:/%%[^ ]|%[^ ]+?%|![^ 
]+?!/},{cN:"function",b:r.b,e:"goto:eof",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_
 a-zA-Z]\
 \w*:)?[_a-zA-Z]\\w*"}),t]},{cN:"number",b:"\\b\\d+",r:0},t]}}),e.registerLanguage("ruby",function(e){var 
t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r="and false then 
defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil 
else break undef not super class case require yield alias while ensure elsif or include attr_reader 
attr_writer 
attr_accessor",a={cN:"doctag",b:"@[A-Za-z]+"},n={b:"#<",e:">"},i=[e.C("#","$",{c:[a]}),e.C("^\\=begin","^\\=end",{c:[a],r:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:r},c={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]},o={cN:"params",b:"\\(",e:"\\)",ends
 Parent:!
 0,k:r},l=[c,n,{cN:"class",bK:"class 
module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(i)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:t}),o].concat(i)},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[c,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[n,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(i),r:0}].concat(i);s.c=l,o.c=l;var
 
d="[>?]>",u="[\\w#]+\\(\\w+\\):\\d+:\\d+>",b="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",p=[{b:/^\s*=>/,starts:{e:"$",c:l}},{cN:"meta",b:"^("+d+"|"+u+"|"+b+")",starts:{e:"$",c:l}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:i.concat(p).concat(l)}}),e.registerLanguage("erb",function(e){return{s
 L:"xml",
 
c:[e.C("<%#","%>"),{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0}]}}),e.registerLanguage("fsharp",function(e){var
 t={b:"<",e:">",c:[e.inherit(e.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],k:"abstract and as assert 
base begin class default delegate do done downcast downto elif else end exception extern false finally for 
fun function global if in inherit inline interface internal lazy let match member module mutable namespace 
new null of open or override private public rec return sig static struct then to true try type upcast use val 
void when while with 
yield",i:/\/\*/,c:[{cN:"keyword",b:/\b(yield|return|let|do)!/},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},e.C("\\(\\*","\\*\\)"),{cN:"class",bK:"type",e:"\\(|=|$",eE:!0,c:[e.UTM,t]},{cN:"meta",b:"\\[<",e:">\\]",r:10},{cN:"symbol",b:"\\B('[A-Za-z])\\b",c:[e.BE]},e.CLCM,e.inherit(e.QSM,{i:null}),e.CNM]}}),e.registerLanguage("go",function(e){var
 t={keyword:"break default func interface select cas
 e map st
 ruct chan else goto package switch const fallthrough if range type continue for import return var go defer 
bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int 
uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new 
panic print println real recover 
delete"};return{aliases:["golang"],k:t,i:"</",c:[e.CLCM,e.CBCM,e.QSM,{cN:"string",b:"'",e:"[^\\\\]'"},{cN:"string",b:"`",e:"`"},{cN:"number",b:e.CNR+"[dflsi]?",r:0},e.CNM]}}),e.registerLanguage("haml",function(e){return{cI:!0,c:[{cN:"meta",b:"^!!!(
 
(5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},e.C("^\\s*(!=#|=#|-#|/).*$",!1,{r:0}),{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"selector-tag",b:"\\w+"},{cN:"selector-id",b:"#[\\w-]+"},{cN:"selector-class",b:"\\.[\\w-]+"},{b:"{\\s*",e:"\\s*}",c:[{b:":\\w+\\s*=>",e:",\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:":\\w+"},e.ASM,e.QSM,{b:"\\w+",
 r:0}]}]}
 
,{b:"\\(\\s*",e:"\\s*\\)",eE:!0,c:[{b:"\\w+\\s*=",e:"\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:"\\w+",r:0},e.ASM,e.QSM,{b:"\\w+",r:0}]}]}]},{b:"^\\s*[=~]\\s*"},{b:"#{",starts:{e:"}",sL:"ruby"}}]}}),e.registerLanguage("haskell",function(e){var
 
t={v:[e.C("--","$"),e.C("{-","-}",{c:["self"]})]},r={cN:"meta",b:"{-#",e:"#-}"},a={cN:"meta",b:"^#",e:"$"},n={cN:"type",b:"\\b[A-Z][\\w']*",r:0},i={b:"\\(",e:"\\)",i:'"',c:[r,a,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TM,{b:"[_a-z][\\w']*"}),t]},s={b:"{",e:"}",c:i.c};return{aliases:["hs"],k:"let
 in if then else case of where do module import hiding qualified type data newtype deriving class instance as 
default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo 
proc rec",c:[{bK:"module",e:"where",k:"module where",c:[i,t],i:"\\W\\.|;"},{b:"\\bimport\\b",e:"$",k:"import 
qualified as hiding",c:[i,t],i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class
  family 
 instance where",c:[n,i,t]},{cN:"class",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype 
deriving",
-c:[r,n,i,s,t]},{bK:"default",e:"$",c:[n,i,t]},{bK:"infix infixl 
infixr",e:"$",c:[e.CNM,t]},{b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm 
dotnet safe unsafe",c:[n,e.QSM,t]},{cN:"meta",b:"#!\\/usr\\/bin\\/env 
runhaskell",e:"$"},r,a,e.QSM,e.CNM,n,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),t,{b:"->|<-"}]}}),e.registerLanguage("http",function(e){var
 
t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+
 (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" 
",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": 
",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}}),e.registerLanguage("ini",function(e){var
 
t={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"
 attr",b:
 
/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},t,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}}),e.registerLanguage("java",function(e){var
 t=e.UIR+"(<"+e.UIR+">)?",r="false synchronized int abstract float private char boolean static null if const 
for true while long strictfp finally protected import native final void enum else break transient catch 
instanceof byte super volatile case assert short package default double public try this switch continue 
throws protected public 
private",a="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",n={cN:"number",b:a,r:0};return{aliases:["jsp"],k:r,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class"
 ,bK:"cla
 ss interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new 
throw return 
else",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},n,{cN:"meta",b:"@[A-Za-z]+"}]}}),e.registerLanguage("javascript",function(e){return{aliases:["js"],k:{keyword:"in
 of if for while finally var new function do return void else break catch instanceof with throw case default 
try this switch continue typeof delete let yield const export super debugger as async await import from 
as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt 
decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error 
EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math 
Date String RegExp
  Array F
 loat32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array 
Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set 
Map WeakSet WeakMap Proxy Reflect Promise"},c:[{cN:"meta",r:10,b:/^\s*['"]use 
(strict|asm)['"]/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return
 throw 
case",c:[e.CLCM,e.CBCM,e.RM,{b:/</,e:/>\s*[);\]]/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:[e.CLCM,e.CBCM]}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#/}}),e.registerLanguage("json",function(e){var
 t={literal:"true false null"},r=[
 e.QSM,e.
 
CNM],a={e:",",eW:!0,eE:!0,c:r,k:t},n={b:"{",e:"}",c:[{cN:"attr",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:a}],i:"\\S"},i={b:"\\[",e:"\\]",c:[e.inherit(a)],i:"\\S"};return
 r.splice(r.length,0,n,i),{c:r,k:t,i:"\\S"}}),e.registerLanguage("lisp",function(e){var 
t="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",r="\\|[^]*?\\|",a="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",n={cN:"meta",b:"^#!",e:"$"},i={cN:"literal",b:"\\b(t{1}|nil)\\b"},s={cN:"number",v:[{b:a,r:0},{b:"#(b|B)[0-1]+(/[0-1]+)?"},{b:"#(o|O)[0-7]+(/[0-7]+)?"},{b:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{b:"#(c|C)\\("+a+"
 
+"+a,e:"\\)"}]},c=e.inherit(e.QSM,{i:null}),o=e.C(";","$",{r:0}),l={b:"\\*",e:"\\*"},d={cN:"symbol",b:"[:&]"+t},u={b:t,r:0},b={b:r},p={b:"\\(",e:"\\)",c:["self",i,c,s,u]},m={c:[s,c,l,d,p,u],v:[{b:"['`]\\(",e:"\\)"},{b:"\\(quote
 ",e:"\\)",k:{name:"quote"}},{b:"'"+r}]},f={v:[{b:"'"+t},{b:"#'"+t+"(::"+t+")*"}]},g={b:"\\(\\s*",e:
 "\\)"},h
 ={eW:!0,r:0};return 
g.c=[{cN:"name",v:[{b:t},{b:r}]},h],h.c=[m,f,g,i,s,c,o,l,d,b,u],{i:/\S/,c:[s,n,i,c,o,m,f,g,u]}}),e.registerLanguage("lua",function(e){var
 
t="\\[=*\\[",r="\\]=*\\]",a={b:t,e:r,c:["self"]},n=[e.C("--(?!"+t+")","$"),e.C("--"+t,r,{c:[a],r:10})];return{l:e.UIR,k:{keyword:"and
 break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G 
_VERSION 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 coroutine debug io math os package string 
table"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:r,c:[a],r:5}])}}),e.registerLanguage("makefile",function(e){var
 t={cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]};retu
 rn{alias
 
es:["mk","mak"],c:[e.HCM,{b:/^\w+\s*\W*=/,rB:!0,r:0,starts:{e:/\s*\W*=/,eE:!0,starts:{e:/$/,r:0,c:[t]}}},{cN:"section",b:/^[\w]+:\s*$/},{cN:"meta",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,r:0,c:[e.QSM,t]}]}}),e.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^(
 {4}|    
)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:"^\\[.+\\]:",rB:!0,c:[{cN:"symbol",b:"\\[",e:"\\]:",eB:!0,eE:!0,starts:{cN:"link",e:"$"}}]}]}}),e.registerLanguage("matlab",function(e){var
 t=[e.CNM,{cN:"string",b:"'
 ",e:"'",
 c:[e.BE,{b:"''"}]}],r={r:0,c:[{b:/'['\.]*/}]};return{k:{keyword:"break case catch classdef continue else 
elseif end enumerated events for function global if methods otherwise parfor persistent properties return 
spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh 
atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd 
acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle 
complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh 
besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi 
legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart 
sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray 
size length ndims nume
 l disp i
 sempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find 
sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax 
realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal 
rosser toeplitz vander 
wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}]}]},{b:/[a-zA-Z_][a-zA-Z_0-9]*'['\.]*/,rB:!0,r:0,c:[{b:/[a-zA-Z_][a-zA-Z_0-9]*/,r:0},r.c[0]]},{b:"\\[",e:"\\]",c:t,r:0,starts:r},{b:"\\{",e:/}/,c:t,r:0,starts:r},{b:/\)/,r:0,starts:r},e.C("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),e.C("\\%","$")].concat(t)}}),e.registerLanguage("nginx",function(e){var
 t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},r={eW:!0,l:"[a-z/_]+",k:{literal:"on 
off yes no true false none blocked debug info notice warn error crit select break last permanent redir
 ect kque
 ue rtsig epoll poll 
/dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:r}],r:0}],i:"[^\\s\\}]"}}),e.registerLanguage("objectivec",function(e){var
 t={cN:"built_in",b:"(AV|CA|CF|CG|CI|MK|MP|NS|UI)\\w+"},r={keyword:"int float while char export sizeof 
typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else 
break extern asm case short default double register explicit signed typename this switch continue wchar_t 
inline read
 only ass
 ign readwrite self @synchronized id typeof nonatomic super unichar 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",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t 
dispatch_sync dispatch_async dispatch_once"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol 
@implementation";return{aliases:["mm","objc","obj-c"],k:r,l:a,i:"</",c:[t,e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[e.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"meta",b:"#",e:"$",c:[{cN:"string",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+n.split("
 
").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:a,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}}),e.registerLanguage("perl",function(e){var
 t="getpwent getservent quotemeta msgrcv scalar kill dbmclose unde
 f lc ma 
 syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format 
read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 
opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock 
exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift 
fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos 
last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack 
getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use 
unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir 
prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack 
getnetbyname reset chdir grep split requ
 ire call
 er lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined 
srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt 
getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate 
exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm 
pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state 
when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},a={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],s=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),a,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[
 e.BE]},{
 
b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split
 return print reverse 
grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return
 r.c=s,a.c=s,{aliases:["pl"],k:t,c:s}}),e.registerLanguage("php",function(e){var 
t={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},r={cN:"meta",b:/<\?(php)?|\?>/},a={cN:"string",c:[e.BE,r],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and
 include_once list abstract global private echo interface as static endswitch
  array n
 ull if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif 
include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval 
new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue 
endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield 
finally",c:[e.CLCM,e.HCM,e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"},r]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},r,t,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,a,n]}]},{cN:"class",bK:"class
 interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends 
implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{b
 K:"use",
 e:";",c:[e.UTM]},{b:"=>"},a,n]}}),e.registerLanguage("python",function(e){var t={cN:"meta",b:/^(>>>|\.\.\.) 
/},r={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[t],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[t],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},a={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},n={cN:"params",b:/\(/,e:/\)/,c:["self",t,a,r]};return{aliases:["py","gyp"],k:{keyword:"and
 elif is global as in if from raise for except finally print import pass return exec else break not with 
class assert yield try while continue del or def lambda async await nonlocal|10 None True 
False",built_in:"Ellipsis 
NotImplemented"},i:/(<\/|->|\?)/,c:[t,a,r,e.HCM,{v:[{cN:"function",bK:"def",r:10},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,n]},{cN:"meta",b:/^[\t
 ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}}),e.registerLanguage("r",function(e){var t="([a-zA-Z]|\\.[a-zA-Z.])[a-z
 A-Z0-9._
 ]*";return{c:[e.HCM,{b:t,l:t,k:{keyword:"function if in break next repeat else for return switch while try 
tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass 
...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 
NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[e.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}}),e.registerLanguage("rust",function(e){var
 t="([uif](8|16|32|64|size))?",r=e.inherit(e.CBCM);return 
r.c.push("self"),{aliases:["rs"],k:{keyword:"alignof as be box break const continue crate do else enum extern 
false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof 
static s
 truct su
 per trait true type typeof unsafe unsized use virtual while where yield int i8 i16 i32 i64 uint u8 u32 u64 
float f32 f64 str char bool",built_in:"Copy Send Sized Sync Drop Fn FnMut FnOnce drop Box ToOwned Clone 
PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator 
ExactSizeIterator Option Some None Result Ok Err SliceConcatExt String ToString Vec 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!"},l:e.IR+"!?",i:"</",c:[e.CLCM,r,e.inherit(e.QSM,{i:null}),{cN:"string",v:[{b:/r(#*)".*?"\1(?!#)/},{b:/'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{cN:"symbol",b:/'[a-zA-Z_][a-zA-Z0-9_]*/},{cN:"number",v:[{b:"\\b0b([01_]+)"+t},{b:"\\b0o([0-7_]+)"+t},{b:"\\b0x([A-Fa-f0-9_]+)"+t},{b:"\\b(\\d[\\d_]
 *(\\.[0-
 
9_]+)?([eE][+-]?[0-9_]+)?)"+t}],r:0},{cN:"function",bK:"fn",e:"(\\(|<)",eE:!0,c:[e.UTM]},{cN:"meta",b:"#\\!?\\[",e:"\\]"},{cN:"class",bK:"type",e:"(=|<)",c:[e.UTM],i:"\\S"},{cN:"class",bK:"trait
 
enum",e:"{",c:[e.inherit(e.UTM,{endsParent:!0})],i:"[\\w\\d]"},{b:e.IR+"::"},{b:"->"}]}}),e.registerLanguage("scala",function(e){var
 
t={cN:"meta",b:"@[A-Za-z]+"},r={cN:"subst",v:[{b:"\\$[A-Za-z0-9_]+"},{b:"\\${",e:"}"}]},a={cN:"string",v:[{b:'"',e:'"',i:"\\n",c:[e.BE]},{b:'"""',e:'"""',r:10},{b:'[a-z]+"',e:'"',i:"\\n",c:[e.BE,r]},{cN:"string",b:'[a-z]+"""',e:'"""',c:[r],r:10}]},n={cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"},i={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},s={cN:"title",b:/[^0-9\n\t
 "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,r:0},c={cN:"class",bK:"class object 
trait type",e:/[:={\[\n;]/,eE:!0,c:[{bK:"extends 
with",r:10},{cN:"params",b:/\(/,e:/\)/,r:0},s]},o={cN:"function",bK:"def",e:/[:={\[(\n;]/,c:[s]};return{k:{literal:"true
 false null",keyword:"type 
 yield la
 zy override def with val var sealed abstract private trait object if forSome for while throw finally 
protected extends import final return else break new catch super class case package default try this match 
continue throws implicit"},c:[e.CLCM,e.CBCM,a,n,i,o,c,e.CNM,t]}}),e.registerLanguage("scheme",function(e){var 
t="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",r="(\\-|\\+)?\\d+([./]\\d+)?",a=r+"[+\\-]"+r+"i",n={built_in:"case-lambda
 call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values 
let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case 
syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file 
call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* 
let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle 
append apply asin as
 soc assq
  assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr 
cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase 
char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? 
char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port 
current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt 
floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment 
lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar 
make-rectangular make-string make-vector max member memq memv min modulo negative? newline not 
null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? 
pair? peek-char port? positive? procedure? quasiqu
 ote quot
 e quotient rational? rationalize read read-char real-part real? remainder reverse round 
scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol 
string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! 
string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring 
symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! 
vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char 
zero?"},i={cN:"meta",b:"^#!",e:"$"},s={cN:"literal",b:"(#t|#f|#\\\\"+t+"|#\\\\.)"},c={cN:"number",v:[{b:r,r:0},{b:a,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},o=e.QSM,l=[e.C(";","$",{r:0}),e.C("#\\|","\\|#")],d={b:t,r:0},u={cN:"symbol",b:"'"+t},b={eW:!0,r:0},p={v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}],c:[{cN:"name",b:t,l:t,k:n},b]};return
 b.c=[
 s,c,o,d,
 u,p].concat(l),{i:/\S/,c:[i,c,o,u,p].concat(l)}}),e.registerLanguage("smalltalk",function(e){var 
t="[a-z][a-zA-Z0-9_]*",r={cN:"string",b:"\\$.{1}"},a={cN:"symbol",b:"#"+e.UIR};return{aliases:["st"],k:"self 
super nil true false 
thisContext",c:[e.C('"','"'),e.ASM,{cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},{b:t+":",r:0},e.CNM,a,r,{b:"\\|[ 
]*"+t+"([ ]+"+t+")*[ ]*\\|",rB:!0,e:/\|/,i:/\S/,c:[{b:"(\\|[ 
]*)?"+t}]},{b:"\\#\\(",e:"\\)",c:[e.ASM,r,e.CNM,a]}]}}),e.registerLanguage("sql",function(e){var 
t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create 
drop rename call delete do handler insert load replace select truncate update set show pragma grant merge 
describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze 
cache flush optimize repair kill install uninstall checksum restore check backup 
revoke",e:/;/,eW:!0,k:{keyword:"abort abs absolute acc acce accep accept access accessed a
 ccessibl
 e account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after 
agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset 
anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate 
asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated 
authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup 
badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double 
binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both 
bound buffer_cache buffer_pool build bulk by byte byteordermark bytes c cache caching call calling cancel 
capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length 
character_length characters characterset c
 harindex
  charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client 
clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col 
collate collation collect colu colum column column_value columns columns_updated comment commit compact 
compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm 
conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider 
consistent constant constraint constraints constructor container content contents context contributors 
controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big 
counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist 
curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle d 
data database databases dat
 afile da
 tafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart 
datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone 
ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults 
deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth 
dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic 
diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile 
disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double 
downgrade drop dumpfile duplicate duration e each edition editionable editions element ellipsis else elsif 
elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines 
enqueue enterprise entityescapin
 g eomont
 h error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude 
excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent 
external external_1 external_2 externally extract f failed failed_login_attempts failover failure far fast 
feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish 
first first_value fixed flash_cache flashback floor flush following follows for forall force form forma 
format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function g 
general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants 
greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash 
hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http i id 
ident_current ident_incr id
 ent_seed
  identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including 
increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile 
initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr 
interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not 
is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists k keep keep_duplicates 
key keys kill l language large last last_day last_insert_id last_value lax lcase lead leading least leaves 
left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little 
ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile 
logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad 
lrtrim ltrim m main make_set m
 akedate 
 maketime managed management manual map mapping mask master master_pos_wait match matched materialized max 
maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures 
median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus 
minute minvalue missing mod mode model modification modify module monitoring month months mount move movement 
multiset mutex n name name_const names nan national native natural nav nchar nclob nested never new newline 
next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay 
nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue 
nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs 
noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait 
nth_value nullif nulls nu
 m numb n
 umbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber 
ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on 
online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata 
ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile 
outline output over overflow overriding p package pad parallel parallel_enable parameters parent parse 
partial partition partitions pascal passing password password_grace_time password_lock_time 
password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold 
pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add 
period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow 
power pragma prebuilt precedes preceding p
 recision
  prediction prediction_cost prediction_details prediction_probability prediction_set prepare present 
preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist 
profiles project prompt protection public publishingservername purge quarter query quick quiesce quota 
quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery 
recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register 
regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational 
relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace 
replicate replication required reset resetlogs resize resource respect restore restricted result result_cache 
resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback 
rolling rollup round row row_count rowd
 ependenc
 ies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn 
scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed 
segment select self sequence sequential serializable server servererror session session_user 
sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown 
si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid 
sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort 
soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows 
sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone 
standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test 
stats_mode stats_mw_test stats_one_way_anova stats_t_tes
 t_ stats
 _t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp 
stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate 
subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend 
switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate 
sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime t table tables tablespace tan tdo template 
temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone 
timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute 
timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction 
transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast 
try_convert try_parse type ub1 ub2 ub4 ucase unarchived u
 nbounded
  uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock 
unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper 
upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date 
utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp 
varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version 
versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene 
whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes 
xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema 
xmlserialize xmltable xmltype xor year year_to_month years yearweek",
-literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal 
float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying 
void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}}),e.registerLanguage("tcl",function(e){return{aliases:["tk"],k:"after
 append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset 
bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit 
expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http 
if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 
lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package 
parray pid 
 pkg::cre
 ate pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return 
safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord 
tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown 
unload unset update uplevel upvar variable vwait while",c:[e.C(";[ \\t]*#","$"),e.C("^[ 
\\t]*#","$"),{bK:"proc",e:"[\\{]",eE:!0,c:[{cN:"title",b:"[ 
\\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"[ 
\\t\\n\\r]",eW:!0,eE:!0}]},{eE:!0,v:[{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",e:"[^a-zA-Z0-9_\\}\\$]"},{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{cN:"string",c:[e.BE],v:[e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},{cN:"number",v:[e.BNM,e.CNM]}]}}),e.registerLanguage("tex",function(e){var
 t={cN:"tag",b:/\\/,r:0,c:[{cN:"name",v:[{b:/[a-zA-Zа-яА-я]+[*]?/},{b:/[^a-zA-Zа-яА-я0-9]/}
 ],starts
 
:{eW:!0,r:0,c:[{cN:"string",v:[{b:/\[/,e:/\]/},{b:/\{/,e:/\}/}]},{b:/\s*=\s*/,eW:!0,r:0,c:[{cN:"number",b:/-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{c:[t,{cN:"formula",c:[t],r:0,v:[{b:/\$\$/,e:/\$\$/},{b:/\$/,e:/\$/}]},e.C("%","$",{r:0})]}}),e.registerLanguage("vala",function(e){return{k:{keyword:"char
 uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float 
double bool struct enum string void weak unowned owned async signal static abstract interface override while 
do for foreach else switch case break default return try catch public private protected internal using new 
this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object",literal:"false true 
null"},c:[{cN:"class",bK:"class interface delegate 
namespace",e:"{",eE:!0,i:"[^,:\\n\\s\\.]",c:[e.UTM]},e.CLCM,e.CBCM,{cN:"string",b:'"""',e:'"""',r:5},e.ASM,e.QSM,e.CNM,{cN:"meta",b:"^#",e:"$",r:2}]}}),e.registerLanguage("xquery",function(e){var
 t=
 "for let
  if while then else return where group by xquery encoding versionmodule namespace boundary-space preserve 
strip default collation base-uri orderingcopy-namespaces order declare import schema namespace function 
option in allowing emptyat tumbling window sliding window start when only end when previous next stable 
ascendingdescending empty greatest least some every satisfies switch case typeswitch try catch andor to union 
intersect instance of treat as castable cast map array delete insert intoreplace value rename copy modify 
update",r="false true xs:string xs:integer element item xs:date xs:datetime xs:float xs:double xs:decimal 
QName xs:anyURI xs:long xs:int xs:short xs:byte 
attribute",a={b:/\$[a-zA-Z0-9\-]+/,r:5},n={cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},i={cN:"string",v:[{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},s={cN:"meta",b:"%\\w+"},c={cN:"comment",b:"\\(:",e:":\\)",r:10,c:[{cN:"doctag",b:"@\\
 w+"}]},o
 ={b:"{",e:"}"},l=[a,i,n,c,s,o];return 
o.c=l,{aliases:["xpath","xq"],cI:!1,l:/[a-zA-Z\$][a-zA-Z0-9_:\-]*/,i:/(proc)|(abstract)|(extends)|(until)|(#)/,k:{keyword:t,literal:r},c:l}}),e.registerLanguage("yaml",function(e){var
 t={literal:"{ } true false yes no Yes No True False null"},r="^[ 
\\-]*",a="[a-zA-Z_][\\w\\-]*",n={cN:"attr",v:[{b:r+a+":"},{b:r+'"'+a+'":'},{b:r+"'"+a+"':"}]},i={cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]},s={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/}],c:[e.BE,i]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[n,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>]
 
*$",rE:!0,c:s.c,e:n.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^
 *-",r:0},s,e.HCM,e.CNM],k:t}}),e});
\ No newline at end of file
+/*! highlight.js v9.15.8 | BSD3 License | git.io/hljslicense */
+!function(e){var t="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof 
exports?e(exports):t&&(t.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return 
t.hljs}))}(function(n){var 
b=[],o=Object.keys,h={},p={},t=/^(no-?highlight|plain|text)$/i,m=/\blang(?:uage)?-([\w-]+)\b/i,r=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,a={case_insensitive:"cI",lexemes:"l",contains:"c",keywords:"k",subLanguage:"sL",className:"cN",begin:"b",beginKeywords:"bK",end:"e",endsWithParent:"eW",illegal:"i",excludeBegin:"eB",excludeEnd:"eE",returnBegin:"rB",returnEnd:"rE",relevance:"r",variants:"v",IDENT_RE:"IR",UNDERSCORE_IDENT_RE:"UIR",NUMBER_RE:"NR",C_NUMBER_RE:"CNR",BINARY_NUMBER_RE:"BNR",RE_STARTERS_RE:"RSR",BACKSLASH_ESCAPE:"BE",APOS_STRING_MODE:"ASM",QUOTE_STRING_MODE:"QSM",PHRASAL_WORDS_MODE:"PWM",C_LINE_COMMENT_MODE:"CLCM",C_BLOCK_COMMENT_MODE:"CBCM",HASH_COMMENT_MODE:"HCM",NUMBER_MODE:"NM",C_NUMBER_MODE:"CNM",BINARY_NUMBER_MODE:"BNM",CSS_NUMBER_MODE:"CSSNM
 ",REGEXP
 
_MODE:"RM",TITLE_MODE:"TM",UNDERSCORE_TITLE_MODE:"UTM",COMMENT:"C",beginRe:"bR",endRe:"eR",illegalRe:"iR",lexemesRe:"lR",terminators:"t",terminator_end:"tE"},y="</span>",v={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void
 0};function N(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function 
f(e){return e.nodeName.toLowerCase()}function w(e,t){var r=e&&e.exec(t);return r&&0===r.index}function 
g(e){return t.test(e)}function d(e){var t,r={},a=Array.prototype.slice.call(arguments,1);for(t in 
e)r[t]=e[t];return a.forEach(function(e){for(t in e)r[t]=e[t]}),r}function _(e){var n=[];return function 
e(t,r){for(var 
a=t.firstChild;a;a=a.nextSibling)3===a.nodeType?r+=a.nodeValue.length:1===a.nodeType&&(n.push({event:"start",offset:r,node:a}),r=e(a,r),f(a).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:a}));return
 r}(e,0),n}function i(e){if(a&&!e.langApiRestored){for(var t in 
e.langApiRestored=!0,a)e[t]&&(e[a[t]]=e[t]);(e.c||[]).conca
 t(e.v||[
 ]).forEach(i)}}function x(s){function l(e){return e&&e.source||e}function c(e,t){return new 
RegExp(l(e),"m"+(s.cI?"i":"")+(t?"g":""))}!function 
t(r,e){if(!r.compiled){if(r.compiled=!0,r.k=r.k||r.bK,r.k){var 
a={},n=function(r,e){s.cI&&(e=e.toLowerCase()),e.split(" ").forEach(function(e){var 
t=e.split("|");a[t[0]]=[r,t[1]?Number(t[1]):1]})};"string"==typeof 
r.k?n("keyword",r.k):o(r.k).forEach(function(e){n(e,r.k[e])}),r.k=a}r.lR=c(r.l||/\w+/,!0),e&&(r.bK&&(r.b="\\b("+r.bK.split("
 
").join("|")+")\\b"),r.b||(r.b=/\B|\b/),r.bR=c(r.b),r.endSameAsBegin&&(r.e=r.b),r.e||r.eW||(r.e=/\B|\b/),r.e&&(r.eR=c(r.e)),r.tE=l(r.e)||"",r.eW&&e.tE&&(r.tE+=(r.e?"|":"")+e.tE)),r.i&&(r.iR=c(r.i)),null==r.r&&(r.r=1),r.c||(r.c=[]),r.c=Array.prototype.concat.apply([],r.c.map(function(e){return(t="self"===e?r:e).v&&!t.cached_variants&&(t.cached_variants=t.v.map(function(e){return
 d(t,{v:null},e)})),t.cached_variants||t.eW&&[d(t)]||[t];var 
t})),r.c.forEach(function(e){t(e,r)}),r.starts&&t(r.starts,e);var
  i=r.c.m
 ap(function(e){return 
e.bK?"\\.?(?:"+e.b+")\\.?":e.b}).concat([r.tE,r.i]).map(l).filter(Boolean);r.t=i.length?c(function(e,t){for(var
 r=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,a=0,n="",i=0;i<e.length;i++){var 
s=a,c=l(e[i]);for(0<i&&(n+=t);0<c.length;){var 
o=r.exec(c);if(null==o){n+=c;break}n+=c.substring(0,o.index),c=c.substring(o.index+o[0].length),"\\"==o[0][0]&&o[1]?n+="\\"+String(Number(o[1])+s):(n+=o[0],"("==o[0]&&a++)}}return
 n}(i,"|"),!0):{exec:function(){return null}}}}(s)}function k(e,t,c,r){function o(e,t,r,a){var n='<span 
class="'+(a?"":v.classPrefix);return e?(n+=e+'">')+t+(r?"":y):t}function l(){p+=null!=b.sL?function(){var 
e="string"==typeof b.sL;if(e&&!h[b.sL])return N(m);var t=e?k(b.sL,m,!0,i[b.sL]):E(m,b.sL.length?b.sL:void 
0);return 0<b.r&&(f+=t.r),e&&(i[b.sL]=t.top),o(t.language,t.value,!1,!0)}():function(){var 
e,t,r,a,n,i,s;if(!b.k)return 
N(m);for(a="",t=0,b.lR.lastIndex=0,r=b.lR.exec(m);r;)a+=N(m.substring(t,r.index)),n=b,i=r,s=u.cI?i[0].toLower
 Case():i
 
[0],(e=n.k.hasOwnProperty(s)&&n.k[s])?(f+=e[1],a+=o(e[0],N(r[0]))):a+=N(r[0]),t=b.lR.lastIndex,r=b.lR.exec(m);return
 a+N(m.substr(t))}(),m=""}function 
d(e){p+=e.cN?o(e.cN,"",!0):"",b=Object.create(e,{parent:{value:b}})}function a(e,t){if(m+=e,null==t)return 
l(),0;var r=function(e,t){var r,a,n;for(r=0,a=t.c.length;r<a;r++)if(w(t.c[r].bR,e))return 
t.c[r].endSameAsBegin&&(t.c[r].eR=(n=t.c[r].bR.exec(e)[0],new 
RegExp(n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m"))),t.c[r]}(t,b);if(r)return 
r.skip?m+=t:(r.eB&&(m+=t),l(),r.rB||r.eB||(m=t)),d(r),r.rB?0:t.length;var a,n,i=function 
e(t,r){if(w(t.eR,r)){for(;t.endsParent&&t.parent;)t=t.parent;return t}if(t.eW)return 
e(t.parent,r)}(b,t);if(i){var 
s=b;for(s.skip?m+=t:(s.rE||s.eE||(m+=t),l(),s.eE&&(m=t));b.cN&&(p+=y),b.skip||b.sL||(f+=b.r),(b=b.parent)!==i.parent;);return
 i.starts&&(i.endSameAsBegin&&(i.starts.eR=i.eR),d(i.starts)),s.rE?0:t.length}if(a=t,n=b,!c&&w(n.iR,a))throw 
new Error('Illegal lexeme "'+t+'" for mode "'+(b.cN||"<unna
 med>")+'
 "');return m+=t,t.length||1}var u=C(e);if(!u)throw new Error('Unknown language: "'+e+'"');x(u);var 
n,b=r||u,i={},p="";for(n=b;n!==u;n=n.parent)n.cN&&(p=o(n.cN,"",!0)+p);var m="",f=0;try{for(var 
s,g,_=0;b.t.lastIndex=_,s=b.t.exec(t);)g=a(t.substring(_,s.index),s[0]),_=s.index+g;for(a(t.substr(_)),n=b;n.parent;n=n.parent)n.cN&&(p+=y);return{r:f,value:p,language:e,top:b}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{r:0,value:N(t)};throw
 e}}function E(r,e){e=e||v.languages||o(h);var a={r:0,value:N(r)},n=a;return 
e.filter(C).filter(l).forEach(function(e){var 
t=k(e,r,!1);t.language=e,t.r>n.r&&(n=t),t.r>a.r&&(n=a,a=t)}),n.language&&(a.second_best=n),a}function 
M(e){return v.tabReplace||v.useBR?e.replace(r,function(e,t){return 
v.useBR&&"\n"===e?"<br>":v.tabReplace?t.replace(/\t/g,v.tabReplace):""}):e}function s(e){var 
t,r,a,n,i,s,c,o,l,d,u=function(e){var t,r,a,n,i=e.className+" 
";if(i+=e.parentNode?e.parentNode.className:"",r=m.exec(i))return C(r[1])?r[1]:"no-hig
 hlight";
 for(t=0,a=(i=i.split(/\s+/)).length;t<a;t++)if(g(n=i[t])||C(n))return 
n}(e);g(u)||(v.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div";)).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[
 
\/]*>/g,"\n"):t=e,i=t.textContent,a=u?k(u,i,!0):E(i),(r=_(t)).length&&((n=document.createElementNS("http://www.w3.org/1999/xhtml","div";)).innerHTML=a.value,a.value=function(e,t,r){var
 a=0,n="",i=[];function s(){return 
e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function
 c(e){n+="<"+f(e)+b.map.call(e.attributes,function(e){return" 
"+e.nodeName+'="'+N(e.value).replace('"',"&quot;")+'"'}).join("")+">"}function o(e){n+="</"+f(e)+">"}function 
l(e){("start"===e.event?c:o)(e.node)}for(;e.length||t.length;){var 
d=s();if(n+=N(r.substring(a,d[0].offset)),a=d[0].offset,d===e){for(i.reverse().forEach(o);l(d.splice(0,1)[0]),(d=s())===e&&d.length&&d[0].offset===a;);i.reverse().forEach(c)}else"start"===d[0].event?i.
 push(d[0
 ].node):i.pop(),l(d.splice(0,1)[0])}return 
n+N(r.substr(a))}(r,_(n),i)),a.value=M(a.value),e.innerHTML=a.value,e.className=(s=e.className,c=u,o=a.language,l=c?p[c]:o,d=[s.trim()],s.match(/\bhljs\b/)||d.push("hljs"),-1===s.indexOf(l)&&d.push(l),d.join("
 
").trim()),e.result={language:a.language,re:a.r},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.r}))}function
 c(){if(!c.called){c.called=!0;var e=document.querySelectorAll("pre code");b.forEach.call(e,s)}}function 
C(e){return e=(e||"").toLowerCase(),h[e]||h[p[e]]}function l(e){var t=C(e);return 
t&&!t.disableAutodetect}return 
n.highlight=k,n.highlightAuto=E,n.fixMarkup=M,n.highlightBlock=s,n.configure=function(e){v=d(v,e)},n.initHighlighting=c,n.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",c,!1),addEventListener("load",c,!1)},n.registerLanguage=function(t,e){var
 r=h[t]=e(n);i(r),r.aliases&&r.aliases.forEach(function(e){p[e]=t})},n.listLanguages=function(){return 
o(h)},n.
 getLangu
 
age=C,n.autoDetection=l,n.inherit=d,n.IR=n.IDENT_RE="[a-zA-Z]\\w*",n.UIR=n.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",n.NR=n.NUMBER_RE="\\b\\d+(\\.\\d+)?",n.CNR=n.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",n.BNR=n.BINARY_NUMBER_RE="\\b(0b[01]+)",n.RSR=n.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",n.BE=n.BACKSLASH_ESCAPE={b:"\\\\[\\s\\S]",r:0},n.ASM=n.APOS_STRING_MODE={cN:"string",b:"'",e:"'",i:"\\n",c:[n.BE]},n.QSM=n.QUOTE_STRING_MODE={cN:"string",b:'"',e:'"',i:"\\n",c:[n.BE]},n.PWM=n.PHRASAL_WORDS_MODE={b:/\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/},n.C=n.COMMENT=function(e,t,r){var
 a=n.inherit({cN:"comment",b:e,e:t,c:[]},r||{});return 
a.c.push(n.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},n.CLCM=n.C_LINE_CO
 MMENT_MO
 
DE=n.C("//","$"),n.CBCM=n.C_BLOCK_COMMENT_MODE=n.C("/\\*","\\*/"),n.HCM=n.HASH_COMMENT_MODE=n.C("#","$"),n.NM=n.NUMBER_MODE={cN:"number",b:n.NR,r:0},n.CNM=n.C_NUMBER_MODE={cN:"number",b:n.CNR,r:0},n.BNM=n.BINARY_NUMBER_MODE={cN:"number",b:n.BNR,r:0},n.CSSNM=n.CSS_NUMBER_MODE={cN:"number",b:n.NR+"(%|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)?",r:0},n.RM=n.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[n.BE,{b:/\[/,e:/\]/,r:0,c:[n.BE]}]},n.TM=n.TITLE_MODE={cN:"title",b:n.IR,r:0},n.UTM=n.UNDERSCORE_TITLE_MODE={cN:"title",b:n.UIR,r:0},n.METHOD_GUARD={b:"\\.\\s*"+n.UIR,r:0},n.registerLanguage("actionscript",function(e){var
 t={cN:"rest_arg",b:"[.]{3}",e:"[a-zA-Z_$][a-zA-Z0-9_$]*",r:10};return{aliases:["as"],k:{keyword:"as break 
case catch class const continue default delete do dynamic each else extends final finally for function get if 
implements import in include instanceof interface internal is namespace native new overr
 ide pack
 age private protected public return set static super switch this throw try typeof use var void while 
with",literal:"true false null 
undefined"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"class",bK:"package",e:"{",c:[e.TM]},{cN:"class",bK:"class 
interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.TM]},{cN:"meta",bK:"import 
include",e:";",k:{"meta-keyword":"import 
include"}},{cN:"function",bK:"function",e:"[{;]",eE:!0,i:"\\S",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",c:[e.ASM,e.QSM,e.CLCM,e.CBCM,t]},{b:":\\s*([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)"}]},e.METHOD_GUARD],i:/#/}}),n.registerLanguage("apache",function(e){var
 
t={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:"</?",e:">"},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order
 deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule 
options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off 
all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"
 },{cN:"v
 ariable",b:"[\\$%]\\{",e:"\\}",c:["self",t]},t,e.QSM]}}],i:/\S/}}),n.registerLanguage("xml",function(e){var 
t={eW:!0,i:/</,r:0,c:[{cN:"attr",b:"[A-Za-z0-9\\._:-]+",r:0},{b:/=\s*/,r:0,c:[{cN:"string",endsParent:!0,v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("\x3c!--","--\x3e",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"meta",b:/<\?xml/,e:/\?>/,r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0},{b:'b"',e:'"',skip:!0},{b:"b'",e:"'",skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{name:"style"},c:[t],starts:{e:"</style>",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{name:"script"},c:[t],starts:{e:"<\/script>",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"tag",b:"
 </?",e:"
 
/?>",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}}),n.registerLanguage("asciidoc",function(e){return{aliases:["adoc"],c:[e.C("^/{4,}\\n","\\n/{4,}$",{r:10}),e.C("^//","$",{r:0}),{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"section",r:10,v:[{b:"^(={1,5})
 .+?( 
\\1)?$"},{b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{cN:"meta",b:"^:.+?:",e:"\\s",eE:!0,r:10},{cN:"meta",b:"^\\[.+?\\]$",r:0},{cN:"quote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"symbol",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"string",v:[{b:"``.+?''"},{b:"`.+?'"}]},{cN:"code",b:"(`.+?`|\\+.+?\\+)"
 ,r:0},{c
 N:"code",b:"^[ \\t]",e:"$",r:0},{b:"^'{3,}[ 
\\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:!0,c:[{b:"(link|image:?):",r:0},{cN:"link",b:"\\w",e:"[^\\[]+",r:0},{cN:"string",b:"\\[",e:"\\]",eB:!0,eE:!0,r:0}],r:10}]}}),n.registerLanguage("awk",function(e){return{k:{keyword:"BEGIN
 END if else while do for in break continue delete next nextfile function func 
exit|10"},c:[{cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},{cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,r:10},{b:/(u|b)?r?"""/,e:/"""/,r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},e.RM,e.HCM,e.NM]}}),n.registerLanguage("bash",function(e){var
 
t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if
 then else elif fi for while in do done case esac function",lite
 ral:"tru
 e false",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",_:"-ne -eq -lt -gt -f -d -e -s -l 
-a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,r,{cN:"",b:/\\"/},{cN:"string",b:/'/,e:/'/},t
 ]}}),n.r
 egisterLanguage("clojure",function(e){var 
t="a-zA-Z_\\-!.?+*=<>&#'",r="["+t+"]["+t+"0-9/;:]*",a={b:r,r:0},n={cN:"number",b:"[-+]?\\d+(\\.\\d+)?",r:0},i=e.inherit(e.QSM,{i:null}),s=e.C(";","$",{r:0}),c={cN:"literal",b:/\b(true|false|nil)\b/},o={b:"[\\[\\{]",e:"[\\]\\}]"},l={cN:"comment",b:"\\^"+r},d=e.C("\\^\\{","\\}"),u={cN:"symbol",b:"[:]{1,2}"+r},b={b:"\\(",e:"\\)"},p={eW:!0,r:0},m={k:{"builtin-name":"def
 defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? 
keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? 
reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? 
vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do 
dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case 
reduced cycle split-at split-with repeat replicate i
 terate r
 ange merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq 
await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch 
agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote 
var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for 
dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert 
peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify 
second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys 
select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! 
disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup 
throw-if printf format load com
 pile get
 -in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups 
rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! 
compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count 
ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array 
aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set 
sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend 
extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest 
max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate 
unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? 
prn vary-meta lazy-seq spread list* str find-keyword keyword 
 symbol g
 ensym force rationalize"},l:r,cN:"name",b:r,starts:p},f=[b,i,l,d,s,u,o,n,c,a];return 
b.c=[e.C("comment",""),m,p],p.c=f,o.c=f,d.c=[o],{aliases:["clj"],i:/\S/,c:[b,i,l,d,s,u,o,n,c]}}),n.registerLanguage("cmake",function(e){return{aliases:["cmake.in"],cI:!0,k:{keyword:"break
 cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file 
continue elseif else endforeach endfunction endif endmacro endwhile execute_process file find_file 
find_library find_package find_path find_program foreach function get_cmake_property get_directory_property 
get_filename_component get_property if include include_guard list macro mark_as_advanced math message option 
return separate_arguments set_directory_properties set_property set site_name string unset variable_watch 
while add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions 
add_dependencies add_executable add_library add_link_options add_subdirectory add_test a
 ux_sourc
 e_directory build_command create_test_sourcelist define_property enable_language enable_testing export 
fltk_wrap_ui get_source_file_property get_target_property get_test_property include_directories 
include_external_msproject include_regular_expression install link_directories link_libraries load_cache 
project qt_wrap_cpp qt_wrap_ui remove_definitions set_source_files_properties set_target_properties 
set_tests_properties source_group target_compile_definitions target_compile_features target_compile_options 
target_include_directories target_link_directories target_link_libraries target_link_options target_sources 
try_compile try_run ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck 
ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update 
ctest_upload build_name exec_program export_library_dependencies install_files install_programs 
install_targets load_command make_directory output_required_file
 s remove
  subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules 
qt5_use_package qt5_wrap_cpp on off true false and or not command policy target test exists is_newer_than 
is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater 
strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal 
version_greater_equal in_list 
defined"},c:[{cN:"variable",b:"\\${",e:"}"},e.HCM,e.QSM,e.NM]}}),n.registerLanguage("cpp",function(e){var 
t={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[e.BE]},{b:/(?:u8?|U|L)?R"([^()\\
 
]{0,16})\((?:.|\n)*?\)\1"/},{b:"'\\\\?.",e:"'",i:"."}]},a={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},n={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword
 ":"if el
 se elif endif define undef warning error line pragma ifdef ifndef 
include"},c:[{b:/\\\n/,r:0},e.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},e.CLCM,e.CBCM]},i=e.IR+"\\s*\\(",s={keyword:"int
 float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef 
const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template 
mutable if public friend do goto auto void enum else break extern using asm case typeid short 
reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete 
alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary 
atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint 
atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin 
cout cerr clog stdin stdout stderr stringstr
 eam istr
 ingstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap 
unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 
atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf 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",literal:"true false nullptr 
NULL"},c=[t,e.CLCM,e.CBCM,a,r];return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],k:s,i:"</",c:c.concat([n,{b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\
 \s*<",e:
 ">",k:s,c:["self",t]},{b:e.IR+"::",k:s},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return 
else",e:/;/}],k:s,c:c.concat([{b:/\(/,e:/\)/,k:s,c:c.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+e.IR+"[\\*&\\s]+)+"+i,rB:!0,e:/[{;=]/,eE:!0,k:s,i:/[^\w\s\*&]/,c:[{b:i,rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:s,r:0,c:[e.CLCM,e.CBCM,r,a,t,{b:/\(/,e:/\)/,k:s,r:0,c:["self",e.CLCM,e.CBCM,r,a,t]}]},e.CLCM,e.CBCM,n]},{cN:"class",bK:"class
 
struct",e:/[{;:]/,c:[{b:/</,e:/>/,c:["self"]},e.TM]}]),exports:{preprocessor:n,strings:r,k:s}}}),n.registerLanguage("cs",function(e){var
 t={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate 
do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface 
internal is lock long nameof object operator out override params private protected public readonly ref sbyte 
sealed short sizeof stackalloc static string struct switch this try typeof uint ulong 
 unchecke
 d unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic 
equals from get global group into join let on orderby partial remove select set value var where 
yield",literal:"null false 
true"},r={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},a={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},n=e.inherit(a,{i:/\n/}),i={cN:"subst",b:"{",e:"}",k:t},s=e.inherit(i,{i:/\n/}),c={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,s]},o={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},i]},l=e.inherit(o,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},s]});i.c=[o,c,a,e.ASM,e.QSM,r,e.CBCM],s.c=[l,c,n,e.ASM,e.QSM,r,e.inherit(e.CBCM,{i:/\n/})];var
 
d={v:[o,c,a,e.ASM,e.QSM]},u=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp","c#"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"d
 octag",v
 
:[{b:"///",r:0},{b:"\x3c!--|--\x3e"},{b:"</?",e:">"}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if
 else elif endif define undef warning error line region endregion pragma checksum"}},d,r,{bK:"class 
interface",e:/[{;=]/,i:/[^\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new
 return throw await 
else",r:0},{cN:"function",b:"("+u+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/\s*[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[d,r,e.CBCM]},e.CLCM,e.CBCM]}]}}),n.registerLanguage("css",function(e){var
 
t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:
 "!import
 
ant"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face
 
page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:"[a-zA-Z-][a-zA-Z0-9_-]*",r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}}),n.registerLanguage("d",function(e){var
 
t="(0|[1-9][\\d_]*)",r="("+t+"|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",a="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",n={cN:"number",b:"\\b"+r+"(L|u|U|Lu|LU|uL|UL)?",r:0},i={cN:"number",b:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\
 \d_]*|\\
 
d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+r+"(i|[fF]i|Li))",r:0},s={cN:"string",b:"'("+a+"|.)",e:"'",i:"."},c={cN:"string",b:'"',c:[{b:a,r:0}],e:'"[cwd]?'},o=e.C("\\/\\+","\\+\\/",{c:["self"],r:10});return{l:e.UIR,k:{keyword:"abstract
 alias align asm assert auto body break byte case cast catch class const continue debug default delete 
deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import 
in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private 
protected public pure ref return scope shared static struct super switch synchronized template this throw try 
typedef typeid typeof union unittest version void volatile whil
 e with _
 _FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ 
__VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function 
idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null 
true"},c:[e.CLCM,e.CBCM,o,{cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10},c,{cN:"string",b:'[rq]"',e:'"[cwd]?',r:5},{cN:"string",b:"`",e:"`[cwd]?"},{cN:"string",b:'q"\\{',e:'\\}"'},i,n,s,{cN:"meta",b:"^#!",e:"$",r:5},{cN:"meta",b:"#(line)",e:"$",r:5},{cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}),n.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@
 +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ 
+\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} 
/,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletio
 n",b:"^\
 \-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}}),n.registerLanguage("django",function(e){var 
t={b:/\|[A-Za-z]+:?/,k:{name:"truncatewords removetags linebreaksbr yesno get_digit timesince random 
striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat 
capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount 
stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center 
default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs 
force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc 
timezone"},c:[e.QSM,e.ASM]};return{aliases:["jinja"],cI:!0,sL:"xml",c:[e.C(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e.C(/\{#/,/#}/),{cN:"template-tag",b:/\{%/,e:/%}/,c:[{cN:"name",b:/\w+/,k:{name:"comment
 endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifno
 tequal e
 ndifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle 
url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static 
trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language 
get_available_languages get_current_language_bidi get_language_info get_language_info_list localize 
endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim"},starts:{eW:!0,k:"in 
by 
as",c:[t],r:0}}]},{cN:"template-variable",b:/\{\{/,e:/}}/,c:[t]}]}}),n.registerLanguage("dockerfile",function(e){return{aliases:["docker"],cI:!0,k:"from
 maintainer expose env arg user onbuild stopsignal",c:[e.HCM,e.ASM,e.QSM,e.NM,{bK:"run cmd entrypoint volume 
add copy workdir label healthcheck 
shell",starts:{e:/[^\\]$/,sL:"bash"}}],i:"</"}}),n.registerLanguage("dos",function(e){var 
t=e.C(/^\s*@?rem\b/,/$/,{r:10});return{aliases:["bat","cmd"],cI:!0,i:/\
 /\*/,k:{
 keyword:"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr 
geq",built_in:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux shift cd dir echo setlocal endlocal set 
pause copy append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert 
date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode 
more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst 
time title tree type ver verify vol ping net ipconfig taskkill xcopy ren del"},c:[{cN:"variable",b:/%%[^ 
]|%[^ ]+?%|![^ 
]+?!/},{cN:"function",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",e:"goto:eof",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),t]},{cN:"number",b:"\\b\\d+",r:0},t]}}),n.registerLanguage("ruby",function(e){var
 t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"
 and then
  defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else 
break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer 
attr_accessor",literal:"true false 
nil"},a={cN:"doctag",b:"@[A-Za-z]+"},n={b:"#<",e:">"},i=[e.C("#","$",{c:[a]}),e.C("^\\=begin","^\\=end",{c:[a],r:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:r},c={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},o={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},l=[c,n,{cN:"class",bK:"class
 
module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}
 ]}].conc
 
at(i)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:t}),o].concat(i)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[c,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[n,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(i),r:0}].concat(i);s.c=l;var
 
d=[{b:/^\s*=>/,starts:{e:"$",c:o.c=l}},{cN:"meta",b:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{e:"$",c:l}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:i.concat(d).concat(l)}}),n.registerLanguage("erb",function(e){return{sL:"xml",c:[e.C("<%#","%>"),{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0}]}}),n.registerLanguage("fsharp",function(e){var
  t={b:"<
 ",e:">",c:[e.inherit(e.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],k:"abstract and as assert base begin 
class default delegate do done downcast downto elif else end exception extern false finally for fun function 
global if in inherit inline interface internal lazy let match member module mutable namespace new null of 
open or override private public rec return sig static struct then to true try type upcast use val void when 
while with 
yield",i:/\/\*/,c:[{cN:"keyword",b:/\b(yield|return|let|do)!/},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},e.C("\\(\\*","\\*\\)"),{cN:"class",bK:"type",e:"\\(|=|$",eE:!0,c:[e.UTM,t]},{cN:"meta",b:"\\[<",e:">\\]",r:10},{cN:"symbol",b:"\\B('[A-Za-z])\\b",c:[e.BE]},e.CLCM,e.inherit(e.QSM,{i:null}),e.CNM]}}),n.registerLanguage("go",function(e){var
 t={keyword:"break default func interface select case map struct chan else goto package switch const 
fallthrough if range type continue for import return var go defer bool byt
 e comple
 x64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr 
rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print 
println real recover 
delete"};return{aliases:["golang"],k:t,i:"</",c:[e.CLCM,e.CBCM,{cN:"string",v:[e.QSM,{b:"'",e:"[^\\\\]'"},{b:"`",e:"`"}]},{cN:"number",v:[{b:e.CNR+"[dflsi]",r:1},e.CNM]},{b:/:=/},{cN:"function",bK:"func",e:/\s*\{/,eE:!0,c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:t,i:/["']/}]}]}}),n.registerLanguage("haml",function(e){return{cI:!0,c:[{cN:"meta",b:"^!!!(
 
(5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},e.C("^\\s*(!=#|=#|-#|/).*$",!1,{r:0}),{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"selector-tag",b:"\\w+"},{cN:"selector-id",b:"#[\\w-]+"},{cN:"selector-class",b:"\\.[\\w-]+"},{b:"{\\s*",e:"\\s*}",c:[{b:":\\w+\\s*=>",e:",\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:":\\w+"},e.ASM,e.QSM,{b:"\\w+",r:0}]}]},{b:"\\(\\s*",e
 :"\\s*\\
 
)",eE:!0,c:[{b:"\\w+\\s*=",e:"\\s+",rB:!0,eW:!0,c:[{cN:"attr",b:"\\w+",r:0},e.ASM,e.QSM,{b:"\\w+",r:0}]}]}]},{b:"^\\s*[=~]\\s*"},{b:"#{",starts:{e:"}",sL:"ruby"}}]}}),n.registerLanguage("haskell",function(e){var
 
t={v:[e.C("--","$"),e.C("{-","-}",{c:["self"]})]},r={cN:"meta",b:"{-#",e:"#-}"},a={cN:"meta",b:"^#",e:"$"},n={cN:"type",b:"\\b[A-Z][\\w']*",r:0},i={b:"\\(",e:"\\)",i:'"',c:[r,a,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TM,{b:"[_a-z][\\w']*"}),t]};return{aliases:["hs"],k:"let
 in if then else case of where do module import hiding qualified type data newtype deriving class instance as 
default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo 
proc rec",c:[{bK:"module",e:"where",k:"module where",c:[i,t],i:"\\W\\.|;"},{b:"\\bimport\\b",e:"$",k:"import 
qualified as hiding",c:[i,t],i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class 
family instance where",c:[n,i,t]},{cN:"class
 ",b:"\\b
 (data|(new)?type)\\b",e:"$",k:"data family type newtype 
deriving",c:[r,n,i,{b:"{",e:"}",c:i.c},t]},{bK:"default",e:"$",c:[n,i,t]},{bK:"infix infixl 
infixr",e:"$",c:[e.CNM,t]},{b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm 
dotnet safe unsafe",c:[n,e.QSM,t]},{cN:"meta",b:"#!\\/usr\\/bin\\/env 
runhaskell",e:"$"},r,a,e.QSM,e.CNM,n,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),t,{b:"->|<-"}]}}),n.registerLanguage("http",function(e){var
 
t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+
 (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" 
",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": 
",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}}),n.registerLanguage("ini",function(e){var
 
t={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,
 {cN:"sec
 
tion",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_\.-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_\.-]+/},{b:/=/,eW:!0,r:0,c:[e.C(";","$"),e.HCM,{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},t,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}}),n.registerLanguage("java",function(e){var
 t="false synchronized int abstract float private char boolean var static null if const for true while long 
strictfp finally protected import native final void enum else break transient catch instanceof byte super 
volatile case assert short package default double public try this switch continue throws protected public 
private module requires exports 
do",r={cN:"number",b:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",r:0};return{aliases:["jsp"],k:t,i:/<\/|#/,c:[e.C(
 "/\\*\\*
 
","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class
 interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new 
throw return 
else",r:0},{cN:"function",b:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},r,{cN:"meta",b:"@[A-Za-z]+"}]}}),n.registerLanguage("javascript",function(e){var
 t="[A-Za-z$_][0-9A-Za-z$_]*",r={keyword:"in of if for while finally var new function do return void else 
break catch instanceof with throw case default try this switch continue typeof delete let yield const export 
super debugger as async await static import from as",literal:"true false null undefined NaN 
Infinity",built_in:"eval isFinite isNaN parseFlo
 at parse
 Int decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error 
EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math 
Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array 
Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document 
Symbol Set Map WeakSet WeakMap Proxy Reflect 
Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:r,c:[]},i={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,i,a,e.RM];var
 s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:r,c:[{cN:"meta",r:10,b:/^\s*['"]use 
(strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,i,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:t+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:t,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return
 throw case",c
 :[e.CLCM
 
,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+t+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:t},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:s}]}]},{cN:"",b:/\s/,e:/\s*/,skip:!0},{b:/</,e:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,sL:"xml",c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},{b:/<[A-Za-z0-9\\._:-]+/,e:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,skip:!0,c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor
 get set",e:/\{/,eE:!0}],i:/#(?!!)/}}),n.registerLanguage("json",function(e){var t={literal:"true false 
null"},r=[e.QSM,e.CNM],a={e:",",eW:!0,eE:!0,c:r,k:t},n={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(a,{b:/:/})],i:"\\S"},i={b:"\\[",e:"\\]",c:[e.inherit(a)],i:"\\S"};return
 r.splice(r.le
 ngth,0,n
 ,i),{c:r,k:t,i:"\\S"}}),n.registerLanguage("lisp",function(e){var 
t="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",r="\\|[^]*?\\|",a="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",n={cN:"literal",b:"\\b(t{1}|nil)\\b"},i={cN:"number",v:[{b:a,r:0},{b:"#(b|B)[0-1]+(/[0-1]+)?"},{b:"#(o|O)[0-7]+(/[0-7]+)?"},{b:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{b:"#(c|C)\\("+a+"
 
+"+a,e:"\\)"}]},s=e.inherit(e.QSM,{i:null}),c=e.C(";","$",{r:0}),o={b:"\\*",e:"\\*"},l={cN:"symbol",b:"[:&]"+t},d={b:t,r:0},u={b:r},b={c:[i,s,o,l,{b:"\\(",e:"\\)",c:["self",n,s,i,d]},d],v:[{b:"['`]\\(",e:"\\)"},{b:"\\(quote
 
",e:"\\)",k:{name:"quote"}},{b:"'"+r}]},p={v:[{b:"'"+t},{b:"#'"+t+"(::"+t+")*"}]},m={b:"\\(\\s*",e:"\\)"},f={eW:!0,r:0};return
 
m.c=[{cN:"name",v:[{b:t},{b:r}]},f],f.c=[b,p,m,n,i,s,c,o,l,u,d],{i:/\S/,c:[i,{cN:"meta",b:"^#!",e:"$"},n,s,c,b,p,m,d]}}),n.registerLanguage("lua",function(e){var
 t="\\[=*\\[",r="\\]=*\\]",a={b:t,e:r,c:["self"]},n=[e
 .C("--(?
 !"+t+")","$"),e.C("--"+t,r,{c:[a],r:10})];return{l:e.UIR,k:{literal:"true false nil",keyword:"and break do 
else elseif end for goto if in local not or repeat return then until while",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 
loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber 
tostring type unpack xpcall arg selfcoroutine 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 e
 xp sin a
 tan 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"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:r,c:[a],r:5}])}}),n.registerLanguage("makefile",function(e){var
 
t={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%<?\^\+\*]/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,t]},a={cN:"variable",b:/\$\([\w-]+\s/,e:/\)/,k:{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"},c:[t]
 },n={b:"
 
^"+e.UIR+"\\s*[:+?]?=",i:"\\n",rB:!0,c:[{b:"^"+e.UIR,e:"[:+?]?=",eE:!0}]},i={cN:"section",b:/^[^\s]+:/,e:/$/,c:[t]};return{aliases:["mk","mak"],k:"define
 endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private 
vpath",l:/[\w-]+/,c:[e.HCM,t,r,a,n,{cN:"meta",b:/^\.PHONY:/,e:/$/,k:{"meta-keyword":".PHONY"},l:/[\.\w]+/},i]}}),n.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^\\s*([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^(
 
{4}|\t)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE
 :!0}],r:
 
10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}}),n.registerLanguage("matlab",function(e){var
 t="('|\\.')+",r={r:0,c:[{b:t}]};return{k:{keyword:"break case catch classdef continue else elseif end 
enumerated events for function global if methods otherwise parfor persistent properties return spmd switch 
try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand 
atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth 
hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex 
conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli 
besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre 
cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2p
 ol pol2c
 art sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid 
accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril 
triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift 
squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery 
hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean 
type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect 
ismember procrustes hold num2cell 
"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}]}]},{cN:"built_in",b:/true|false/,r:0,starts:r},{b:"[a-zA-Z][a-zA-Z_0-9]*"+t,r:0},{cN:"number",b:e.CNR,r:0,starts:r},{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{b:/\]|}|\)/,r:0,starts:r},{cN:"s
 tring",b
 
:'"',e:'"',c:[e.BE,{b:'""'}],starts:r},e.C("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),e.C("\\%","$")]}}),n.registerLanguage("nginx",function(e){var
 t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},r={eW:!0,l:"[a-z/_]+",k:{literal:"on 
off yes no true false none blocked debug info notice warn error crit select break last permanent redirect 
kqueue rtsig epoll poll 
/dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:r}],r:0}],i:"[^\\s\\}]"}}),n.registerL
 anguage(
 "objectivec",function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,r="@interface @class @protocol 
@implementation";return{aliases:["mm","objc","obj-c"],k:{keyword:"int float while char export sizeof typedef 
const struct for union unsigned long volatile static bool mutable if do return goto void enum else break 
extern asm case short default double register explicit signed typename this switch continue wchar_t inline 
readonly assign readwrite self @synchronized id typeof nonatomic super unichar 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_u
 nretained 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",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t 
dispatch_queue_t dispatch_sync dispatch_async 
dispatch_once"},l:t,i:"</",c:[{cN:"built_in",b:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[e.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"meta",b:"#",e:"$",c:[{cN:"meta-string",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+r.split("
 
").join("|")+")\\b",e:"({|$)",eE:!0,k:r,l:t,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}}),n.registerLanguage("perl",function(e){var
 t
 ="getpwe
 nt getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec 
qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam 
rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown 
dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat 
msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime 
symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study 
formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos 
chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray 
hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst 
setprotoent else sysseek link getgrgi
 d shmctl
  waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift 
telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname 
semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority 
foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket 
readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent 
gt lt or ne m|0 break given say state 
when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},a={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],s=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),a,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",
 e:"q",r:
 
5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split
 return print reverse 
grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return
 r.c=s,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:a.c=s}}),n.registerLanguage("php",function(e){var 
t={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},r={cN:"meta",b:/<\?(php)?|\?>/},a={cN:"string",c:[e.BE,r],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php","php3","php4","php5","php6","php7
 "],cI:!0
 ,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile 
or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ 
empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch 
__METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif 
declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield 
finally",c:[e.HCM,e.C("//","$",{c:[r]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},r,{cN:"keyword",b:/\$this\b/},t,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,a,n]}]},{cN:"cl
 ass",bK:
 "class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends 
implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},a,n]}}),n.registerLanguage("python",function(e){var
 t={keyword:"and elif is global as in if from raise for except finally print import pass return exec else 
break not with class assert yield try while continue del or def lambda async await 
nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},r={cN:"meta",b:/^(>>>|\.\.\.) 
/},a={cN:"subst",b:/\{/,e:/\}/,k:t,i:/#/},n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,r],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,r,a]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,r,a]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,a]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,a]},e.ASM,e.QSM]},i={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CN
 R+"[lLjJ
 ]?"}]},s={cN:"params",b:/\(/,e:/\)/,c:["self",r,i,n]};return 
a.c=[n,i,r],{aliases:["py","gyp","ipython"],k:t,i:/(<\/|->|\?)|=>/,c:[r,i,n,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,s,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t
 ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}}),n.registerLanguage("r",function(e){var 
t="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[e.HCM,{b:t,l:t,k:{keyword:"function if in break next 
repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod 
setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 
NA_character_|10 
NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",
 r:0},{cN
 :"string",c:[e.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}}),n.registerLanguage("rust",function(e){var 
t="([ui](8|16|32|64|128|size)|f(32|64))?",r="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 
str char bool Box Option Result String Vec 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!";return{aliases:["rs"],k:{keyword:"alignof as be box break const continue crate do else enum 
extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref r
 eturn se
 lf Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield move 
default",literal:"true false Some None Ok 
Err",built_in:r},l:e.IR+"!?",i:"</",c:[e.CLCM,e.C("/\\*","\\*/",{c:["self"]}),e.inherit(e.QSM,{b:/b?"/,i:null}),{cN:"string",v:[{b:/r(#*)"(.|\n)*?"\1(?!#)/},{b:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{cN:"symbol",b:/'[a-zA-Z_][a-zA-Z0-9_]*/},{cN:"number",v:[{b:"\\b0b([01_]+)"+t},{b:"\\b0o([0-7_]+)"+t},{b:"\\b0x([A-Fa-f0-9_]+)"+t},{b:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+t}],r:0},{cN:"function",bK:"fn",e:"(\\(|<)",eE:!0,c:[e.UTM]},{cN:"meta",b:"#\\!?\\[",e:"\\]",c:[{cN:"meta-string",b:/"/,e:/"/}]},{cN:"class",bK:"type",e:";",c:[e.inherit(e.UTM,{endsParent:!0})],i:"\\S"},{cN:"class",bK:"trait
 enum struct 
union",e:"{",c:[e.inherit(e.UTM,{endsParent:!0})],i:"[\\w\\d]"},{b:e.IR+"::",k:{built_in:r}},{b:"->"}]}}),n.registerLanguage("scala",function(e){var
 t={cN:"subst",v:[{b:"\\$[A-Za-z0-9_]+"},{b:"\\${",e:"}"}]},r={cN:"strin
 g",v:[{b
 
:'"',e:'"',i:"\\n",c:[e.BE]},{b:'"""',e:'"""',r:10},{b:'[a-z]+"',e:'"',i:"\\n",c:[e.BE,t]},{cN:"string",b:'[a-z]+"""',e:'"""',c:[t],r:10}]},a={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},n={cN:"title",b:/[^0-9\n\t
 "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,r:0},i={cN:"class",bK:"class object 
trait type",e:/[:={\[\n;]/,eE:!0,c:[{bK:"extends 
with",r:10},{b:/\[/,e:/\]/,eB:!0,eE:!0,r:0,c:[a]},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,r:0,c:[a]},n]},s={cN:"function",bK:"def",e:/[:={\[(\n;]/,eE:!0,c:[n]};return{k:{literal:"true
 false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if 
forSome for while throw finally protected extends import final return else break new catch super class case 
package default try this match continue throws 
implicit"},c:[e.CLCM,e.CBCM,r,{cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"},a,s,i,e.CNM,{cN:"meta",b:"@[A-Za-z]+"}]}}),n.registerLanguage("scheme",function(e){var
 t="[^\\(\\)\\[\\]\\{\\}\",'
 `;#|\\\\
 
\\s]+",r="(\\-|\\+)?\\d+([./]\\d+)?",a={cN:"literal",b:"(#t|#f|#\\\\"+t+"|#\\\\.)"},n={cN:"number",v:[{b:r,r:0},{b:"(\\-|\\+)?\\d+([./]\\d+)?[+\\-](\\-|\\+)?\\d+([./]\\d+)?i",r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},i=e.QSM,s=[e.C(";","$",{r:0}),e.C("#\\|","\\|#")],c={b:t,r:0},o={cN:"symbol",b:"'"+t},l={eW:!0,r:0},d={v:[{b:/'/},{b:"`"}],c:[{b:"\\(",e:"\\)",c:["self",a,i,n,c,o]}]},u={cN:"name",b:t,l:t,k:{"builtin-name":"case-lambda
 call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values 
let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case 
syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file 
call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* 
let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <=
  = => > 
= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file 
call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? 
char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? 
char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? 
close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator 
display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part 
inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list 
list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular 
make-string make-vector max member memq memv min modulo negative? newline not null-environment null? 
number->string number? numerator odd? open-input-file open-output-file output-port? pa
 ir? peek
 -char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part 
real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list 
string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? 
string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? 
string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list 
vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char 
zero?"}},b={v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}],c:[{b:/lambda/,eW:!0,rB:!0,c:[u,{b:/\(/,e:/\)/,endsParent:!0,c:[c]}]},u,l]};return
 
l.c=[a,n,i,c,o,d,b].concat(s),{i:/\S/,c:[{cN:"meta",b:"^#!",e:"$"},n,i,o,d,b].concat(s)}}),n.registerLanguage("shell",function(e){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#
 ]",start
 s:{e:"$",sL:"bash"}}]}}),n.registerLanguage("smalltalk",function(e){var 
t="[a-z][a-zA-Z0-9_]*",r={cN:"string",b:"\\$.{1}"},a={cN:"symbol",b:"#"+e.UIR};return{aliases:["st"],k:"self 
super nil true false 
thisContext",c:[e.C('"','"'),e.ASM,{cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},{b:t+":",r:0},e.CNM,a,r,{b:"\\|[ 
]*"+t+"([ ]+"+t+")*[ ]*\\|",rB:!0,e:/\|/,i:/\S/,c:[{b:"(\\|[ 
]*)?"+t}]},{b:"\\#\\(",e:"\\)",c:[e.ASM,r,e.CNM,a]}]}}),n.registerLanguage("sql",function(e){var 
t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create 
drop rename call delete do handler insert load replace select truncate update set show pragma grant merge 
describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze 
cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values 
with",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"as abort abs absolute acc acce accep accept access 
 accessed
  accessible account acos action activate add addtime admin administer advanced advise aes_decrypt 
aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti 
any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly 
assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit 
authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability 
avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin 
binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block 
blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache 
caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change 
changed char_base char_length character_length c
 haracter
 s characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk 
class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering 
coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated 
comment commit compact compatibility compiled complete composite_limit compound compress compute concat 
concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root 
connect_time connection consider consistent constant constraint constraints constructor container content 
contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption 
cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation 
critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor 
curtime customdatum cycle data 
 database
  databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff 
datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear 
days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa 
defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited 
demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe 
descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow 
disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document 
domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element 
ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced 
engine engines enqueue ente
 rprise e
 ntityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception 
exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode 
export export_set extended extent external external_1 external_2 externally extract failed 
failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file 
file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor 
flush following follows for forall force foreign form forma format found found_rows freelist freelists 
freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock 
getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id 
grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin 
heading heap help hex hierarchy high high_priority hosts hour hours
  http id
  ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate 
import in include including increment index indexes indexing indextype indicator indices inet6_aton 
inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input 
insert install instance instantiable instr interface interleaved intersect into invalidate invisible is 
is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join 
json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value 
lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 
likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate 
locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs 
long loop low low_priority l
 ower lpa
 d lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master 
master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles 
maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge 
microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model 
modification modify module monitoring month months mount move movement multiset mutex name name_const names 
nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog 
noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping 
noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable 
nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies 
noschemacheck noswitch not nothing notice notnull no
 trim nov
 alidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate 
ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype 
oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator 
optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage 
ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding 
package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing 
password password_grace_time password_lock_time password_reuse_max password_reuse_time 
password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank 
percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe 
pipelined pivot pluggable plugin policy position post_transact
 ion pow 
 power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details 
prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges 
procedural procedure procedure_analyze processlist profiles project prompt protection public 
publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read 
reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference 
referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept 
regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on 
relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs 
resize resource respect restore restricted result result_cache resumable resume retention return returning 
returns reuse reverse revoke right rlike role role
 s rollba
 ck rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save 
savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search 
sec_to_time second seconds section securefile security seed segment select self semi sequence sequential 
serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share 
shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist 
si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep 
smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql 
sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode 
sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static 
statistics stats_binomial_test stats_crosstab stats_k
 s_test s
 tats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one 
stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored 
str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions 
substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset 
switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper 
system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated 
tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts 
timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 
to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation 
treat trigger trigger_nestlevel triggers trim tr
 uncate t
 ry_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex 
unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable 
unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable 
usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid 
uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari 
varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view 
virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev 
wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes 
xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema 
xmlserialize xmltable xmltype xor year ye
 ar_to_mo
 nth years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean 
char character date dec decimal float int int8 integer interval number numeric real record serial serial8 
smallint text time timestamp tinyint varchar varying 
void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}}),n.registerLanguage("tcl",function(e){return{aliases:["tk"],k:"after
 append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset 
bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit 
expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http 
if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 
lreplace|10 lreverse|10 lsearch|10 lset|10 lsort
 |10 math
 func mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell 
proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split 
string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord 
tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel 
upvar variable vwait while",c:[e.C(";[ \\t]*#","$"),e.C("^[ 
\\t]*#","$"),{bK:"proc",e:"[\\{]",eE:!0,c:[{cN:"title",b:"[ 
\\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"[ 
\\t\\n\\r]",eW:!0,eE:!0}]},{eE:!0,v:[{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",e:"[^a-zA-Z0-9_\\}\\$]"},{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{cN:"string",c:[e.BE],v:[e.inherit(e.QSM,{i:null})]},{cN:"number",v:[e.BNM,e.CNM]}]}}),n.registerLanguage("tex",function(e){var
 t={cN:"tag",b:/\\/,r:0,c:[{cN:"name",v:[{b:/[a-zA-Z\u043
 0-\u044f
 
\u0410-\u042f]+[*]?/},{b:/[^a-zA-Z\u0430-\u044f\u0410-\u042f0-9]/}],starts:{eW:!0,r:0,c:[{cN:"string",v:[{b:/\[/,e:/\]/},{b:/\{/,e:/\}/}]},{b:/\s*=\s*/,eW:!0,r:0,c:[{cN:"number",b:/-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{c:[t,{cN:"formula",c:[t],r:0,v:[{b:/\$\$/,e:/\$\$/},{b:/\$/,e:/\$/}]},e.C("%","$",{r:0})]}}),n.registerLanguage("vala",function(e){return{k:{keyword:"char
 uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float 
double bool struct enum string void weak unowned owned async signal static abstract interface override 
virtual delegate if while do for foreach else switch case break default return try catch public private 
protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object 
Gtk Posix",literal:"false true null"},c:[{cN:"class",bK:"class interface 
namespace",e:"{",eE:!0,i:"[^,:\\n\\s\\.]",c:[e.UTM]},e.CLCM,e.CBCM,{cN:"string",b:'"""',e:'"""',r:5},e.
 ASM,e.QS
 M,e.CNM,{cN:"meta",b:"^#",e:"$",r:2}]}}),n.registerLanguage("xquery",function(e){var 
t=[{cN:"variable",b:/[\$][\w-:]+/},{cN:"built_in",v:[{b:/\barray\:/,e:/(?:append|filter|flatten|fold\-(?:left|right)|for-each(?:\-pair)?|get|head|insert\-before|join|put|remove|reverse|size|sort|subarray|tail)\b/},{b:/\bmap\:/,e:/(?:contains|entry|find|for\-each|get|keys|merge|put|remove|size)\b/},{b:/\bmath\:/,e:/(?:a(?:cos|sin|tan[2]?)|cos|exp(?:10)?|log(?:10)?|pi|pow|sin|sqrt|tan)\b/},{b:/\bop\:/,e:/\(/,eE:!0},{b:/\bfn\:/,e:/\(/,eE:!0},{b:/[^<\/\$\:'"-]\b(?:abs|accumulator\-(?:after|before)|adjust\-(?:date(?:Time)?|time)\-to\-timezone|analyze\-string|apply|available\-(?:environment\-variables|system\-properties)|avg|base\-uri|boolean|ceiling|codepoints?\-(?:equal|to\-string)|collation\-key|collection|compare|concat|contains(?:\-token)?|copy\-of|count|current(?:\-)?(?:date(?:Time)?|time|group(?:ing\-key)?|output\-uri|merge\-(?:group|key))?data|dateTime|days?\-from\-(?:date(?:Time)?|duratio
 n)|deep\
 
-equal|default\-(?:collation|language)|distinct\-values|document(?:\-uri)?|doc(?:\-available)?|element\-(?:available|with\-id)|empty|encode\-for\-uri|ends\-with|environment\-variable|error|escape\-html\-uri|exactly\-one|exists|false|filter|floor|fold\-(?:left|right)|for\-each(?:\-pair)?|format\-(?:date(?:Time)?|time|integer|number)|function\-(?:arity|available|lookup|name)|generate\-id|has\-children|head|hours\-from\-(?:dateTime|duration|time)|id(?:ref)?|implicit\-timezone|in\-scope\-prefixes|index\-of|innermost|insert\-before|iri\-to\-uri|json\-(?:doc|to\-xml)|key|lang|last|load\-xquery\-module|local\-name(?:\-from\-QName)?|(?:lower|upper)\-case|matches|max|minutes\-from\-(?:dateTime|duration|time)|min|months?\-from\-(?:date(?:Time)?|duration)|name(?:space\-uri\-?(?:for\-prefix|from\-QName)?)?|nilled|node\-name|normalize\-(?:space|unicode)|not|number|one\-or\-more|outermost|parse\-(?:ietf\-date|json)|path|position|(?:prefix\-from\-)?QName|random\-number\-generator|regex\-gr
 oup|remo
 
ve|replace|resolve\-(?:QName|uri)|reverse|root|round(?:\-half\-to\-even)?|seconds\-from\-(?:dateTime|duration|time)|snapshot|sort|starts\-with|static\-base\-uri|stream\-available|string\-?(?:join|length|to\-codepoints)?|subsequence|substring\-?(?:after|before)?|sum|system\-property|tail|timezone\-from\-(?:date(?:Time)?|time)|tokenize|trace|trans(?:form|late)|true|type\-available|unordered|unparsed\-(?:entity|text)?\-?(?:public\-id|uri|available|lines)?|uri\-collection|xml\-to\-json|years?\-from\-(?:date(?:Time)?|duration)|zero\-or\-one)\b/},{b:/\blocal\:/,e:/\(/,eE:!0},{b:/\bzip\:/,e:/(?:zip\-file|(?:xml|html|text|binary)\-entry|
 
(?:update\-)?entries)\b/},{b:/\b(?:util|db|functx|app|xdmp|xmldb)\:/,e:/\(/,eE:!0}]},{cN:"string",v:[{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"comment",b:"\\(:",e:":\\)",r:10,c:[{cN:"doctag",b:"@\\w+"}]},{cN:"meta",b:/%[\w-:]+/}
 ,{cN:"ti
 tle",b:/\bxquery version "[13]\.[01]"\s?(?:encoding ".+")?/,e:/;/},{bK:"element attribute comment document 
processing-instruction",e:"{",eE:!0},{b:/<([\w\._:\-]+)((\s*.*)=('|").*('|"))?>/,e:/(\/[\w\._:\-]+>)/,sL:"xml",c:[{b:"{",e:"}",sL:"xquery"},"self"]}];return{aliases:["xpath","xq"],cI:!1,l:/[a-zA-Z\$][a-zA-Z0-9_:\-]*/,i:/(proc)|(abstract)|(extends)|(until)|(#)/,k:{keyword:"module
 schema namespace boundary-space preserve no-preserve strip default collation base-uri ordering context 
decimal-format decimal-separator copy-namespaces empty-sequence except exponent-separator external 
grouping-separator inherit no-inherit lax minus-sign per-mille percent schema-attribute schema-element strict 
unordered zero-digit declare import option function validate variable for at in let where order group by 
return if then else tumbling sliding window start when only end previous next stable ascending descending 
allowing empty greatest least some every satisfies switch case typeswitch try c
 atch and
  or to union intersect instance of treat as castable cast map array delete insert into replace value rename 
copy modify update",type:"item document-node node attribute document element comment namespace namespace-node 
processing-instruction text construction xs:anyAtomicType xs:untypedAtomic xs:duration xs:time xs:decimal 
xs:float xs:double xs:gYearMonth xs:gYear xs:gMonthDay xs:gMonth xs:gDay xs:boolean xs:base64Binary 
xs:hexBinary xs:anyURI xs:QName xs:NOTATION xs:dateTime xs:dateTimeStamp xs:date xs:string 
xs:normalizedString xs:token xs:language xs:NMTOKEN xs:Name xs:NCName xs:ID xs:IDREF xs:ENTITY xs:integer 
xs:nonPositiveInteger xs:negativeInteger xs:long xs:int xs:short xs:byte xs:nonNegativeInteger 
xs:unisignedLong xs:unsignedInt xs:unsignedShort xs:unsignedByte xs:positiveInteger xs:yearMonthDuration 
xs:dayTimeDuration",literal:"eq ne lt le gt ge is self:: child:: descendant:: descendant-or-self:: 
attribute:: following:: following-sibling:: parent:: ancestor:: ances
 tor-or-s
 elf:: preceding:: preceding-sibling:: NaN"},c:t}}),n.registerLanguage("yaml",function(e){var t="true false 
yes no null",r="^[ 
\\-]*",a="[a-zA-Z_][\\w\\-]*",n={cN:"attr",v:[{b:r+a+":"},{b:r+'"'+a+'":'},{b:r+"'"+a+"':"}]},i={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,{cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]}]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[n,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>]
 
*$",rE:!0,c:i.c,e:n.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!"+e.UIR},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^
 *-",r:0},e.HCM,{bK:t,k:{literal:t}},e.CNM,i]}}),n});
\ No newline at end of file
diff --git a/test/syntax/code/awk b/test/syntax/code/awk
new file mode 100644
index 00000000..239869c0
--- /dev/null
+++ b/test/syntax/code/awk
@@ -0,0 +1,16 @@
+BEGIN {
+  POPService  = "/inet/tcp/0/emailhost/pop3"
+  RS = ORS = "\r\n"
+  print "user name"            |& POPService
+  POPService                    |& getline
+  print "pass password"         |& POPService
+  POPService                    |& getline
+  print "retr 1"                |& POPService
+  POPService                    |& getline
+  if ($1 != "+OK") exit
+  print "quit"                  |& POPService
+  RS = "\r\n\\.\r\n"
+  POPService |& getline
+  print $0
+  close(POPService)
+}
diff --git a/test/syntax/code/shell b/test/syntax/code/shell
new file mode 100644
index 00000000..4a48fe2b
--- /dev/null
+++ b/test/syntax/code/shell
@@ -0,0 +1,11 @@
+$ echo $EDITOR
+vim
+$ git checkout master
+Switched to branch 'master'
+Your branch is up-to-date with 'origin/master'.
+$ git push
+Everything up-to-date
+$ echo 'All
+> done!'
+All
+done!
diff --git a/test/syntax/dita.dita b/test/syntax/dita.dita
index 216eeb7f..2c87bb3c 100644
--- a/test/syntax/dita.dita
+++ b/test/syntax/dita.dita
@@ -52,6 +52,16 @@ int main(char** argv) {
   </body>
 </topic>
 
+<topic id="awk">
+  <title>Awk</title>
+  <body>
+  <section>
+    <title><codeph>outputclass="awk"</codeph></title>
+    <codeblock outputclass="awk"><xi:include parse="text" href="code/awk"/></codeblock>
+  </section>
+  </body>
+</topic>
+
 <topic id="bash">
   <title>Bash</title>
   <body>
@@ -528,6 +538,16 @@ int main(char** argv) {
   </body>
 </topic>
 
+<topic id="shell">
+  <title>Shell</title>
+  <body>
+  <section>
+    <title><codeph>outputclass="shell"</codeph></title>
+    <screen outputclass="shell"><xi:include parse="text" href="code/shell"/></screen>
+  </section>
+  </body>
+</topic>
+
 <topic id="smalltalk">
   <title>Smalltalk</title>
   <body>
diff --git a/test/syntax/docbook.docbook b/test/syntax/docbook.docbook
index 0de666a9..8a7b1353 100644
--- a/test/syntax/docbook.docbook
+++ b/test/syntax/docbook.docbook
@@ -46,6 +46,14 @@ int main(char** argv) {
   </example>
 </section>
 
+<section id="awk">
+  <title>Awk</title>
+  <example>
+    <title><code>language="awk"</code></title>
+    <programlisting language="awk"><xi:include parse="text" href="code/awk"/></programlisting>
+  </example>
+</section>
+
 <section id="bash">
   <title>Bash</title>
   <example>
@@ -446,6 +454,14 @@ int main(char** argv) {
   </example>
 </section>
 
+<section id="shell">
+  <title>Shell</title>
+  <example>
+    <title><code>language="shell"</code></title>
+    <screen language="shell"><xi:include parse="text" href="code/shell"/></screen>
+  </example>
+</section>
+
 <section id="smalltalk">
   <title>Smalltalk</title>
   <example>
diff --git a/test/syntax/mallard.page b/test/syntax/mallard.page
index 9eedebcc..fbe6fe53 100644
--- a/test/syntax/mallard.page
+++ b/test/syntax/mallard.page
@@ -58,6 +58,14 @@ int main(char** argv) {
   </listing>
 </section>
 
+<section id="awk">
+  <title>Awk</title>
+  <listing ui:expanded="false">
+    <title><code>type="awk"</code></title>
+    <code type="awk"><xi:include parse="text" href="code/awk"/></code>
+  </listing>
+</section>
+
 <section id="bash">
   <title>Bash</title>
   <listing ui:expanded="false">
@@ -614,6 +622,14 @@ int main(char** argv) {
   </listing>
 </section>
 
+<section id="shell">
+  <title>Shell</title>
+  <listing ui:expanded="false">
+    <title><code>type="shell"</code></title>
+    <screen type="shell"><xi:include parse="text" href="code/shell"/></screen>
+  </listing>
+</section>
+
 <section id="smalltalk">
   <title>Smalltalk</title>
   <listing ui:expanded="false">
diff --git a/xslt/common/html.xsl b/xslt/common/html.xsl
index 9dcf55e5..d0f2825b 100644
--- a/xslt/common/html.xsl
+++ b/xslt/common/html.xsl
@@ -2256,7 +2256,7 @@ All parameters can be automatically computed if not provided.
 .hljs-built_in  { color: <xsl:value-of select="$color.fg.orange"/>; }
 .hljs-bullet    { color: <xsl:value-of select="$color.fg.green"/>; }
 .hljs-class     { }
-.hljs-code      { }
+.hljs-code      { color: <xsl:value-of select="$color.fg.dark"/>; }
 .hljs-comment   { color: <xsl:value-of select="$color.fg.gray"/>; }
 .hljs-doctag    { }
 .hljs-formula   { color: <xsl:value-of select="$color.fg.dark"/>; }
diff --git a/xslt/dita/html/dita2html-block.xsl b/xslt/dita/html/dita2html-block.xsl
index 42f31f7f..e711707f 100644
--- a/xslt/dita/html/dita2html-block.xsl
+++ b/xslt/dita/html/dita2html-block.xsl
@@ -168,7 +168,7 @@ FIXME
   </xsl:call-template>
 </xsl:template>
 
-<xsl:template mode="html.syntax.class.mode" match="&topic_codeblock;">
+<xsl:template mode="html.syntax.class.mode" match="&topic_codeblock; | &topic_screen;">
   <xsl:param name="language" select="translate(@outputclass,
                                      'ABCDEFGHIJKLMNOPQRSTUVWXYX',
                                      'abcdefghijklmnopqrstuvwxyz')"/>
@@ -185,6 +185,10 @@ FIXME
     <xsl:when test="$language = 'asciidoc' or $language = 'adoc'">
       <xsl:text>asciidoc</xsl:text>
     </xsl:when>
+    <!-- Awk -->
+    <xsl:when test="$language = 'awk'">
+      <xsl:text>awk</xsl:text>
+    </xsl:when>
     <!-- Bash -->
     <xsl:when test="$language = 'sh' or $language = 'bash' or
                     $language = 'csh' or $language = 'bourne'">
@@ -246,7 +250,7 @@ FIXME
     <xsl:when test="$language = 'go'">
       <xsl:text>go</xsl:text>
     </xsl:when>
-    <!-- Nginx -->
+    <!-- Haml -->
     <xsl:when test="$language = 'haml'">
       <xsl:text>haml</xsl:text>
     </xsl:when>
@@ -340,6 +344,10 @@ FIXME
     <xsl:when test="$language = 'scheme' or $language = 'scm'">
       <xsl:text>scheme</xsl:text>
     </xsl:when>
+    <!-- Shell -->
+    <xsl:when test="$language = 'shell'">
+      <xsl:text>shell</xsl:text>
+    </xsl:when>
     <!-- Smalltalk -->
     <xsl:when test="$language = 'smalltalk'">
       <xsl:text>smalltalk</xsl:text>
diff --git a/xslt/docbook/html/db2html-block.xsl b/xslt/docbook/html/db2html-block.xsl
index d20bb1c7..75a5f80a 100644
--- a/xslt/docbook/html/db2html-block.xsl
+++ b/xslt/docbook/html/db2html-block.xsl
@@ -645,7 +645,7 @@ This template handles conditional processing.
 </xsl:template>
 
 <xsl:template mode="html.syntax.class.mode"
-              match="programlisting | db:programlisting">
+              match="programlisting | db:programlisting | screen | db:screen">
   <xsl:param name="language" select="translate(@language,
                                      'ABCDEFGHIJKLMNOPQRSTUVWXYX',
                                      'abcdefghijklmnopqrstuvwxyz')"/>
@@ -663,6 +663,10 @@ This template handles conditional processing.
     <xsl:when test="$language = 'asciidoc' or $language = 'adoc'">
       <xsl:text>asciidoc</xsl:text>
     </xsl:when>
+    <!-- Awk -->
+    <xsl:when test="$language = 'awk'">
+      <xsl:text>awk</xsl:text>
+    </xsl:when>
     <!-- Bash -->
     <xsl:when test="$language = 'sh' or $language = 'bash' or
                     $language = 'csh' or $language = 'bourne'">
@@ -724,7 +728,7 @@ This template handles conditional processing.
     <xsl:when test="$language = 'go'">
       <xsl:text>go</xsl:text>
     </xsl:when>
-    <!-- Nginx -->
+    <!-- Haml -->
     <xsl:when test="$language = 'haml'">
       <xsl:text>haml</xsl:text>
     </xsl:when>
@@ -818,6 +822,10 @@ This template handles conditional processing.
     <xsl:when test="$language = 'scheme' or $language = 'scm'">
       <xsl:text>scheme</xsl:text>
     </xsl:when>
+    <!-- Shell -->
+    <xsl:when test="$language = 'shell'">
+      <xsl:text>shell</xsl:text>
+    </xsl:when>
     <!-- Smalltalk -->
     <xsl:when test="$language = 'smalltalk'">
       <xsl:text>smalltalk</xsl:text>
diff --git a/xslt/mallard/html/mal2html-block.xsl b/xslt/mallard/html/mal2html-block.xsl
index 7c235f0a..940fe86e 100644
--- a/xslt/mallard/html/mal2html-block.xsl
+++ b/xslt/mallard/html/mal2html-block.xsl
@@ -241,6 +241,10 @@ in accordance with the Mallard specification on fallback block content.
                     contains($type, ' asciidoc ') or contains($type, ' adoc ')">
       <xsl:text>asciidoc</xsl:text>
     </xsl:when>
+    <!-- Awk -->
+    <xsl:when test="contains($type, ' awk ')">
+      <xsl:text>awk</xsl:text>
+    </xsl:when>
     <!-- Bash -->
     <xsl:when test="@mime = 'application/x-shellscript' or
                     contains($type, ' sh ') or contains($type, ' bash ') or
@@ -295,7 +299,7 @@ in accordance with the Mallard specification on fallback block content.
     <xsl:when test="@mime = 'text/x-go' or contains($type, ' go ')">
       <xsl:text>go</xsl:text>
     </xsl:when>
-    <!-- Nginx -->
+    <!-- Haml -->
     <xsl:when test="@mime = 'text/x-haml' or contains($type, ' haml ')">
       <xsl:text>haml</xsl:text>
     </xsl:when>
@@ -388,6 +392,10 @@ in accordance with the Mallard specification on fallback block content.
     <xsl:when test="@mime = 'text/x-scala' or contains($type, ' scala ')">
       <xsl:text>scala</xsl:text>
     </xsl:when>
+    <!-- Shell -->
+    <xsl:when test="contains($type, ' shell ')">
+      <xsl:text>shell</xsl:text>
+    </xsl:when>
     <!-- Smalltalk -->
     <xsl:when test="@mime = 'text/x-smalltalk' or contains($type, ' smalltalk ')">
       <xsl:text>smalltalk</xsl:text>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]