2017-02-20 15:30:47 +01:00
/* http://prismjs.com/download.html?themes=prism-okaidia&languages=markup+css+clike+javascript+abap+actionscript+ada+apacheconf+apl+applescript+asciidoc+aspnet+autoit+autohotkey+bash+basic+batch+c+brainfuck+bro+bison+csharp+cpp+coffeescript+ruby+css-extras+d+dart+django+diff+docker+eiffel+elixir+erlang+fsharp+fortran+gherkin+git+glsl+go+graphql+groovy+haml+handlebars+haskell+haxe+http+icon+inform7+ini+j+jade+java+jolie+json+julia+keyman+kotlin+latex+less+livescript+lolcode+lua+makefile+markdown+matlab+mel+mizar+monkey+nasm+nginx+nim+nix+nsis+objectivec+ocaml+oz+parigp+parser+pascal+perl+php+php-extras+powershell+processing+prolog+properties+protobuf+puppet+pure+python+q+qore+r+jsx+reason+rest+rip+roboconf+crystal+rust+sas+sass+scss+scala+scheme+smalltalk+smarty+sql+stylus+swift+tcl+textile+twig+typescript+verilog+vhdl+vim+wiki+xojo+yaml&plugins=autolinker+file-highlight+toolbar+highlight-keywords+previewer-base+previewer-color+command-line+data-uri-highlight+show-language+copy-to-clipboard */
2017-03-26 03:26:27 +02:00
var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {}, Prism = function (){ var e = /\blang(?:uage)?-(\w+)\b/i , t = 0 , n = _self . Prism = { manual : _self . Prism && _self . Prism . manual , util : { encode : function ( e ){ return e instanceof a ? new a ( e . type , n . util . encode ( e . content ), e . alias ) : "Array" === n . util . type ( e ) ? e . map ( n . util . encode ) : e . replace ( /&/g , "&" ). replace ( /</g , "<" ). replace ( /\u00a0/g , " " )}, type : function ( e ){ return Object . prototype . toString . call ( e ). match ( /\[object (\w+)\]/ )[ 1 ]}, objId : function ( e ){ return e . __id || Object . defineProperty ( e , "__id" ,{ value :++ t }), e . __id }, clone : function ( e ){ switch ( n . util . type ( e )){ case "Object" : var t = {}
for ( var a in e ) e . hasOwnProperty ( a ) && ( t [ a ] = n . util . clone ( e [ a ]))
return t
case "Array" : return e . map && e . map ( function ( e ){ return n . util . clone ( e )})} return e }}, languages : { extend : function ( e , t ){ var a = n . util . clone ( n . languages [ e ])
for ( var i in t ) a [ i ] = t [ i ]
return a }, insertBefore : function ( e , t , a , i ){ i = i || n . languages
var r = i [ e ]
if ( 2 == arguments . length ){ a = arguments [ 1 ]
for ( var o in a ) a . hasOwnProperty ( o ) && ( r [ o ] = a [ o ])
return r } var s = {}
for ( var l in r ) if ( r . hasOwnProperty ( l )){ if ( l == t ) for ( var o in a ) a . hasOwnProperty ( o ) && ( s [ o ] = a [ o ])
s [ l ] = r [ l ]} return n . languages . DFS ( n . languages , function ( t , n ){ n === i [ e ] && t != e && ( this [ t ] = s )}), i [ e ] = s }, DFS : function ( e , t , a , i ){ i = i || {}
for ( var r in e ) e . hasOwnProperty ( r ) && ( t . call ( e , r , e [ r ], a || r ), "Object" !== n . util . type ( e [ r ]) || i [ n . util . objId ( e [ r ])] ? "Array" !== n . util . type ( e [ r ]) || i [ n . util . objId ( e [ r ])] || ( i [ n . util . objId ( e [ r ])] =! 0 , n . languages . DFS ( e [ r ], t , r , i )) : ( i [ n . util . objId ( e [ r ])] =! 0 , n . languages . DFS ( e [ r ], t , null , i )))}}, plugins : {}, highlightAll : function ( e , t ){ var a = { callback : t , selector : 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' }
n . hooks . run ( "before-highlightall" , a )
for ( var i , r = a . elements || document . querySelectorAll ( a . selector ), o = 0 ; i = r [ o ++ ];) n . highlightElement ( i , e ===! 0 , a . callback )}, highlightElement : function ( t , a , i ){ for ( var r , o , s = t ; s &&! e . test ( s . className );) s = s . parentNode
s && ( r = ( s . className . match ( e ) || [, "" ])[ 1 ]. toLowerCase (), o = n . languages [ r ]), t . className = t . className . replace ( e , "" ). replace ( /\s+/g , " " ) + " language-" + r , s = t . parentNode , /pre/i . test ( s . nodeName ) && ( s . className = s . className . replace ( e , "" ). replace ( /\s+/g , " " ) + " language-" + r )
var l = t . textContent , d = { element : t , language : r , grammar : o , code : l }
if ( n . hooks . run ( "before-sanity-check" , d ), ! d . code ||! d . grammar ) return d . code && ( d . element . textContent = d . code ), void n . hooks . run ( "complete" , d )
if ( n . hooks . run ( "before-highlight" , d ), a && _self . Worker ){ var c = new Worker ( n . filename )
c . onmessage = function ( e ){ d . highlightedCode = e . data , n . hooks . run ( "before-insert" , d ), d . element . innerHTML = d . highlightedCode , i && i . call ( d . element ), n . hooks . run ( "after-highlight" , d ), n . hooks . run ( "complete" , d )}, c . postMessage ( JSON . stringify ({ language : d . language , code : d . code , immediateClose :! 0 }))} else d . highlightedCode = n . highlight ( d . code , d . grammar , d . language ), n . hooks . run ( "before-insert" , d ), d . element . innerHTML = d . highlightedCode , i && i . call ( t ), n . hooks . run ( "after-highlight" , d ), n . hooks . run ( "complete" , d )}, highlight : function ( e , t , i ){ var r = n . tokenize ( e , t )
return a . stringify ( n . util . encode ( r ), i )}, tokenize : function ( e , t ){ var a = n . Token , i = [ e ], r = t . rest
if ( r ){ for ( var o in r ) t [ o ] = r [ o ]
delete t . rest } e : for ( var o in t ) if ( t . hasOwnProperty ( o ) && t [ o ]){ var s = t [ o ]
s = "Array" === n . util . type ( s ) ? s : [ s ]
for ( var l = 0 ; l < s . length ; ++ l ){ var d = s [ l ], c = d . inside , u =!! d . lookbehind , p =!! d . greedy , m = 0 , g = d . alias
if ( p &&! d . pattern . global ){ var b = d . pattern . toString (). match ( /[imuy]*$/ )[ 0 ]
d . pattern = RegExp ( d . pattern . source , b + "g" )} d = d . pattern || d
for ( var f = 0 , h = 0 ; f < i . length ; h += i [ f ]. length , ++ f ){ var S = i [ f ]
if ( i . length > e . length ) break e
if ( ! ( S instanceof a )){ d . lastIndex = 0
var y = d . exec ( S ), E = 1
if ( ! y && p && f != i . length - 1 ){ if ( d . lastIndex = h , ! ( y = d . exec ( e ))) break
for ( var v = y . index + ( u ? y [ 1 ]. length : 0 ), k = y . index + y [ 0 ]. length , w = f , A = h , T = i . length ; T > w && k > A ; ++ w ) A += i [ w ]. length , v >= A && ( ++ f , h = A )
if ( i [ f ] instanceof a || i [ w - 1 ]. greedy ) continue
E = w - f , S = e . slice ( h , A ), y . index -= h } if ( y ){ u && ( m = y [ 1 ]. length )
var v = y . index + m , y = y [ 0 ]. slice ( m ), k = v + y . length , _ = S . slice ( 0 , v ), C = S . slice ( k ), P = [ f , E ]
_ && P . push ( _ )
var I = new a ( o , c ? n . tokenize ( y , c ) : y , g , y , p )
P . push ( I ), C && P . push ( C ), Array . prototype . splice . apply ( i , P )}}}}} return i }, hooks : { all : {}, add : function ( e , t ){ var a = n . hooks . all
a [ e ] = a [ e ] || [], a [ e ]. push ( t )}, run : function ( e , t ){ var a = n . hooks . all [ e ]
if ( a && a . length ) for ( var i , r = 0 ; i = a [ r ++ ];) i ( t )}}}, a = n . Token = function ( e , t , n , a , i ){ this . type = e , this . content = t , this . alias = n , this . length = 0 | ( a || "" ). length , this . greedy =!! i }
if ( a . stringify = function ( e , t , i ){ if ( "string" == typeof e ) return e
if ( "Array" === n . util . type ( e )) return e . map ( function ( n ){ return a . stringify ( n , t , e )}). join ( "" )
var r = { type : e . type , content : a . stringify ( e . content , t , i ), tag : "span" , classes : [ "token" , e . type ], attributes : {}, language : t , parent : i }
if ( "comment" == r . type && ( r . attributes . spellcheck = "true" ), e . alias ){ var o = "Array" === n . util . type ( e . alias ) ? e . alias : [ e . alias ]
Array . prototype . push . apply ( r . classes , o )} n . hooks . run ( "wrap" , r )
var s = Object . keys ( r . attributes ). map ( function ( e ){ return e + '="' + ( r . attributes [ e ] || "" ). replace ( /"/g , """ ) + '"' }). join ( " " )
return "<" + r . tag + ' class="' + r . classes . join ( " " ) + '"' + ( s ? " " + s : "" ) + ">" + r . content + "</" + r . tag + ">" }, ! _self . document ) return _self . addEventListener ? ( _self . addEventListener ( "message" , function ( e ){ var t = JSON . parse ( e . data ), a = t . language , i = t . code , r = t . immediateClose
_self . postMessage ( n . highlight ( i , n . languages [ a ], a )), r && _self . close ()}, ! 1 ), _self . Prism ) : _self . Prism
var i = document . currentScript || []. slice . call ( document . getElementsByTagName ( "script" )). pop ()
return i && ( n . filename = i . src , ! document . addEventListener || n . manual || i . hasAttribute ( "data-manual" ) || ( "loading" !== document . readyState ? window . requestAnimationFrame ? window . requestAnimationFrame ( n . highlightAll ) : window . setTimeout ( n . highlightAll , 16 ) : document . addEventListener ( "DOMContentLoaded" , n . highlightAll ))), _self . Prism }()
"undefined" != typeof module && module . exports && ( module . exports = Prism ), "undefined" != typeof global && ( global . Prism = Prism ), Prism . languages . markup = { comment : /<!--[\w\W]*?-->/ , prolog : /<\?[\w\W]+?\?>/ , doctype : /<!DOCTYPE[\w\W]+?>/i , cdata : /<!\[CDATA\[[\w\W]*?]]>/i , tag : { pattern : /<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i , inside : { tag : { pattern : /^<\/?[^\s>\/]+/i , inside : { punctuation : /^<\/?/ , namespace : /^[^\s>\/:]+:/ }}, "attr-value" : { pattern : /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i , inside : { punctuation : /[=>"']/ }}, punctuation : /\/?>/ , "attr-name" : { pattern : /[^\s>\/]+/ , inside : { namespace : /^[^\s>\/:]+:/ }}}}, entity : /&#?[\da-z]{1,8};/i }, Prism . hooks . add ( "wrap" , function ( e ){ "entity" === e . type && ( e . attributes . title = e . content . replace ( /&/ , "&" ))}), Prism . languages . xml = Prism . languages . markup , Prism . languages . html = Prism . languages . markup , Prism . languages . mathml = Prism . languages . markup , Prism . languages . svg = Prism . languages . markup , Prism . languages . css = { comment : /\/\*[\w\W]*?\*\// , atrule : { pattern : /@[\w-]+?.*?(;|(?=\s*\{))/i , inside : { rule : /@[\w-]+/ }}, url : /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i , selector : /[^\{\}\s][^\{\};]*?(?=\s*\{)/ , string : { pattern : /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/ , greedy :! 0 }, property : /(\b|\B)[\w-]+(?=\s*:)/i , important : /\B!important\b/i , function : /[-a-z0-9]+(?=\()/i , punctuation : /[(){};:]/ }, Prism . languages . css . atrule . inside . rest = Prism . util . clone ( Prism . languages . css ), Prism . languages . markup && ( Prism . languages . insertBefore ( "markup" , "tag" ,{ style : { pattern : /(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i , lookbehind :! 0 , inside : Prism . languages . css , alias : "language-css" }}), Prism . languages . insertBefore ( "inside" , "attr-value" ,{ "style-attr" : { pattern : /\s*style=("|').*?\1/i , inside : { "attr-name" : { pattern : /^\s*style/i , inside : Prism . languages . markup . tag . inside }, punctuation : /^\s*=\s*['"]|['"]\s*$/ , "attr-value" : { pattern : /.+/i , inside : Prism . languages . css }}, alias : "language-css" }}, Prism . languages . markup . tag )), Prism . languages . clike = { comment : [{ pattern : /(^|[^\\])\/\*[\w\W]*?\*\// , lookbehind :! 0 },{ pattern : /(^|[^\\:])\/\/.*/ , lookbehind :! 0 }], string : { pattern : /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy :! 0 }, "class-name" : { pattern : /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i , lookbehind :! 0 , inside : { punctuation : /(\.|\\)/ }}, keyword : /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ , boolean : /\b(true|false)\b/ , function : /[a-z0-9_]+(?=\()/i , number : /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i , operator : /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/ , punctuation : /[{}[\];(),.:]/ }, Prism . languages . javascript = Prism . languages . extend ( "clike" ,{ keyword : /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/ , number : /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/ , function : /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i , operator : /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/ }), Prism . languages . insertBefore ( "javascript" , "keyword" ,{ regex : { pattern : /(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/ , lookbehind :! 0 , greedy :! 0 }}), Prism . languages . insertBefore ( "javascript" , "string" ,{ "template-string" : { pattern : /`(?:\\\\|\\?[^\\])*?`/ , greedy :! 0 , inside : { interpolation : { pattern : /\$\{[^}]+\}/ , inside : { "interpolation-punctuation" : { pattern : /^\$\{|\}$/ , alias : "punctuation" }, rest : Prism . languages . javascript }}, string : /[\s\S]+/ }}}), Prism . languages . markup && Prism . languages . insertBefore ( "markup" , "tag" ,{ script : { pattern : /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i , lookbehind :! 0 , inside : Prism . languages . javascript , alias : "language-javascript" }}), Prism . languages . js = Prism . languages . javascript , Prism . languages . abap = { comment : /^\*.*/m , string : /(`|')(\\?.)*?\1/m , "string-template" : { pattern : /(\||\})(\\?.)*?(
e . languages . asciidoc = { "comment-block" : { pattern : /^(\/{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1/m , alias : "comment" }, table : { pattern : /^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m , inside : { specifiers : { pattern : /(?!\|)(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*])?(?:[<^>](?:\.[<^>])?|\.[<^>])?[a-z]*)(?=\|)/ , alias : "attr-value" }, punctuation : { pattern : /(^|[^\\])[|!]=*/ , lookbehind :! 0 }}}, "passthrough-block" : { pattern : /^(\+{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m , inside : { punctuation : /^\++|\++$/ }}, "literal-block" : { pattern : /^(-{4,}|\.{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m , inside : { punctuation : /^(?:-+|\.+)|(?:-+|\.+)$/ }}, "other-block" : { pattern : /^(--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m , inside : { punctuation : /^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ }}, "list-punctuation" : { pattern : /(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im , lookbehind :! 0 , alias : "punctuation" }, "list-label" : { pattern : /(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im , lookbehind :! 0 , alias : "symbol" }, "indented-block" : { pattern : /((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/ , lookbehind :! 0 }, comment : /^\/\/.*/m , title : { pattern : /^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m , alias : "important" , inside : { punctuation : /^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ }}, "attribute-entry" : { pattern : /^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m , alias : "tag" }, attributes : t , hr : { pattern : /^'{3,}$/m , alias : "punctuation" }, "page-break" : { pattern : /^<{3,}$/m , alias : "punctuation" }, admonition : { pattern : /^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m , alias : "keyword" }, callout : [{ pattern : /(^[ \t]*)<?\d*>/m , lookbehind :! 0 , alias : "symbol" },{ pattern : /<\d+>/ , alias : "symbol" }], macro : { pattern : /\b[a-z\d][a-z\d-]*::?(?:(?:\S+)??\[(?:[^\]\\"]|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/ , inside : { function : /^[a-z\d-]+(?=:)/ , punctuation : /^::?/ , attributes : { pattern : /(?:\[(?:[^\]\\"]|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/ , inside : t . inside }}}, inline : { pattern : /(^|[^\\])(?:(?:\B\[(?:[^\]\\"]|(["'])(?:(?!\2)[^\\]|\\.)*\2|\\.)*\])?(?:\b_(?!\s)(?: _|[^_\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: _|[^_\\\r\n]|\\.)+)*_\b|\B``(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B`(?!\s)(?: ['`]|.)+?(?:(?:\r?\n|\r)(?: ['`]|.)+?)*['`]\B|\B(['*+#])(?!\s)(?: \3|(?!\3)[^\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: \3|(?!\3)[^\\\r\n]|\\.)+)*\3\B)|(?:\[(?:[^\]\\"]|(["'])(?:(?!\4)[^\\]|\\.)*\4|\\.)*\])?(?:(__|\*\*|\+\+\+?|##|\$\$|[~^]).+?(?:(?:\r?\n|\r).+?)*\5|\{[^}\r\n]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m , lookbehind :! 0 , inside : { attributes : t , url : { pattern : /^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ , inside : { punctuation : /^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ }}, "attribute-ref" : { pattern : /^\{.+\}$/ , inside : { variable : { pattern : /(^\{)[a-z\d,+_-]+/ , lookbehind :! 0 }, operator : /^[=?!#%@$]|!(?=[:}])/ , punctuation : /^\{|\}$|::?/ }}, italic : { pattern : /^(['_])[\s\S]+\1$/ , inside : { punctuation : /^(?:''?|__?)|(?:''?|__?)$/ }}, bold : { pattern : /^\*[\s\S]+\*$/ , inside : { punctuation : /^\*\*?|\*\*?$/ }}, punctuation : /^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)?\)\))$/ }}, replacement : { pattern : /\((?:C|TM|R)\)/ , alias : "builtin" }, entity : /&#?[\da-z]{1,8};/i , "line-continuation" : { pattern : /(^| )\+$/m , lookbehind :! 0 , alias : "punctuation" }}, t . inside . interpreted . inside . rest = { macro : e . languages . asciidoc . macro , inline : e . languages . asciidoc . inline , replacement : e . languages . asciidoc . replacement , entity : e . languages . asciidoc . entity }, e . languages . asciidoc [ "passthrough-block" ]. inside . rest = { macro : e . languages . asciidoc . macro }, e . languages . asciidoc [ "literal-block" ]. inside . rest = { callout : e . languages . asciidoc . callout }, e . languages . asciidoc . table . inside . rest = { "comment-block" : e . languages . asciidoc [ "comment-block" ], "passthrough-block" : e . languages . asciidoc [ "passthrough-block" ], "literal-block" : e . languages . asciidoc [ "literal-block" ], "other-block" : e . languages . asciidoc [ "other-block" ], "list-punctuation" : e . languages . asciidoc [ "list-punctuation" ], "indented-block" : e . languages . asciidoc [ "indented-block" ], comment : e . languages . asciidoc . comment , title : e . languages . asciidoc . title , "attribute-entry" : e . languages . asciidoc [ "attribute-entry" ], attributes : e . l
e . languages . bash = { shebang : { pattern : /^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/ , alias : "important" }, comment : { pattern : /(^|[^"{\\])#.*/ , lookbehind :! 0 }, string : [{ pattern : /((?:^|[^<])<<\s*)(?:"|')?(\w+?)(?:"|')?\s*\r?\n(?:[\s\S])*?\r?\n\2/g , lookbehind :! 0 , greedy :! 0 , inside : t },{ pattern : /(["'])(?:\\\\|\\?[^\\])*?\1/g , greedy :! 0 , inside : t }], variable : t . variable , function : { pattern : /(^|\s|;|\||&)(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|npm|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|\s|;|\||&)/ , lookbehind :! 0 }, keyword : { pattern : /(^|\s|;|\||&)(?:let|:|\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|\s|;|\||&)/ , lookbehind :! 0 }, boolean : { pattern : /(^|\s|;|\||&)(?:true|false)(?=$|\s|;|\||&)/ , lookbehind :! 0 }, operator : /&&?|\|\|?|==?|!=?|<<<?|>>|<=?|>=?|=~/ , punctuation : /\$?\(\(?|\)\)?|\.\.|[{}[\];]/ }
var n = t . variable [ 1 ]. inside
n . function = e . languages . bash . function , n . keyword = e . languages . bash . keyword , n . boolean = e . languages . bash . boolean , n . operator = e . languages . bash . operator , n . punctuation = e . languages . bash . punctuation }( Prism ), Prism . languages . basic = { string : /"(?:""|[!#$%&'()*,\/:;<=>?^_ +\-.A-Z\d])*"/i , comment : { pattern : /(?:!|REM\b).+/i , inside : { keyword : /^REM/i }}, number : /(?:\b|\B[.-])(?:\d+\.?\d*)(?:E[+-]?\d+)?/i , keyword : /\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i , function : /\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i , operator : /<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i , punctuation : /[,;:()]/ }, function ( e ){ var t = /%%?[~:\w]+%?|!\S+!/ , n = { pattern : /\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im , alias : "attr-name" , inside : { punctuation : /:/ }}, a = /"[^"]*"/ , i = /(?:\b|-)\d+\b/
e . languages . batch = { comment : [ /^::.*/m ,{ pattern : /((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im , lookbehind :! 0 }], label : { pattern : /^:.*/m , alias : "property" }, command : [{ pattern : /((?:^|[&(])[ \t]*)for(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* \S+ in \([^)]+\) do/im , lookbehind :! 0 , inside : { keyword : /^for\b|\b(?:in|do)\b/i , string : a , parameter : n , variable : t , number : i , punctuation : /[()',]/ }},{ pattern : /((?:^|[&(])[ \t]*)if(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* (?:not )?(?:cmdextversion \d+|defined \w+|errorlevel \d+|exist \S+|(?:"[^"]*"|\S+)?(?:==| (?:equ|neq|lss|leq|gtr|geq) )(?:"[^"]*"|\S+))/im , lookbehind :! 0 , inside : { keyword : /^if\b|\b(?:not|cmdextversion|defined|errorlevel|exist)\b/i , string : a , parameter : n , variable : t , number : i , operator : /\^|==|\b(?:equ|neq|lss|leq|gtr|geq)\b/i }},{ pattern : /((?:^|[&()])[ \t]*)else\b/im , lookbehind :! 0 , inside : { keyword : /^else\b/i }},{ pattern : /((?:^|[&(])[ \t]*)set(?: ?\/[a-z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im , lookbehind :! 0 , inside : { keyword : /^set\b/i , string : a , parameter : n , variable : [ t , /\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/ ], number : i , operator : /[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/ , punctuation : /[()',]/ }},{ pattern : /((?:^|[&(])[ \t]*@?)\w+\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im , lookbehind :! 0 , inside : { keyword : /^\w+\b/i , string : a , parameter : n , label : { pattern : /(^\s*):\S+/m , lookbehind :! 0 , alias : "property" }, variable : t , number : i , operator : /\^/ }}], operator : /[&@]/ , punctuation : /[()']/ }}( Prism ), Prism . languages . c = Prism . languages . extend ( "clike" ,{ keyword : /\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ , operator : /\-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*\/]/ , number : /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i }), Prism . languages . insertBefore ( "c" , "string" ,{ macro : { pattern : /(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im , lookbehind :! 0 , alias : "property" , inside : { string : { pattern : /(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/ , lookbehind :! 0 }, directive : { pattern : /(#\s*)\b(define|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/ , lookbehind :! 0 , alias : "keyword" }}}, constant : /\b(__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|stdin|stdout|stderr)\b/ }), delete Prism . languages . c [ "class-name" ], delete Prism . languages . c . boolean , Prism . languages . brainfuck = { pointer : { pattern : /<|>/ , alias : "keyword" }, increment : { pattern : /\+/ , alias : "inserted" }, decrement : { pattern : /-/ , alias : "deleted" }, branching : { pattern : /\[|\]/ , alias : "important" }, operator : /[.,]/ , comment : /\S+/ }, Prism . languages . bro = { comment : { pattern : /(^|[^\\$])#.*/ , lookbehind :! 0 , inside : { italic : /\b(TODO|FIXME|XXX)\b/ }}, string : { pattern : /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy :! 0 }, boolean : /\b(T|F)\b/ , function : { pattern : /(?:function|hook|event) [a-zA-Z0-9_]+(::[a-zA-Z0-9_]+)?/ , inside : { keyword : /^(?:function|hook|event)/ }}, variable : { pattern : /(?:global|local) [a-zA-Z0-9_]+/i , inside : { keyword : /(?:global|local)/ }}, builtin : /(@(load(-(sigs|plugin))?|unload|prefixes|ifn?def|else|(end)?if|DIR|FILENAME))|(&?(redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column))/ , constant : { pattern : /const [a-zA-Z0-9_]+/i , inside : { keyword : /const/ }}, keyword : /\b(break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ , operator : /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ , number : /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i , punctuation : /[{}[\];(),.:]/ }, Prism . languages . bison = Prism . languages . extend ( "c" ,{}), Prism . languages . insertBefore ( "bison" , "comment" ,{ bison : { pattern : /^[\s\S]*?%%[\s\S]*?%%/ , inside : { c : { pattern : /%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ , inside : { delimiter : { pattern : /^%?\{|%?\}$/ , alias : "punctuation" }, "bison-variable" : { pattern : /[
e . languages . coffeescript = e . languages . extend ( "javascript" ,{ comment : t , string : [{ pattern : /'(?:\\?[^\\])*?'/ , greedy :! 0 },{ pattern : /"(?:\\?[^\\])*?"/ , greedy :! 0 , inside : { interpolation : n }}], keyword : /\b(and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ , "class-member" : { pattern : /@(?!\d)\w+/ , alias : "variable" }}), e . languages . insertBefore ( "coffeescript" , "comment" ,{ "multiline-comment" : { pattern : /###[\s\S]+?###/ , alias : "comment" }, "block-regex" : { pattern : /\/{3}[\s\S]*?\/{3}/ , alias : "regex" , inside : { comment : t , interpolation : n }}}), e . languages . insertBefore ( "coffeescript" , "string" ,{ "inline-javascript" : { pattern : /`(?:\\?[\s\S])*?`/ , inside : { delimiter : { pattern : /^`|`$/ , alias : "punctuation" }, rest : e . languages . javascript }}, "multiline-string" : [{ pattern : /'''[\s\S]*?'''/ , greedy :! 0 , alias : "string" },{ pattern : /"""[\s\S]*?"""/ , greedy :! 0 , alias : "string" , inside : { interpolation : n }}]}), e . languages . insertBefore ( "coffeescript" , "keyword" ,{ property : /(?!\d)\w+(?=\s*:(?!:))/ }), delete e . languages . coffeescript [ "template-string" ]}( Prism ), function ( e ){ e . languages . ruby = e . languages . extend ( "clike" ,{ comment : /#(?!\{[^\r\n]*?\}).*/ , keyword : /\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/ })
var t = { pattern : /#\{[^}]+\}/ , inside : { delimiter : { pattern : /^#\{|\}$/ , alias : "tag" }, rest : e . util . clone ( e . languages . ruby )}}
e . languages . insertBefore ( "ruby" , "keyword" ,{ regex : [{ pattern : /%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/ , lookbehind :! 0 , greedy :! 0 }], variable : /[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/ , symbol : /:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/ }), e . languages . insertBefore ( "ruby" , "number" ,{ builtin : /\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ , constant : /\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/ }), e . languages . ruby . string = [{ pattern : /%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/ , greedy :! 0 , inside : { interpolation : t }},{ pattern : /("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/ , greedy :! 0 , inside : { interpolation : t }}]}( Prism ), Prism . languages . css . selector = { pattern : /[^\{\}\s][^\{\}]*(?=\s*\{)/ , inside : { "pseudo-element" : /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ , "pseudo-class" : /:[-\w]+(?:\(.*\))?/ , class : /\.[-:\.\w]+/ , id : /#[-:\.\w]+/ , attribute : /\[[^\]]+\]/ }}, Prism . languages . insertBefore ( "css" , "function" ,{ hexcode : /#[\da-f]{3,6}/i , entity : /\\[\da-f]{1,8}/i , number : /[\d%\.]+/ }), Prism . languages . d = Prism . languages . extend ( "clike" ,{ string : [ /\b[rx]"(\\.|[^\\"])*"[cwd]?/ , /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/ , /\bq"([_a-zA-Z][_a-zA-Z\d]*)(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\1"/ , /\bq"(.)[\s\S]*?\1"/ , /'(?:\\'|\\?[^']+)'/ , /(["`])(\\.|(?!\1)[^\\])*\1[cwd]?/ ], number : [ /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]*/i ,{ pattern : /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]*/i , lookbehind :! 0 }], keyword : /\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ , operator : /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/ }), Prism . languages . d . comment = [ /^\s*#!.+/ ,{ pattern : /(^|[^\\])\/\+(?:\/\+[\w\W]*?\+\/|[\w\W])*?\+\// , lookbehind :! 0 }]. concat ( Prism . languages . d . comment ), Prism . languages . insertBefore ( "d" , "comment" ,{ "token-string" : { pattern : /\bq\{(?:|\{[^}]*\}|[^}])*\}/ , alias : "string" }}), Prism . languages . insertBefore ( "d" , "keyword" ,{ property : /\B@\w*/ }), Prism . languages . insertBefore ( "d" , "function" ,{ register : { pattern : /\b(?:[ABCD][LHX]|E[ABCD]X|E?(?:BP|SP|DI|SI)|[ECSDGF]S|CR[0234]|DR[012367]|TR[3-7]|X?MM[0-7]|R[ABCD]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BWD]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/ , alias : "variable" }}), Pr
var _django_template = { property : { pattern : /(?:{{|{%)[\w\W]*?(?:%}|}})/g , greedy :! 0 , inside : { string : { pattern : /("|')(?:\\\\|\\?[^\\\r\n])*?\1/ , greedy :! 0 }, keyword : /\b(?:\||load|verbatim|widthratio|ssi|firstof|for|url|ifchanged|csrf_token|lorem|ifnotequal|autoescape|now|templatetag|debug|cycle|ifequal|regroup|comment|filter|endfilter|if|spaceless|with|extends|block|include|else|empty|endif|endfor|as|endblock|endautoescape|endverbatim|trans|endtrans|[Tt]rue|[Ff]alse|[Nn]one|in|is|static|macro|endmacro|call|endcall|set|endset|raw|endraw)\b/ , operator : /[-+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/ , function : /\b(?:_|abs|add|addslashes|attr|batch|callable|capfirst|capitalize|center|count|cut|d|date|default|default_if_none|defined|dictsort|dictsortreversed|divisibleby|e|equalto|escape|escaped|escapejs|even|filesizeformat|first|float|floatformat|force_escape|forceescape|format|get_digit|groupby|indent|int|iriencode|iterable|join|last|length|length_is|linebreaks|linebreaksbr|linenumbers|list|ljust|lower|make_list|map|mapping|number|odd|phone2numeric|pluralize|pprint|random|reject|rejectattr|removetags|replace|reverse|rjust|round|safe|safeseq|sameas|select|selectattr|sequence|slice|slugify|sort|string|stringformat|striptags|sum|time|timesince|timeuntil|title|trim|truncate|truncatechars|truncatechars_html|truncatewords|truncatewords_html|undefined|unordered_list|upper|urlencode|urlize|urlizetrunc|wordcount|wordwrap|xmlattr|yesno)\b/ , important : /\b-?\d+(?:\.\d+)?\b/ , variable : /\b\w+?\b/ , punctuation : /[[\];(),.:]/ }}}
Prism . languages . django = Prism . languages . extend ( "markup" ,{ comment : /(?:<!--|{#)[\w\W]*?(?:#}|-->)/ }), Prism . languages . django . tag . pattern = /<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^>=]+))?)*\s*\/?>/i , Prism . languages . insertBefore ( "django" , "entity" , _django_template ), Prism . languages . insertBefore ( "inside" , "tag" , _django_template , Prism . languages . django . tag ), Prism . languages . javascript && ( Prism . languages . insertBefore ( "inside" , "string" , _django_template , Prism . languages . django . script ), Prism . languages . django . script . inside . string . inside = _django_template ), Prism . languages . css && ( Prism . languages . insertBefore ( "inside" , "atrule" ,{ tag : _django_template . property }, Prism . languages . django . style ), Prism . languages . django . style . inside . string . inside = _django_template ), Prism . languages . jinja2 = Prism . languages . django , Prism . languages . diff = { coord : [ /^(?:\*{3}|-{3}|\+{3}).*$/m , /^@@.*@@$/m , /^\d+.*$/m ], deleted : /^[-<].*$/m , inserted : /^[+>].*$/m , diff : { pattern : /^!(?!!).+$/m , alias : "important" }}, Prism . languages . docker = { keyword : { pattern : /(^\s*)(?:ONBUILD|FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|COPY|VOLUME|USER|WORKDIR|CMD|LABEL|ENTRYPOINT)(?=\s)/im , lookbehind :! 0 }, string : /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*?\1/ , comment : /#.*/ , punctuation : /---|\.\.\.|[:[\]{}\-,|>?]/ }, Prism . languages . eiffel = { string : [ /"([^[]*)\[[\s\S]+?\]\1"/ , /"([^{]*)\{[\s\S]+?\}\1"/ , /"(?:%\s+%|%"|.)*?"/ ], comment : /--.*/ , char : /'(?:%'|.)+?'/ , keyword : /\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i , boolean : /\b(?:True|False)\b/i , number : [ /\b0[xcb][\da-f](?:_*[\da-f])*\b/i , /(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?[eE][+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/ ], punctuation : /:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/ , operator : /\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/ }, Prism . languages . elixir = { comment : { pattern : /(^|[^#])#(?![{#]).*/m , lookbehind :! 0 }, regex : /~[rR](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|[^}])+\}|<(?:\\>|[^>])+>)[uismxfr]*/ , string : [{ pattern : /~[cCsSwW](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|#\{[^}]+\}|[^}])+\}|<(?:\\>|[^>])+>)[csa]?/ , greedy :! 0 , inside : {}},{ pattern : /("""|''')[\s\S]*?\1/ , greedy :! 0 , inside : {}},{ pattern : /("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/ , greedy :! 0 , inside : {}}], atom : { pattern : /(^|[^:]):\w+/ , lookbehind :! 0 , alias : "symbol" }, "attr-name" : /\w+:(?!:)/ , capture : { pattern : /(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/ , lookbehind :! 0 , alias : "function" }, argument : { pattern : /(^|[^&])&\d+/ , lookbehind :! 0 , alias : "variable" }, attribute : { pattern : /@[\S]+/ , alias : "variable" }, number : /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i , keyword : /\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ , boolean : /\b(?:true|false|nil)\b/ , operator : [ /\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/ ,{ pattern : /([^<])<(?!<)/ , lookbehind :! 0 },{ pattern : /([^>])>(?!>)/ , lookbehind :! 0 }], punctuation : /<<|>>|[.,%\[\]{}()]/ }, Prism . languages . elixir . string . forEach ( function ( e ){ e . inside = { interpolation : { pattern : /#\{[^}]+\}/ , inside : { delimiter : { pattern : /^#\{|\}$/ , alias : "punctuation" }, rest : Prism . util . clone ( Prism . languages . elixir )}}}}), Prism . languages . erlang = { comment : /%.+/ , string : { pattern : /"(?:\\?.)*?"/ , greedy :! 0 }, "quoted-function" : { pattern : /'(?:\\.|[^'\\])+'(?=\()/ , alias : "function" }, "quoted-atom" : { pattern : /'(?:\\.|[^'\\])+'/ , alias : "atom" }, boolean : /\b(?:true|false)\b/ , keyword : /\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ , number : [ /\$\\?./ , /\d+#[a-z0-9]+/i , /(?:\b|-)\d*\.?\d+([Ee][+-]?\d+)?\b/ ], function : /\b[a-z][\w@]*(?=\()/ , variable : { pattern : /(^|[^@])(?:\b|\?)[A-Z_][\w@]*/ , lookbehind :! 0 }, operator : [ /[=\/<>:]=|=[:\/]
if ( "'" != t ){ var n = /([^\\])(\$(\{.*?\}|[\w\.]+))/
"$" === t && ( n = /([^\$])(\$(\{.*?\}|[\w\.]+))/ ), e . content = e . content . replace ( /</g , "<" ). replace ( /&/g , "&" ), e . content = Prism . highlight ( e . content ,{ expression : { pattern : n , lookbehind :! 0 , inside : Prism . languages . groovy }}), e . classes . push ( "/" === t ? "regex" : "gstring" )}}}), function ( e ){ e . languages . haml = { "multiline-comment" : { pattern : /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*((?:\r?\n|\r)\2[\t ]+.+)*/ , lookbehind :! 0 , alias : "comment" }, "multiline-code" : [{ pattern : /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*((?:\r?\n|\r)\2[\t ]+.*,[\t ]*)*((?:\r?\n|\r)\2[\t ]+.+)/ , lookbehind :! 0 , inside : { rest : e . languages . ruby }},{ pattern : /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*((?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/ , lookbehind :! 0 , inside : { rest : e . languages . ruby }}], filter : { pattern : /((?:^|\r?\n|\r)([\t ]*)):[\w-]+((?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/ , lookbehind :! 0 , inside : { "filter-name" : { pattern : /^:[\w-]+/ , alias : "variable" }}}, markup : { pattern : /((?:^|\r?\n|\r)[\t ]*)<.+/ , lookbehind :! 0 , inside : { rest : e . languages . markup }}, doctype : { pattern : /((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/ , lookbehind :! 0 }, tag : { pattern : /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/ , lookbehind :! 0 , inside : { attributes : [{ pattern : /(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ , lookbehind :! 0 , inside : { rest : e . languages . ruby }},{ pattern : /\([^)]+\)/ , inside : { "attr-value" : { pattern : /(=\s*)(?:"(?:\\?.)*?"|[^)\s]+)/ , lookbehind :! 0 }, "attr-name" : /[\w:-]+(?=\s*!?=|\s*[,)])/ , punctuation : /[=(),]/ }},{ pattern : /\[[^\]]+\]/ , inside : { rest : e . languages . ruby }}], punctuation : /[<>]/ }}, code : { pattern : /((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/ , lookbehind :! 0 , inside : { rest : e . languages . ruby }}, interpolation : { pattern : /#\{[^}]+\}/ , inside : { delimiter : { pattern : /^#\{|\}$/ , alias : "punctuation" }, rest : e . languages . ruby }}, punctuation : { pattern : /((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/ , lookbehind :! 0 }}
for ( var t = "((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+" , n = [ "css" ,{ filter : "coffee" , language : "coffeescript" }, "erb" , "javascript" , "less" , "markdown" , "ruby" , "scss" , "textile" ], a = {}, i = 0 , r = n . length ; r > i ; i ++ ){ var o = n [ i ]
o = "string" == typeof o ? { filter : o , language : o } : o , e . languages [ o . language ] && ( a [ "filter-" + o . filter ] = { pattern : RegExp ( t . replace ( "{{filter_name}}" , o . filter )), lookbehind :! 0 , inside : { "filter-name" : { pattern : /^:[\w-]+/ , alias : "variable" }, rest : e . languages [ o . language ]}})} e . languages . insertBefore ( "haml" , "filter" , a )}( Prism ), function ( e ){ var t = /\{\{\{[\w\W]+?\}\}\}|\{\{[\w\W]+?\}\}/g
e . languages . handlebars = e . languages . extend ( "markup" ,{ handlebars : { pattern : t , inside : { delimiter : { pattern : /^\{\{\{?|\}\}\}?$/i , alias : "punctuation" }, string : /(["'])(\\?.)*?\1/ , number : /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee][+-]?\d+)?)\b/ , boolean : /\b(true|false)\b/ , block : { pattern : /^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i , lookbehind :! 0 , alias : "keyword" }, brackets : { pattern : /\[[^\]]+\]/ , inside : { punctuation : /\[|\]/ , variable : /[\w\W]+/ }}, punctuation : /[!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]/ , variable : /[^!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~\s]+/ }}}), e . languages . insertBefore ( "handlebars" , "tag" ,{ "handlebars-comment" : { pattern : /\{\{![\w\W]*?\}\}/ , alias : [ "handlebars" , "comment" ]}}), e . hooks . add ( "before-highlight" , function ( e ){ "handlebars" === e . language && ( e . tokenStack = [], e . backupCode = e . code , e . code = e . code . replace ( t , function ( t ){ return e . tokenStack . push ( t ), "___HANDLEBARS" + e . tokenStack . length + "___" }))}), e . hooks . add ( "before-insert" , function ( e ){ "handlebars" === e . language && ( e . code = e . backupCode , delete e . backupCode )}), e . hooks . add ( "after-highlight" , function ( t ){ if ( "handlebars" === t . language ){ for ( var n , a = 0 ; n = t . tokenStack [ a ]; a ++ ) t . highlightedCode = t . highlightedCode . replace ( "___HANDLEBARS" + ( a + 1 ) + "___" , e . highlight ( n , t . grammar , "handlebars" ). replace ( /\$/g , "$$$$" ))
t . element . innerHTML = t . highlightedCode }})}( Prism ), Prism . languages . haskell = { comment : { pattern : /(^|[^-!#$%*+=?&@|~.:<>^\\\/])(--[^-!#$%*+=?&@|~.:<>^\\\/].*|{-[\w\W]*?-})/m , lookbehind :! 0 }, char : /'([^\\']|\\([abfnrtv\\"'&]|\^[A-Z@[\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+))'/ , string : { pattern : /"([^\\"]|\\([abfnrtv\\"'&]|\^[A-Z@[\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+)|\\\s+\\)*"/ , greedy :! 0 }, keyword : /\b(case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ , import_statement : { pattern : /(\r?\n|\r|^)\s*import\s+(qualified\s+)?([A-Z][_a-zA-Z0-9']*)(\.[A-Z][_a-zA-Z0-9']*)*(\s+as\s+([A-Z][_a-zA-Z0-9']*)(\.[A-Z][_a-zA-Z0-9']*)*)?(\s+hiding\b)?/m , inside : { keyword : /\b(import|qualified|as|hiding)\b/ }}, builtin : /\b(abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ , number : /\b(\d+(\.\d+)?(e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i , operator : /\s\.\s|[-!#$%*+=?&@|~.:<>^\\\/]*\.[-!#$%*+=?&@|~.:<>^\\\/]+|[-!#$%*+=?&@|~.:<>^\\\/]+\.[-!#$%*+=?&@|~.:<>^\\\/]*|[-!#$%*+=?&@|~:<>^\\\/]+|`([A-Z][_a-zA-Z0-9']*\.)*[_a-z][_a-zA-Z0-9']*`/ , hvariable : /\b([A-Z][_a-zA-Z0-9']*\.)*[_a-z][_a-zA-Z0-9']*\b/ , constant : /\b([A-Z][_a-zA-Z0-9']*\.)*[A-Z][_a-zA-Z0-9']*\b/ , punctuation : /[{}[\];(),.:]/ }, Prism . languages . haxe = Prism . languages . extend ( "clike" ,{ string : { pattern : /(["'])(?:(?!\1)[^\\]|\\[\s\S])*\1/ , greedy :! 0 , inside : { interpolation : { pattern : /(^|[^\\])\$(?:\w+|\{[^}]+\})/ , lookbehind :! 0 , inside : { interpolation : { pattern : /^\$\w*/ , alias : "variable" }}}}}, keyword : /\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/ , operator : /\.{3}|\+\+?|-[->]?|[=!]=?|&&?|\|\|?|<[<=]?|>[>=]?|[*\/%~^]/ }), Prism . languages . insertBefore ( "haxe" , "class-name" ,{ regex : { pattern : /~\/(?:[^\/\\\r\n]|\\.)+\/[igmsu]*/ , greedy :! 0 }}), Prism . languages . insertBefore ( "haxe" , "keyword" ,{ preprocessor : { pattern : /#\w+/ , alias : "builtin" }, metadata : { pattern : /@:?\w+/ , alias : "symbol" }, reification : { pattern : /\$(?:\w+|(?=\{))/ , alias : "variable" }}), Prism . languages . haxe . string . inside . interpolation . inside . rest = Prism . util . clone ( Prism . languages . haxe ), delete Pri
var httpLanguages = { "application/json" : Prism . languages . javascript , "application/xml" : Prism . languages . markup , "text/xml" : Prism . languages . markup , "text/html" : Prism . languages . markup }
for ( var contentType in httpLanguages ) if ( httpLanguages [ contentType ]){ var options = {}
options [ contentType ] = { pattern : new RegExp ( "(content-type:\\s*" + contentType + "[\\w\\W]*?)(?:\\r?\\n|\\r){2}[\\w\\W]*" , "i" ), lookbehind :! 0 , inside : { rest : httpLanguages [ contentType ]}}, Prism . languages . insertBefore ( "http" , "header-name" , options )} Prism . languages . icon = { comment : /#.*/ , string : { pattern : /(["'])(?:(?!\1)[^\\\r\n]|\\.|_(?:\r?\n|\r))*\1/ , greedy :! 0 }, number : /\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i , "builtin-keyword" : { pattern : /&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ , alias : "variable" }, directive : { pattern : /\$\w+/ , alias : "builtin" }, keyword : /\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ , function : /(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ , operator : /[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ , punctuation : /[\[\](){},;]/ }, Prism . languages . inform7 = { string : { pattern : /"[^"]*"/ , inside : { substitution : { pattern : /\[[^\]]+\]/ , inside : { delimiter : { pattern : /\[|\]/ , alias : "punctuation" }}}}}, comment : { pattern : /\[[^\]]+\]/ , greedy :! 0 }, title : { pattern : /^[ \t]*(?:volume|book|part(?! of)|chapter|section|table)\b.+/im , alias : "important" }, number : { pattern : /(^|[^-])(?:(?:\b|-)\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve))\b(?!-)/i , lookbehind :! 0 }, verb : { pattern : /(^|[^-])\b(?:applying to|are|attacking|answering|asking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:s|ing)?|consulting|contain(?:s|ing)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:ve|s|ving)|hold(?:s|ing)?|impl(?:y|ies)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:s|ing)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:s|ing)?|setting|showing|singing|sleeping|smelling|squeezing|switching|support(?:s|ing)?|swearing|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:s|ing)?|var(?:y|ies|ying)|waiting|waking|waving|wear(?:s|ing)?)\b(?!-)/i , lookbehind :! 0 , alias : "operator" }, keyword : { pattern : /(^|[^-])\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|unless|the story)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\b(?!-)/i , lookbehind :! 0 }, property : { pattern : /(^|[^-])\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: on| off)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\b(?!-)/i , lookbehind :! 0 , alias : "symbol" }, position : { pattern : /(^|[^-])\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\b(?!-)/i , lookbehind :! 0 , alias : "keyword" }, type : { pattern : /(^|[^-])\b(?:actions?|activit(?:y|ies)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdal
for ( var t = "(^([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+" , n = [{ filter : "atpl" , language : "twig" },{ filter : "coffee" , language : "coffeescript" }, "ejs" , "handlebars" , "hogan" , "less" , "livescript" , "markdown" , "mustache" , "plates" ,{ filter : "sass" , language : "scss" }, "stylus" , "swig" ], a = {}, i = 0 , r = n . length ; r > i ; i ++ ){ var o = n [ i ]
o = "string" == typeof o ? { filter : o , language : o } : o , e . languages [ o . language ] && ( a [ "filter-" + o . filter ] = { pattern : RegExp ( t . replace ( "{{filter_name}}" , o . filter ), "m" ), lookbehind :! 0 , inside : { "filter-name" : { pattern : /^:[\w-]+/ , alias : "variable" }, rest : e . languages [ o . language ]}})} e . languages . insertBefore ( "jade" , "filter" , a )}( Prism ), Prism . languages . java = Prism . languages . extend ( "clike" ,{ keyword : /\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/ , number : /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i , operator : { pattern : /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m , lookbehind :! 0 }}), Prism . languages . insertBefore ( "java" , "function" ,{ annotation : { alias : "punctuation" , pattern : /(^|[^.])@\w+/ , lookbehind :! 0 }}), Prism . languages . jolie = Prism . languages . extend ( "clike" ,{ keyword : /\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|extender|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/g , builtin : /\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ , number : /\b\d*\.?\d+(?:e[+-]?\d+)?l?\b/i , operator : /->|<<|[!+-<>=*]?=|[:<>!?*\/%^]|&&|\|\||--?|\+\+?/g , symbol : /[|;@]/ , punctuation : /[,.]/ , string : { pattern : /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy :! 0 }}), delete Prism . languages . jolie [ "class-name" ], delete Prism . languages . jolie . function , Prism . languages . insertBefore ( "jolie" , "keyword" ,{ function : { pattern : /((?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*)\w+/ , lookbehind :! 0 }, aggregates : { pattern : /(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ , lookbehind :! 0 , inside : { withExtension : { pattern : /\bwith\s+\w+/ , inside : { keyword : /\bwith\b/ }}, function : { pattern : /\w+/ }, punctuation : { pattern : /,/ }}}, redirects : { pattern : /(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/ , lookbehind :! 0 , inside : { punctuation : { pattern : /,/ }, function : { pattern : /\w+/g }, symbol : { pattern : /=>/g }}}}), Prism . languages . json = { property : /"(?:\\.|[^\\"])*"(?=\s*:)/gi , string : /"(?!:)(?:\\.|[^\\"])*"(?!:)/g , number : /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee][+-]?\d+)?)\b/g , punctuation : /[{}[\]);,]/g , operator : /:/g , boolean : /\b(true|false)\b/gi , null : /\bnull\b/gi }, Prism . languages . jsonp = Prism . languages . json , Prism . languages . julia = { comment : { pattern : /(^|[^\\])#.*/ , lookbehind :! 0 }, string : /"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(\\?.)*?\1/ , keyword : /\b(abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|let|local|macro|module|print|println|quote|return|try|type|typealias|using|while)\b/ , boolean : /\b(true|false)\b/ , number : /\b-?(0[box])?(?:[\da-f]+\.?\d*|\.\d+)(?:[efp][+-]?\d+)?j?\b/i , operator : /\+=?|-=?|\*=?|\/[\/=]?|\\=?|\^=?|%=?|÷=?|!=?=?|&=?|\|[=>]?|\$=?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/ , punctuation : /[{}[\];(),.:]/ }, Prism . languages . keyman = { comment : /\bc\s.*/i , function : /\[\s*((CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*([TKU]_[a-z0-9_?]+|".+?"|'.+?')\s*\]/i , string : /("|')((?!\1).)*\1/ , bold : [ /&(baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embedjs|kmw_helpfile|kmw_helptext|kmw_rtl|language|layer|layoutfile|message|mnemoniclayout|name|oldcharposmatching|platform|targets|version|visualkeyboard|windowslanguages)\b/i , /\b(bitmap|bitmaps|caps on only|caps always off|shift frees caps|copyright|hotkey|language|layout|message|name|version)\b/i ], keyword : /\b(any|baselayout|beep|c
var t = [{ pattern : /\$\{[^}]+\}/ , inside : { delimiter : { pattern : /^\$\{|\}$/ , alias : "variable" }, rest : e . util . clone ( e . languages . kotlin )}},{ pattern : /\$\w+/ , alias : "variable" }]
e . languages . kotlin . string . inside = e . languages . kotlin [ "raw-string" ]. inside = { interpolation : t }}( Prism ), function ( e ){ var t = /\\([^a-z()[\]]|[a-z\*]+)/i , n = { "equation-command" : { pattern : t , alias : "regex" }}
e . languages . latex = { comment : /%.*/m , cdata : { pattern : /(\\begin\{((?:verbatim|lstlisting)\*?)\})([\w\W]*?)(?=\\end\{\2\})/ , lookbehind :! 0 }, equation : [{ pattern : /\$(?:\\?[\w\W])*?\$|\\\((?:\\?[\w\W])*?\\\)|\\\[(?:\\?[\w\W])*?\\\]/ , inside : n , alias : "string" },{ pattern : /(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})([\w\W]*?)(?=\\end\{\2\})/ , lookbehind :! 0 , inside : n , alias : "string" }], keyword : { pattern : /(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/ , lookbehind :! 0 }, url : { pattern : /(\\url\{)[^}]+(?=\})/ , lookbehind :! 0 }, headline : { pattern : /(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\}(?:\[[^\]]+\])?)/ , lookbehind :! 0 , alias : "class-name" }, function : { pattern : t , alias : "selector" }, punctuation : /[[\]{}&]/ }}( Prism ), Prism . languages . less = Prism . languages . extend ( "css" ,{ comment : [ /\/\*[\w\W]*?\*\// ,{ pattern : /(^|[^\\])\/\/.*/ , lookbehind :! 0 }], atrule : { pattern : /@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i , inside : { punctuation : /[:()]/ }}, selector : { pattern : /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/ , inside : { variable : /@+[\w-]+/ }}, property : /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i , punctuation : /[{}();:,]/ , operator : /[+\-*\/]/ }), Prism . languages . insertBefore ( "less" , "punctuation" ,{ function : Prism . languages . less . function }), Prism . languages . insertBefore ( "less" , "property" ,{ variable : [{ pattern : /@[\w-]+\s*:/ , inside : { punctuation : /:/ }}, /@@?[\w-]+/ ], "mixin-usage" : { pattern : /([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/ , lookbehind :! 0 , alias : "function" }}), Prism . languages . livescript = { "interpolated-string" : { pattern : /("""|")(?:\\[\s\S]|(?!\1)[^\\])*\1/ , greedy :! 0 , inside : { variable : { pattern : /(^|[^\\])#[a-z_](?:-?[a-z]|\d)*/m , lookbehind :! 0 }, interpolation : { pattern : /(^|[^\\])#\{[^}]+\}/m , lookbehind :! 0 , inside : { "interpolation-punctuation" : { pattern : /^#\{|\}$/ , alias : "variable" }}}, string : /[\s\S]+/ }}, comment : [{ pattern : /(^|[^\\])\/\*[\w\W]*?\*\// , lookbehind :! 0 , greedy :! 0 },{ pattern : /(^|[^\\])#.*/ , lookbehind :! 0 , greedy :! 0 }], string : [{ pattern : /('''|')(?:\\[\s\S]|(?!\1)[^\\])*\1/ , greedy :! 0 },{ pattern : /<\[[\s\S]*?\]>/ , greedy :! 0 }, /\\[^\s,;\])}]+/ ], regex : [{ pattern : /\/\/(\[.+?]|\\.|(?!\/\/)[^\\])+\/\/[gimyu]{0,5}/ , greedy :! 0 , inside : { comment : { pattern : /(^|[^\\])#.*/ , lookbehind :! 0 }}},{ pattern : /\/(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}/ , greedy :! 0 }], keyword : { pattern : /(^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m , lookbehind :! 0 }, "keyword-operator" : { pattern : /(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m , lookbehind :! 0 , alias : "operator" }, boolean : { pattern : /(^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m , lookbehind :! 0 }, argument : { pattern : /(^|(?!\.&\.)[^&])&(?!&)\d*/m , lookbehind :! 0 , alias : "variable" }, number : /\b(?:\d+~[\da-z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[a-z]\w*)?)/i , identifier : /[a-z_](?:-?[a-z]|\d)*/i , operator : [{ pattern : /( )\.(?= )/ , lookbehind :! 0 }, /\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[\/?]/ ], punctuation : /[(){}\[\]|.,:;`]/ }, Prism . languages . livescript [ "interpolated-string" ]. inside . interpolation . inside . rest = Prism . languages . livescript , Prism . languages . lolcode = { comment : [ /\bOBTW\s+[\s\S]*?\s+TLDR\b/ , /\bBTW.+/ ], string : { pattern : /"(?::.|[^"])*"/ , inside : { variable : /:\{[^}]+\}/ , symbol : [ /:\([a-f\d]+\)/i , /:\[[^\]]+\]/ , /:[)>o":]/ ]}, greedy :! 0 }, number : /(-|\b)\d*\.?\d+/ , symbol : { pattern : /(^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ , lookbehind :! 0 , inside : { keyword : /A(?=\s)/ }}, label : { pattern : /((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/ , lookbehind :! 0 , alias : "string" }, function : { pattern : /((?:^|\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\w*/ , lookbehind :! 0 }, keyword : [{ pattern : /(^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I
keyword : /\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|if_not_empty|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|http|server|events|location|include|accept_mutex|accept_mutex_delay|access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth|auth_basic|auth_basic_user_file|auth_http|auth_http_header|auth_http_timeout|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|debug_connection|debug_points|default_type|deny|devpoll_changes|devpoll_events|directio|directio_alignment|disable_symlinks|empty_gif|env|epoll_events|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|google_perftools_profiles|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|imap_capabilities|imap_client_buffer|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|kqueue_changes|kqueue_events|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|lock_file|log_format|log_format_combined|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|multi_accept|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|pop3_auth|pop3_capabilities|port_in_redirect|post_action|postpone_output|protocol|proxy|proxy_buffer|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_error_message|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_timeout|proxy_upstream_fail_timeout|proxy_upstream_max_fails|random
return e = e . map ( function ( e ){ return e . split ( "" ). join ( " *" )}). join ( "|" ), RegExp ( "\\b(?:" + e + ")\\b" )}(), function : /\w[\w ]*?(?= *\()/ , number : { pattern : /((?:\. *\. *)?)(?:\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *[+-]? *\d(?: *\d)*)?/i , lookbehind :! 0 }, operator : /\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/ , punctuation : /[\[\]{}().,:;|]/ }, Prism . languages . parser = Prism . languages . extend ( "markup" ,{ keyword : { pattern : /(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/ , lookbehind :! 0 }, variable : { pattern : /(^|[^^])\B\$(?:\w+|(?=[.\{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ , lookbehind :! 0 , inside : { punctuation : /\.|:+/ }}, function : { pattern : /(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ , lookbehind :! 0 , inside : { keyword : { pattern : /(^@)(?:GET_|SET_)/ , lookbehind :! 0 }, punctuation : /\.|:+/ }}, escape : { pattern : /\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i , alias : "builtin" }, punctuation : /[\[\](){};]/ }), Prism . languages . insertBefore ( "parser" , "keyword" ,{ "parser-comment" : { pattern : /(\s)#.*/ , lookbehind :! 0 , alias : "comment" }, expression : { pattern : /(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/ , greedy :! 0 , lookbehind :! 0 , inside : { string : { pattern : /(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/ , lookbehind :! 0 }, keyword : Prism . languages . parser . keyword , variable : Prism . languages . parser . variable , function : Prism . languages . parser . function , boolean : /\b(?:true|false)\b/ , number : /\b(?:0x[a-f\d]+|\d+\.?\d*(?:e[+-]?\d+)?)\b/i , escape : Prism . languages . parser . escape , operator : /[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ , punctuation : Prism . languages . parser . punctuation }}}), Prism . languages . insertBefore ( "inside" , "punctuation" ,{ expression : Prism . languages . parser . expression , keyword : Prism . languages . parser . keyword , variable : Prism . languages . parser . variable , function : Prism . languages . parser . function , escape : Prism . languages . parser . escape , "parser-punctuation" : { pattern : Prism . languages . parser . punctuation , alias : "punctuation" }}, Prism . languages . parser . tag . inside [ "attr-value" ]), Prism . languages . pascal = { comment : [ /\(\*[\s\S]+?\*\)/ , /\{[\s\S]+?\}/ , /\/\/.*/ ], string : { pattern : /(?:'(?:''|[^'\r\n])*'|#[&$%]?[a-f\d]+)+|\^[a-z]/i , greedy :! 0 }, keyword : [{ pattern : /(^|[^&])\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\b/i , lookbehind :! 0 },{ pattern : /(^|[^&])\b(?:dispose|exit|false|new|true)\b/i , lookbehind :! 0 },{ pattern : /(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\b/i , lookbehind :! 0 },{ pattern : /(^|[^&])\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\b/i , lookbehind :! 0 }], number : [ /[+-]?(?:[&%]\d+|\$[a-f\d]+)/i , /([+-]|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?/i ], operator : [ /\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/i ,{ pattern : /(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ , lookbehind :! 0 }], punctuation : /\(\.|\.\)|[()\[\]:;,.]/ }, Prism . languages . perl = { comment : [{ pattern : /(^\s*)=\w+[\s\S]*?=cut.*/m , lookbehind :! 0 },{ pattern : /(^|[^\\$])#.*/ , lookbehind :! 0 }], string : [{ pattern : /\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/ , greedy :! 0 },{ pattern : /\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:[^\\]|\\[\s\S])*?\1/ , greedy :! 0 },{ pattern : /\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/ , greedy
e . element . innerHTML = e . highlightedCode }}), Prism . hooks . add ( "wrap" , function ( e ){ "php" === e . language && "markup" === e . type && ( e . content = e . content . replace ( /(\{\{\{PHP[0-9]+\}\}\})/g , '<span class="token php">$1</span>' ))}), Prism . languages . insertBefore ( "php" , "comment" ,{ markup : { pattern : /<[^?]\/?(.*?)>/ , inside : Prism . languages . markup }, php : /\{\{\{PHP[0-9]+\}\}\}/ })), Prism . languages . insertBefore ( "php" , "variable" ,{ this : /\$this\b/ , global : /\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)/ , scope : { pattern : /\b[\w\\]+::/ , inside : { keyword : /(static|self|parent)/ , punctuation : /(::|\\)/ }}}), Prism . languages . powershell = { comment : [{ pattern : /(^|[^`])<#[\w\W]*?#>/ , lookbehind :! 0 },{ pattern : /(^|[^`])#.*/ , lookbehind :! 0 }], string : [{ pattern : /"(`?[\w\W])*?"/ , greedy :! 0 , inside : { function : { pattern : /[^`]\$\(.*?\)/ , inside : {}}}},{ pattern : /'([^']|'')*'/ , greedy :! 0 }], namespace : /\[[a-z][\w\W]*?\]/i , boolean : /\$(true|false)\b/i , variable : /\$\w+\b/i , function : [ /\b(Add-(Computer|Content|History|Member|PSSnapin|Type)|Checkpoint-Computer|Clear-(Content|EventLog|History|Item|ItemProperty|Variable)|Compare-Object|Complete-Transaction|Connect-PSSession|ConvertFrom-(Csv|Json|StringData)|Convert-Path|ConvertTo-(Csv|Html|Json|Xml)|Copy-(Item|ItemProperty)|Debug-Process|Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Disconnect-PSSession|Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Enter-PSSession|Exit-PSSession|Export-(Alias|Clixml|Console|Csv|FormatData|ModuleMember|PSSession)|ForEach-Object|Format-(Custom|List|Table|Wide)|Get-(Alias|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Culture|Date|Event|EventLog|EventSubscriber|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|WmiObject)|Group-Object|Import-(Alias|Clixml|Csv|LocalizedData|Module|PSSession)|Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)|Join-Path|Limit-EventLog|Measure-(Command|Object)|Move-(Item|ItemProperty)|New-(Alias|Event|EventLog|Item|ItemProperty|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy)|Out-(Default|File|GridView|Host|Null|Printer|String)|Pop-Location|Push-Location|Read-Host|Receive-(Job|PSSession)|Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)|Remove-(Computer|Event|EventLog|Item|ItemProperty|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)|Rename-(Computer|Item|ItemProperty)|Reset-ComputerMachinePassword|Resolve-Path|Restart-(Computer|Service)|Restore-Computer|Resume-(Job|Service)|Save-Help|Select-(Object|String|Xml)|Send-MailMessage|Set-(Alias|Content|Date|Item|ItemProperty|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)|Show-(Command|ControlPanelItem|EventLog)|Sort-Object|Split-Path|Start-(Job|Process|Service|Sleep|Transaction)|Stop-(Computer|Job|Process|Service)|Suspend-(Job|Service)|Tee-Object|Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)|Trace-Command|Unblock-File|Undo-Transaction|Unregister-(Event|PSSessionConfiguration)|Update-(FormatData|Help|List|TypeData)|Use-Transaction|Wait-(Event|Job|Process)|Where-Object|Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning))\b/i , /\b(ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i ], keyword : /\b(Begin|Break|Catch|Class|Continue|Data|Define|Do|D
var t = [{ pattern : /(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/ , lookbehind :! 0 , inside : { "short-variable" : { pattern : /(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/ , lookbehind :! 0 , alias : "variable" , inside : { punctuation : /::/ }}, delimiter : { pattern : /^\$/ , alias : "variable" }, rest : e . util . clone ( e . languages . puppet )}},{ pattern : /(^|[^\\])\$(?:::)?\w+(?:::\w+)*/ , lookbehind :! 0 , alias : "variable" , inside : { punctuation : /::/ }}]
e . languages . puppet . heredoc [ 0 ]. inside . interpolation = t , e . languages . puppet . string . inside [ "double-quoted" ]. inside . interpolation = t }( Prism ), function ( e ){ e . languages . pure = { "inline-lang" : { pattern : /%<[\s\S]+?%>/ , inside : { lang : { pattern : /(^%< *)-\*-.+?-\*-/ , lookbehind :! 0 , alias : "comment" }, delimiter : { pattern : /^%<.*|%>$/ , alias : "punctuation" }}}, comment : [{ pattern : /(^|[^\\])\/\*[\w\W]*?\*\// , greedy :! 0 , lookbehind :! 0 },{ pattern : /(^|[^\\:])\/\/.*/ , lookbehind :! 0 }, /#!.+/ ], string : { pattern : /"(?:\\.|[^"\\\r\n])*"/ , greedy :! 0 }, number : { pattern : /((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d)?|\B\.\d)\d*(?:e[+-]?\d+)?L?)/i , lookbehind :! 0 }, keyword : /\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/ , function : /\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/ , special : { pattern : /\b__[a-z]+__\b/i , alias : "builtin" }, operator : /(?=\b_|[^_])[!"#$%&'*+,\-.\/:<=>?@\\^_`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]+|\b(?:and|div|mod|not|or)\b/ , punctuation : /[(){}\[\];,|]/ },[ "c" ,{ lang : "c++" , alias : "cpp" }, "fortran" , "ats" , "dsp" ]. forEach ( function ( t ){ var n = t
if ( "string" != typeof t && ( n = t . alias , t = t . lang ), e . languages [ n ]){ var a = {}
a [ "inline-lang-" + n ] = { pattern : RegExp ( "%< *-\\*- *{lang}\\d* *-\\*-[\\s\\S]+?%>" . replace ( "{lang}" , t . replace ( /([.+*?\/\\(){}\[\]])/g , "\\$1" )), "i" ), inside : e . util . clone ( e . languages . pure [ "inline-lang" ]. inside )}, a [ "inline-lang-" + n ]. inside . rest = e . util . clone ( e . languages [ n ]), e . languages . insertBefore ( "pure" , "inline-lang" , a )}}), e . languages . c && ( e . languages . pure [ "inline-lang" ]. inside . rest = e . util . clone ( e . languages . c ))}( Prism ), Prism . languages . python = { "triple-quoted-string" : { pattern : /"""[\s\S]+?"""|'''[\s\S]+?'''/ , alias : "string" }, comment : { pattern : /(^|[^\\])#.*/ , lookbehind :! 0 }, string : { pattern : /("|')(?:\\\\|\\?[^\\\r\n])*?\1/ , greedy :! 0 }, function : { pattern : /((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g , lookbehind :! 0 }, "class-name" : { pattern : /(\bclass\s+)[a-z0-9_]+/i , lookbehind :! 0 }, keyword : /\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/ , boolean : /\b(?:True|False)\b/ , number : /\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i , operator : /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/ , punctuation : /[{}[\];(),.:]/ }, Prism . languages . q = { string : /"(?:\\.|[^"\\\r\n])*"/ , comment : [{ pattern : /([\t )\]}])\/.*/ , lookbehind :! 0 },{ pattern : /(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ , lookbehind :! 0 }, /^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m , /^#!.+/m ], symbol : /`(?::\S+|[\w.]*)/ , datetime : { pattern : /0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[uvt]?/ , alias : "number" }, number : /\b-?(?![01]:)(?:0[wn]|0W[hj]?|0N[hje]?|0x[\da-fA-F]+|\d+\.?\d*(?:e[+-]?\d+)?[hjfeb]?)/ , keyword : /\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/ , adverb : { pattern : /['\/\\]:?|\beach\b/ , alias : "function" }, verb : { pattern : /(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?_~=|$&#@^]):?/ , alias : "operator" }, punctuation : /[(){}\[\];.]/ }, Prism . languages . qore = Prism . languages . extend ( "clike" ,{ comment : { pattern : /(^|[^\\])(?:\/\*[\w\W]*?\*\/|(?:\/\/|#).*)/ , lookbehind :! 0 }, string : { pattern : /("|')(\\(?:\r\n|[\s\S])|(?!\1)[^\\])*\1/ , greedy :! 0 }, variable : /\$(?!\d)\w+\b/ , keyword : /\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ , number : /\b(?:0b[01]+|0x[\da-f]*\.?[\da-fp\-]+|\d*\.?\d+e?\d*[df]|\d*\.?\d+)\b/i , boolean : /\b(?:true|false)\b/i , operator : { pattern : /(^|[^\.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/ , lookbehind :! 0 }, function : /\$?\b(?!\d)\w+(?=\()/ }), Prism . languages . r = { comment : /#.*/ , string : { pattern : /(['"])(?:\\?.)*?\1/ , greedy :! 0 }, "percent-operator" : { pattern : /%[^%\s]*%/ , alias : "operator" }, boolean : /\b(?:TRUE|FALSE)\b/ , ellipsis : /\.\.(?:\.|\d+)/ , number : [ /\b(?:NaN|Inf)\b/ , /\b(?:0x[\dA-Fa-f]+(?:\.\d*)?|\d*\.?\d+)(?:[EePp][+-]?\d+)?[iL]?\b/ ], keyword : /\b(?:if
e . languages . jsx = e . languages . extend ( "markup" , t ), e . languages . jsx . tag . pattern = /<\/?[\w\.:-]+\s*(?:\s+(?:[\w\.:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+|(\{[\w\W]*?\})))?|\{\.{3}\w+\})\s*)*\/?>/i , e . languages . jsx . tag . inside [ "attr-value" ]. pattern = /=[^\{](?:('|")[\w\W]*?(\1)|[^\s>]+)/i , e . languages . insertBefore ( "inside" , "attr-name" ,{ spread : { pattern : /\{\.{3}\w+\}/ , inside : { punctuation : /\{|\}|\./ , "attr-value" : /\w+/ }}}, e . languages . jsx . tag )
var n = e . util . clone ( e . languages . jsx )
delete n . punctuation , n = e . languages . insertBefore ( "jsx" , "operator" ,{ punctuation : /=(?={)|[{}[\];(),.:]/ },{ jsx : n }), e . languages . insertBefore ( "inside" , "attr-value" ,{ script : { pattern : /=(\{(?:\{[^}]*\}|[^}])+\})/i , inside : n , alias : "language-javascript" }}, e . languages . jsx . tag )}( Prism ), Prism . languages . reason = Prism . languages . extend ( "clike" ,{ comment : { pattern : /(^|[^\\])\/\*[\w\W]*?\*\// , lookbehind :! 0 }, string : { pattern : /"(\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/ , greedy :! 0 }, "class-name" : /\b[A-Z]\w*/ , keyword : /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ , operator : /\.{3}|:[:=]|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ }), Prism . languages . insertBefore ( "reason" , "class-name" ,{ character : { pattern : /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'])'/ , alias : "string" }, constructor : { pattern : /\b[A-Z]\w*\b(?!\s*\.)/ , alias : "variable" }, label : { pattern : /\b[a-z]\w*(?=::)/ , alias : "symbol" }}), delete Prism . languages . reason . function , Prism . languages . rest = { table : [{ pattern : /(\s*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1(?:[+|].+)+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/ , lookbehind :! 0 , inside : { punctuation : /\||(?:\+[=-]+)+\+/ }},{ pattern : /(\s*)(?:=+ +)+=+((?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1(?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ , lookbehind :! 0 , inside : { punctuation : /[=-]+/ }}], "substitution-def" : { pattern : /(^\s*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m , lookbehind :! 0 , inside : { substitution : { pattern : /^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/ , alias : "attr-value" , inside : { punctuation : /^\||\|$/ }}, directive : { pattern : /( +)[^:]+::/ , lookbehind :! 0 , alias : "function" , inside : { punctuation : /::$/ }}}}, "link-target" : [{ pattern : /(^\s*\.\. )\[[^\]]+\]/m , lookbehind :! 0 , alias : "string" , inside : { punctuation : /^\[|\]$/ }},{ pattern : /(^\s*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m , lookbehind :! 0 , alias : "string" , inside : { punctuation : /^_|:$/ }}], directive : { pattern : /(^\s*\.\. )[^:]+::/m , lookbehind :! 0 , alias : "function" , inside : { punctuation : /::$/ }}, comment : { pattern : /(^\s*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m , lookbehind :! 0 }, title : [{ pattern : /^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m , inside : { punctuation : /^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/ , important : /.+/ }},{ pattern : /(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/ , lookbehind :! 0 , inside : { punctuation : /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/ , important : /.+/ }}], hr : { pattern : /((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/ , lookbehind :! 0 , alias : "punctuation" }, field : { pattern : /(^\s*):[^:\r\n]+:(?= )/m , lookbehind :! 0 , alias : "attr-name" }, "command-line-option" : { pattern : /(^\s*)(?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a-z][a-z\d_-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a-z][a-z\d_-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im , lookbehind :! 0 , alias : "symbol" }, "literal-block" : { pattern : /::(?:\r?\n|\r){2}([ \t]+).+(?:(?:\r?\n|\r)\1.+)*/ , inside : { "literal-block-punctuation" : { pattern : /^::/ , alias : "punctuation" }}}, "quoted-literal-block" : { pattern : /::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/ , inside : { "literal-block-punctuation" : { pattern : /^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\1*)/m , alias : "punctuation" }}}, "list-bullet" : { pattern : /(^\s*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im , lookbehind :! 0 , alias : "punctuation" }, "doctest-block" : { pattern : /(^\s*)>>> .+(?:(?:\r?\n|\r).+)*/m , lookbehind :! 0 , inside : { punctuation : /^>>>/ }}, inline : [{ pattern : /(^|[\s\-:\/'"<(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s).*?[^\s]\2(?=[\s\-.,:;!?\\\/'")\]}]|$))/m , lookbehind :! 0 , inside : { bold : { pattern : /(^\*\*).+(?=\*\*$)/ , lookbehind :! 0 }, italic : { pattern : /(^\*).+(?=\*$)/ , lookbehind :! 0 }, "inline-literal" : { pattern : /(^``).+(?=``$)/ , lookbehind :! 0 , alias : "symbol" }, role : { pattern : /^:[^:]+:|:[^:]+:$
var t = e . util . clone ( e . languages . crystal )
e . languages . insertBefore ( "crystal" , "string" ,{ attribute : { pattern : /@\[.+?\]/ , alias : "attr-name" , inside : { delimiter : { pattern : /^@\[|\]$/ , alias : "tag" }, rest : t }}, expansion : [{ pattern : /\{\{.+?\}\}/ , inside : { delimiter : { pattern : /^\{\{|\}\}$/ , alias : "tag" }, rest : t }},{ pattern : /\{%.+?%\}/ , inside : { delimiter : { pattern : /^\{%|%\}$/ , alias : "tag" }, rest : t }}]})}( Prism ), Prism . languages . rust = { comment : [{ pattern : /(^|[^\\])\/\*[\w\W]*?\*\// , lookbehind :! 0 },{ pattern : /(^|[^\\:])\/\/.*/ , lookbehind :! 0 }], string : [{ pattern : /b?r(#*)"(?:\\?.)*?"\1/ , greedy :! 0 },{ pattern : /b?("|')(?:\\?.)*?\1/ , greedy :! 0 }], keyword : /\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/ , attribute : { pattern : /#!?\[.+?\]/ , greedy :! 0 , alias : "attr-name" }, function : [ /[a-z0-9_]+(?=\s*\()/i , /[a-z0-9_]+!(?=\s*\(|\[)/i ], "macro-rules" : { pattern : /[a-z0-9_]+!/i , alias : "function" }, number : /\b-?(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(_?\d)*)?\.?\d(_?\d)*([Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b/ , "closure-params" : { pattern : /\|[^|]*\|(?=\s*[{-])/ , inside : { punctuation : /[\|:,]/ , operator : /[&*]/ }}, punctuation : /[{}[\];(),:]|\.+|->/ , operator : /[-+*\/%!^=]=?|@|&[&=]?|\|[|=]?|<<?=?|>>?=?/ }, Prism . languages . sas = { datalines : { pattern : /^\s*(?:(?:data)?lines|cards);[\s\S]+?(?:\r?\n|\r);/im , alias : "string" , inside : { keyword : { pattern : /^(\s*)(?:(?:data)?lines|cards)/i , lookbehind :! 0 }, punctuation : /;/ }}, comment : [{ pattern : /(^\s*|;\s*)\*.*;/m , lookbehind :! 0 }, /\/\*[\s\S]+?\*\// ], datetime : { pattern : /'[^']+'(?:dt?|t)\b/i , alias : "number" }, string : { pattern : /(["'])(?:\1\1|(?!\1)[\s\S])*\1/ , greedy :! 0 }, keyword : /\b(?:data|else|format|if|input|proc\s\w+|quit|run|then)\b/i , number : /(?:\B-|\b)(?:[\da-f]+x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i , operator : /\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?|\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i , punctuation : /[$%@.(){}\[\];,\\]/ }, function ( e ){ e . languages . sass = e . languages . extend ( "css" ,{ comment : { pattern : /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m , lookbehind :! 0 }}), e . languages . insertBefore ( "sass" , "atrule" ,{ "atrule-line" : { pattern : /^(?:[ \t]*)[@+=].+/m , inside : { atrule : /(?:@[\w-]+|[+=])/m }}}), delete e . languages . sass . atrule
var t = /((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i , n = [ /[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/ ,{ pattern : /(\s+)-(?=\s)/ , lookbehind :! 0 }]
e . languages . insertBefore ( "sass" , "property" ,{ "variable-line" : { pattern : /^[ \t]*\$.+/m , inside : { punctuation : /:/ , variable : t , operator : n }}, "property-line" : { pattern : /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m , inside : { property : [ /[^:\s]+(?=\s*:)/ ,{ pattern : /(:)[^:\s]+/ , lookbehind :! 0 }], punctuation : /:/ , variable : t , operator : n , important : e . languages . sass . important }}}), delete e . languages . sass . property , delete e . languages . sass . important , delete e . languages . sass . selector , e . languages . insertBefore ( "sass" , "punctuation" ,{ selector : { pattern : /([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/ , lookbehind :! 0 }})}( Prism ), Prism . languages . scss = Prism . languages . extend ( "css" ,{ comment : { pattern : /(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/ , lookbehind :! 0 }, atrule : { pattern : /@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/ , inside : { rule : /@[\w-]+/ }}, url : /(?:[-a-z]+-)*url(?=\()/i , selector : { pattern : /(?=\S)[^@;\{\}\(\)]?([^@;\{\}\(\)]|&|#\{\$[-_\w]+\})+(?=\s*\{(\}|\s|[^\}]+(:|\{)[^\}]+))/m , inside : { parent : { pattern : /&/ , alias : "important" }, placeholder : /%[-_\w]+/ , variable : /\$[-_\w]+|#\{\$[-_\w]+\}/ }}}), Prism . languages . insertBefore ( "scss" , "atrule" ,{ keyword : [ /@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i ,{ pattern : /( +)(?:from|through)(?= )/ , lookbehind :! 0 }]}), Prism . languages . scss . property = { pattern : /(?:[\w-]|\$[-_\w]+|#\{\$[-_\w]+\})+(?=\s*:)/i , inside : { variable : /\$[-_\w]+|#\{\$[-_\w]+\}/ }}, Prism . languages . insertBefore ( "scss" , "important" ,{ variable : /\$[-_\w]+|#\{\$[-_\w]+\}/ }), Prism . languages . insertBefore ( "scss" , "function" ,{ placeholder : { pattern : /%[-_\w]+/ , alias : "selector" }, statement : { pattern : /\B!(?:default|optional)\b/i , alias : "keyword" }, boolean : /\b(?:true|false)\b/ , null : /\bnull\b/ , operator : { pattern : /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/ , lookbehind :! 0 }}), Prism . languages . scss . atrule . inside . rest = Prism . util . clone ( Prism . languages . scss ), Prism . languages . scala = Prism . languages . extend ( "java" ,{ keyword : /<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ , string : [{ pattern : /"""[\W\w]*?"""/ , greedy :! 0 },{ pattern : /("|')(?:\\\\|\\?[^\\\r\n])*?\1/ , greedy :! 0 }], builtin : /\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ , number : /\b(?:0x[\da-f]*\.?[\da-f]+|\d*\.?\d+e?\d*[dfl]?)\b/i , symbol : /'[^\d\s\\]\w*/ }), delete Prism . languages . scala [ "class-name" ], delete Prism . languages . scala . function , Prism . languages . scheme = { comment : /;.*/ , string : { pattern : /"(?:[^"\\\r\n]|\\.)*?"|'[^('\s]*/ , greedy :! 0 }, keyword : { pattern : /(\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)/ , lookbehind :! 0 }, builtin : { pattern : /(\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)/ , lookbehind :! 0 }, number : { pattern : /(\s|\))[-+]?[0-9]*\.?[0-9]+(?:\s*[-+]\s*[0-9]*\.?[0-9]+i)?\b/ , lookbehind :! 0 }, boolean : /#[tf]/ , operator : { pattern : /(\()(?:[-+*%\/]|[<>]=?|=>?)/ , lookbehind :! 0 }, function : { pattern : /(\()[^\s()]*(?=\s)/ , lookbehind :! 0 }, punctuation : /[()]/ }, Prism . languages . smalltalk = { comment : /"(?:""|[^"])+"/ , string : /'(?:''|[^'])+'/ , symbol : /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i , "block-arguments" : { pattern : /(\[\s*):[^\[|]*?\|/ , lookbehind :! 0 , inside : { variable : /:[\da-z]+/i , punctuation : /\|/ }}, "temporary-variables" : { pattern : /\|[^|]+\|/ , inside : { variable : /[\da-z]+/i , punctuation : /\|/ }}, keyword : /\b(?:nil|true|false|self|super|new)\b/ , character : { pattern : /\$./ , alias : "string" }, number : [ /\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ , /(?:\B-|\b)\d+(?:\.\d+)?(?:e-?\d+)?/ ], operator : /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/ , punctuation : /[.;:?\[\](){}]/ }, function ( e ){ var t = /\{\*[\w\W]+?\*\}|\{[\w\W]+?\}/g , n =! 1
e . languages . smarty = e . languages . extend ( "markup" ,{ smarty : { pattern : t , inside : { delimiter : { pattern : /^\{|\}$/i , alias : "punctuation" }, string : /(["'])(?:\\?.)*?\1/ , number : /\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee][-+]?\d+)?)\b/ , variable : [ /\$(?!\d)\w+/ , /#(?!\d)\w+#/ ,{ pattern : /(\.|->)(?!\d)\w+/ , lookbehind :! 0 },{ pattern : /(\[)(?!\d)\w+(?=\])/ , lookbehind :! 0 }], function : [{ pattern : /(\|\s*)@?(?!\d)\w+/ , lookbehind :! 0 }, /^\/?(?!\d)\w+/ , /(?!\d)\w+(?=\()/ ], "attr-name" : { pattern : /\w+\s*=\s*(?:(?!\d)\w+)?/ , inside : { variable : { pattern : /(=\s*)(?!\d)\w+/ , lookbehind :! 0 }, operator : /=/ }}, punctuation : [ /[\[\]().,:`]|\->/ ], operator : [ /[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/ , /\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ , /\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ ], keyword : /\b(?:false|off|on|no|true|yes)\b/ }}}), e . languages . insertBefore ( "smarty" , "tag" ,{ "smarty-comment" : { pattern : /\{\*[\w\W]*?\*\}/ , alias : [ "smarty" , "comment" ]}}), e . hooks . add ( "before-highlight" , function ( e ){ "smarty" === e . language && ( e . tokenStack = [], e . backupCode = e . code , e . code = e . code . replace ( t , function ( t ){ return "{/literal}" === t && ( n =! 1 ), n ? t : ( "{literal}" === t && ( n =! 0 ), e . tokenStack . push ( t ), "___SMARTY" + e . tokenStack . length + "___" )}))}), e . hooks . add ( "before-insert" , function ( e ){ "smarty" === e . language && ( e . code = e . backupCode , delete e . backupCode )}), e . hooks . add ( "after-highlight" , function ( t ){ if ( "smarty" === t . language ){ for ( var n , a = 0 ; n = t . tokenStack [ a ]; a ++ ) t . highlightedCode = t . highlightedCode . replace ( "___SMARTY" + ( a + 1 ) + "___" , e . highlight ( n , t . grammar , "smarty" ). replace ( /\$/g , "$$$$" ))
t . element . innerHTML = t . highlightedCode }})}( Prism ), Prism . languages . sql = { comment : { pattern : /(^|[^\\])(?:\/\*[\w\W]*?\*\/|(?:--|\/\/|#).*)/ , lookbehind :! 0 }, string : { pattern : /(^|[^@\\])("|')(?:\\?[\s\S])*?\2/ , greedy :! 0 , lookbehind :! 0 }, variable : /@[\w.$]+|@("|'|`)(?:\\?[\s\S])+?\1/ , function : /\b(?:COUNT|SUM|AVG|MIN|MAX|FIRST|LAST|UCASE|LCASE|MID|LEN|ROUND|NOW|FORMAT)(?=\s*\()/i , keyword : /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR VARYING|CHARACTER (?:SET|VARYING)|CHARSET|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|DATA(?:BASES?)?|DATE(?:TIME)?|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITER(?:S)?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE(?: PRECISION)?|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE KEY|ELSE|ENABLE|ENCLOSED BY|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPE(?:D BY)?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTO|INVOKER|ISOLATION LEVEL|JOIN|KEYS?|KILL|LANGUAGE SQL|LAST|LEFT|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MODIFIES SQL DATA|MODIFY|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL(?: CHAR VARYING| CHARACTER(?: VARYING)?| VARCHAR)?|NATURAL|NCHAR(?: VARCHAR)?|NEXT|NO(?: SQL|CHECK|CYCLE)?|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READ(?:S SQL DATA|TEXT)?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEATABLE|REPLICATION|REQUIRE|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE MODE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|START(?:ING BY)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED BY|TEXT(?:SIZE)?|THEN|TIMESTAMP|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNPIVOT|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?)\b/i , boolean : /\b(?:TRUE|FALSE|NULL)\b/i , number : /\b-?(?:0x)?\d*\.?[\da-f]+\b/ , operator : /[-+*\/=%^~]|&&?|\|?\||!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i , punctuation : /[;[\]()`,.]/ }, function ( e ){ var t = { url : /url\((["']?).*?\1\)/i , string : { pattern : /("|')(?:[^\\\r\n]|\\(?:\r\n|[\s\S]))*?\1/ , greedy :! 0 }, interpolation : null , func : null , important : /\B!(?:important|optional)\b/i , keyword : { pattern : /(^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[\w-]+)/ , lookbehind :! 0 }, hexcode : /#[\da-f]{3,6}/i , number : /\b\d+(?:\.\d+)?%?/ , boolean : /\b(?:true|false)\b/ , operator : [ /~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.+|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ ], punctuation : /[{}()\[\];:,]/ }
t . interpolation = { pattern : /\{[^\r\n}:]+\}/ , alias : "variable" , inside : e . util . clone ( t )}, t . func = { pattern : /[\w-]+\([^)]*\).*/ , inside : { function : /^[^(]+/ , rest : e . util . clone ( t )}}, e . languages . stylus = { comment : { pattern : /(^|[^\\])(\/\*[\w\W]*?\*\/|\/\/.*)/ , lookbehind :! 0 }, "atrule-declaration" : { pattern : /(^\s*)@.+/m , lookbehind :! 0 , inside : { atrule : /^@[\w-]+/ , rest : t }}, "variable-declaration" : { pattern : /(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:(?:\{[^}]*\}|.+)|$)/m , lookbehind :! 0 , inside : { variable : /^\S+/ , rest : t }}, statement : { pattern : /(^[ \t]*)(?:if|else|for|return|unless)[ \t]+.+/m , lookbehind :! 0 , inside : { keyword : /^\S+/ , rest : t }}, "property-declaration" : { pattern : /((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)[^{\r\n]*(?:;|[^{\r\n,](?=$)(?!(\r?\n|\r)(?:\{|\2[ \t]+)))/m , lookbehind :! 0 , inside : { property : { pattern : /^[^\s:]+/ , inside : { interpolation : t . interpolation }}, rest : t }}, selector : { pattern : /(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t]+)))/m , lookbehind :! 0 , inside : { interpolation : t . interpolation , punctuation : /[{},]/ }}, func : t . func , string : t . string , interpolation : t . interpolation , punctuation : /[{}()\[\];:.]/ }}( Prism ), Prism . languages . swift = Prism . languages . extend ( "clike" ,{ string : { pattern : /("|')(\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ , greedy :! 0 , inside : { interpolation : { pattern : /\\\((?:[^()]|\([^)]+\))+\)/ , inside : { delimiter : { pattern : /^\\\(|\)$/ , alias : "variable" }}}}}, keyword : /\b(as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|Protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ , number : /\b([\d_]+(\.[\de_]+)?|0x[a-f0-9_]+(\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i , constant : /\b(nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/ , atrule : /@\b(IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ , builtin : /\b([A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ }), Prism . languages . swift . string . inside . interpolation . inside . rest = Prism . util . clone ( Prism . languages . swift ), Prism . languages . tcl = { comment : { pattern : /(^|[^\\])#.*/ , lookbehind :! 0 }, string : { pattern : /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/ , greedy :! 0 }, variable : [{ pattern : /(\$)(?:::)?(?:[a-zA-Z0-9]+::)*[a-zA-Z0-9_]+/ , lookbehind :! 0 },{ pattern : /(\$){[^}]+}/ , lookbehind :! 0 },{ pattern : /(^\s*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*[a-zA-Z0-9_]+/m , lookbehind :! 0 }], function : { pattern : /(^\s*proc[ \t]+)[^\s]+/m , lookbehind :! 0 }, builtin : [{ pattern : /(^\s*)(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m , lookbehind :! 0 }, /\b(elseif|else)\b/ ], scope : { pattern : /(^\s*)(global|upvar|variable)\b/m , lookbehind :! 0 , alias : "constant" }, keyword : { pattern : /(^\s*|\[)(after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pi
e . languages . textile = e . languages . extend ( "markup" ,{ phrase : { pattern : /(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/ , lookbehind :! 0 , inside : { "block-tag" : { pattern : RegExp ( "^[a-z]\\w*(?:" + t + "|[<>=()])*\\." ), inside : { modifier : { pattern : RegExp ( "(^[a-z]\\w*)(?:" + t + "|[<>=()])+(?=\\.)" ), lookbehind :! 0 , inside : e . util . clone ( n )}, tag : /^[a-z]\w*/ , punctuation : /\.$/ }}, list : { pattern : RegExp ( "^[*#]+(?:" + t + ")?\\s+.+" , "m" ), inside : { modifier : { pattern : RegExp ( "(^[*#]+)" + t ), lookbehind :! 0 , inside : e . util . clone ( n )}, punctuation : /^[*#]+/ }}, table : { pattern : RegExp ( "^(?:(?:" + t + "|[<>=()^~])+\\.\\s*)?(?:\\|(?:(?:" + t + "|[<>=()^~_]|[\\\\/]\\d+)+\\.)?[^|]*)+\\|" , "m" ), inside : { modifier : { pattern : RegExp ( "(^|\\|(?:\\r?\\n|\\r)?)(?:" + t + "|[<>=()^~_]|[\\\\/]\\d+)+(?=\\.)" ), lookbehind :! 0 , inside : e . util . clone ( n )}, punctuation : /\||^\./ }}, inline : { pattern : RegExp ( "(\\*\\*|__|\\?\\?|[*_%@+\\-^~])(?:" + t + ")?.+?\\1" ), inside : { bold : { pattern : RegExp ( "((^\\*\\*?)(?:" + t + ")?).+?(?=\\2)" ), lookbehind :! 0 }, italic : { pattern : RegExp ( "((^__?)(?:" + t + ")?).+?(?=\\2)" ), lookbehind :! 0 }, cite : { pattern : RegExp ( "(^\\?\\?(?:" + t + ")?).+?(?=\\?\\?)" ), lookbehind :! 0 , alias : "string" }, code : { pattern : RegExp ( "(^@(?:" + t + ")?).+?(?=@)" ), lookbehind :! 0 , alias : "keyword" }, inserted : { pattern : RegExp ( "(^\\+(?:" + t + ")?).+?(?=\\+)" ), lookbehind :! 0 }, deleted : { pattern : RegExp ( "(^-(?:" + t + ")?).+?(?=-)" ), lookbehind :! 0 }, span : { pattern : RegExp ( "(^%(?:" + t + ")?).+?(?=%)" ), lookbehind :! 0 }, modifier : { pattern : RegExp ( "(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])" + t ), lookbehind :! 0 , inside : e . util . clone ( n )}, punctuation : /[*_%?@+\-^~]+/ }}, "link-ref" : { pattern : /^\[[^\]]+\]\S+$/m , inside : { string : { pattern : /(\[)[^\]]+(?=\])/ , lookbehind :! 0 }, url : { pattern : /(\])\S+$/ , lookbehind :! 0 }, punctuation : /[\[\]]/ }}, link : { pattern : RegExp ( '"(?:' + t + ')?[^"]+":.+?(?=[^\\w/]?(?:\\s|$))' ), inside : { text : { pattern : RegExp ( '(^"(?:' + t + ')?)[^"]+(?=")' ), lookbehind :! 0 }, modifier : { pattern : RegExp ( '(^")' + t ), lookbehind :! 0 , inside : e . util . clone ( n )}, url : { pattern : /(:).+/ , lookbehind :! 0 }, punctuation : /[":]/ }}, image : { pattern : RegExp ( "!(?:" + t + "|[<>=()])*[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?" ), inside : { source : { pattern : RegExp ( "(^!(?:" + t + "|[<>=()])*)[^!\\s()]+(?:\\([^)]+\\))?(?=!)" ), lookbehind :! 0 , alias : "url" }, modifier : { pattern : RegExp ( "(^!)(?:" + t + "|[<>=()])+" ), lookbehind :! 0 , inside : e . util . clone ( n )}, url : { pattern : /(:).+/ , lookbehind :! 0 }, punctuation : /[!:]/ }}, footnote : { pattern : /\b\[\d+\]/ , alias : "comment" , inside : { punctuation : /\[|\]/ }}, acronym : { pattern : /\b[A-Z\d]+\([^)]+\)/ , inside : { comment : { pattern : /(\()[^)]+(?=\))/ , lookbehind :! 0 }, punctuation : /[()]/ }}, mark : { pattern : /\b\((TM|R|C)\)/ , alias : "comment" , inside : { punctuation : /[()]/ }}}}})
var a = { inline : e . util . clone ( e . languages . textile . phrase . inside . inline ), link : e . util . clone ( e . languages . textile . phrase . inside . link ), image : e . util . clone ( e . languages . textile . phrase . inside . image ), footnote : e . util . clone ( e . languages . textile . phrase . inside . footnote ), acronym : e . util . clone ( e . languages . textile . phrase . inside . acronym ), mark : e . util . clone ( e . languages . textile . phrase . inside . mark )}
e . languages . textile . tag . pattern = /<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i , e . languages . textile . phrase . inside . inline . inside . bold . inside = a , e . languages . textile . phrase . inside . inline . inside . italic . inside = a , e . languages . textile . phrase . inside . inline . inside . inserted . inside = a , e . languages . textile . phrase . inside . inline . inside . deleted . inside = a , e . languages . textile . phrase . inside . inline . inside . span . inside = a , e . languages . textile . phrase . inside . table . inside . inline = a . inline , e . languages . textile . phrase . inside . table . inside . link = a . link , e . languages . textile . phrase . inside . table . inside . image = a . image , e . languages . textile . phrase . inside . table . inside . footnote = a . footnote , e . languages . textile . phrase . inside . table . inside . acronym = a . acronym , e . languages . textile . phrase . inside . table . inside . mark = a . mark }( Prism ), Prism . languages . twig = { comment : /\{#[\s\S]*?#\}/ , tag : { pattern : /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/ , inside : { ld : { pattern : /^(?:\{\{\-?|\{%\-?\s*\w+)/ , inside : { punctuation : /^(?:\{\{|\{%)\-?/ , keyword : /\w+/ }}, rd : { pattern : /\-?(?:%\}|\}\})$/ , inside : { punctuation : /.*/ }}, string : { pattern : /("|')(?:\\?.)*?\1/ , inside : { punctuation : /^['"]|['"]$/ }}, keyword : /\b(?:even|if|odd)\b/ , boolean : /\b(?:true|false|null)\b/ , number : /\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+([Ee][-+]?\d+)?)\b/ , operator : [{ pattern : /(\s)(?:and|b\-and|b\-xor|b\-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ , lookbehind :! 0 }, /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/ ], property : /\b[a-zA-Z_][a-zA-Z0-9_]*\b/ , punctuation : /[()\[\]{}:.,]/ }}, other : { pattern : /\S(?:[\s\S]*\S)?/ , inside : Prism . languages . markup }}, Prism . languages . typescript = Prism . languages . extend ( "javascript" ,{ keyword : /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield|false|true|module|declare|constructor|string|Function|any|number|boolean|Array|enum|symbol|namespace|abstract|require|type)\b/ }), Prism . languages . ts = Prism . languages . typescript , Prism . languages . verilog = { comment : /\/\/.*|\/\*[\w\W]*?\*\// , string : { pattern : /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/ , greedy :! 0 }, property : /\B\$\w+\b/ , constant : /\B`\w+\b/ , function : /[a-z\d_]+(?=\()/i , keyword : /\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ , important : /\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ , number : /\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b\d*[.
Prism . plugins . autolinker = { processGrammar : function ( i ){ i &&! i [ "url-link" ] && ( Prism . languages . DFS ( i , function ( i , r , o ){ a . indexOf ( o ) >- 1 && "Array" !== Prism . util . type ( r ) && ( r . pattern || ( r = this [ i ] = { pattern : r }), r . inside = r . inside || {}, "comment" == o && ( r . inside [ "md-link" ] = n ), "attr-value" == o ? Prism . languages . insertBefore ( "inside" , "punctuation" ,{ "url-link" : e }, r ) : r . inside [ "url-link" ] = e , r . inside [ "email-link" ] = t )}), i [ "url-link" ] = e , i [ "email-link" ] = t )}}, Prism . hooks . add ( "before-highlight" , function ( e ){ Prism . plugins . autolinker . processGrammar ( e . grammar )}), Prism . hooks . add ( "wrap" , function ( e ){ if ( /-link$/ . test ( e . type )){ e . tag = "a"
var t = e . content
if ( "email-link" == e . type && 0 != t . indexOf ( "mailto:" )) t = "mailto:" + t
else if ( "md-link" == e . type ){ var a = e . content . match ( n )
t = a [ 2 ], e . content = a [ 1 ]} e . attributes . href = t }})}}(), function (){ "undefined" != typeof self && self . Prism && self . document && document . querySelector && ( self . Prism . fileHighlight = function (){ var e = { js : "javascript" , py : "python" , rb : "ruby" , ps1 : "powershell" , psm1 : "powershell" , sh : "bash" , bat : "batch" , h : "c" , tex : "latex" }
Array . prototype . forEach && Array . prototype . slice . call ( document . querySelectorAll ( "pre[data-src]" )). forEach ( function ( t ){ for ( var n , a = t . getAttribute ( "data-src" ), i = t , r = /\blang(?:uage)?-(?!\*)(\w+)\b/i ; i &&! r . test ( i . className );) i = i . parentNode
if ( i && ( n = ( t . className . match ( r ) || [, "" ])[ 1 ]), ! n ){ var o = ( a . match ( /\.(\w+)$/ ) || [, "" ])[ 1 ]
n = e [ o ] || o } var s = document . createElement ( "code" )
s . className = "language-" + n , t . textContent = "" , s . textContent = "Loading…" , t . appendChild ( s )
var l = new XMLHttpRequest
l . open ( "GET" , a , ! 0 ), l . onreadystatechange = function (){ 4 == l . readyState && ( l . status < 400 && l . responseText ? ( s . textContent = l . responseText , Prism . highlightElement ( s )) : s . textContent = l . status >= 400 ? "✖ Error " + l . status + " while fetching file: " + l . statusText : "✖ Error: File does not exist or is empty" )}, l . send ( null )})}, document . addEventListener ( "DOMContentLoaded" , self . Prism . fileHighlight ))}(), function (){ if ( "undefined" != typeof self && self . Prism && self . document ){ var e = [], t = {}, n = function (){}
Prism . plugins . toolbar = {}
var a = Prism . plugins . toolbar . registerButton = function ( n , a ){ var i
i = "function" == typeof a ? a : function ( e ){ var t
return "function" == typeof a . onClick ? ( t = document . createElement ( "button" ), t . type = "button" , t . addEventListener ( "click" , function (){ a . onClick . call ( this , e )})) : "string" == typeof a . url ? ( t = document . createElement ( "a" ), t . href = a . url ) : t = document . createElement ( "span" ), t . textContent = a . text , t }, e . push ( t [ n ] = i )}, i = Prism . plugins . toolbar . hook = function ( a ){ var i = a . element . parentNode
if ( i && /pre/i . test ( i . nodeName ) &&! i . classList . contains ( "code-toolbar" )){ i . classList . add ( "code-toolbar" )
var r = document . createElement ( "div" )
r . classList . add ( "toolbar" ), document . body . hasAttribute ( "data-toolbar-order" ) && ( e = document . body . getAttribute ( "data-toolbar-order" ). split ( "," ). map ( function ( e ){ return t [ e ] || n })), e . forEach ( function ( e ){ var t = e ( a )
if ( t ){ var n = document . createElement ( "div" )
n . classList . add ( "toolbar-item" ), n . appendChild ( t ), r . appendChild ( n )}}), i . appendChild ( r )}}
a ( "label" , function ( e ){ var t = e . element . parentNode
if ( t && /pre/i . test ( t . nodeName ) && t . hasAttribute ( "data-label" )){ var n , a , i = t . getAttribute ( "data-label" )
try { a = document . querySelector ( "template#" + i )} catch ( e ){} return a ? n = a . content : ( t . hasAttribute ( "data-url" ) ? ( n = document . createElement ( "a" ), n . href = t . getAttribute ( "data-url" )) : n = document . createElement ( "span" ), n . textContent = i ), n }}), Prism . hooks . add ( "complete" , i )}}(), function (){ "undefined" != typeof self &&! self . Prism || "undefined" != typeof global &&! global . Prism || Prism . hooks . add ( "wrap" , function ( e ){ "keyword" === e . type && e . classes . push ( "keyword-" + e . content )})}(), function (){ if ( "undefined" != typeof self && self . Prism && self . document && Function . prototype . bind ){ var e = function ( e ){ var t = 0 , n = 0 , a = e
if ( a . parentNode ){ do { t += a . offsetLeft , n += a . offsetTop } while (( a = a . offsetParent ) && a . nodeType < 9 )
a = e
do { t -= a . scrollLeft , n -= a . scrollTop } while (( a = a . parentNode ) &&! /body/i . test ( a . nodeName ))} return { top : n , right : innerWidth - t - e . offsetWidth , bottom : innerHeight - n - e . offsetHeight , left : t }}, t = /(?:^|\s)token(?=$|\s)/ , n = function ( e , t , a , i ){ this . _elt = null , this . _type = e , this . _clsRegexp = RegExp ( "(?:^|\\s)" + e + "(?=$|\\s)" ), this . _token = null , this . updater = t , this . _mouseout = this . mouseout . bind ( this ), this . initializer = i
var r = this
a || ( a = [ "*" ]), "Array" !== Prism . util . type ( a ) && ( a = [ a ]), a . forEach ( function ( e ){ "string" != typeof e && ( e = e . lang ), n . byLanguages [ e ] || ( n . byLanguages [ e ] = []), n . byLanguages [ e ]. indexOf ( r ) < 0 && n . byLanguages [ e ]. push ( r )}), n . byType [ e ] = this }
n . prototype . init = function (){ this . _elt || ( this . _elt = document . createElement ( "div" ), this . _elt . className = "prism-previewer prism-previewer-" + this . _type , document . body . appendChild ( this . _elt ), this . initializer && this . initializer ())}, n . prototype . check = function ( e ){ do { if ( t . test ( e . className ) && this . _clsRegexp . test ( e . className )) break } while ( e = e . parentNode )
e && e !== this . _token && ( this . _token = e , this . show ())}, n . prototype . mouseout = function (){ this . _token . removeEventListener ( "mouseout" , this . _mouseout , ! 1 ), this . _token = null , this . hide ()}, n . prototype . show = function (){ if ( this . _elt || this . init (), this . _token ) if ( this . updater . call ( this . _elt , this . _token . textContent )){ this . _token . addEventListener ( "mouseout" , this . _mouseout , ! 1 )
var t = e ( this . _token )
this . _elt . className += " active" , t . top - this . _elt . offsetHeight > 0 ? ( this . _elt . className = this . _elt . className . replace ( /(?:^|\s)flipped(?=$|\s)/g , "" ), this . _elt . style . top = t . top + "px" , this . _elt . style . bottom = "" ) : ( this . _elt . className += " flipped" , this . _elt . style . bottom = t . bottom + "px" , this . _elt . style . top = "" ), this . _elt . style . left = t . left + Math . min ( 200 , this . _token . offsetWidth / 2 ) + "px" } else this . hide ()}, n . prototype . hide = function (){ this . _elt . className = this . _elt . className . replace ( /(?:^|\s)active(?=$|\s)/g , "" )}, n . byLanguages = {}, n . byType = {}, n . initEvents = function ( e , t ){ var a = []
n . byLanguages [ t ] && ( a = a . concat ( n . byLanguages [ t ])), n . byLanguages [ "*" ] && ( a = a . concat ( n . byLanguages [ "*" ])), e . addEventListener ( "mouseover" , function ( e ){ var t = e . target
a . forEach ( function ( e ){ e . check ( t )})}, ! 1 )}, Prism . plugins . Previewer = n , Prism . hooks . add ( "after-highlight" , function ( e ){( n . byLanguages [ "*" ] || n . byLanguages [ e . language ]) && n . initEvents ( e . element , e . language )})}}(), function (){ if (( "undefined" == typeof self || self . Prism ) && ( "undefined" == typeof global || global . Prism )){ var e = { css :! 0 , less :! 0 , markup : { lang : "markup" , before : "punctuation" , inside : "inside" , root : Prism . languages . markup && Prism . languages . markup . tag . inside [ "attr-value" ]}, sass : [{ lang : "sass" , before : "punctuation" , inside : "inside" , root : Prism . languages . sass && Prism . languages . sass [ "variable-line" ]},{ lang : "sass" , inside : "inside" , root : Prism . languages . sass && Prism . languages . sass [ "property-line" ]}], scss :! 0 , stylus : [{ lang : "stylus" , before : "hexcode" , inside : "rest" , root : Prism . languages . stylus && Prism . languages . stylus [ "property-declaration" ]. inside },{ lang : "stylus" , before : "hexcode" , inside : "rest" , root : Prism . languages . stylus && Prism . languages . stylus [ "variable-declaration" ]. inside }]}
Prism . hooks . add ( "before-highlight" , function ( t ){ if ( t . language && e [ t . language ] &&! e [ t . language ]. initialized ){ var n = e [ t . language ]
"Array" !== Prism . util . type ( n ) && ( n = [ n ]), n . forEach ( function ( n ){ var a , i , r , o
n ===! 0 ? ( a = "important" , i = t . language , n = t . language ) : ( a = n . before || "important" , i = n . inside || n . lang , r = n . root || Prism . languages , o = n . skip , n = t . language ), ! o && Prism . languages [ n ] && ( Prism . languages . insertBefore ( i , a ,{ color : /\B#(?:[0-9a-f]{3}){1,2}\b|\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B|\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGray|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGray|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGray|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gray|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGray|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGray|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGray|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i }, r ), t . grammar = Prism . languages [ n ], e [ t . language ] = { initialized :! 0 })})}}), Prism . plugins . Previewer && new Prism . plugins . Previewer ( "color" , function ( e ){ return this . style . backgroundColor = "" , this . style . backgroundColor = e , !! this . style . backgroundColor })}}(), function (){ "undefined" != typeof self && self . Prism && self . document && Prism . hooks . add ( "complete" , function ( e ){ if ( e . code ){ var t = e . element . parentNode , n = /\s*\bcommand-line\b\s*/
if ( t && /pre/i . test ( t . nodeName ) && ( n . test ( t . className ) || n . test ( e . element . className )) &&! e . element . querySelector ( ".command-line-prompt" )){ n . test ( e . element . className ) && ( e . element . className = e . element . className . replace ( n , "" )), n . test ( t . className ) || ( t . className += " command-line" )
var a = function ( e , n ){ return ( t . getAttribute ( e ) || n ). replace ( /"/g , """ )}, i = new Array ( 1 + e . code . split ( "\n" ). length ), r = a ( "data-prompt" , "" )
if ( "" !== r ) i = i . join ( '<span data-prompt="' + r + '"></span>' )
else { var o = a ( "data-user" , "user" ), s = a ( "data-host" , "localhost" )
i = i . join ( '<span data-user="' + o + '" data-host="' + s + '"></span>' )} var l = document . createElement ( "span" )
l . className = "command-line-prompt" , l . innerHTML = i
var d = t . getAttribute ( "data-output" ) || ""
d = d . split ( "," )
for ( var c = 0 ; c < d . length ; c ++ ){ var u = d [ c ]. split ( "-" ), p = parseInt ( u [ 0 ]), m = p
if ( 2 === u . length && ( m = parseInt ( u [ 1 ])), ! isNaN ( p ) &&! isNaN ( m )) for ( var g = p ; m >= g && g <= l . children . length ; g ++ ){ var b = l . children [ g - 1 ]
b . removeAttribute ( "data-user" ), b . removeAttribute ( "data-host" ), b . removeAttribute ( "data-prompt" )}} e . element . innerHTML = l . outerHTML + e . element . innerHTML }}})}(), function (){ if (( "undefined" == typeof self || self . Prism ) && ( "undefined" == typeof global || global . Prism )){ var e = function ( e ){ return Prism . plugins . autolinker && Prism . plugins . autolinker . processGrammar ( e ), e }, t = { pattern : /(.)\bdata:[^\/]+\/[^,]+,(?:(?!\1)[\s\S]|\\\1)+(?=\1)/ , lookbehind :! 0 , inside : { "language-css" : { pattern : /(data:[^\/]+\/(?:[^+,]+\+)?css,)[\s\S]+/ , lookbehind :! 0 }, "language-javascript" : { pattern : /(data:[^\/]+\/(?:[^+,]+\+)?javascript,)[\s\S]+/ , lookbehind :! 0 }, "language-json" : { pattern : /(data:[^\/]+\/(?:[^+,]+\+)?json,)[\s\S]+/ , lookbehind :! 0 }, "language-markup" : { pattern : /(data:[^\/]+\/(?:[^+,]+\+)?(?:html|xml),)[\s\S]+/ , lookbehind :! 0 }}}, n = [ "url" , "attr-value" , "string" ]
Prism . plugins . dataURIHighlight = { processGrammar : function ( e ){ e &&! e [ "data-uri" ] && ( Prism . languages . DFS ( e , function ( e , a , i ){ n . indexOf ( i ) >- 1 && "Array" !== Prism . util . type ( a ) && ( a . pattern || ( a = this [ e ] = { pattern : a }), a . inside = a . inside || {}, "attr-value" == i ? Prism . languages . insertBefore ( "inside" , a . inside [ "url-link" ] ? "url-link" : "punctuation" ,{ "data-uri" : t }, a ) : a . inside [ "url-link" ] ? Prism . languages . insertBefore ( "inside" , "url-link" ,{ "data-uri" : t }, a ) : a . inside [ "data-uri" ] = t )}), e [ "data-uri" ] = t )}}, Prism . hooks . add ( "before-highlight" , function ( n ){ if ( t . pattern . test ( n . code )) for ( var a in t . inside ) if ( t . inside . hasOwnProperty ( a ) &&! t . inside [ a ]. inside && t . inside [ a ]. pattern . test ( n . code )){ var i = a . match ( /^language-(.+)/ )[ 1 ]
Prism . languages [ i ] && ( t . inside [ a ]. inside = { rest : e ( Prism . languages [ i ])})} Prism . plugins . dataURIHighlight . processGrammar ( n . grammar )})}}(), function (){ if ( "undefined" != typeof self && self . Prism && self . document ){ if ( ! Prism . plugins . toolbar ) return void console . warn ( "Show Languages plugin loaded before Toolbar plugin." )
var e = { html : "HTML" , xml : "XML" , svg : "SVG" , mathml : "MathML" , css : "CSS" , clike : "C-like" , javascript : "JavaScript" , abap : "ABAP" , actionscript : "ActionScript" , apacheconf : "Apache Configuration" , apl : "APL" , applescript : "AppleScript" , asciidoc : "AsciiDoc" , aspnet : "ASP.NET (C#)" , autoit : "AutoIt" , autohotkey : "AutoHotkey" , basic : "BASIC" , csharp : "C#" , cpp : "C++" , coffeescript : "CoffeeScript" , "css-extras" : "CSS Extras" , django : "Django/Jinja2" , fsharp : "F#" , glsl : "GLSL" , graphql : "GraphQL" , http : "HTTP" , inform7 : "Inform 7" , json : "JSON" , latex : "LaTeX" , livescript : "LiveScript" , lolcode : "LOLCODE" , matlab : "MATLAB" , mel : "MEL" , nasm : "NASM" , nginx : "nginx" , nsis : "NSIS" , objectivec : "Objective-C" , ocaml : "OCaml" , parigp : "PARI/GP" , php : "PHP" , "php-extras" : "PHP Extras" , powershell : "PowerShell" , properties : ".properties" , protobuf : "Protocol Buffers" , jsx : "React JSX" , rest : "reST (reStructuredText)" , sas : "SAS" , sass : "Sass (Sass)" , scss : "Sass (Scss)" , sql : "SQL" , typescript : "TypeScript" , vhdl : "VHDL" , vim : "vim" , wiki : "Wiki markup" , xojo : "Xojo (REALbasic)" , yaml : "YAML" }
Prism . plugins . toolbar . registerButton ( "show-language" , function ( t ){ var n = t . element . parentNode
if ( n && /pre/i . test ( n . nodeName )){ var a = n . getAttribute ( "data-language" ) || e [ t . language ] || t . language . substring ( 0 , 1 ). toUpperCase () + t . language . substring ( 1 ), i = document . createElement ( "span" )
return i . textContent = a , i }})}}(), function (){ if ( "undefined" != typeof self && self . Prism && self . document ){ if ( ! Prism . plugins . toolbar ) return void console . warn ( "Copy to Clipboard plugin loaded before Toolbar plugin." )
var e = window . Clipboard || void 0
e || "function" != typeof require || ( e = require ( "clipboard" ))
var t = []
if ( ! e ){ var n = document . createElement ( "script" ), a = document . querySelector ( "head" )
n . onload = function (){ if ( e = window . Clipboard ) for (; t . length ;) t . pop ()()}, n . src = "https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.8/clipboard.min.js" , a . appendChild ( n )} Prism . plugins . toolbar . registerButton ( "copy-to-clipboard" , function ( n ){ function a (){ var t = new e ( r ,{ text : function (){ return n . code }})
t . on ( "success" , function (){ r . textContent = "Copied!" , i ()}), t . on ( "error" , function (){ r . textContent = "Press Ctrl+C to copy" , i ()})} function i (){ setTimeout ( function (){ r . textContent = "Copy" }, 5e3 )} var r = document . createElement ( "a" )
return r . textContent = "Copy" , e ? a () : t . push ( a ), r })}}()