From 4a173c63200cc4b26eb53b7a705624512ecd176f Mon Sep 17 00:00:00 2001 From: panr Date: Sun, 6 Jan 2019 11:44:38 +0100 Subject: [PATCH] Update and customize prism --- source/css/pagination.css | 2 -- source/css/prism.css | 4 ++-- source/js/prism.js | 5 +++-- static/assets/prism.js | 2 +- static/assets/style.css | 2 +- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/source/css/pagination.css b/source/css/pagination.css index f40ab7c..c0f981e 100644 --- a/source/css/pagination.css +++ b/source/css/pagination.css @@ -39,8 +39,6 @@ display: flex; align-items: center; justify-content: center; - width: 1024px; - max-width: 100%; a { text-decoration: none; diff --git a/source/css/prism.css b/source/css/prism.css index 162e6a4..ae7df01 100644 --- a/source/css/prism.css +++ b/source/css/prism.css @@ -8,7 +8,6 @@ https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+cli code[class*="language-"], pre[class*="language-"] { - color: #a9a9b3; background: none; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; text-align: left; @@ -39,6 +38,7 @@ pre[class*="language-"] { :not(pre) > code[class*="language-"], pre[class*="language-"] { background: #212020 !important; + color: inherit !important; border-radius: 8px; } @@ -54,7 +54,7 @@ pre[class*="language-"] { .token.prolog, .token.doctype, .token.cdata { - color: var(--light-color-secondary); + color: rgba(255, 255, 255, .4); } .token.punctuation { diff --git a/source/js/prism.js b/source/js/prism.js index 51e4120..acc5b7c 100644 --- a/source/js/prism.js +++ b/source/js/prism.js @@ -1,5 +1,5 @@ /* PrismJS 1.15.0 -https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+c+csharp+bash+cpp+coffeescript+ruby+csp+css-extras+diff+django+docker+elixir+elm+markup-templating+erlang+fsharp+flow+git+go+graphql+less+handlebars+haskell+http+java+json+kotlin+latex+markdown+makefile+objectivec+ocaml+perl+php+php-extras+sql+processing+scss+python+jsx+typescript+reason+textile+rust+sass+stylus+scheme+pug+swift+yaml+haml+toml+twig+tsx+vim+visual-basic+wasm&plugins=line-numbers+toolbar+jsonp-highlight+command-line+copy-to-clipboard */ +https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+c+csharp+bash+cpp+coffeescript+ruby+csp+css-extras+diff+django+docker+elixir+elm+markup-templating+erlang+fsharp+flow+git+go+graphql+less+handlebars+haskell+http+java+json+kotlin+latex+markdown+makefile+objectivec+ocaml+perl+php+php-extras+sql+processing+scss+python+r+jsx+typescript+reason+textile+rust+sass+stylus+scheme+pug+swift+yaml+haml+toml+twig+tsx+vim+visual-basic+wasm&plugins=line-numbers+toolbar+jsonp-highlight+command-line+copy-to-clipboard */ 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,disableWorkerMessageHandler:_self.Prism&&_self.Prism.disableWorkerMessageHandler,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(/e.length)return;if(!(w instanceof s)){if(m&&b!=t.length-1){h.lastIndex=k;var _=h.exec(e);if(!_)break;for(var j=_.index+(d?_[1].length:0),P=_.index+_[0].length,A=b,x=k,O=t.length;O>A&&(P>x||!t[A].type&&!t[A-1].greedy);++A)x+=t[A].length,j>=x&&(++b,k=x);if(t[b]instanceof s)continue;I=A-b,w=e.slice(k,x),_.index-=k}else{h.lastIndex=0;var _=h.exec(w),I=1}if(_){d&&(p=_[1]?_[1].length:0);var j=_.index+p,_=_[0].slice(p),P=j+_.length,N=w.slice(0,j),S=w.slice(P),C=[b,I];N&&(++b,k+=N.length,C.push(N));var E=new s(u,f?n.tokenize(_,f):_,y,_,m);if(C.push(E),S&&C.push(S),Array.prototype.splice.apply(t,C),1!=I&&n.matchGrammar(e,t,a,b,k,!0,u),i)break}else if(i)break}}}}},tokenize:function(e,t){var a=[e],r=t.rest;if(r){for(var l in r)t[l]=r[l];delete t.rest}return n.matchGrammar(e,a,t,0,0,!1),a},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 r,l=0;r=a[l++];)r(t)}}},a=n.Token=function(e,t,n,a,r){this.type=e,this.content=t,this.alias=n,this.length=0|(a||"").length,this.greedy=!!r};if(a.stringify=function(e,t,r){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 l={type:e.type,content:a.stringify(e.content,t,r),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:r};if(e.alias){var i="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(l.classes,i)}n.hooks.run("wrap",l);var o=Object.keys(l.attributes).map(function(e){return e+'="'+(l.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+l.tag+' class="'+l.classes.join(" ")+'"'+(o?" "+o:"")+">"+l.content+""},!_self.document)return _self.addEventListener?(n.disableWorkerMessageHandler||_self.addEventListener("message",function(e){var t=JSON.parse(e.data),a=t.language,r=t.code,l=t.immediateClose;_self.postMessage(n.highlight(r,n.languages[a],a)),l&&_self.close()},!1),_self.Prism):_self.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,n.manual||r.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://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.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:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},Prism.languages.css.atrule.inside.rest=Prism.languages.css,Prism.languages.markup&&(Prism.languages.insertBefore("markup","tag",{style:{pattern:/()[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:Prism.languages.css,alias:"language-css",greedy:!0}}),Prism.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\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)); @@ -41,12 +41,13 @@ Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\ Prism.languages.objectivec=Prism.languages.extend("c",{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|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,string:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}); Prism.languages.ocaml={comment:/\(\*[\s\S]*?\*\)/,string:[{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},{pattern:/(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i,greedy:!0}],number:/\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*\.?[\d_]*(?:e[+-]?[\d_]+)?)/i,type:{pattern:/\B['`]\w*/,alias:"variable"},directive:{pattern:/\B#\w+/,alias:"function"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\b/,"boolean":/\b(?:false|true)\b/,operator:/:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\b/,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{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/,greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:/\b(?:m|qr)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/i,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*>|\b_\b/,alias:"symbol"},vstring:{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},"function":{pattern:/sub [a-z0-9_]+/i,inside:{keyword:/sub/}},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/,punctuation:/[{}[\];(),:]/}; -!function(e){e.languages.php=e.languages.extend("clike",{keyword:/\b(?:and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,constant:/\b[A-Z0-9_]{2,}\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0}}),e.languages.insertBefore("php","string",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),e.languages.insertBefore("php","keyword",{delimiter:{pattern:/\?>|<\?(?:php|=)?/i,alias:"important"},variable:/\$+(?:\w+\b|(?={))/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),e.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}});var n={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/,lookbehind:!0,inside:{rest:e.languages.php}};e.languages.insertBefore("php","string",{"nowdoc-string":{pattern:/<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},"heredoc-string":{pattern:/<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:n}},"single-quoted-string":{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,alias:"string",inside:{interpolation:n}}}),delete e.languages.php.string,e.hooks.add("before-tokenize",function(n){if(/(?:<\?php|<\?)/gi.test(n.code)){var t=/(?:<\?php|<\?)[\s\S]*?(?:\?>|$)/gi;e.languages["markup-templating"].buildPlaceholders(n,"php",t)}}),e.hooks.add("after-tokenize",function(n){e.languages["markup-templating"].tokenizePlaceholders(n,"php")})}(Prism); +!function(e){e.languages.php=e.languages.extend("clike",{keyword:/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|null|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,constant:/\b[A-Z_][A-Z0-9_]*\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0}}),e.languages.insertBefore("php","string",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),e.languages.insertBefore("php","keyword",{delimiter:{pattern:/\?>|<\?(?:php|=)?/i,alias:"important"},variable:/\$+(?:\w+\b|(?={))/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),e.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}});var n={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/,lookbehind:!0,inside:{rest:e.languages.php}};e.languages.insertBefore("php","string",{"nowdoc-string":{pattern:/<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},"heredoc-string":{pattern:/<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:n}},"single-quoted-string":{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,alias:"string",inside:{interpolation:n}}}),delete e.languages.php.string,e.hooks.add("before-tokenize",function(n){if(/(?:<\?php|<\?)/gi.test(n.code)){var t=/(?:<\?php|<\?)[\s\S]*?(?:\?>|$)/gi;e.languages["markup-templating"].buildPlaceholders(n,"php",t)}}),e.hooks.add("after-tokenize",function(n){e.languages["markup-templating"].tokenizePlaceholders(n,"php")})}(Prism); 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)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/static|self|parent/,punctuation:/::|\\/}}}); Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},"function":/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\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(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|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|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|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|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,"boolean":/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+\.?\d*|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}; Prism.languages.processing=Prism.languages.extend("clike",{keyword:/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,operator:/<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/}),Prism.languages.insertBefore("processing","number",{constant:/\b(?!XML\b)[A-Z][A-Z\d_]+\b/,type:{pattern:/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/,alias:"variable"}}),Prism.languages.processing["function"].pattern=/\w+(?=\s*\()/,Prism.languages.processing["class-name"].alias="variable"; Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,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]+\}/}},property:{pattern:/(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/,inside:{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.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.languages.scss; Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},"function":{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/i,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,"boolean":/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python; +Prism.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},"boolean":/\b(?:TRUE|FALSE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:NaN|Inf)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/,operator:/->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}; !function(t){var n=t.util.clone(t.languages.javascript);t.languages.jsx=t.languages.extend("markup",n),t.languages.jsx.tag.pattern=/<\/?(?:[\w.:-]+\s*(?:\s+(?:[\w.:-]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s{'">=]+|\{(?:\{(?:\{[^}]*\}|[^{}])*\}|[^{}])+\}))?|\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}))*\s*\/?)?>/i,t.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/i,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">]+)/i,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*$/,t.languages.insertBefore("inside","attr-name",{spread:{pattern:/\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}/,inside:{punctuation:/\.{3}|[{}.]/,"attr-value":/\w+/}}},t.languages.jsx.tag),t.languages.insertBefore("inside","attr-value",{script:{pattern:/=(\{(?:\{(?:\{[^}]*\}|[^}])*\}|[^}])+\})/i,inside:{"script-punctuation":{pattern:/^=(?={)/,alias:"punctuation"},rest:t.languages.jsx},alias:"language-javascript"}},t.languages.jsx.tag);var e=function(t){return t?"string"==typeof t?t:"string"==typeof t.content?t.content:t.content.map(e).join(""):""},a=function(n){for(var s=[],g=0;g0&&s[s.length-1].tagName===e(i.content[0].content[1])&&s.pop():"/>"===i.content[i.content.length-1].content||s.push({tagName:e(i.content[0].content[1]),openedBraces:0}):s.length>0&&"punctuation"===i.type&&"{"===i.content?s[s.length-1].openedBraces++:s.length>0&&s[s.length-1].openedBraces>0&&"punctuation"===i.type&&"}"===i.content?s[s.length-1].openedBraces--:o=!0),(o||"string"==typeof i)&&s.length>0&&0===s[s.length-1].openedBraces){var p=e(i);g0&&("string"==typeof n[g-1]||"plain-text"===n[g-1].type)&&(p=e(n[g-1])+p,n.splice(g-1,1),g--),n[g]=new t.Token("plain-text",p,null,p)}i.content&&"string"!=typeof i.content&&a(i.content)}};t.hooks.add("after-tokenize",function(t){("jsx"===t.language||"tsx"===t.language)&&a(t.tokens)})}(Prism); Prism.languages.typescript=Prism.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),Prism.languages.ts=Prism.languages.typescript; Prism.languages.reason=Prism.languages.extend("clike",{comment:{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,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}|\\.|[^'\\\r\n])'/,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; diff --git a/static/assets/prism.js b/static/assets/prism.js index 3507d1a..055c69b 100644 --- a/static/assets/prism.js +++ b/static/assets/prism.js @@ -116,7 +116,7 @@ eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn th /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {\n\n/* PrismJS 1.15.0\nhttps://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+c+csharp+bash+cpp+coffeescript+ruby+csp+css-extras+diff+django+docker+elixir+elm+markup-templating+erlang+fsharp+flow+git+go+graphql+less+handlebars+haskell+http+java+json+kotlin+latex+markdown+makefile+objectivec+ocaml+perl+php+php-extras+sql+processing+scss+python+jsx+typescript+reason+textile+rust+sass+stylus+scheme+pug+swift+yaml+haml+toml+twig+tsx+vim+visual-basic+wasm&plugins=line-numbers+toolbar+jsonp-highlight+command-line+copy-to-clipboard */\nvar _self = \"undefined\" != typeof window ? window : \"undefined\" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},\n Prism = function () {\n var e = /\\blang(?:uage)?-([\\w-]+)\\b/i,\n t = 0,\n n = _self.Prism = {\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n util: {\n encode: function encode(e) {\n 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(/ e.length) return;\n\n if (!(w instanceof s)) {\n if (m && b != t.length - 1) {\n h.lastIndex = k;\n\n var _ = h.exec(e);\n\n if (!_) break;\n\n for (var j = _.index + (d ? _[1].length : 0), P = _.index + _[0].length, A = b, x = k, O = t.length; O > A && (P > x || !t[A].type && !t[A - 1].greedy); ++A) {\n x += t[A].length, j >= x && (++b, k = x);\n }\n\n if (t[b] instanceof s) continue;\n I = A - b, w = e.slice(k, x), _.index -= k;\n } else {\n h.lastIndex = 0;\n\n var _ = h.exec(w),\n I = 1;\n }\n\n if (_) {\n d && (p = _[1] ? _[1].length : 0);\n\n var j = _.index + p,\n _ = _[0].slice(p),\n P = j + _.length,\n N = w.slice(0, j),\n S = w.slice(P),\n C = [b, I];\n\n N && (++b, k += N.length, C.push(N));\n var E = new s(u, f ? n.tokenize(_, f) : _, y, _, m);\n if (C.push(E), S && C.push(S), Array.prototype.splice.apply(t, C), 1 != I && n.matchGrammar(e, t, a, b, k, !0, u), i) break;\n } else if (i) break;\n }\n }\n }\n }\n }\n },\n tokenize: function tokenize(e, t) {\n var a = [e],\n r = t.rest;\n\n if (r) {\n for (var l in r) {\n t[l] = r[l];\n }\n\n delete t.rest;\n }\n\n return n.matchGrammar(e, a, t, 0, 0, !1), a;\n },\n hooks: {\n all: {},\n add: function add(e, t) {\n var a = n.hooks.all;\n a[e] = a[e] || [], a[e].push(t);\n },\n run: function run(e, t) {\n var a = n.hooks.all[e];\n if (a && a.length) for (var r, l = 0; r = a[l++];) {\n r(t);\n }\n }\n }\n },\n a = n.Token = function (e, t, n, a, r) {\n this.type = e, this.content = t, this.alias = n, this.length = 0 | (a || \"\").length, this.greedy = !!r;\n };\n\n if (a.stringify = function (e, t, r) {\n if (\"string\" == typeof e) return e;\n if (\"Array\" === n.util.type(e)) return e.map(function (n) {\n return a.stringify(n, t, e);\n }).join(\"\");\n var l = {\n type: e.type,\n content: a.stringify(e.content, t, r),\n tag: \"span\",\n classes: [\"token\", e.type],\n attributes: {},\n language: t,\n parent: r\n };\n\n if (e.alias) {\n var i = \"Array\" === n.util.type(e.alias) ? e.alias : [e.alias];\n Array.prototype.push.apply(l.classes, i);\n }\n\n n.hooks.run(\"wrap\", l);\n var o = Object.keys(l.attributes).map(function (e) {\n return e + '=\"' + (l.attributes[e] || \"\").replace(/\"/g, \""\") + '\"';\n }).join(\" \");\n return \"<\" + l.tag + ' class=\"' + l.classes.join(\" \") + '\"' + (o ? \" \" + o : \"\") + \">\" + l.content + \"\";\n }, !_self.document) return _self.addEventListener ? (n.disableWorkerMessageHandler || _self.addEventListener(\"message\", function (e) {\n var t = JSON.parse(e.data),\n a = t.language,\n r = t.code,\n l = t.immediateClose;\n _self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close();\n }, !1), _self.Prism) : _self.Prism;\n var r = document.currentScript || [].slice.call(document.getElementsByTagName(\"script\")).pop();\n return r && (n.filename = r.src, n.manual || r.hasAttribute(\"data-manual\") || (\"loading\" !== document.readyState ? window.requestAnimationFrame ? window.requestAnimationFrame(n.highlightAll) : window.setTimeout(n.highlightAll, 16) : document.addEventListener(\"DOMContentLoaded\", n.highlightAll))), _self.Prism;\n}();\n\n\"undefined\" != typeof module && module.exports && (module.exports = Prism), \"undefined\" != typeof global && (global.Prism = Prism);\nPrism.languages.markup = {\n comment: //,\n prolog: /<\\?[\\s\\S]+?\\?>/,\n doctype: //i,\n cdata: //i,\n tag: {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,\n greedy: !0,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n \"attr-value\": {\n pattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/i,\n inside: {\n punctuation: [/^=/, {\n pattern: /(^|[^\\\\])[\"']/,\n lookbehind: !0\n }]\n }\n },\n punctuation: /\\/?>/,\n \"attr-name\": {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: /&#?[\\da-z]{1,8};/i\n}, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.hooks.add(\"wrap\", function (a) {\n \"entity\" === a.type && (a.attributes.title = a.content.replace(/&/, \"&\"));\n}), Prism.languages.xml = Prism.languages.markup, Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;\nPrism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: /@[\\w-]+?[\\s\\S]*?(?:;|(?=\\s*\\{))/i,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /url\\((?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|.*?)\\)/i,\n selector: /[^{}\\s][^{};]*?(?=\\s*\\{)/,\n string: {\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n property: /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n important: /!important\\b/i,\n \"function\": /[-a-z0-9]+(?=\\()/i,\n punctuation: /[(){};:,]/\n}, Prism.languages.css.atrule.inside.rest = Prism.languages.css, Prism.languages.markup && (Prism.languages.insertBefore(\"markup\", \"tag\", {\n style: {\n pattern: /()[\\s\\S]*?(?=<\\/style>)/i,\n lookbehind: !0,\n inside: Prism.languages.css,\n alias: \"language-css\",\n greedy: !0\n }\n}), Prism.languages.insertBefore(\"inside\", \"attr-value\", {\n \"style-attr\": {\n pattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n \"attr-name\": {\n pattern: /^\\s*style/i,\n inside: Prism.languages.markup.tag.inside\n },\n punctuation: /^\\s*=\\s*['\"]|['\"]\\s*$/,\n \"attr-value\": {\n pattern: /.+/i,\n inside: Prism.languages.css\n }\n },\n alias: \"language-css\"\n }\n}, Prism.languages.markup.tag));\nPrism.languages.clike = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0,\n greedy: !0\n }],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n \"class-name\": {\n pattern: /((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,\n lookbehind: !0,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword: /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n \"boolean\": /\\b(?:true|false)\\b/,\n \"function\": /\\w+(?=\\()/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n punctuation: /[{}[\\];(),.:]/\n};\nPrism.languages.javascript = Prism.languages.extend(\"clike\", {\n \"class-name\": [Prism.languages.clike[\"class-name\"], {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,\n lookbehind: !0\n }],\n keyword: [{\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: !0\n }, /\\b(?:as|async|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|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/],\n number: /\\b(?:(?:0[xX][\\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\\d+n|NaN|Infinity)\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n \"function\": /[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*\\(|\\.(?:apply|bind|call)\\()/,\n operator: /-[-=]?|\\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/\n}), Prism.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/, Prism.languages.insertBefore(\"javascript\", \"keyword\", {\n regex: {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^\\/\\\\\\[\\r\\n])+\\/[gimyu]{0,5}(?=\\s*($|[\\r\\n,.;})\\]]))/,\n lookbehind: !0,\n greedy: !0\n },\n \"function-variable\": {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\([^()]*\\)|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i,\n alias: \"function\"\n },\n parameter: [{\n pattern: /(function(?:\\s+[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)[^\\s()][^()]*?(?=\\s*\\))/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/,\n inside: Prism.languages.javascript\n }, {\n pattern: /(\\(\\s*)[^\\s()][^()]*?(?=\\s*\\)\\s*=>)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n pattern: /((?:\\b|\\s|^)(?!(?: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)(?![$\\w\\xA0-\\uFFFF]))(?:[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*)[^\\s()][^()]*?(?=\\s*\\)\\s*\\{)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }],\n constant: /\\b[A-Z][A-Z\\d_]*\\b/\n}), Prism.languages.insertBefore(\"javascript\", \"string\", {\n \"template-string\": {\n pattern: /`(?:\\\\[\\s\\S]|\\${[^}]+}|[^\\\\`])*`/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\${[^}]+}/,\n inside: {\n \"interpolation-punctuation\": {\n pattern: /^\\${|}$/,\n alias: \"punctuation\"\n },\n rest: Prism.languages.javascript\n }\n },\n string: /[\\s\\S]+/\n }\n }\n}), Prism.languages.markup && Prism.languages.insertBefore(\"markup\", \"tag\", {\n script: {\n pattern: /()[\\s\\S]*?(?=<\\/script>)/i,\n lookbehind: !0,\n inside: Prism.languages.javascript,\n alias: \"language-javascript\",\n greedy: !0\n }\n}), Prism.languages.js = Prism.languages.javascript;\nPrism.languages.actionscript = Prism.languages.extend(\"javascript\", {\n keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\\b/,\n operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<>?>?|[!=]=?)=?|[~?@]/\n}), Prism.languages.actionscript[\"class-name\"].alias = \"function\", Prism.languages.markup && Prism.languages.insertBefore(\"actionscript\", \"string\", {\n xml: {\n pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,\n lookbehind: !0,\n inside: {\n rest: Prism.languages.markup\n }\n }\n});\nPrism.languages.apacheconf = {\n comment: /#.*/,\n \"directive-inline\": {\n pattern: /^(\\s*)\\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|AddAlt|AddAltByEncoding|AddAltByType|AddCharset|AddDefaultCharset|AddDescription|AddEncoding|AddHandler|AddIcon|AddIconByEncoding|AddIconByType|AddInputFilter|AddLanguage|AddModuleInfo|AddOutputFilter|AddOutputFilterByType|AddType|Alias|AliasMatch|Allow|AllowCONNECT|AllowEncodedSlashes|AllowMethods|AllowOverride|AllowOverrideList|Anonymous|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail|AsyncRequestWorkerFactor|AuthBasicAuthoritative|AuthBasicFake|AuthBasicProvider|AuthBasicUseDigestAlgorithm|AuthDBDUserPWQuery|AuthDBDUserRealmQuery|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile|AuthDigestAlgorithm|AuthDigestDomain|AuthDigestNonceLifetime|AuthDigestProvider|AuthDigestQop|AuthDigestShmemSize|AuthFormAuthoritative|AuthFormBody|AuthFormDisableNoStore|AuthFormFakeBasicAuth|AuthFormLocation|AuthFormLoginRequiredLocation|AuthFormLoginSuccessLocation|AuthFormLogoutLocation|AuthFormMethod|AuthFormMimetype|AuthFormPassword|AuthFormProvider|AuthFormSitePassphrase|AuthFormSize|AuthFormUsername|AuthGroupFile|AuthLDAPAuthorizePrefix|AuthLDAPBindAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareAsUser|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPInitialBindAsUser|AuthLDAPInitialBindPattern|AuthLDAPMaxSubGroupDepth|AuthLDAPRemoteUserAttribute|AuthLDAPRemoteUserIsDN|AuthLDAPSearchAsUser|AuthLDAPSubGroupAttribute|AuthLDAPSubGroupClass|AuthLDAPUrl|AuthMerging|AuthName|AuthnCacheContext|AuthnCacheEnable|AuthnCacheProvideFor|AuthnCacheSOCache|AuthnCacheTimeout|AuthnzFcgiCheckAuthnProvider|AuthnzFcgiDefineProvider|AuthType|AuthUserFile|AuthzDBDLoginToReferer|AuthzDBDQuery|AuthzDBDRedirectQuery|AuthzDBMType|AuthzSendForbiddenOnFailure|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|CacheDefaultExpire|CacheDetailHeader|CacheDirLength|CacheDirLevels|CacheDisable|CacheEnable|CacheFile|CacheHeader|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheIgnoreQueryString|CacheIgnoreURLSessionIdentifiers|CacheKeyBaseURL|CacheLastModifiedFactor|CacheLock|CacheLockMaxAge|CacheLockPath|CacheMaxExpire|CacheMaxFileSize|CacheMinExpire|CacheMinFileSize|CacheNegotiatedDocs|CacheQuickHandler|CacheReadSize|CacheReadTime|CacheRoot|CacheSocache|CacheSocacheMaxSize|CacheSocacheMaxTime|CacheSocacheMinTime|CacheSocacheReadSize|CacheSocacheReadTime|CacheStaleOnError|CacheStoreExpired|CacheStoreNoStore|CacheStorePrivate|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateInflateLimitRequestBody|DeflateInflateRatioBurst|DeflateInflateRatioLimit|DeflateMemLevel|DeflateWindowSize|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|HeartbeatAddress|HeartbeatListen|HeartbeatMaxServers|HeartbeatStorage|HeartbeatStorage|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|IndexHeadInsert|IndexIgnore|IndexIgnoreReset|IndexOptions|IndexOrderDefault|IndexStyleSheet|InputSed|ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionPoolTTL|LDAPConnectionTimeout|LDAPLibraryDebug|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPReferralHopLimit|LDAPReferrals|LDAPRetries|LDAPRetryDelay|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTimeout|LDAPTrustedClientCert|LDAPTrustedGlobalCert|LDAPTrustedMode|LDAPVerifyServerCert|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|LuaHookAccessChecker|LuaHookAuthChecker|LuaHookCheckUserID|LuaHookFixups|LuaHookInsertFilter|LuaHookLog|LuaHookMapToStorage|LuaHookTranslateName|LuaHookTypeChecker|LuaInherit|LuaInputFilter|LuaMapHandler|LuaOutputFilter|LuaPackageCPath|LuaPackagePath|LuaQuickHandler|LuaRoot|LuaScope|MaxConnectionsPerChild|MaxKeepAliveRequests|MaxMemFree|MaxRangeOverlaps|MaxRangeReversals|MaxRanges|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|ProxyAddHeaders|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyExpressDBMFile|ProxyExpressDBMType|ProxyExpressEnable|ProxyFtpDirCharset|ProxyFtpEscapeWildcards|ProxyFtpListOnWildcard|ProxyHTMLBufSize|ProxyHTMLCharsetOut|ProxyHTMLDocType|ProxyHTMLEnable|ProxyHTMLEvents|ProxyHTMLExtended|ProxyHTMLFixups|ProxyHTMLInterp|ProxyHTMLLinks|ProxyHTMLMeta|ProxyHTMLStripComments|ProxyHTMLURLMap|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassInherit|ProxyPassInterpolateEnv|ProxyPassMatch|ProxyPassReverse|ProxyPassReverseCookieDomain|ProxyPassReverseCookiePath|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxySCGIInternalRedirect|ProxySCGISendfile|ProxySet|ProxySourceAddress|ProxyStatus|ProxyTimeout|ProxyVia|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIPHeader|RemoteIPInternalProxy|RemoteIPInternalProxyList|RemoteIPProxiesHeader|RemoteIPTrustedProxy|RemoteIPTrustedProxyList|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|RewriteBase|RewriteCond|RewriteEngine|RewriteMap|RewriteOptions|RewriteRule|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script|ScriptAlias|ScriptAliasMatch|ScriptInterpreterSource|ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock|SecureListen|SeeRequestTail|SendBufferSize|ServerAdmin|ServerAlias|ServerLimit|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|Session|SessionCookieName|SessionCookieName2|SessionCookieRemove|SessionCryptoCipher|SessionCryptoDriver|SessionCryptoPassphrase|SessionCryptoPassphraseFile|SessionDBDCookieName|SessionDBDCookieName2|SessionDBDCookieRemove|SessionDBDDeleteLabel|SessionDBDInsertLabel|SessionDBDPerUser|SessionDBDSelectLabel|SessionDBDUpdateLabel|SessionEnv|SessionExclude|SessionHeader|SessionInclude|SessionMaxAge|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSLCACertificateFile|SSLCACertificatePath|SSLCADNRequestFile|SSLCADNRequestPath|SSLCARevocationCheck|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLCompression|SSLCryptoDevice|SSLEngine|SSLFIPS|SSLHonorCipherOrder|SSLInsecureRenegotiation|SSLOCSPDefaultResponder|SSLOCSPEnable|SSLOCSPOverrideResponder|SSLOCSPResponderTimeout|SSLOCSPResponseMaxAge|SSLOCSPResponseTimeSkew|SSLOCSPUseRequestNonce|SSLOpenSSLConfCmd|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationCheck|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCheckPeerCN|SSLProxyCheckPeerExpire|SSLProxyCheckPeerName|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateChainFile|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRenegBufferSize|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLSessionTicketKeyFile|SSLSRPUnknownUserSeed|SSLSRPVerifierFile|SSLStaplingCache|SSLStaplingErrorCacheTimeout|SSLStaplingFakeTryLater|SSLStaplingForceURL|SSLStaplingResponderTimeout|SSLStaplingResponseMaxAge|SSLStaplingResponseTimeSkew|SSLStaplingReturnResponderErrors|SSLStaplingStandardCacheTimeout|SSLStrictSNIVHostCheck|SSLUserName|SSLUseStapling|SSLVerifyClient|SSLVerifyDepth|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\\b/im,\n lookbehind: !0,\n alias: \"property\"\n },\n \"directive-block\": {\n pattern: /<\\/?\\b(?:AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|RequireAll|RequireAny|RequireNone|VirtualHost)\\b *.*>/i,\n inside: {\n \"directive-block\": {\n pattern: /^<\\/?\\w+/,\n inside: {\n punctuation: /^<\\/?/\n },\n alias: \"tag\"\n },\n \"directive-block-parameter\": {\n pattern: /.*[^>]/,\n inside: {\n punctuation: /:/,\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n }\n },\n alias: \"attr-value\"\n },\n punctuation: />/\n },\n alias: \"tag\"\n },\n \"directive-flags\": {\n pattern: /\\[(?:\\w,?)+\\]/,\n alias: \"keyword\"\n },\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n },\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,\n regex: /\\^?.*\\$|\\^.*\\$?/\n};\nPrism.languages.applescript = {\n comment: [/\\(\\*(?:\\(\\*[\\s\\S]*?\\*\\)|[\\s\\S])*?\\*\\)/, /--.+/, /#.+/],\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n number: /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,\n operator: [/[&=≠≤≥*+\\-\\/÷^]|[<>]=?/, /\\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\\b/],\n keyword: /\\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b/,\n \"class\": {\n pattern: /\\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\\b/,\n alias: \"builtin\"\n },\n punctuation: /[{}():,¬«»《》]/\n};\nPrism.languages.c = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|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/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*\\/%&|^!=<>]=?/,\n number: /(?:\\b0x[\\da-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]*/i\n}), Prism.languages.insertBefore(\"c\", \"string\", {\n macro: {\n pattern: /(^\\s*)#\\s*[a-z]+(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: !0,\n alias: \"property\",\n inside: {\n string: {\n pattern: /(#\\s*include\\s*)(?:<.+?>|(\"|')(?:\\\\?.)+?\\2)/,\n lookbehind: !0\n },\n directive: {\n pattern: /(#\\s*)\\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n },\n constant: /\\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\\b/\n}), delete Prism.languages.c[\"class-name\"], delete Prism.languages.c[\"boolean\"];\nPrism.languages.csharp = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)\\b/,\n string: [{\n pattern: /@(\"|')(?:\\1\\1|\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }, {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*?\\1/,\n greedy: !0\n }],\n \"class-name\": [{\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=\\s+\\w+)/,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /((?:\\b(?:class|interface|new)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }],\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)f?/i,\n operator: />>=?|<<=?|[-=]>|([-+&|?])\\1|~|[-+*\\/%&|^!=<>]=?/,\n punctuation: /\\?\\.?|::|[{}[\\];(),.:]/\n}), Prism.languages.insertBefore(\"csharp\", \"class-name\", {\n \"generic-method\": {\n pattern: /\\w+\\s*<[^>\\r\\n]+?>\\s*(?=\\()/,\n inside: {\n \"function\": /^\\w+/,\n \"class-name\": {\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n keyword: Prism.languages.csharp.keyword,\n punctuation: /[<>(),.:]/\n }\n },\n preprocessor: {\n pattern: /(^\\s*)#.*/m,\n lookbehind: !0,\n alias: \"property\",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n }\n}), Prism.languages.dotnet = Prism.languages.csharp;\n!function (e) {\n var t = {\n variable: [{\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n inside: {\n variable: [{\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: !0\n }, /^\\$\\(\\(/],\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator: /--?|-=|\\+\\+?|\\+=|!=?|~|\\*\\*?|\\*=|\\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\\^=?|\\|\\|?|\\|=|\\?|:/,\n punctuation: /\\(\\(?|\\)\\)?|,|;/\n }\n }, {\n pattern: /\\$\\([^)]+\\)|`[^`]+`/,\n greedy: !0,\n inside: {\n variable: /^\\$\\(|^`|\\)$|`$/\n }\n }, /\\$(?:[\\w#?*!@]+|\\{[^}]+\\})/i]\n };\n e.languages.bash = {\n shebang: {\n pattern: /^#!\\s*\\/bin\\/bash|^#!\\s*\\/bin\\/sh/,\n alias: \"important\"\n },\n comment: {\n pattern: /(^|[^\"{\\\\])#.*/,\n lookbehind: !0\n },\n string: [{\n pattern: /((?:^|[^<])<<\\s*)[\"']?(\\w+?)[\"']?\\s*\\r?\\n(?:[\\s\\S])*?\\r?\\n\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: t\n }, {\n pattern: /([\"'])(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|`[^`]+`|(?!\\1)[^\\\\])*\\1/,\n greedy: !0,\n inside: t\n }],\n variable: t.variable,\n \"function\": {\n pattern: /(^|[\\s;|&])(?:alias|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|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|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|hash|head|help|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logout|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tail|tar|tee|test|time|timeout|times|top|touch|tr|traceroute|trap|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip|zypper)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n keyword: {\n 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;|&])/,\n lookbehind: !0\n },\n \"boolean\": {\n pattern: /(^|[\\s;|&])(?:true|false)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n operator: /&&?|\\|\\|?|==?|!=?|<<>|<=?|>=?|=~/,\n punctuation: /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];]/\n };\n var a = t.variable[1].inside;\n a.string = e.languages.bash.string, a[\"function\"] = e.languages.bash[\"function\"], a.keyword = e.languages.bash.keyword, a[\"boolean\"] = e.languages.bash[\"boolean\"], a.operator = e.languages.bash.operator, a.punctuation = e.languages.bash.punctuation, e.languages.shell = e.languages.bash;\n}(Prism);\nPrism.languages.cpp = Prism.languages.extend(\"c\", {\n keyword: /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,\n \"boolean\": /\\b(?:true|false)\\b/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*\\/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/\n}), Prism.languages.insertBefore(\"cpp\", \"keyword\", {\n \"class-name\": {\n pattern: /(class\\s+)\\w+/i,\n lookbehind: !0\n }\n}), Prism.languages.insertBefore(\"cpp\", \"string\", {\n \"raw-string\": {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: \"string\",\n greedy: !0\n }\n});\n!function (e) {\n var t = /#(?!\\{).+/,\n n = {\n pattern: /#\\{[^}]+\\}/,\n alias: \"variable\"\n };\n e.languages.coffeescript = e.languages.extend(\"javascript\", {\n comment: t,\n string: [{\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: !0\n }, {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }],\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/,\n \"class-member\": {\n pattern: /@(?!\\d)\\w+/,\n alias: \"variable\"\n }\n }), e.languages.insertBefore(\"coffeescript\", \"comment\", {\n \"multiline-comment\": {\n pattern: /###[\\s\\S]+?###/,\n alias: \"comment\"\n },\n \"block-regex\": {\n pattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n alias: \"regex\",\n inside: {\n comment: t,\n interpolation: n\n }\n }\n }), e.languages.insertBefore(\"coffeescript\", \"string\", {\n \"inline-javascript\": {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: \"punctuation\"\n },\n rest: e.languages.javascript\n }\n },\n \"multiline-string\": [{\n pattern: /'''[\\s\\S]*?'''/,\n greedy: !0,\n alias: \"string\"\n }, {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: !0,\n alias: \"string\",\n inside: {\n interpolation: n\n }\n }]\n }), e.languages.insertBefore(\"coffeescript\", \"keyword\", {\n property: /(?!\\d)\\w+(?=\\s*:(?!:))/\n }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n}(Prism);\n!function (e) {\n e.languages.ruby = e.languages.extend(\"clike\", {\n comment: [/#.*/, {\n pattern: /^=begin(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r))*?=end/m,\n greedy: !0\n }],\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|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\\b/\n });\n var n = {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"tag\"\n },\n rest: e.languages.ruby\n }\n };\n delete e.languages.ruby.function, e.languages.insertBefore(\"ruby\", \"keyword\", {\n regex: [{\n pattern: /%r([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\][gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r<(?:[^<>\\\\]|\\\\[\\s\\S])*>[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /(^|[^\\/])\\/(?!\\/)(\\[.+?]|\\\\.|[^\\/\\\\\\r\\n])+\\/[gim]{0,3}(?=\\s*($|[\\r\\n,.;})]))/,\n lookbehind: !0,\n greedy: !0\n }],\n variable: /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n symbol: {\n pattern: /(^|[^:]):[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n lookbehind: !0\n },\n \"method-definition\": {\n pattern: /(\\bdef\\s+)[\\w.]+/,\n lookbehind: !0,\n inside: {\n \"function\": /\\w+$/,\n rest: e.languages.ruby\n }\n }\n }), e.languages.insertBefore(\"ruby\", \"number\", {\n builtin: /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\\b/,\n constant: /\\b[A-Z]\\w*(?:[?!]|\\b)/\n }), e.languages.ruby.string = [{\n pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /(\"|')(?:#\\{[^}]+\\}|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }], e.languages.rb = e.languages.ruby;\n}(Prism);\nPrism.languages.csp = {\n directive: {\n pattern: /\\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i,\n alias: \"keyword\"\n },\n safe: {\n pattern: /'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\\d+=\\/]+)'/,\n alias: \"selector\"\n },\n unsafe: {\n pattern: /(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\\*)/,\n alias: \"function\"\n }\n};\nPrism.languages.css.selector = {\n pattern: Prism.languages.css.selector,\n inside: {\n \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\n \"pseudo-class\": /:[-\\w]+(?:\\(.*\\))?/,\n \"class\": /\\.[-:.\\w]+/,\n id: /#[-:.\\w]+/,\n attribute: /\\[[^\\]]+\\]/\n }\n}, Prism.languages.insertBefore(\"css\", \"property\", {\n variable: {\n pattern: /(^|[^-\\w\\xA0-\\uFFFF])--[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*/i,\n lookbehind: !0\n }\n}), Prism.languages.insertBefore(\"css\", \"function\", {\n operator: {\n pattern: /(\\s)[+\\-*\\/](?=\\s)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,8}/i,\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: {\n pattern: /(\\d)(?:%|[a-z]+)/,\n lookbehind: !0\n },\n number: /-?[\\d.]+/\n});\nPrism.languages.diff = {\n coord: [/^(?:\\*{3}|-{3}|\\+{3}).*$/m, /^@@.*@@$/m, /^\\d+.*$/m],\n deleted: /^[-<].*$/m,\n inserted: /^[+>].*$/m,\n diff: {\n pattern: /^!(?!!).+$/m,\n alias: \"important\"\n }\n};\nvar _django_template = {\n property: {\n pattern: /(?:{{|{%)[\\s\\S]*?(?:%}|}})/g,\n greedy: !0,\n inside: {\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n 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/,\n operator: /[-+=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:or|and|not)\\b/,\n \"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/,\n important: /\\b-?\\d+(?:\\.\\d+)?\\b/,\n variable: /\\b\\w+?\\b/,\n punctuation: /[[\\];(),.:]/\n }\n }\n};\nPrism.languages.django = Prism.languages.extend(\"markup\", {\n comment: /(?:)/\n}), Prism.languages.django.tag.pattern = /<\\/?(?!\\d)[^\\s>\\/=$<]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\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\", {\n tag: _django_template.property\n}, Prism.languages.django.style), Prism.languages.django.style.inside.string.inside = _django_template), Prism.languages.jinja2 = Prism.languages.django;\nPrism.languages.docker = {\n keyword: {\n pattern: /(^\\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)/im,\n lookbehind: !0\n },\n string: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n comment: /#.*/,\n punctuation: /---|\\.\\.\\.|[:[\\]{}\\-,|>?]/\n}, Prism.languages.dockerfile = Prism.languages.docker;\nPrism.languages.elixir = {\n comment: {\n pattern: /#.*/m,\n lookbehind: !0\n },\n regex: {\n pattern: /~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,\n greedy: !0\n },\n string: [{\n pattern: /~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {}\n }],\n atom: {\n pattern: /(^|[^:]):\\w+/,\n lookbehind: !0,\n alias: \"symbol\"\n },\n \"attr-name\": /\\w+:(?!:)/,\n capture: {\n pattern: /(^|[^&])&(?:[^&\\s\\d()][^\\s()]*|(?=\\())/,\n lookbehind: !0,\n alias: \"function\"\n },\n argument: {\n pattern: /(^|[^&])&\\d+/,\n lookbehind: !0,\n alias: \"variable\"\n },\n attribute: {\n pattern: /@\\w+/,\n alias: \"variable\"\n },\n number: /\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,\n 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/,\n \"boolean\": /\\b(?:true|false|nil)\\b/,\n operator: [/\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/, {\n pattern: /([^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /([^>])>(?!>)/,\n lookbehind: !0\n }],\n punctuation: /<<|>>|[.,%\\[\\]{}()]/\n}, Prism.languages.elixir.string.forEach(function (e) {\n e.inside = {\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"punctuation\"\n },\n rest: Prism.languages.elixir\n }\n }\n };\n});\nPrism.languages.elm = {\n comment: /--.*|{-[\\s\\S]*?-}/,\n \"char\": {\n pattern: /'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+))'/,\n greedy: !0\n },\n string: [{\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: !0\n }, {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\(?:[abfnrtv\\\\\"]|\\d+|x[0-9a-fA-F]+))*\"/,\n greedy: !0\n }],\n import_statement: {\n pattern: /^\\s*import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+([A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,\n inside: {\n keyword: /\\b(?:import|as|exposing)\\b/\n }\n },\n keyword: /\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,\n builtin: /\\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\\b/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[+\\-\\/*=.$<>:&|^?%#@~!]{2,}|[+\\-\\/*=$<>:&|^?%#@~!]/,\n hvariable: /\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,\n constant: /\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,\n punctuation: /[{}[\\]|(),.:]/\n};\nPrism.languages[\"markup-templating\"] = {}, Object.defineProperties(Prism.languages[\"markup-templating\"], {\n buildPlaceholders: {\n value: function value(e, t, n, a) {\n e.language === t && (e.tokenStack = [], e.code = e.code.replace(n, function (n) {\n if (\"function\" == typeof a && !a(n)) return n;\n\n for (var r = e.tokenStack.length; -1 !== e.code.indexOf(\"___\" + t.toUpperCase() + r + \"___\");) {\n ++r;\n }\n\n return e.tokenStack[r] = n, \"___\" + t.toUpperCase() + r + \"___\";\n }), e.grammar = Prism.languages.markup);\n }\n },\n tokenizePlaceholders: {\n value: function value(e, t) {\n if (e.language === t && e.tokenStack) {\n e.grammar = Prism.languages[t];\n\n var n = 0,\n a = Object.keys(e.tokenStack),\n r = function r(o) {\n if (!(n >= a.length)) for (var i = 0; i < o.length; i++) {\n var g = o[i];\n\n if (\"string\" == typeof g || g.content && \"string\" == typeof g.content) {\n var c = a[n],\n s = e.tokenStack[c],\n l = \"string\" == typeof g ? g : g.content,\n p = l.indexOf(\"___\" + t.toUpperCase() + c + \"___\");\n\n if (p > -1) {\n ++n;\n\n var f,\n u = l.substring(0, p),\n _ = new Prism.Token(t, Prism.tokenize(s, e.grammar, t), \"language-\" + t, s),\n k = l.substring(p + (\"___\" + t.toUpperCase() + c + \"___\").length);\n\n if (u || k ? (f = [u, _, k].filter(function (e) {\n return !!e;\n }), r(f)) : f = _, \"string\" == typeof g ? Array.prototype.splice.apply(o, [i, 1].concat(f)) : g.content = f, n >= a.length) break;\n }\n } else g.content && \"string\" != typeof g.content && r(g.content);\n }\n };\n\n r(e.tokens);\n }\n }\n }\n});\nPrism.languages.erlang = {\n comment: /%.+/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n \"quoted-function\": {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,\n alias: \"function\"\n },\n \"quoted-atom\": {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'/,\n alias: \"atom\"\n },\n \"boolean\": /\\b(?:true|false)\\b/,\n keyword: /\\b(?:fun|when|case|of|end|if|receive|after|try|catch)\\b/,\n number: [/\\$\\\\?./, /\\d+#[a-z0-9]+/i, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i],\n \"function\": /\\b[a-z][\\w@]*(?=\\()/,\n variable: {\n pattern: /(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,\n lookbehind: !0\n },\n operator: [/[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\\b/, {\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: !0\n }],\n atom: /\\b[a-z][\\w@]*/,\n punctuation: /[()[\\]{}:;,.#|]|<<|>>/\n};\nPrism.languages.fsharp = Prism.languages.extend(\"clike\", {\n comment: [{\n pattern: /(^|[^\\\\])\\(\\*[\\s\\S]*?\\*\\)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: {\n pattern: /(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")B?|'(?:[^\\\\']|\\\\.)'B?/,\n greedy: !0\n },\n \"class-name\": {\n pattern: /(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,\n lookbehind: !0,\n inside: {\n operator: /->|\\*/,\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:let|return|use|yield)(?:!\\B|\\b)|\\b(abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\\b/,\n number: [/\\b0x[\\da-fA-F]+(?:un|lf|LF)?\\b/, /\\b0b[01]+(?:y|uy)?\\b/, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[fm]|e[+-]?\\d+)?\\b/i, /\\b\\d+(?:[IlLsy]|u[lsy]?|UL)?\\b/],\n operator: /([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|?|\\??(?:<=|>=|<>|[-+*\\/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/\n}), Prism.languages.insertBefore(\"fsharp\", \"keyword\", {\n preprocessor: {\n pattern: /^[^\\r\\n\\S]*#.*/m,\n alias: \"property\",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:else|endif|if|light|line|nowarn)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n }\n}), Prism.languages.insertBefore(\"fsharp\", \"punctuation\", {\n \"computation-expression\": {\n pattern: /[_a-z]\\w*(?=\\s*\\{)/i,\n alias: \"keyword\"\n }\n}), Prism.languages.insertBefore(\"fsharp\", \"string\", {\n annotation: {\n pattern: /\\[<.+?>\\]/,\n inside: {\n punctuation: /^\\[<|>\\]$/,\n \"class-name\": {\n pattern: /^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,\n lookbehind: !0\n },\n \"annotation-content\": {\n pattern: /[\\s\\S]*/,\n inside: Prism.languages.fsharp\n }\n }\n }\n});\n!function (e) {\n e.languages.flow = e.languages.extend(\"javascript\", {}), e.languages.insertBefore(\"flow\", \"keyword\", {\n type: [{\n pattern: /\\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\\b/,\n alias: \"tag\"\n }]\n }), e.languages.flow[\"function-variable\"].pattern = /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore(\"flow\", \"operator\", {\n \"flow-punctuation\": {\n pattern: /\\{\\||\\|\\}/,\n alias: \"punctuation\"\n }\n }), \"Array\" !== e.util.type(e.languages.flow.keyword) && (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({\n pattern: /(^|[^$]\\b)(?:type|opaque|declare|Class)\\b(?!\\$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^$]\\B)\\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\\b(?!\\$)/,\n lookbehind: !0\n });\n}(Prism);\nPrism.languages.git = {\n comment: /^#.*/m,\n deleted: /^[-–].*/m,\n inserted: /^\\+.*/m,\n string: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,\n command: {\n pattern: /^.*\\$ git .*$/m,\n inside: {\n parameter: /\\s--?\\w+/m\n }\n },\n coord: /^@@.*@@$/m,\n commit_sha1: /^commit \\w{40}$/m\n};\nPrism.languages.go = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,\n builtin: /\\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\\b/,\n \"boolean\": /\\b(?:_|iota|nil|true|false)\\b/,\n operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n number: /(?:\\b0x[a-f\\d]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[-+]?\\d+)?)i?/i,\n string: {\n pattern: /([\"'`])(\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }\n}), delete Prism.languages.go[\"class-name\"];\nPrism.languages.graphql = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n \"boolean\": /\\b(?:true|false)\\b/,\n variable: /\\$[a-z_]\\w*/i,\n directive: {\n pattern: /@[a-z_]\\w*/i,\n alias: \"function\"\n },\n \"attr-name\": /[a-z_]\\w*(?=\\s*:)/i,\n keyword: [{\n pattern: /(fragment\\s+(?!on)[a-z_]\\w*\\s+|\\.{3}\\s*)on\\b/,\n lookbehind: !0\n }, /\\b(?:query|fragment|mutation)\\b/],\n operator: /!|=|\\.{3}/,\n punctuation: /[!(){}\\[\\]:=,]/\n};\nPrism.languages.less = Prism.languages.extend(\"css\", {\n comment: [/\\/\\*[\\s\\S]*?\\*\\//, {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: !0\n }],\n atrule: {\n pattern: /@[\\w-]+?(?:\\([^{}]+\\)|[^(){};])*?(?=\\s*\\{)/i,\n inside: {\n punctuation: /[:()]/\n }\n },\n selector: {\n pattern: /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\([^{}]*\\)|[^{};@])*?(?=\\s*\\{)/,\n inside: {\n variable: /@+[\\w-]+/\n }\n },\n property: /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/i,\n operator: /[+\\-*\\/]/\n}), Prism.languages.insertBefore(\"less\", \"property\", {\n variable: [{\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n punctuation: /:/\n }\n }, /@@?[\\w-]+/],\n \"mixin-usage\": {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-]+.*?(?=[(;])/,\n lookbehind: !0,\n alias: \"function\"\n }\n});\n!function (a) {\n a.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/i,\n alias: \"punctuation\"\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n \"boolean\": /\\b(?:true|false)\\b/,\n block: {\n pattern: /^(\\s*~?\\s*)[#\\/]\\S+?(?=\\s*~?\\s*$|\\s)/i,\n lookbehind: !0,\n alias: \"keyword\"\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/\n }\n },\n punctuation: /[!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n }, a.hooks.add(\"before-tokenize\", function (e) {\n var n = /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g;\n a.languages[\"markup-templating\"].buildPlaceholders(e, \"handlebars\", n);\n }), a.hooks.add(\"after-tokenize\", function (e) {\n a.languages[\"markup-templating\"].tokenizePlaceholders(e, \"handlebars\");\n });\n}(Prism);\nPrism.languages.haskell = {\n comment: {\n pattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|{-[\\s\\S]*?-})/m,\n lookbehind: !0\n },\n \"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]+))'/,\n string: {\n 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+\\\\)*\"/,\n greedy: !0\n },\n keyword: /\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\n import_statement: {\n pattern: /((?:\\r?\\n|\\r|^)\\s*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][_a-zA-Z0-9']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: !0,\n inside: {\n keyword: /\\b(?:import|qualified|as|hiding)\\b/\n }\n },\n 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/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[-!#$%*+=?&@|~.:<>^\\\\\\/]*\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+|[-!#$%*+=?&@|~.:<>^\\\\\\/]+\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]*|[-!#$%*+=?&@|~:<>^\\\\\\/]+|`([A-Z][\\w']*\\.)*[_a-z][\\w']*`/,\n hvariable: /\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*\\b/,\n constant: /\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*\\b/,\n punctuation: /[{}[\\];(),.:]/\n};\n!function (t) {\n function a(t) {\n var a = t.replace(/^[a-z]+\\//, \"\"),\n e = \"\\\\w+/(?:[\\\\w.-]+\\\\+)+\" + a + \"(?![+\\\\w.-])\";\n return \"(?:\" + t + \"|\" + e + \")\";\n }\n\n t.languages.http = {\n \"request-line\": {\n pattern: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\s(?:https?:\\/\\/|\\/)\\S+\\sHTTP\\/[0-9.]+/m,\n inside: {\n property: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\b/,\n \"attr-name\": /:\\w+/\n }\n },\n \"response-status\": {\n pattern: /^HTTP\\/1.[01] \\d+.*/m,\n inside: {\n property: {\n pattern: /(^HTTP\\/1.[01] )\\d+.*/i,\n lookbehind: !0\n }\n }\n },\n \"header-name\": {\n pattern: /^[\\w-]+:(?=.)/m,\n alias: \"keyword\"\n }\n };\n var e,\n n = t.languages,\n r = {\n \"application/javascript\": n.javascript,\n \"application/json\": n.json || n.javascript,\n \"application/xml\": n.xml,\n \"text/xml\": n.xml,\n \"text/html\": n.html,\n \"text/css\": n.css\n },\n i = {\n \"application/json\": !0,\n \"application/xml\": !0\n };\n\n for (var s in r) {\n if (r[s]) {\n e = e || {};\n var p = i[s] ? a(s) : s;\n e[s] = {\n pattern: RegExp(\"(content-type:\\\\s*\" + p + \"[\\\\s\\\\S]*?)(?:\\\\r?\\\\n|\\\\r){2}[\\\\s\\\\S]*\", \"i\"),\n lookbehind: !0,\n inside: {\n rest: r[s]\n }\n };\n }\n }\n\n e && t.languages.insertBefore(\"http\", \"header-name\", e);\n}(Prism);\n!function (a) {\n var e = /\\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|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\\b/,\n t = /\\b[A-Z](?:\\w*[a-z]\\w*)?\\b/;\n a.languages.java = a.languages.extend(\"clike\", {\n \"class-name\": [t, /\\b[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])/],\n keyword: e,\n \"function\": [a.languages.clike.function, {\n pattern: /(\\:\\:)[a-z_]\\w*/,\n lookbehind: !0\n }],\n number: /\\b0b[01][01_]*L?\\b|\\b0x[\\da-f_]*\\.?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*\\.?[\\d_]*|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern: /(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\\2|[?:~]|[-+*\\/%&|^!=<>]=?)/m,\n lookbehind: !0\n }\n }), a.languages.insertBefore(\"java\", \"class-name\", {\n annotation: {\n alias: \"punctuation\",\n pattern: /(^|[^.])@\\w+/,\n lookbehind: !0\n },\n namespace: {\n pattern: /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)[a-z]\\w*(\\.[a-z]\\w*)+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n },\n generics: {\n pattern: /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n \"class-name\": t,\n keyword: e,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n });\n}(Prism);\nPrism.languages.json = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n property: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n greedy: !0\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n greedy: !0\n },\n number: /-?\\d+\\.?\\d*(e[+-]?\\d+)?/i,\n punctuation: /[{}[\\],]/,\n operator: /:/,\n \"boolean\": /\\b(?:true|false)\\b/,\n \"null\": /\\bnull\\b/\n}, Prism.languages.jsonp = Prism.languages.json;\n!function (e) {\n e.languages.kotlin = e.languages.extend(\"clike\", {\n keyword: {\n pattern: /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,\n lookbehind: !0\n },\n \"function\": [/\\w+(?=\\s*\\()/, {\n pattern: /(\\.)\\w+(?=\\s*\\{)/,\n lookbehind: !0\n }],\n number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n }), delete e.languages.kotlin[\"class-name\"], e.languages.insertBefore(\"kotlin\", \"string\", {\n \"raw-string\": {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n alias: \"string\"\n }\n }), e.languages.insertBefore(\"kotlin\", \"keyword\", {\n annotation: {\n pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n alias: \"builtin\"\n }\n }), e.languages.insertBefore(\"kotlin\", \"function\", {\n label: {\n pattern: /\\w+@|@\\w+/,\n alias: \"symbol\"\n }\n });\n var n = [{\n pattern: /\\$\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^\\$\\{|\\}$/,\n alias: \"variable\"\n },\n rest: e.languages.kotlin\n }\n }, {\n pattern: /\\$\\w+/,\n alias: \"variable\"\n }];\n e.languages.kotlin.string.inside = e.languages.kotlin[\"raw-string\"].inside = {\n interpolation: n\n };\n}(Prism);\n!function (a) {\n var e = /\\\\(?:[^a-z()[\\]]|[a-z*]+)/i,\n n = {\n \"equation-command\": {\n pattern: e,\n alias: \"regex\"\n }\n };\n a.languages.latex = {\n comment: /%.*/m,\n cdata: {\n pattern: /(\\\\begin\\{((?:verbatim|lstlisting)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0\n },\n equation: [{\n pattern: /\\$(?:\\\\[\\s\\S]|[^\\\\$])*\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,\n inside: n,\n alias: \"string\"\n }, {\n pattern: /(\\\\begin\\{((?:equation|math|eqnarray|align|multline|gather)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0,\n inside: n,\n alias: \"string\"\n }],\n keyword: {\n pattern: /(\\\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\\\url\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n headline: {\n pattern: /(\\\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\}(?:\\[[^\\]]+\\])?)/,\n lookbehind: !0,\n alias: \"class-name\"\n },\n \"function\": {\n pattern: e,\n alias: \"selector\"\n },\n punctuation: /[[\\]{}&]/\n };\n}(Prism);\nPrism.languages.markdown = Prism.languages.extend(\"markup\", {}), Prism.languages.insertBefore(\"markdown\", \"prolog\", {\n blockquote: {\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: \"punctuation\"\n },\n code: [{\n pattern: /^(?: {4}|\\t).+/m,\n alias: \"keyword\"\n }, {\n pattern: /``.+?``|`[^`\\n]+`/,\n alias: \"keyword\"\n }, {\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: !0,\n inside: {\n \"code-block\": {\n pattern: /^(```.*(?:\\r?\\n|\\r))[\\s\\S]+?(?=(?:\\r?\\n|\\r)^```$)/m,\n lookbehind: !0\n },\n \"code-language\": {\n pattern: /^(```).+/,\n lookbehind: !0\n },\n punctuation: /```/\n }\n }],\n title: [{\n pattern: /\\S.*(?:\\r?\\n|\\r)(?:==+|--+)/,\n alias: \"important\",\n inside: {\n punctuation: /==+$|--+$/\n }\n }, {\n pattern: /(^\\s*)#+.+/m,\n lookbehind: !0,\n alias: \"important\",\n inside: {\n punctuation: /^#+|#+$/\n }\n }],\n hr: {\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: !0,\n alias: \"punctuation\"\n },\n list: {\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: !0,\n alias: \"punctuation\"\n },\n \"url-reference\": {\n pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n variable: {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: !0\n },\n string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n punctuation: /^[\\[\\]!:]|[<>]/\n },\n alias: \"url\"\n },\n bold: {\n pattern: /(^|[^\\\\])(\\*\\*|__)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^\\*\\*|^__|\\*\\*$|__$/\n }\n },\n italic: {\n pattern: /(^|[^\\\\])([*_])(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^[*_]|[*_]$/\n }\n },\n strike: {\n pattern: /(^|[^\\\\])(~~?)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^~~?|~~?$/\n }\n },\n url: {\n pattern: /!?\\[[^\\]]+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)| ?\\[[^\\]\\n]*\\])/,\n inside: {\n variable: {\n pattern: /(!?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: !0\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/\n }\n }\n }\n}), Prism.languages.markdown.bold.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.italic.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.strike.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.bold.inside.italic = Prism.languages.markdown.italic, Prism.languages.markdown.bold.inside.strike = Prism.languages.markdown.strike, Prism.languages.markdown.italic.inside.bold = Prism.languages.markdown.bold, Prism.languages.markdown.italic.inside.strike = Prism.languages.markdown.strike, Prism.languages.markdown.strike.inside.bold = Prism.languages.markdown.bold, Prism.languages.markdown.strike.inside.italic = Prism.languages.markdown.italic, Prism.hooks.add(\"after-tokenize\", function (a) {\n function n(a) {\n if (a && \"string\" != typeof a) for (var e = 0, i = a.length; i > e; e++) {\n var r = a[e];\n\n if (\"code\" === r.type) {\n var t = r.content[1],\n s = r.content[3];\n\n if (t && s && \"code-language\" === t.type && \"code-block\" === s.type && \"string\" == typeof t.content) {\n var o = \"language-\" + t.content.trim().split(/\\s+/)[0].toLowerCase();\n s.alias ? \"string\" == typeof s.alias ? s.alias = [s.alias, o] : s.alias.push(o) : s.alias = [o];\n }\n } else n(r.content);\n }\n }\n\n \"markdown\" === a.language && n(a.tokens);\n}), Prism.hooks.add(\"wrap\", function (a) {\n if (\"code-block\" === a.type) {\n for (var n = \"\", e = 0, i = a.classes.length; i > e; e++) {\n var r = a.classes[e],\n t = /language-(\\w+)/.exec(r);\n\n if (t) {\n n = t[1];\n break;\n }\n }\n\n var s = Prism.languages[n];\n\n if (s) {\n var o = a.content.replace(/</g, \"<\").replace(/&/g, \"&\");\n a.content = Prism.highlight(o, s, n);\n }\n }\n}), Prism.languages.md = Prism.languages.markdown;\nPrism.languages.makefile = {\n comment: {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: !0\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n builtin: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n symbol: {\n pattern: /^[^:=\\r\\n]+(?=\\s*:(?!=))/m,\n inside: {\n variable: /\\$+(?:[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n variable: /\\$+(?:[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n keyword: [/-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/, {\n pattern: /(\\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \\t])/,\n lookbehind: !0\n }],\n operator: /(?:::|[?:+!])?=|[|@]/,\n punctuation: /[:;(){}]/\n};\nPrism.languages.objectivec = Prism.languages.extend(\"c\", {\n 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|in|self|super)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n string: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|@\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n operator: /-[->]?|\\+\\+?|!=?|<>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\nPrism.languages.ocaml = {\n comment: /\\(\\*[\\s\\S]*?\\*\\)/,\n string: [{\n pattern: /\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n }, {\n pattern: /(['`])(?:\\\\(?:\\d+|x[\\da-f]+|.)|(?!\\1)[^\\\\\\r\\n])\\1/i,\n greedy: !0\n }],\n number: /\\b(?:0x[\\da-f][\\da-f_]+|(?:0[bo])?\\d[\\d_]*\\.?[\\d_]*(?:e[+-]?[\\d_]+)?)/i,\n type: {\n pattern: /\\B['`]\\w*/,\n alias: \"variable\"\n },\n directive: {\n pattern: /\\B#\\w+/,\n alias: \"function\"\n },\n keyword: /\\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\\b/,\n \"boolean\": /\\b(?:false|true)\\b/,\n operator: /:=|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\\b/,\n punctuation: /[(){}\\[\\]|_.,:;]/\n};\nPrism.languages.perl = {\n comment: [{\n pattern: /(^\\s*)=\\w+[\\s\\S]*?=cut.*/m,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /\\b(?:q|qq|qx|qw)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0\n }, {\n pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: !0\n }],\n regex: [{\n pattern: /\\b(?:m|qr)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s+([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\\b))/,\n greedy: !0\n }],\n variable: [/[&*$@%]\\{\\^[A-Z]+\\}/, /[&*$@%]\\^[A-Z_]/, /[&*$@%]#?(?=\\{)/, /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+)+(?:::)*/i, /[&*$@%]\\d+/, /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/],\n filehandle: {\n pattern: /<(?![<=])\\S*>|\\b_\\b/,\n alias: \"symbol\"\n },\n vstring: {\n pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n alias: \"string\"\n },\n \"function\": {\n pattern: /sub [a-z0-9_]+/i,\n inside: {\n keyword: /sub/\n }\n },\n keyword: /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n operator: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\\b/,\n punctuation: /[{}[\\];(),:]/\n};\n!function (e) {\n e.languages.php = e.languages.extend(\"clike\", {\n keyword: /\\b(?:and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\\b/i,\n constant: /\\b[A-Z0-9_]{2,}\\b/,\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"php\", \"string\", {\n \"shell-comment\": {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0,\n alias: \"comment\"\n }\n }), e.languages.insertBefore(\"php\", \"keyword\", {\n delimiter: {\n pattern: /\\?>|<\\?(?:php|=)?/i,\n alias: \"important\"\n },\n variable: /\\$+(?:\\w+\\b|(?={))/i,\n \"package\": {\n pattern: /(\\\\|namespace\\s+|use\\s+)[\\w\\\\]+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\\\/\n }\n }\n }), e.languages.insertBefore(\"php\", \"operator\", {\n property: {\n pattern: /(->)[\\w]+/,\n lookbehind: !0\n }\n });\n var n = {\n pattern: /{\\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[.+?]|->\\w+)*)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.php\n }\n };\n e.languages.insertBefore(\"php\", \"string\", {\n \"nowdoc-string\": {\n pattern: /<<<'([^']+)'(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;/,\n greedy: !0,\n alias: \"string\",\n inside: {\n delimiter: {\n pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n alias: \"symbol\",\n inside: {\n punctuation: /^<<<'?|[';]$/\n }\n }\n }\n },\n \"heredoc-string\": {\n pattern: /<<<(?:\"([^\"]+)\"(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;|([a-z_]\\w*)(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\2;)/i,\n greedy: !0,\n alias: \"string\",\n inside: {\n delimiter: {\n pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: \"symbol\",\n inside: {\n punctuation: /^<<<\"?|[\";]$/\n }\n },\n interpolation: n\n }\n },\n \"single-quoted-string\": {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: !0,\n alias: \"string\"\n },\n \"double-quoted-string\": {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: !0,\n alias: \"string\",\n inside: {\n interpolation: n\n }\n }\n }), delete e.languages.php.string, e.hooks.add(\"before-tokenize\", function (n) {\n if (/(?:<\\?php|<\\?)/gi.test(n.code)) {\n var t = /(?:<\\?php|<\\?)[\\s\\S]*?(?:\\?>|$)/gi;\n e.languages[\"markup-templating\"].buildPlaceholders(n, \"php\", t);\n }\n }), e.hooks.add(\"after-tokenize\", function (n) {\n e.languages[\"markup-templating\"].tokenizePlaceholders(n, \"php\");\n });\n}(Prism);\nPrism.languages.insertBefore(\"php\", \"variable\", {\n \"this\": /\\$this\\b/,\n global: /\\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\\b/,\n scope: {\n pattern: /\\b[\\w\\\\]+::/,\n inside: {\n keyword: /static|self|parent/,\n punctuation: /::|\\\\/\n }\n }\n});\nPrism.languages.sql = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: !0\n },\n variable: [{\n pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: !0\n }, /@[\\w.$]+/],\n string: {\n pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: !0,\n lookbehind: !0\n },\n \"function\": /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n 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(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|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|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|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|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n \"boolean\": /\\b(?:TRUE|FALSE|NULL)\\b/i,\n number: /\\b0x[\\da-f]+\\b|\\b\\d+\\.?\\d*|\\B\\.\\d+\\b/i,\n operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n punctuation: /[;[\\]()`,.]/\n};\nPrism.languages.processing = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\\b/,\n operator: /<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/\n}), Prism.languages.insertBefore(\"processing\", \"number\", {\n constant: /\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,\n type: {\n pattern: /\\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\\w*)\\b/,\n alias: \"variable\"\n }\n}), Prism.languages.processing[\"function\"].pattern = /\\w+(?=\\s*\\()/, Prism.languages.processing[\"class-name\"].alias = \"variable\";\nPrism.languages.scss = Prism.languages.extend(\"css\", {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n atrule: {\n pattern: /@[\\w-]+(?:\\([^()]+\\)|[^(])*?(?=\\s+[{;])/,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /(?:[-a-z]+-)*url(?=\\()/i,\n selector: {\n pattern: /(?=\\S)[^@;{}()]?(?:[^@;{}()]|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}]+[:{][^}]+))/m,\n inside: {\n parent: {\n pattern: /&/,\n alias: \"important\"\n },\n placeholder: /%[-\\w]+/,\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n property: {\n pattern: /(?:[\\w-]|\\$[-\\w]+|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n}), Prism.languages.insertBefore(\"scss\", \"atrule\", {\n keyword: [/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, {\n pattern: /( +)(?:from|through)(?= )/,\n lookbehind: !0\n }]\n}), Prism.languages.insertBefore(\"scss\", \"important\", {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n}), Prism.languages.insertBefore(\"scss\", \"function\", {\n placeholder: {\n pattern: /%[-\\w]+/,\n alias: \"selector\"\n },\n statement: {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: \"keyword\"\n },\n \"boolean\": /\\b(?:true|false)\\b/,\n \"null\": /\\bnull\\b/,\n operator: {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|or|not)(?=\\s)/,\n lookbehind: !0\n }\n}), Prism.languages.scss.atrule.inside.rest = Prism.languages.scss;\nPrism.languages.python = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0\n },\n \"string-interpolation\": {\n pattern: /(?:f|rf|fr)(?:(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,\n lookbehind: !0,\n inside: {\n \"format-spec\": {\n pattern: /(:)[^:(){}]+(?=}$)/,\n lookbehind: !0\n },\n \"conversion-option\": {\n pattern: /![sra](?=[:}]$)/,\n alias: \"punctuation\"\n },\n rest: null\n }\n },\n string: /[\\s\\S]+/\n }\n },\n \"triple-quoted-string\": {\n pattern: /(?:[rub]|rb|br)?(\"\"\"|''')[\\s\\S]+?\\1/i,\n greedy: !0,\n alias: \"string\"\n },\n string: {\n pattern: /(?:[rub]|rb|br)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: !0\n },\n \"function\": {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: !0\n },\n \"class-name\": {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: !0\n },\n decorator: {\n pattern: /(^\\s*)@\\w+(?:\\.\\w+)*/i,\n lookbehind: !0,\n alias: [\"annotation\", \"punctuation\"],\n inside: {\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n \"boolean\": /\\b(?:True|False|None)\\b/,\n number: /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n operator: /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n}, Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python;\n!function (t) {\n var n = t.util.clone(t.languages.javascript);\n t.languages.jsx = t.languages.extend(\"markup\", n), t.languages.jsx.tag.pattern = /<\\/?(?:[\\w.:-]+\\s*(?:\\s+(?:[\\w.:-]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s{'\">=]+|\\{(?:\\{(?:\\{[^}]*\\}|[^{}])*\\}|[^{}])+\\}))?|\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}))*\\s*\\/?)?>/i, t.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/i, t.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">]+)/i, t.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*$/, t.languages.insertBefore(\"inside\", \"attr-name\", {\n spread: {\n pattern: /\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}/,\n inside: {\n punctuation: /\\.{3}|[{}.]/,\n \"attr-value\": /\\w+/\n }\n }\n }, t.languages.jsx.tag), t.languages.insertBefore(\"inside\", \"attr-value\", {\n script: {\n pattern: /=(\\{(?:\\{(?:\\{[^}]*\\}|[^}])*\\}|[^}])+\\})/i,\n inside: {\n \"script-punctuation\": {\n pattern: /^=(?={)/,\n alias: \"punctuation\"\n },\n rest: t.languages.jsx\n },\n alias: \"language-javascript\"\n }\n }, t.languages.jsx.tag);\n\n var e = function e(t) {\n return t ? \"string\" == typeof t ? t : \"string\" == typeof t.content ? t.content : t.content.map(e).join(\"\") : \"\";\n },\n a = function a(n) {\n for (var s = [], g = 0; g < n.length; g++) {\n var i = n[g],\n o = !1;\n\n if (\"string\" != typeof i && (\"tag\" === i.type && i.content[0] && \"tag\" === i.content[0].type ? \" 0 && s[s.length - 1].tagName === e(i.content[0].content[1]) && s.pop() : \"/>\" === i.content[i.content.length - 1].content || s.push({\n tagName: e(i.content[0].content[1]),\n openedBraces: 0\n }) : s.length > 0 && \"punctuation\" === i.type && \"{\" === i.content ? s[s.length - 1].openedBraces++ : s.length > 0 && s[s.length - 1].openedBraces > 0 && \"punctuation\" === i.type && \"}\" === i.content ? s[s.length - 1].openedBraces-- : o = !0), (o || \"string\" == typeof i) && s.length > 0 && 0 === s[s.length - 1].openedBraces) {\n var p = e(i);\n g < n.length - 1 && (\"string\" == typeof n[g + 1] || \"plain-text\" === n[g + 1].type) && (p += e(n[g + 1]), n.splice(g + 1, 1)), g > 0 && (\"string\" == typeof n[g - 1] || \"plain-text\" === n[g - 1].type) && (p = e(n[g - 1]) + p, n.splice(g - 1, 1), g--), n[g] = new t.Token(\"plain-text\", p, null, p);\n }\n\n i.content && \"string\" != typeof i.content && a(i.content);\n }\n };\n\n t.hooks.add(\"after-tokenize\", function (t) {\n (\"jsx\" === t.language || \"tsx\" === t.language) && a(t.tokens);\n });\n}(Prism);\nPrism.languages.typescript = Prism.languages.extend(\"javascript\", {\n keyword: /\\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\\b/,\n builtin: /\\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\\b/\n}), Prism.languages.ts = Prism.languages.typescript;\nPrism.languages.reason = Prism.languages.extend(\"clike\", {\n comment: {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n },\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n },\n \"class-name\": /\\b[A-Z]\\w*/,\n 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/,\n operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:mod|land|lor|lxor|lsl|lsr|asr)\\b/\n}), Prism.languages.insertBefore(\"reason\", \"class-name\", {\n character: {\n pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,\n alias: \"string\"\n },\n constructor: {\n pattern: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n alias: \"variable\"\n },\n label: {\n pattern: /\\b[a-z]\\w*(?=::)/,\n alias: \"symbol\"\n }\n}), delete Prism.languages.reason.function;\n!function (e) {\n var i = \"(?:\\\\([^|)]+\\\\)|\\\\[[^\\\\]]+\\\\]|\\\\{[^}]+\\\\})+\",\n n = {\n css: {\n pattern: /\\{[^}]+\\}/,\n inside: {\n rest: e.languages.css\n }\n },\n \"class-id\": {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0,\n alias: \"attr-value\"\n },\n lang: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0,\n alias: \"attr-value\"\n },\n punctuation: /[\\\\\\/]\\d+|\\S/\n };\n e.languages.textile = e.languages.extend(\"markup\", {\n phrase: {\n pattern: /(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,\n lookbehind: !0,\n inside: {\n \"block-tag\": {\n pattern: RegExp(\"^[a-z]\\\\w*(?:\" + i + \"|[<>=()])*\\\\.\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^[a-z]\\\\w*)(?:\" + i + \"|[<>=()])+(?=\\\\.)\"),\n lookbehind: !0,\n inside: n\n },\n tag: /^[a-z]\\w*/,\n punctuation: /\\.$/\n }\n },\n list: {\n pattern: RegExp(\"^[*#]+(?:\" + i + \")?\\\\s+.+\", \"m\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^[*#]+)\" + i),\n lookbehind: !0,\n inside: n\n },\n punctuation: /^[*#]+/\n }\n },\n table: {\n pattern: RegExp(\"^(?:(?:\" + i + \"|[<>=()^~])+\\\\.\\\\s*)?(?:\\\\|(?:(?:\" + i + \"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+\\\\.)?[^|]*)+\\\\|\", \"m\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^|\\\\|(?:\\\\r?\\\\n|\\\\r)?)(?:\" + i + \"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+(?=\\\\.)\"),\n lookbehind: !0,\n inside: n\n },\n punctuation: /\\||^\\./\n }\n },\n inline: {\n pattern: RegExp(\"(\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])(?:\" + i + \")?.+?\\\\1\"),\n inside: {\n bold: {\n pattern: RegExp(\"(^(\\\\*\\\\*?)(?:\" + i + \")?).+?(?=\\\\2)\"),\n lookbehind: !0\n },\n italic: {\n pattern: RegExp(\"(^(__?)(?:\" + i + \")?).+?(?=\\\\2)\"),\n lookbehind: !0\n },\n cite: {\n pattern: RegExp(\"(^\\\\?\\\\?(?:\" + i + \")?).+?(?=\\\\?\\\\?)\"),\n lookbehind: !0,\n alias: \"string\"\n },\n code: {\n pattern: RegExp(\"(^@(?:\" + i + \")?).+?(?=@)\"),\n lookbehind: !0,\n alias: \"keyword\"\n },\n inserted: {\n pattern: RegExp(\"(^\\\\+(?:\" + i + \")?).+?(?=\\\\+)\"),\n lookbehind: !0\n },\n deleted: {\n pattern: RegExp(\"(^-(?:\" + i + \")?).+?(?=-)\"),\n lookbehind: !0\n },\n span: {\n pattern: RegExp(\"(^%(?:\" + i + \")?).+?(?=%)\"),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp(\"(^\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])\" + i),\n lookbehind: !0,\n inside: n\n },\n punctuation: /[*_%?@+\\-^~]+/\n }\n },\n \"link-ref\": {\n pattern: /^\\[[^\\]]+\\]\\S+$/m,\n inside: {\n string: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\])\\S+$/,\n lookbehind: !0\n },\n punctuation: /[\\[\\]]/\n }\n },\n link: {\n pattern: RegExp('\"(?:' + i + ')?[^\"]+\":.+?(?=[^\\\\w/]?(?:\\\\s|$))'),\n inside: {\n text: {\n pattern: RegExp('(^\"(?:' + i + ')?)[^\"]+(?=\")'),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp('(^\")' + i),\n lookbehind: !0,\n inside: n\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[\":]/\n }\n },\n image: {\n pattern: RegExp(\"!(?:\" + i + \"|[<>=()])*[^!\\\\s()]+(?:\\\\([^)]+\\\\))?!(?::.+?(?=[^\\\\w/]?(?:\\\\s|$)))?\"),\n inside: {\n source: {\n pattern: RegExp(\"(^!(?:\" + i + \"|[<>=()])*)[^!\\\\s()]+(?:\\\\([^)]+\\\\))?(?=!)\"),\n lookbehind: !0,\n alias: \"url\"\n },\n modifier: {\n pattern: RegExp(\"(^!)(?:\" + i + \"|[<>=()])+\"),\n lookbehind: !0,\n inside: n\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[!:]/\n }\n },\n footnote: {\n pattern: /\\b\\[\\d+\\]/,\n alias: \"comment\",\n inside: {\n punctuation: /\\[|\\]/\n }\n },\n acronym: {\n pattern: /\\b[A-Z\\d]+\\([^)]+\\)/,\n inside: {\n comment: {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0\n },\n punctuation: /[()]/\n }\n },\n mark: {\n pattern: /\\b\\((?:TM|R|C)\\)/,\n alias: \"comment\",\n inside: {\n punctuation: /[()]/\n }\n }\n }\n }\n });\n var t = {\n inline: e.languages.textile.phrase.inside.inline,\n link: e.languages.textile.phrase.inside.link,\n image: e.languages.textile.phrase.inside.image,\n footnote: e.languages.textile.phrase.inside.footnote,\n acronym: e.languages.textile.phrase.inside.acronym,\n mark: e.languages.textile.phrase.inside.mark\n };\n e.languages.textile.tag.pattern = /<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i, e.languages.textile.phrase.inside.inline.inside.bold.inside = t, e.languages.textile.phrase.inside.inline.inside.italic.inside = t, e.languages.textile.phrase.inside.inline.inside.inserted.inside = t, e.languages.textile.phrase.inside.inline.inside.deleted.inside = t, e.languages.textile.phrase.inside.inline.inside.span.inside = t, e.languages.textile.phrase.inside.table.inside.inline = t.inline, e.languages.textile.phrase.inside.table.inside.link = t.link, e.languages.textile.phrase.inside.table.inside.image = t.image, e.languages.textile.phrase.inside.table.inside.footnote = t.footnote, e.languages.textile.phrase.inside.table.inside.acronym = t.acronym, e.languages.textile.phrase.inside.table.inside.mark = t.mark;\n}(Prism);\nPrism.languages.rust = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /b?r(#*)\"(?:\\\\.|(?!\"\\1)[^\\\\\\r\\n])*\"\\1/,\n greedy: !0\n }, {\n pattern: /b?\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n }],\n \"char\": {\n pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u{(?:[\\da-fA-F]_*){1,6}|.)|[^\\\\\\r\\n\\t'])'/,\n alias: \"string\"\n },\n \"lifetime-annotation\": {\n pattern: /'[^\\s>']+/,\n alias: \"symbol\"\n },\n keyword: /\\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|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|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n attribute: {\n pattern: /#!?\\[.+?\\]/,\n greedy: !0,\n alias: \"attr-name\"\n },\n \"function\": [/\\w+(?=\\s*\\()/, /\\w+!(?=\\s*\\(|\\[)/],\n \"macro-rules\": {\n pattern: /\\w+!/,\n alias: \"function\"\n },\n 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/,\n \"closure-params\": {\n pattern: /\\|[^|]*\\|(?=\\s*[{-])/,\n inside: {\n punctuation: /[|:,]/,\n operator: /[&*]/\n }\n },\n punctuation: /[{}[\\];(),:]|\\.+|->/,\n operator: /[-+*\\/%!^]=?|=[=>]?|@|&[&=]?|\\|[|=]?|<>?=?/\n};\n!function (e) {\n e.languages.sass = e.languages.extend(\"css\", {\n comment: {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t]+.+)*/m,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"sass\", \"atrule\", {\n \"atrule-line\": {\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n inside: {\n atrule: /(?:@[\\w-]+|[+=])/m\n }\n }\n }), delete e.languages.sass.atrule;\n var t = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/,\n a = [/[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|or|not)\\b/, {\n pattern: /(\\s+)-(?=\\s)/,\n lookbehind: !0\n }];\n e.languages.insertBefore(\"sass\", \"property\", {\n \"variable-line\": {\n pattern: /^[ \\t]*\\$.+/m,\n inside: {\n punctuation: /:/,\n variable: t,\n operator: a\n }\n },\n \"property-line\": {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s]+.*)/m,\n inside: {\n property: [/[^:\\s]+(?=\\s*:)/, {\n pattern: /(:)[^:\\s]+/,\n lookbehind: !0\n }],\n punctuation: /:/,\n variable: t,\n operator: a,\n important: e.languages.sass.important\n }\n }\n }), delete e.languages.sass.property, delete e.languages.sass.important, e.languages.insertBefore(\"sass\", \"punctuation\", {\n selector: {\n pattern: /([ \\t]*)\\S(?:,?[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,?[^,\\r\\n]+)*)*/,\n lookbehind: !0\n }\n });\n}(Prism);\n!function (n) {\n var t = {\n url: /url\\(([\"']?).*?\\1\\)/i,\n string: {\n pattern: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: !0\n },\n interpolation: null,\n func: null,\n important: /\\B!(?:important|optional)\\b/i,\n keyword: {\n pattern: /(^|\\s+)(?:(?:if|else|for|return|unless)(?=\\s+|$)|@[\\w-]+)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,6}/i,\n number: /\\b\\d+(?:\\.\\d+)?%?/,\n \"boolean\": /\\b(?:true|false)\\b/,\n operator: [/~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.+|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/],\n punctuation: /[{}()\\[\\];:,]/\n };\n t.interpolation = {\n pattern: /\\{[^\\r\\n}:]+\\}/,\n alias: \"variable\",\n inside: {\n delimiter: {\n pattern: /^{|}$/,\n alias: \"punctuation\"\n },\n rest: t\n }\n }, t.func = {\n pattern: /[\\w-]+\\([^)]*\\).*/,\n inside: {\n \"function\": /^[^(]+/,\n rest: t\n }\n }, n.languages.stylus = {\n comment: {\n pattern: /(^|[^\\\\])(\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n \"atrule-declaration\": {\n pattern: /(^\\s*)@.+/m,\n lookbehind: !0,\n inside: {\n atrule: /^@[\\w-]+/,\n rest: t\n }\n },\n \"variable-declaration\": {\n pattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:(?:\\{[^}]*\\}|.+)|$)/m,\n lookbehind: !0,\n inside: {\n variable: /^\\S+/,\n rest: t\n }\n },\n statement: {\n pattern: /(^[ \\t]*)(?:if|else|for|return|unless)[ \\t]+.+/m,\n lookbehind: !0,\n inside: {\n keyword: /^\\S+/,\n rest: t\n }\n },\n \"property-declaration\": {\n pattern: /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)[^{\\r\\n]*(?:;|[^{\\r\\n,](?=$)(?!(\\r?\\n|\\r)(?:\\{|\\2[ \\t]+)))/m,\n lookbehind: !0,\n inside: {\n property: {\n pattern: /^[^\\s:]+/,\n inside: {\n interpolation: t.interpolation\n }\n },\n rest: t\n }\n },\n selector: {\n 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,\n lookbehind: !0,\n inside: {\n interpolation: t.interpolation,\n punctuation: /[{},]/\n }\n },\n func: t.func,\n string: t.string,\n interpolation: t.interpolation,\n punctuation: /[{}()\\[\\];:.]/\n };\n}(Prism);\nPrism.languages.scheme = {\n comment: /;.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'[^()#'\\s]+/,\n greedy: !0\n },\n character: {\n pattern: /#\\\\(?:u[a-fA-F\\d]{4}|[a-zA-Z]+|\\S)/,\n alias: \"string\"\n },\n keyword: {\n pattern: /(\\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\\s])/,\n lookbehind: !0\n },\n builtin: {\n 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\\?)(?=[()\\s])/,\n lookbehind: !0\n },\n number: {\n pattern: /(\\s|[()])[-+]?\\d*\\.?\\d+(?:\\s*[-+]\\s*\\d*\\.?\\d+i)?\\b/,\n lookbehind: !0\n },\n \"boolean\": /#[tf]/,\n operator: {\n pattern: /(\\()(?:[-+*%\\/]|[<>]=?|=>?)/,\n lookbehind: !0\n },\n \"function\": {\n pattern: /(\\()[^()#'\\s]+(?=[()\\s)])/,\n lookbehind: !0\n },\n punctuation: /[()']/\n};\n!function (e) {\n e.languages.pug = {\n comment: {\n pattern: /(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/m,\n lookbehind: !0\n },\n \"multiline-script\": {\n pattern: /(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n filter: {\n pattern: /(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n }\n }\n },\n \"multiline-plain-text\": {\n pattern: /(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0\n },\n markup: {\n pattern: /(^[\\t ]*)<.+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\n)[\\t ]*)doctype(?: .+)?/,\n lookbehind: !0\n },\n \"flow-control\": {\n pattern: /(^[\\t ]*)(?:if|unless|else|case|when|default|each|while)\\b(?: .+)?/m,\n lookbehind: !0,\n inside: {\n each: {\n pattern: /^each .+? in\\b/,\n inside: {\n keyword: /\\b(?:each|in)\\b/,\n punctuation: /,/\n }\n },\n branch: {\n pattern: /^(?:if|unless|else|case|when|default|while)\\b/,\n alias: \"keyword\"\n },\n rest: e.languages.javascript\n }\n },\n keyword: {\n pattern: /(^[\\t ]*)(?:block|extends|include|append|prepend)\\b.+/m,\n lookbehind: !0\n },\n mixin: [{\n pattern: /(^[\\t ]*)mixin .+/m,\n lookbehind: !0,\n inside: {\n keyword: /^mixin/,\n \"function\": /\\w+(?=\\s*\\(|\\s*$)/,\n punctuation: /[(),.]/\n }\n }, {\n pattern: /(^[\\t ]*)\\+.+/m,\n lookbehind: !0,\n inside: {\n name: {\n pattern: /^\\+\\w+/,\n alias: \"function\"\n },\n rest: e.languages.javascript\n }\n }],\n script: {\n pattern: /(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]+).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n \"plain-text\": {\n pattern: /(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]+).+/m,\n lookbehind: !0\n },\n tag: {\n pattern: /(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /&[^(]+\\([^)]+\\)/,\n inside: {\n rest: e.languages.javascript\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n \"attr-value\": {\n pattern: /(=\\s*)(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n \"attr-name\": /[\\w-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[!=(),]+/\n }\n }],\n punctuation: /:/\n }\n },\n code: [{\n pattern: /(^[\\t ]*(?:-|!?=)).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n }],\n punctuation: /[.\\-!=|]+/\n };\n\n for (var t = \"(^([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r(?!\\\\n))(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\", n = [{\n filter: \"atpl\",\n language: \"twig\"\n }, {\n filter: \"coffee\",\n language: \"coffeescript\"\n }, \"ejs\", \"handlebars\", \"hogan\", \"less\", \"livescript\", \"markdown\", \"mustache\", \"plates\", {\n filter: \"sass\",\n language: \"scss\"\n }, \"stylus\", \"swig\"], a = {}, i = 0, r = n.length; r > i; i++) {\n var s = n[i];\n s = \"string\" == typeof s ? {\n filter: s,\n language: s\n } : s, e.languages[s.language] && (a[\"filter-\" + s.filter] = {\n pattern: RegExp(t.replace(\"{{filter_name}}\", s.filter), \"m\"),\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n },\n rest: e.languages[s.language]\n }\n });\n }\n\n e.languages.insertBefore(\"pug\", \"filter\", a);\n}(Prism);\nPrism.languages.swift = Prism.languages.extend(\"clike\", {\n string: {\n pattern: /(\"|')(\\\\(?:\\((?:[^()]|\\([^)]+\\))+\\)|\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\\\\\((?:[^()]|\\([^)]+\\))+\\)/,\n inside: {\n delimiter: {\n pattern: /^\\\\\\(|\\)$/,\n alias: \"variable\"\n }\n }\n }\n }\n },\n 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/,\n number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n constant: /\\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n atrule: /@\\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\\b/,\n 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/\n}), Prism.languages.swift.string.inside.interpolation.inside.rest = Prism.languages.swift;\nPrism.languages.yaml = {\n scalar: {\n pattern: /([\\-:]\\s*(?:![^\\s]+)?[ \\t]*[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)[^\\r\\n]+(?:\\2[^\\r\\n]+)*)/,\n lookbehind: !0,\n alias: \"string\"\n },\n comment: /#.*/,\n key: {\n pattern: /(\\s*(?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:![^\\s]+)?[ \\t]*)[^\\r\\n{[\\]},#\\s]+?(?=\\s*:\\s)/,\n lookbehind: !0,\n alias: \"atrule\"\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: !0,\n alias: \"important\"\n },\n datetime: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?)?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?)(?=[ \\t]*(?:$|,|]|}))/m,\n lookbehind: !0,\n alias: \"number\"\n },\n \"boolean\": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:true|false)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n \"null\": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:null|~)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n string: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(\"|')(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2(?=[ \\t]*(?:$|,|]|}|\\s*#))/m,\n lookbehind: !0,\n greedy: !0\n },\n number: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0\n },\n tag: /![^\\s]+/,\n important: /[&*][\\w]+/,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n}, Prism.languages.yml = Prism.languages.yaml;\n!function (e) {\n e.languages.haml = {\n \"multiline-comment\": {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/,\n lookbehind: !0,\n alias: \"comment\"\n },\n \"multiline-code\": [{\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*\\|[\\t ]*)*/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }],\n filter: {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/,\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n }\n }\n },\n markup: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,\n lookbehind: !0\n },\n tag: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /(^|[^#])\\{(?:\\{[^}]+\\}|[^}])+\\}/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n \"attr-value\": {\n pattern: /(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,\n lookbehind: !0\n },\n \"attr-name\": /[\\w:-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[=(),]/\n }\n }, {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n rest: e.languages.ruby\n }\n }],\n punctuation: /[<>]/\n }\n },\n code: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n },\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"punctuation\"\n },\n rest: e.languages.ruby\n }\n },\n punctuation: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,\n lookbehind: !0\n }\n };\n\n for (var t = \"((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\", r = [\"css\", {\n filter: \"coffee\",\n language: \"coffeescript\"\n }, \"erb\", \"javascript\", \"less\", \"markdown\", \"ruby\", \"scss\", \"textile\"], n = {}, a = 0, i = r.length; i > a; a++) {\n var l = r[a];\n l = \"string\" == typeof l ? {\n filter: l,\n language: l\n } : l, e.languages[l.language] && (n[\"filter-\" + l.filter] = {\n pattern: RegExp(t.replace(\"{{filter_name}}\", l.filter)),\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n },\n rest: e.languages[l.language]\n }\n });\n }\n\n e.languages.insertBefore(\"haml\", \"filter\", n);\n}(Prism);\n!function (e) {\n var d = \"(?:[\\\\w-]+|'[^'\\n\\r]*'|\\\"(?:\\\\.|[^\\\\\\\\\\\"\\r\\n])*\\\")\";\n e.languages.toml = {\n comment: {\n pattern: /#.*/,\n greedy: !0\n },\n table: {\n pattern: RegExp(\"(\\\\[\\\\s*)\" + d + \"(?:\\\\s*\\\\.\\\\s*\" + d + \")*(?=\\\\s*\\\\])\"),\n lookbehind: !0,\n greedy: !0,\n alias: \"class-name\"\n },\n key: {\n pattern: RegExp(\"(^\\\\s*|[{,]\\\\s*)\" + d + \"(?:\\\\s*\\\\.\\\\s*\" + d + \")*(?=\\\\s*=)\", \"m\"),\n lookbehind: !0,\n greedy: !0,\n alias: \"property\"\n },\n string: {\n pattern: /\"\"\"(?:\\\\[\\s\\S]|[^\\\\])*?\"\"\"|'''[\\s\\S]*?'''|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n date: [{\n pattern: /\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?/i,\n alias: \"number\"\n }, {\n pattern: /\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?/i,\n alias: \"number\"\n }],\n number: /(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?(?:inf|nan)\\b/,\n \"boolean\": /\\b(?:true|false)\\b/,\n punctuation: /[.,=[\\]{}]/\n };\n}(Prism);\nPrism.languages.twig = {\n comment: /\\{#[\\s\\S]*?#\\}/,\n tag: {\n pattern: /\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}/,\n inside: {\n ld: {\n pattern: /^(?:\\{\\{-?|\\{%-?\\s*\\w+)/,\n inside: {\n punctuation: /^(?:\\{\\{|\\{%)-?/,\n keyword: /\\w+/\n }\n },\n rd: {\n pattern: /-?(?:%\\}|\\}\\})$/,\n inside: {\n punctuation: /.*/\n }\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n }\n },\n keyword: /\\b(?:even|if|odd)\\b/,\n \"boolean\": /\\b(?:true|false|null)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [{\n pattern: /(\\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: !0\n }, /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/],\n property: /\\b[a-zA-Z_]\\w*\\b/,\n punctuation: /[()\\[\\]{}:.,]/\n }\n },\n other: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.markup\n }\n};\nvar typescript = Prism.util.clone(Prism.languages.typescript);\nPrism.languages.tsx = Prism.languages.extend(\"jsx\", typescript);\nPrism.languages.vim = {\n string: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,\n comment: /\".*/,\n \"function\": /\\w+(?=\\()/,\n keyword: /\\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\\b/,\n builtin: /\\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator: /\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,\n punctuation: /[{}[\\](),;:]/\n};\nPrism.languages[\"visual-basic\"] = {\n comment: {\n pattern: /(?:['‘’]|REM\\b).*/i,\n inside: {\n keyword: /^REM/i\n }\n },\n directive: {\n pattern: /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\\S\\r\\n]_[^\\S\\r\\n]*(?:\\r\\n?|\\n)|.)+/i,\n alias: \"comment\",\n greedy: !0\n },\n string: {\n pattern: /[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,\n greedy: !0\n },\n date: {\n pattern: /#[^\\S\\r\\n]*(?:\\d+([\\/-])\\d+\\1\\d+(?:[^\\S\\r\\n]+(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))?|(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))[^\\S\\r\\n]*#/i,\n alias: \"builtin\"\n },\n number: /(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:U?[ILS]|[FRD])?/i,\n \"boolean\": /\\b(?:True|False|Nothing)\\b/i,\n keyword: /\\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\\b/i,\n operator: [/[+\\-*\\/\\\\^<=>&#@$%!]/, {\n pattern: /([^\\S\\r\\n])_(?=[^\\S\\r\\n]*[\\r\\n])/,\n lookbehind: !0\n }],\n punctuation: /[{}().,:?]/\n}, Prism.languages.vb = Prism.languages[\"visual-basic\"];\nPrism.languages.wasm = {\n comment: [/\\(;[\\s\\S]*?;\\)/, {\n pattern: /;;.*/,\n greedy: !0\n }],\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n greedy: !0\n },\n keyword: [{\n pattern: /\\b(?:align|offset)=/,\n inside: {\n operator: /=/\n }\n }, {\n pattern: /\\b(?:(?:f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n inside: {\n punctuation: /\\./\n }\n }, /\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/],\n variable: /\\$[\\w!#$%&'*+\\-.\\/:<=>?@\\\\^_`|~]+/i,\n number: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n punctuation: /[()]/\n};\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var e = \"line-numbers\",\n t = /\\n(?!$)/g,\n n = function n(e) {\n var n = r(e),\n s = n[\"white-space\"];\n\n if (\"pre-wrap\" === s || \"pre-line\" === s) {\n var l = e.querySelector(\"code\"),\n i = e.querySelector(\".line-numbers-rows\"),\n a = e.querySelector(\".line-numbers-sizer\"),\n o = l.textContent.split(t);\n a || (a = document.createElement(\"span\"), a.className = \"line-numbers-sizer\", l.appendChild(a)), a.style.display = \"block\", o.forEach(function (e, t) {\n a.textContent = e || \"\\n\";\n var n = a.getBoundingClientRect().height;\n i.children[t].style.height = n + \"px\";\n }), a.textContent = \"\", a.style.display = \"none\";\n }\n },\n r = function r(e) {\n return e ? window.getComputedStyle ? getComputedStyle(e) : e.currentStyle || null : null;\n };\n\n window.addEventListener(\"resize\", function () {\n Array.prototype.forEach.call(document.querySelectorAll(\"pre.\" + e), n);\n }), Prism.hooks.add(\"complete\", function (e) {\n if (e.code) {\n var r = e.element.parentNode,\n s = /\\s*\\bline-numbers\\b\\s*/;\n\n if (r && /pre/i.test(r.nodeName) && (s.test(r.className) || s.test(e.element.className)) && !e.element.querySelector(\".line-numbers-rows\")) {\n s.test(e.element.className) && (e.element.className = e.element.className.replace(s, \" \")), s.test(r.className) || (r.className += \" line-numbers\");\n var l,\n i = e.code.match(t),\n a = i ? i.length + 1 : 1,\n o = new Array(a + 1);\n o = o.join(\"\"), l = document.createElement(\"span\"), l.setAttribute(\"aria-hidden\", \"true\"), l.className = \"line-numbers-rows\", l.innerHTML = o, r.hasAttribute(\"data-start\") && (r.style.counterReset = \"linenumber \" + (parseInt(r.getAttribute(\"data-start\"), 10) - 1)), e.element.appendChild(l), n(r), Prism.hooks.run(\"line-numbers\", e);\n }\n }\n }), Prism.hooks.add(\"line-numbers\", function (e) {\n e.plugins = e.plugins || {}, e.plugins.lineNumbers = !0;\n }), Prism.plugins.lineNumbers = {\n getLine: function getLine(t, n) {\n if (\"PRE\" === t.tagName && t.classList.contains(e)) {\n var r = t.querySelector(\".line-numbers-rows\"),\n s = parseInt(t.getAttribute(\"data-start\"), 10) || 1,\n l = s + (r.children.length - 1);\n s > n && (n = s), n > l && (n = l);\n var i = n - s;\n return r.children[i];\n }\n }\n };\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var t = [],\n e = {},\n n = function n() {};\n\n Prism.plugins.toolbar = {};\n\n var a = Prism.plugins.toolbar.registerButton = function (n, a) {\n var o;\n o = \"function\" == typeof a ? a : function (t) {\n var e;\n return \"function\" == typeof a.onClick ? (e = document.createElement(\"button\"), e.type = \"button\", e.addEventListener(\"click\", function () {\n a.onClick.call(this, t);\n })) : \"string\" == typeof a.url ? (e = document.createElement(\"a\"), e.href = a.url) : e = document.createElement(\"span\"), e.textContent = a.text, e;\n }, t.push(e[n] = o);\n },\n o = Prism.plugins.toolbar.hook = function (a) {\n var o = a.element.parentNode;\n\n if (o && /pre/i.test(o.nodeName) && !o.parentNode.classList.contains(\"code-toolbar\")) {\n var r = document.createElement(\"div\");\n r.classList.add(\"code-toolbar\"), o.parentNode.insertBefore(r, o), r.appendChild(o);\n var i = document.createElement(\"div\");\n i.classList.add(\"toolbar\"), document.body.hasAttribute(\"data-toolbar-order\") && (t = document.body.getAttribute(\"data-toolbar-order\").split(\",\").map(function (t) {\n return e[t] || n;\n })), t.forEach(function (t) {\n var e = t(a);\n\n if (e) {\n var n = document.createElement(\"div\");\n n.classList.add(\"toolbar-item\"), n.appendChild(e), i.appendChild(n);\n }\n }), r.appendChild(i);\n }\n };\n\n a(\"label\", function (t) {\n var e = t.element.parentNode;\n\n if (e && /pre/i.test(e.nodeName) && e.hasAttribute(\"data-label\")) {\n var n,\n a,\n o = e.getAttribute(\"data-label\");\n\n try {\n a = document.querySelector(\"template#\" + o);\n } catch (r) {}\n\n return a ? n = a.content : (e.hasAttribute(\"data-url\") ? (n = document.createElement(\"a\"), n.href = e.getAttribute(\"data-url\")) : n = document.createElement(\"span\"), n.textContent = o), n;\n }\n }), Prism.hooks.add(\"complete\", o);\n }\n}();\n!function () {\n function t(t) {\n \"function\" != typeof t || e(t) || r.push(t);\n }\n\n function e(t) {\n return \"function\" == typeof t ? r.filter(function (e) {\n return e.valueOf() === t.valueOf();\n })[0] : \"string\" == typeof t && t.length > 0 ? r.filter(function (e) {\n return e.name === t;\n })[0] : null;\n }\n\n function n(t) {\n if (\"string\" == typeof t && (t = e(t)), \"function\" == typeof t) {\n var n = r.indexOf(t);\n n >= 0 && r.splice(n, 1);\n }\n }\n\n function a() {\n Array.prototype.slice.call(document.querySelectorAll(\"pre[data-jsonp]\")).forEach(function (t) {\n t.textContent = \"\";\n var e = document.createElement(\"code\");\n e.textContent = i, t.appendChild(e);\n var n = t.getAttribute(\"data-adapter\"),\n a = null;\n\n if (n) {\n if (\"function\" != typeof window[n]) return e.textContent = \"JSONP adapter function '\" + n + \"' doesn't exist\", void 0;\n a = window[n];\n }\n\n var u = \"prismjsonp\" + o++,\n f = document.createElement(\"a\"),\n l = f.href = t.getAttribute(\"data-jsonp\");\n f.href += (f.search ? \"&\" : \"?\") + (t.getAttribute(\"data-callback\") || \"callback\") + \"=\" + u;\n var s = setTimeout(function () {\n e.textContent === i && (e.textContent = \"Timeout loading '\" + l + \"'\");\n }, 5e3),\n d = document.createElement(\"script\");\n d.src = f.href, window[u] = function (n) {\n document.head.removeChild(d), clearTimeout(s), delete window[u];\n var o = \"\";\n if (a) o = a(n, t);else for (var i in r) {\n if (o = r[i](n, t), null !== o) break;\n }\n null === o ? e.textContent = \"Cannot parse response (perhaps you need an adapter function?)\" : (e.textContent = o, Prism.highlightElement(e));\n }, document.head.appendChild(d);\n });\n }\n\n if (self.Prism && self.document && document.querySelectorAll && [].filter) {\n var r = [];\n Prism.plugins.jsonphighlight = {\n registerAdapter: t,\n removeAdapter: n,\n highlight: a\n }, t(function (t) {\n if (t && t.meta && t.data) {\n if (t.meta.status && t.meta.status >= 400) return \"Error: \" + (t.data.message || t.meta.status);\n if (\"string\" == typeof t.data.content) return \"function\" == typeof atob ? atob(t.data.content.replace(/\\s/g, \"\")) : \"Your browser cannot decode base64\";\n }\n\n return null;\n }), t(function (t, e) {\n if (t && t.meta && t.data && t.data.files) {\n if (t.meta.status && t.meta.status >= 400) return \"Error: \" + (t.data.message || t.meta.status);\n var n = e.getAttribute(\"data-filename\");\n if (null == n) for (var a in t.data.files) {\n if (t.data.files.hasOwnProperty(a)) {\n n = a;\n break;\n }\n }\n return void 0 !== t.data.files[n] ? t.data.files[n].content : \"Error: unknown or missing gist file \" + n;\n }\n\n return null;\n }), t(function (t) {\n return t && t.node && \"string\" == typeof t.data ? t.data : null;\n });\n var o = 0,\n i = \"Loading…\";\n a();\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var e = /(?:^|\\s)command-line(?:\\s|$)/;\n Prism.hooks.add(\"before-highlight\", function (t) {\n var a = t.vars = t.vars || {},\n n = a[\"command-line\"] = a[\"command-line\"] || {};\n if (n.complete || !t.code) return n.complete = !0, void 0;\n var r = t.element.parentNode;\n if (!r || !/pre/i.test(r.nodeName) || !e.test(r.className) && !e.test(t.element.className)) return n.complete = !0, void 0;\n if (t.element.querySelector(\".command-line-prompt\")) return n.complete = !0, void 0;\n var o = t.code.split(\"\\n\");\n n.numberOfLines = o.length;\n var s = n.outputLines = [],\n i = r.getAttribute(\"data-output\"),\n l = r.getAttribute(\"data-filter-output\");\n\n if (i || \"\" === i) {\n i = i.split(\",\");\n\n for (var m = 0; m < i.length; m++) {\n var d = i[m].split(\"-\"),\n p = parseInt(d[0], 10),\n c = 2 === d.length ? parseInt(d[1], 10) : p;\n\n if (!isNaN(p) && !isNaN(c)) {\n 1 > p && (p = 1), c > o.length && (c = o.length), p--, c--;\n\n for (var u = p; c >= u; u++) {\n s[u] = o[u], o[u] = \"\";\n }\n }\n }\n } else if (l) for (var m = 0; m < o.length; m++) {\n 0 === o[m].indexOf(l) && (s[m] = o[m].slice(l.length), o[m] = \"\");\n }\n\n t.code = o.join(\"\\n\");\n }), Prism.hooks.add(\"before-insert\", function (e) {\n var t = e.vars = e.vars || {},\n a = t[\"command-line\"] = t[\"command-line\"] || {};\n\n if (!a.complete) {\n for (var n = e.highlightedCode.split(\"\\n\"), r = 0; r < a.outputLines.length; r++) {\n a.outputLines.hasOwnProperty(r) && (n[r] = a.outputLines[r]);\n }\n\n e.highlightedCode = n.join(\"\\n\");\n }\n }), Prism.hooks.add(\"complete\", function (t) {\n var a = t.vars = t.vars || {},\n n = a[\"command-line\"] = a[\"command-line\"] || {};\n\n if (!n.complete) {\n var r = t.element.parentNode;\n e.test(t.element.className) && (t.element.className = t.element.className.replace(e, \" \")), e.test(r.className) || (r.className += \" command-line\");\n\n var o = function o(e, t) {\n return (r.getAttribute(e) || t).replace(/\"/g, \""\");\n },\n s = new Array(n.numberOfLines + 1),\n i = o(\"data-prompt\", \"\");\n\n if (\"\" !== i) s = s.join('');else {\n var l = o(\"data-user\", \"user\"),\n m = o(\"data-host\", \"localhost\");\n s = s.join('');\n }\n var d = document.createElement(\"span\");\n d.className = \"command-line-prompt\", d.innerHTML = s;\n\n for (var p = 0; p < n.outputLines.length; p++) {\n if (n.outputLines.hasOwnProperty(p)) {\n var c = d.children[p];\n c.removeAttribute(\"data-user\"), c.removeAttribute(\"data-host\"), c.removeAttribute(\"data-prompt\");\n }\n }\n\n t.element.insertBefore(d, t.element.firstChild), n.complete = !0;\n }\n });\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n if (!Prism.plugins.toolbar) return console.warn(\"Copy to Clipboard plugin loaded before Toolbar plugin.\"), void 0;\n var o = window.ClipboardJS || void 0;\n o || \"function\" != \"function\" || (o = __webpack_require__(/*! clipboard */ \"./node_modules/clipboard/dist/clipboard.js\"));\n var e = [];\n\n if (!o) {\n var t = document.createElement(\"script\"),\n n = document.querySelector(\"head\");\n t.onload = function () {\n if (o = window.ClipboardJS) for (; e.length;) {\n e.pop()();\n }\n }, t.src = \"https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js\", n.appendChild(t);\n }\n\n Prism.plugins.toolbar.registerButton(\"copy-to-clipboard\", function (t) {\n function n() {\n var e = new o(i, {\n text: function text() {\n return t.code;\n }\n });\n e.on(\"success\", function () {\n i.textContent = \"Copied!\", r();\n }), e.on(\"error\", function () {\n i.textContent = \"Press Ctrl+C to copy\", r();\n });\n }\n\n function r() {\n setTimeout(function () {\n i.textContent = \"Copy\";\n }, 5e3);\n }\n\n var i = document.createElement(\"a\");\n return i.textContent = \"Copy\", o ? n() : e.push(n), i;\n });\n }\n}();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./source/js/prism.js?"); +eval("/* WEBPACK VAR INJECTION */(function(global) {\n\n/* PrismJS 1.15.0\nhttps://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+c+csharp+bash+cpp+coffeescript+ruby+csp+css-extras+diff+django+docker+elixir+elm+markup-templating+erlang+fsharp+flow+git+go+graphql+less+handlebars+haskell+http+java+json+kotlin+latex+markdown+makefile+objectivec+ocaml+perl+php+php-extras+sql+processing+scss+python+r+jsx+typescript+reason+textile+rust+sass+stylus+scheme+pug+swift+yaml+haml+toml+twig+tsx+vim+visual-basic+wasm&plugins=line-numbers+toolbar+jsonp-highlight+command-line+copy-to-clipboard */\nvar _self = \"undefined\" != typeof window ? window : \"undefined\" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},\n Prism = function () {\n var e = /\\blang(?:uage)?-([\\w-]+)\\b/i,\n t = 0,\n n = _self.Prism = {\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n util: {\n encode: function encode(e) {\n 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(/ e.length) return;\n\n if (!(w instanceof s)) {\n if (m && b != t.length - 1) {\n h.lastIndex = k;\n\n var _ = h.exec(e);\n\n if (!_) break;\n\n for (var j = _.index + (d ? _[1].length : 0), P = _.index + _[0].length, A = b, x = k, O = t.length; O > A && (P > x || !t[A].type && !t[A - 1].greedy); ++A) {\n x += t[A].length, j >= x && (++b, k = x);\n }\n\n if (t[b] instanceof s) continue;\n I = A - b, w = e.slice(k, x), _.index -= k;\n } else {\n h.lastIndex = 0;\n\n var _ = h.exec(w),\n I = 1;\n }\n\n if (_) {\n d && (p = _[1] ? _[1].length : 0);\n\n var j = _.index + p,\n _ = _[0].slice(p),\n P = j + _.length,\n N = w.slice(0, j),\n S = w.slice(P),\n C = [b, I];\n\n N && (++b, k += N.length, C.push(N));\n var E = new s(u, f ? n.tokenize(_, f) : _, y, _, m);\n if (C.push(E), S && C.push(S), Array.prototype.splice.apply(t, C), 1 != I && n.matchGrammar(e, t, a, b, k, !0, u), i) break;\n } else if (i) break;\n }\n }\n }\n }\n }\n },\n tokenize: function tokenize(e, t) {\n var a = [e],\n r = t.rest;\n\n if (r) {\n for (var l in r) {\n t[l] = r[l];\n }\n\n delete t.rest;\n }\n\n return n.matchGrammar(e, a, t, 0, 0, !1), a;\n },\n hooks: {\n all: {},\n add: function add(e, t) {\n var a = n.hooks.all;\n a[e] = a[e] || [], a[e].push(t);\n },\n run: function run(e, t) {\n var a = n.hooks.all[e];\n if (a && a.length) for (var r, l = 0; r = a[l++];) {\n r(t);\n }\n }\n }\n },\n a = n.Token = function (e, t, n, a, r) {\n this.type = e, this.content = t, this.alias = n, this.length = 0 | (a || \"\").length, this.greedy = !!r;\n };\n\n if (a.stringify = function (e, t, r) {\n if (\"string\" == typeof e) return e;\n if (\"Array\" === n.util.type(e)) return e.map(function (n) {\n return a.stringify(n, t, e);\n }).join(\"\");\n var l = {\n type: e.type,\n content: a.stringify(e.content, t, r),\n tag: \"span\",\n classes: [\"token\", e.type],\n attributes: {},\n language: t,\n parent: r\n };\n\n if (e.alias) {\n var i = \"Array\" === n.util.type(e.alias) ? e.alias : [e.alias];\n Array.prototype.push.apply(l.classes, i);\n }\n\n n.hooks.run(\"wrap\", l);\n var o = Object.keys(l.attributes).map(function (e) {\n return e + '=\"' + (l.attributes[e] || \"\").replace(/\"/g, \""\") + '\"';\n }).join(\" \");\n return \"<\" + l.tag + ' class=\"' + l.classes.join(\" \") + '\"' + (o ? \" \" + o : \"\") + \">\" + l.content + \"\";\n }, !_self.document) return _self.addEventListener ? (n.disableWorkerMessageHandler || _self.addEventListener(\"message\", function (e) {\n var t = JSON.parse(e.data),\n a = t.language,\n r = t.code,\n l = t.immediateClose;\n _self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close();\n }, !1), _self.Prism) : _self.Prism;\n var r = document.currentScript || [].slice.call(document.getElementsByTagName(\"script\")).pop();\n return r && (n.filename = r.src, n.manual || r.hasAttribute(\"data-manual\") || (\"loading\" !== document.readyState ? window.requestAnimationFrame ? window.requestAnimationFrame(n.highlightAll) : window.setTimeout(n.highlightAll, 16) : document.addEventListener(\"DOMContentLoaded\", n.highlightAll))), _self.Prism;\n}();\n\n\"undefined\" != typeof module && module.exports && (module.exports = Prism), \"undefined\" != typeof global && (global.Prism = Prism);\nPrism.languages.markup = {\n comment: //,\n prolog: /<\\?[\\s\\S]+?\\?>/,\n doctype: //i,\n cdata: //i,\n tag: {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,\n greedy: !0,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n \"attr-value\": {\n pattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/i,\n inside: {\n punctuation: [/^=/, {\n pattern: /(^|[^\\\\])[\"']/,\n lookbehind: !0\n }]\n }\n },\n punctuation: /\\/?>/,\n \"attr-name\": {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: /&#?[\\da-z]{1,8};/i\n}, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.hooks.add(\"wrap\", function (a) {\n \"entity\" === a.type && (a.attributes.title = a.content.replace(/&/, \"&\"));\n}), Prism.languages.xml = Prism.languages.markup, Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;\nPrism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: /@[\\w-]+?[\\s\\S]*?(?:;|(?=\\s*\\{))/i,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /url\\((?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|.*?)\\)/i,\n selector: /[^{}\\s][^{};]*?(?=\\s*\\{)/,\n string: {\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n property: /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n important: /!important\\b/i,\n \"function\": /[-a-z0-9]+(?=\\()/i,\n punctuation: /[(){};:,]/\n}, Prism.languages.css.atrule.inside.rest = Prism.languages.css, Prism.languages.markup && (Prism.languages.insertBefore(\"markup\", \"tag\", {\n style: {\n pattern: /()[\\s\\S]*?(?=<\\/style>)/i,\n lookbehind: !0,\n inside: Prism.languages.css,\n alias: \"language-css\",\n greedy: !0\n }\n}), Prism.languages.insertBefore(\"inside\", \"attr-value\", {\n \"style-attr\": {\n pattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n \"attr-name\": {\n pattern: /^\\s*style/i,\n inside: Prism.languages.markup.tag.inside\n },\n punctuation: /^\\s*=\\s*['\"]|['\"]\\s*$/,\n \"attr-value\": {\n pattern: /.+/i,\n inside: Prism.languages.css\n }\n },\n alias: \"language-css\"\n }\n}, Prism.languages.markup.tag));\nPrism.languages.clike = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0,\n greedy: !0\n }],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n \"class-name\": {\n pattern: /((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,\n lookbehind: !0,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword: /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n \"boolean\": /\\b(?:true|false)\\b/,\n \"function\": /\\w+(?=\\()/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n punctuation: /[{}[\\];(),.:]/\n};\nPrism.languages.javascript = Prism.languages.extend(\"clike\", {\n \"class-name\": [Prism.languages.clike[\"class-name\"], {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,\n lookbehind: !0\n }],\n keyword: [{\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: !0\n }, /\\b(?:as|async|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|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/],\n number: /\\b(?:(?:0[xX][\\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\\d+n|NaN|Infinity)\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n \"function\": /[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*\\(|\\.(?:apply|bind|call)\\()/,\n operator: /-[-=]?|\\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/\n}), Prism.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/, Prism.languages.insertBefore(\"javascript\", \"keyword\", {\n regex: {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^\\/\\\\\\[\\r\\n])+\\/[gimyu]{0,5}(?=\\s*($|[\\r\\n,.;})\\]]))/,\n lookbehind: !0,\n greedy: !0\n },\n \"function-variable\": {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\([^()]*\\)|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i,\n alias: \"function\"\n },\n parameter: [{\n pattern: /(function(?:\\s+[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)[^\\s()][^()]*?(?=\\s*\\))/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/,\n inside: Prism.languages.javascript\n }, {\n pattern: /(\\(\\s*)[^\\s()][^()]*?(?=\\s*\\)\\s*=>)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n pattern: /((?:\\b|\\s|^)(?!(?: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)(?![$\\w\\xA0-\\uFFFF]))(?:[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*)[^\\s()][^()]*?(?=\\s*\\)\\s*\\{)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }],\n constant: /\\b[A-Z][A-Z\\d_]*\\b/\n}), Prism.languages.insertBefore(\"javascript\", \"string\", {\n \"template-string\": {\n pattern: /`(?:\\\\[\\s\\S]|\\${[^}]+}|[^\\\\`])*`/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\${[^}]+}/,\n inside: {\n \"interpolation-punctuation\": {\n pattern: /^\\${|}$/,\n alias: \"punctuation\"\n },\n rest: Prism.languages.javascript\n }\n },\n string: /[\\s\\S]+/\n }\n }\n}), Prism.languages.markup && Prism.languages.insertBefore(\"markup\", \"tag\", {\n script: {\n pattern: /()[\\s\\S]*?(?=<\\/script>)/i,\n lookbehind: !0,\n inside: Prism.languages.javascript,\n alias: \"language-javascript\",\n greedy: !0\n }\n}), Prism.languages.js = Prism.languages.javascript;\nPrism.languages.actionscript = Prism.languages.extend(\"javascript\", {\n keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\\b/,\n operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<>?>?|[!=]=?)=?|[~?@]/\n}), Prism.languages.actionscript[\"class-name\"].alias = \"function\", Prism.languages.markup && Prism.languages.insertBefore(\"actionscript\", \"string\", {\n xml: {\n pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,\n lookbehind: !0,\n inside: {\n rest: Prism.languages.markup\n }\n }\n});\nPrism.languages.apacheconf = {\n comment: /#.*/,\n \"directive-inline\": {\n pattern: /^(\\s*)\\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|AddAlt|AddAltByEncoding|AddAltByType|AddCharset|AddDefaultCharset|AddDescription|AddEncoding|AddHandler|AddIcon|AddIconByEncoding|AddIconByType|AddInputFilter|AddLanguage|AddModuleInfo|AddOutputFilter|AddOutputFilterByType|AddType|Alias|AliasMatch|Allow|AllowCONNECT|AllowEncodedSlashes|AllowMethods|AllowOverride|AllowOverrideList|Anonymous|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail|AsyncRequestWorkerFactor|AuthBasicAuthoritative|AuthBasicFake|AuthBasicProvider|AuthBasicUseDigestAlgorithm|AuthDBDUserPWQuery|AuthDBDUserRealmQuery|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile|AuthDigestAlgorithm|AuthDigestDomain|AuthDigestNonceLifetime|AuthDigestProvider|AuthDigestQop|AuthDigestShmemSize|AuthFormAuthoritative|AuthFormBody|AuthFormDisableNoStore|AuthFormFakeBasicAuth|AuthFormLocation|AuthFormLoginRequiredLocation|AuthFormLoginSuccessLocation|AuthFormLogoutLocation|AuthFormMethod|AuthFormMimetype|AuthFormPassword|AuthFormProvider|AuthFormSitePassphrase|AuthFormSize|AuthFormUsername|AuthGroupFile|AuthLDAPAuthorizePrefix|AuthLDAPBindAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareAsUser|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPInitialBindAsUser|AuthLDAPInitialBindPattern|AuthLDAPMaxSubGroupDepth|AuthLDAPRemoteUserAttribute|AuthLDAPRemoteUserIsDN|AuthLDAPSearchAsUser|AuthLDAPSubGroupAttribute|AuthLDAPSubGroupClass|AuthLDAPUrl|AuthMerging|AuthName|AuthnCacheContext|AuthnCacheEnable|AuthnCacheProvideFor|AuthnCacheSOCache|AuthnCacheTimeout|AuthnzFcgiCheckAuthnProvider|AuthnzFcgiDefineProvider|AuthType|AuthUserFile|AuthzDBDLoginToReferer|AuthzDBDQuery|AuthzDBDRedirectQuery|AuthzDBMType|AuthzSendForbiddenOnFailure|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|CacheDefaultExpire|CacheDetailHeader|CacheDirLength|CacheDirLevels|CacheDisable|CacheEnable|CacheFile|CacheHeader|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheIgnoreQueryString|CacheIgnoreURLSessionIdentifiers|CacheKeyBaseURL|CacheLastModifiedFactor|CacheLock|CacheLockMaxAge|CacheLockPath|CacheMaxExpire|CacheMaxFileSize|CacheMinExpire|CacheMinFileSize|CacheNegotiatedDocs|CacheQuickHandler|CacheReadSize|CacheReadTime|CacheRoot|CacheSocache|CacheSocacheMaxSize|CacheSocacheMaxTime|CacheSocacheMinTime|CacheSocacheReadSize|CacheSocacheReadTime|CacheStaleOnError|CacheStoreExpired|CacheStoreNoStore|CacheStorePrivate|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateInflateLimitRequestBody|DeflateInflateRatioBurst|DeflateInflateRatioLimit|DeflateMemLevel|DeflateWindowSize|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|HeartbeatAddress|HeartbeatListen|HeartbeatMaxServers|HeartbeatStorage|HeartbeatStorage|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|IndexHeadInsert|IndexIgnore|IndexIgnoreReset|IndexOptions|IndexOrderDefault|IndexStyleSheet|InputSed|ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionPoolTTL|LDAPConnectionTimeout|LDAPLibraryDebug|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPReferralHopLimit|LDAPReferrals|LDAPRetries|LDAPRetryDelay|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTimeout|LDAPTrustedClientCert|LDAPTrustedGlobalCert|LDAPTrustedMode|LDAPVerifyServerCert|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|LuaHookAccessChecker|LuaHookAuthChecker|LuaHookCheckUserID|LuaHookFixups|LuaHookInsertFilter|LuaHookLog|LuaHookMapToStorage|LuaHookTranslateName|LuaHookTypeChecker|LuaInherit|LuaInputFilter|LuaMapHandler|LuaOutputFilter|LuaPackageCPath|LuaPackagePath|LuaQuickHandler|LuaRoot|LuaScope|MaxConnectionsPerChild|MaxKeepAliveRequests|MaxMemFree|MaxRangeOverlaps|MaxRangeReversals|MaxRanges|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|ProxyAddHeaders|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyExpressDBMFile|ProxyExpressDBMType|ProxyExpressEnable|ProxyFtpDirCharset|ProxyFtpEscapeWildcards|ProxyFtpListOnWildcard|ProxyHTMLBufSize|ProxyHTMLCharsetOut|ProxyHTMLDocType|ProxyHTMLEnable|ProxyHTMLEvents|ProxyHTMLExtended|ProxyHTMLFixups|ProxyHTMLInterp|ProxyHTMLLinks|ProxyHTMLMeta|ProxyHTMLStripComments|ProxyHTMLURLMap|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassInherit|ProxyPassInterpolateEnv|ProxyPassMatch|ProxyPassReverse|ProxyPassReverseCookieDomain|ProxyPassReverseCookiePath|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxySCGIInternalRedirect|ProxySCGISendfile|ProxySet|ProxySourceAddress|ProxyStatus|ProxyTimeout|ProxyVia|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIPHeader|RemoteIPInternalProxy|RemoteIPInternalProxyList|RemoteIPProxiesHeader|RemoteIPTrustedProxy|RemoteIPTrustedProxyList|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|RewriteBase|RewriteCond|RewriteEngine|RewriteMap|RewriteOptions|RewriteRule|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script|ScriptAlias|ScriptAliasMatch|ScriptInterpreterSource|ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock|SecureListen|SeeRequestTail|SendBufferSize|ServerAdmin|ServerAlias|ServerLimit|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|Session|SessionCookieName|SessionCookieName2|SessionCookieRemove|SessionCryptoCipher|SessionCryptoDriver|SessionCryptoPassphrase|SessionCryptoPassphraseFile|SessionDBDCookieName|SessionDBDCookieName2|SessionDBDCookieRemove|SessionDBDDeleteLabel|SessionDBDInsertLabel|SessionDBDPerUser|SessionDBDSelectLabel|SessionDBDUpdateLabel|SessionEnv|SessionExclude|SessionHeader|SessionInclude|SessionMaxAge|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSLCACertificateFile|SSLCACertificatePath|SSLCADNRequestFile|SSLCADNRequestPath|SSLCARevocationCheck|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLCompression|SSLCryptoDevice|SSLEngine|SSLFIPS|SSLHonorCipherOrder|SSLInsecureRenegotiation|SSLOCSPDefaultResponder|SSLOCSPEnable|SSLOCSPOverrideResponder|SSLOCSPResponderTimeout|SSLOCSPResponseMaxAge|SSLOCSPResponseTimeSkew|SSLOCSPUseRequestNonce|SSLOpenSSLConfCmd|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationCheck|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCheckPeerCN|SSLProxyCheckPeerExpire|SSLProxyCheckPeerName|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateChainFile|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRenegBufferSize|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLSessionTicketKeyFile|SSLSRPUnknownUserSeed|SSLSRPVerifierFile|SSLStaplingCache|SSLStaplingErrorCacheTimeout|SSLStaplingFakeTryLater|SSLStaplingForceURL|SSLStaplingResponderTimeout|SSLStaplingResponseMaxAge|SSLStaplingResponseTimeSkew|SSLStaplingReturnResponderErrors|SSLStaplingStandardCacheTimeout|SSLStrictSNIVHostCheck|SSLUserName|SSLUseStapling|SSLVerifyClient|SSLVerifyDepth|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\\b/im,\n lookbehind: !0,\n alias: \"property\"\n },\n \"directive-block\": {\n pattern: /<\\/?\\b(?:AuthnProviderAlias|AuthzProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|RequireAll|RequireAny|RequireNone|VirtualHost)\\b *.*>/i,\n inside: {\n \"directive-block\": {\n pattern: /^<\\/?\\w+/,\n inside: {\n punctuation: /^<\\/?/\n },\n alias: \"tag\"\n },\n \"directive-block-parameter\": {\n pattern: /.*[^>]/,\n inside: {\n punctuation: /:/,\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n }\n },\n alias: \"attr-value\"\n },\n punctuation: />/\n },\n alias: \"tag\"\n },\n \"directive-flags\": {\n pattern: /\\[(?:\\w,?)+\\]/,\n alias: \"keyword\"\n },\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n },\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,\n regex: /\\^?.*\\$|\\^.*\\$?/\n};\nPrism.languages.applescript = {\n comment: [/\\(\\*(?:\\(\\*[\\s\\S]*?\\*\\)|[\\s\\S])*?\\*\\)/, /--.+/, /#.+/],\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n number: /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,\n operator: [/[&=≠≤≥*+\\-\\/÷^]|[<>]=?/, /\\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\\b/],\n keyword: /\\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b/,\n \"class\": {\n pattern: /\\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\\b/,\n alias: \"builtin\"\n },\n punctuation: /[{}():,¬«»《》]/\n};\nPrism.languages.c = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|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/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*\\/%&|^!=<>]=?/,\n number: /(?:\\b0x[\\da-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]*/i\n}), Prism.languages.insertBefore(\"c\", \"string\", {\n macro: {\n pattern: /(^\\s*)#\\s*[a-z]+(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: !0,\n alias: \"property\",\n inside: {\n string: {\n pattern: /(#\\s*include\\s*)(?:<.+?>|(\"|')(?:\\\\?.)+?\\2)/,\n lookbehind: !0\n },\n directive: {\n pattern: /(#\\s*)\\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n },\n constant: /\\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\\b/\n}), delete Prism.languages.c[\"class-name\"], delete Prism.languages.c[\"boolean\"];\nPrism.languages.csharp = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)\\b/,\n string: [{\n pattern: /@(\"|')(?:\\1\\1|\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }, {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*?\\1/,\n greedy: !0\n }],\n \"class-name\": [{\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=\\s+\\w+)/,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /((?:\\b(?:class|interface|new)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }],\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)f?/i,\n operator: />>=?|<<=?|[-=]>|([-+&|?])\\1|~|[-+*\\/%&|^!=<>]=?/,\n punctuation: /\\?\\.?|::|[{}[\\];(),.:]/\n}), Prism.languages.insertBefore(\"csharp\", \"class-name\", {\n \"generic-method\": {\n pattern: /\\w+\\s*<[^>\\r\\n]+?>\\s*(?=\\()/,\n inside: {\n \"function\": /^\\w+/,\n \"class-name\": {\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n keyword: Prism.languages.csharp.keyword,\n punctuation: /[<>(),.:]/\n }\n },\n preprocessor: {\n pattern: /(^\\s*)#.*/m,\n lookbehind: !0,\n alias: \"property\",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n }\n}), Prism.languages.dotnet = Prism.languages.csharp;\n!function (e) {\n var t = {\n variable: [{\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n inside: {\n variable: [{\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: !0\n }, /^\\$\\(\\(/],\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator: /--?|-=|\\+\\+?|\\+=|!=?|~|\\*\\*?|\\*=|\\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\\^=?|\\|\\|?|\\|=|\\?|:/,\n punctuation: /\\(\\(?|\\)\\)?|,|;/\n }\n }, {\n pattern: /\\$\\([^)]+\\)|`[^`]+`/,\n greedy: !0,\n inside: {\n variable: /^\\$\\(|^`|\\)$|`$/\n }\n }, /\\$(?:[\\w#?*!@]+|\\{[^}]+\\})/i]\n };\n e.languages.bash = {\n shebang: {\n pattern: /^#!\\s*\\/bin\\/bash|^#!\\s*\\/bin\\/sh/,\n alias: \"important\"\n },\n comment: {\n pattern: /(^|[^\"{\\\\])#.*/,\n lookbehind: !0\n },\n string: [{\n pattern: /((?:^|[^<])<<\\s*)[\"']?(\\w+?)[\"']?\\s*\\r?\\n(?:[\\s\\S])*?\\r?\\n\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: t\n }, {\n pattern: /([\"'])(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|`[^`]+`|(?!\\1)[^\\\\])*\\1/,\n greedy: !0,\n inside: t\n }],\n variable: t.variable,\n \"function\": {\n pattern: /(^|[\\s;|&])(?:alias|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|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|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|hash|head|help|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logout|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tail|tar|tee|test|time|timeout|times|top|touch|tr|traceroute|trap|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip|zypper)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n keyword: {\n 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;|&])/,\n lookbehind: !0\n },\n \"boolean\": {\n pattern: /(^|[\\s;|&])(?:true|false)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n operator: /&&?|\\|\\|?|==?|!=?|<<>|<=?|>=?|=~/,\n punctuation: /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];]/\n };\n var a = t.variable[1].inside;\n a.string = e.languages.bash.string, a[\"function\"] = e.languages.bash[\"function\"], a.keyword = e.languages.bash.keyword, a[\"boolean\"] = e.languages.bash[\"boolean\"], a.operator = e.languages.bash.operator, a.punctuation = e.languages.bash.punctuation, e.languages.shell = e.languages.bash;\n}(Prism);\nPrism.languages.cpp = Prism.languages.extend(\"c\", {\n keyword: /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,\n \"boolean\": /\\b(?:true|false)\\b/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*\\/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/\n}), Prism.languages.insertBefore(\"cpp\", \"keyword\", {\n \"class-name\": {\n pattern: /(class\\s+)\\w+/i,\n lookbehind: !0\n }\n}), Prism.languages.insertBefore(\"cpp\", \"string\", {\n \"raw-string\": {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: \"string\",\n greedy: !0\n }\n});\n!function (e) {\n var t = /#(?!\\{).+/,\n n = {\n pattern: /#\\{[^}]+\\}/,\n alias: \"variable\"\n };\n e.languages.coffeescript = e.languages.extend(\"javascript\", {\n comment: t,\n string: [{\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: !0\n }, {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }],\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/,\n \"class-member\": {\n pattern: /@(?!\\d)\\w+/,\n alias: \"variable\"\n }\n }), e.languages.insertBefore(\"coffeescript\", \"comment\", {\n \"multiline-comment\": {\n pattern: /###[\\s\\S]+?###/,\n alias: \"comment\"\n },\n \"block-regex\": {\n pattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n alias: \"regex\",\n inside: {\n comment: t,\n interpolation: n\n }\n }\n }), e.languages.insertBefore(\"coffeescript\", \"string\", {\n \"inline-javascript\": {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: \"punctuation\"\n },\n rest: e.languages.javascript\n }\n },\n \"multiline-string\": [{\n pattern: /'''[\\s\\S]*?'''/,\n greedy: !0,\n alias: \"string\"\n }, {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: !0,\n alias: \"string\",\n inside: {\n interpolation: n\n }\n }]\n }), e.languages.insertBefore(\"coffeescript\", \"keyword\", {\n property: /(?!\\d)\\w+(?=\\s*:(?!:))/\n }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n}(Prism);\n!function (e) {\n e.languages.ruby = e.languages.extend(\"clike\", {\n comment: [/#.*/, {\n pattern: /^=begin(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r))*?=end/m,\n greedy: !0\n }],\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|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\\b/\n });\n var n = {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"tag\"\n },\n rest: e.languages.ruby\n }\n };\n delete e.languages.ruby.function, e.languages.insertBefore(\"ruby\", \"keyword\", {\n regex: [{\n pattern: /%r([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\][gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r<(?:[^<>\\\\]|\\\\[\\s\\S])*>[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /(^|[^\\/])\\/(?!\\/)(\\[.+?]|\\\\.|[^\\/\\\\\\r\\n])+\\/[gim]{0,3}(?=\\s*($|[\\r\\n,.;})]))/,\n lookbehind: !0,\n greedy: !0\n }],\n variable: /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n symbol: {\n pattern: /(^|[^:]):[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n lookbehind: !0\n },\n \"method-definition\": {\n pattern: /(\\bdef\\s+)[\\w.]+/,\n lookbehind: !0,\n inside: {\n \"function\": /\\w+$/,\n rest: e.languages.ruby\n }\n }\n }), e.languages.insertBefore(\"ruby\", \"number\", {\n builtin: /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\\b/,\n constant: /\\b[A-Z]\\w*(?:[?!]|\\b)/\n }), e.languages.ruby.string = [{\n pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /(\"|')(?:#\\{[^}]+\\}|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }], e.languages.rb = e.languages.ruby;\n}(Prism);\nPrism.languages.csp = {\n directive: {\n pattern: /\\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i,\n alias: \"keyword\"\n },\n safe: {\n pattern: /'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\\d+=\\/]+)'/,\n alias: \"selector\"\n },\n unsafe: {\n pattern: /(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\\*)/,\n alias: \"function\"\n }\n};\nPrism.languages.css.selector = {\n pattern: Prism.languages.css.selector,\n inside: {\n \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\n \"pseudo-class\": /:[-\\w]+(?:\\(.*\\))?/,\n \"class\": /\\.[-:.\\w]+/,\n id: /#[-:.\\w]+/,\n attribute: /\\[[^\\]]+\\]/\n }\n}, Prism.languages.insertBefore(\"css\", \"property\", {\n variable: {\n pattern: /(^|[^-\\w\\xA0-\\uFFFF])--[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*/i,\n lookbehind: !0\n }\n}), Prism.languages.insertBefore(\"css\", \"function\", {\n operator: {\n pattern: /(\\s)[+\\-*\\/](?=\\s)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,8}/i,\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: {\n pattern: /(\\d)(?:%|[a-z]+)/,\n lookbehind: !0\n },\n number: /-?[\\d.]+/\n});\nPrism.languages.diff = {\n coord: [/^(?:\\*{3}|-{3}|\\+{3}).*$/m, /^@@.*@@$/m, /^\\d+.*$/m],\n deleted: /^[-<].*$/m,\n inserted: /^[+>].*$/m,\n diff: {\n pattern: /^!(?!!).+$/m,\n alias: \"important\"\n }\n};\nvar _django_template = {\n property: {\n pattern: /(?:{{|{%)[\\s\\S]*?(?:%}|}})/g,\n greedy: !0,\n inside: {\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n 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/,\n operator: /[-+=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:or|and|not)\\b/,\n \"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/,\n important: /\\b-?\\d+(?:\\.\\d+)?\\b/,\n variable: /\\b\\w+?\\b/,\n punctuation: /[[\\];(),.:]/\n }\n }\n};\nPrism.languages.django = Prism.languages.extend(\"markup\", {\n comment: /(?:)/\n}), Prism.languages.django.tag.pattern = /<\\/?(?!\\d)[^\\s>\\/=$<]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\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\", {\n tag: _django_template.property\n}, Prism.languages.django.style), Prism.languages.django.style.inside.string.inside = _django_template), Prism.languages.jinja2 = Prism.languages.django;\nPrism.languages.docker = {\n keyword: {\n pattern: /(^\\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)/im,\n lookbehind: !0\n },\n string: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n comment: /#.*/,\n punctuation: /---|\\.\\.\\.|[:[\\]{}\\-,|>?]/\n}, Prism.languages.dockerfile = Prism.languages.docker;\nPrism.languages.elixir = {\n comment: {\n pattern: /#.*/m,\n lookbehind: !0\n },\n regex: {\n pattern: /~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,\n greedy: !0\n },\n string: [{\n pattern: /~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {}\n }],\n atom: {\n pattern: /(^|[^:]):\\w+/,\n lookbehind: !0,\n alias: \"symbol\"\n },\n \"attr-name\": /\\w+:(?!:)/,\n capture: {\n pattern: /(^|[^&])&(?:[^&\\s\\d()][^\\s()]*|(?=\\())/,\n lookbehind: !0,\n alias: \"function\"\n },\n argument: {\n pattern: /(^|[^&])&\\d+/,\n lookbehind: !0,\n alias: \"variable\"\n },\n attribute: {\n pattern: /@\\w+/,\n alias: \"variable\"\n },\n number: /\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,\n 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/,\n \"boolean\": /\\b(?:true|false|nil)\\b/,\n operator: [/\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/, {\n pattern: /([^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /([^>])>(?!>)/,\n lookbehind: !0\n }],\n punctuation: /<<|>>|[.,%\\[\\]{}()]/\n}, Prism.languages.elixir.string.forEach(function (e) {\n e.inside = {\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"punctuation\"\n },\n rest: Prism.languages.elixir\n }\n }\n };\n});\nPrism.languages.elm = {\n comment: /--.*|{-[\\s\\S]*?-}/,\n \"char\": {\n pattern: /'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+))'/,\n greedy: !0\n },\n string: [{\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: !0\n }, {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\(?:[abfnrtv\\\\\"]|\\d+|x[0-9a-fA-F]+))*\"/,\n greedy: !0\n }],\n import_statement: {\n pattern: /^\\s*import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+([A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,\n inside: {\n keyword: /\\b(?:import|as|exposing)\\b/\n }\n },\n keyword: /\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,\n builtin: /\\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\\b/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[+\\-\\/*=.$<>:&|^?%#@~!]{2,}|[+\\-\\/*=$<>:&|^?%#@~!]/,\n hvariable: /\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,\n constant: /\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,\n punctuation: /[{}[\\]|(),.:]/\n};\nPrism.languages[\"markup-templating\"] = {}, Object.defineProperties(Prism.languages[\"markup-templating\"], {\n buildPlaceholders: {\n value: function value(e, t, n, a) {\n e.language === t && (e.tokenStack = [], e.code = e.code.replace(n, function (n) {\n if (\"function\" == typeof a && !a(n)) return n;\n\n for (var r = e.tokenStack.length; -1 !== e.code.indexOf(\"___\" + t.toUpperCase() + r + \"___\");) {\n ++r;\n }\n\n return e.tokenStack[r] = n, \"___\" + t.toUpperCase() + r + \"___\";\n }), e.grammar = Prism.languages.markup);\n }\n },\n tokenizePlaceholders: {\n value: function value(e, t) {\n if (e.language === t && e.tokenStack) {\n e.grammar = Prism.languages[t];\n\n var n = 0,\n a = Object.keys(e.tokenStack),\n r = function r(o) {\n if (!(n >= a.length)) for (var i = 0; i < o.length; i++) {\n var g = o[i];\n\n if (\"string\" == typeof g || g.content && \"string\" == typeof g.content) {\n var c = a[n],\n s = e.tokenStack[c],\n l = \"string\" == typeof g ? g : g.content,\n p = l.indexOf(\"___\" + t.toUpperCase() + c + \"___\");\n\n if (p > -1) {\n ++n;\n\n var f,\n u = l.substring(0, p),\n _ = new Prism.Token(t, Prism.tokenize(s, e.grammar, t), \"language-\" + t, s),\n k = l.substring(p + (\"___\" + t.toUpperCase() + c + \"___\").length);\n\n if (u || k ? (f = [u, _, k].filter(function (e) {\n return !!e;\n }), r(f)) : f = _, \"string\" == typeof g ? Array.prototype.splice.apply(o, [i, 1].concat(f)) : g.content = f, n >= a.length) break;\n }\n } else g.content && \"string\" != typeof g.content && r(g.content);\n }\n };\n\n r(e.tokens);\n }\n }\n }\n});\nPrism.languages.erlang = {\n comment: /%.+/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n \"quoted-function\": {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,\n alias: \"function\"\n },\n \"quoted-atom\": {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'/,\n alias: \"atom\"\n },\n \"boolean\": /\\b(?:true|false)\\b/,\n keyword: /\\b(?:fun|when|case|of|end|if|receive|after|try|catch)\\b/,\n number: [/\\$\\\\?./, /\\d+#[a-z0-9]+/i, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i],\n \"function\": /\\b[a-z][\\w@]*(?=\\()/,\n variable: {\n pattern: /(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,\n lookbehind: !0\n },\n operator: [/[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\\b/, {\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: !0\n }],\n atom: /\\b[a-z][\\w@]*/,\n punctuation: /[()[\\]{}:;,.#|]|<<|>>/\n};\nPrism.languages.fsharp = Prism.languages.extend(\"clike\", {\n comment: [{\n pattern: /(^|[^\\\\])\\(\\*[\\s\\S]*?\\*\\)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: {\n pattern: /(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")B?|'(?:[^\\\\']|\\\\.)'B?/,\n greedy: !0\n },\n \"class-name\": {\n pattern: /(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,\n lookbehind: !0,\n inside: {\n operator: /->|\\*/,\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:let|return|use|yield)(?:!\\B|\\b)|\\b(abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\\b/,\n number: [/\\b0x[\\da-fA-F]+(?:un|lf|LF)?\\b/, /\\b0b[01]+(?:y|uy)?\\b/, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[fm]|e[+-]?\\d+)?\\b/i, /\\b\\d+(?:[IlLsy]|u[lsy]?|UL)?\\b/],\n operator: /([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|?|\\??(?:<=|>=|<>|[-+*\\/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/\n}), Prism.languages.insertBefore(\"fsharp\", \"keyword\", {\n preprocessor: {\n pattern: /^[^\\r\\n\\S]*#.*/m,\n alias: \"property\",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:else|endif|if|light|line|nowarn)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n }\n}), Prism.languages.insertBefore(\"fsharp\", \"punctuation\", {\n \"computation-expression\": {\n pattern: /[_a-z]\\w*(?=\\s*\\{)/i,\n alias: \"keyword\"\n }\n}), Prism.languages.insertBefore(\"fsharp\", \"string\", {\n annotation: {\n pattern: /\\[<.+?>\\]/,\n inside: {\n punctuation: /^\\[<|>\\]$/,\n \"class-name\": {\n pattern: /^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,\n lookbehind: !0\n },\n \"annotation-content\": {\n pattern: /[\\s\\S]*/,\n inside: Prism.languages.fsharp\n }\n }\n }\n});\n!function (e) {\n e.languages.flow = e.languages.extend(\"javascript\", {}), e.languages.insertBefore(\"flow\", \"keyword\", {\n type: [{\n pattern: /\\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\\b/,\n alias: \"tag\"\n }]\n }), e.languages.flow[\"function-variable\"].pattern = /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore(\"flow\", \"operator\", {\n \"flow-punctuation\": {\n pattern: /\\{\\||\\|\\}/,\n alias: \"punctuation\"\n }\n }), \"Array\" !== e.util.type(e.languages.flow.keyword) && (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({\n pattern: /(^|[^$]\\b)(?:type|opaque|declare|Class)\\b(?!\\$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^$]\\B)\\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\\b(?!\\$)/,\n lookbehind: !0\n });\n}(Prism);\nPrism.languages.git = {\n comment: /^#.*/m,\n deleted: /^[-–].*/m,\n inserted: /^\\+.*/m,\n string: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,\n command: {\n pattern: /^.*\\$ git .*$/m,\n inside: {\n parameter: /\\s--?\\w+/m\n }\n },\n coord: /^@@.*@@$/m,\n commit_sha1: /^commit \\w{40}$/m\n};\nPrism.languages.go = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,\n builtin: /\\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\\b/,\n \"boolean\": /\\b(?:_|iota|nil|true|false)\\b/,\n operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n number: /(?:\\b0x[a-f\\d]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[-+]?\\d+)?)i?/i,\n string: {\n pattern: /([\"'`])(\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }\n}), delete Prism.languages.go[\"class-name\"];\nPrism.languages.graphql = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n \"boolean\": /\\b(?:true|false)\\b/,\n variable: /\\$[a-z_]\\w*/i,\n directive: {\n pattern: /@[a-z_]\\w*/i,\n alias: \"function\"\n },\n \"attr-name\": /[a-z_]\\w*(?=\\s*:)/i,\n keyword: [{\n pattern: /(fragment\\s+(?!on)[a-z_]\\w*\\s+|\\.{3}\\s*)on\\b/,\n lookbehind: !0\n }, /\\b(?:query|fragment|mutation)\\b/],\n operator: /!|=|\\.{3}/,\n punctuation: /[!(){}\\[\\]:=,]/\n};\nPrism.languages.less = Prism.languages.extend(\"css\", {\n comment: [/\\/\\*[\\s\\S]*?\\*\\//, {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: !0\n }],\n atrule: {\n pattern: /@[\\w-]+?(?:\\([^{}]+\\)|[^(){};])*?(?=\\s*\\{)/i,\n inside: {\n punctuation: /[:()]/\n }\n },\n selector: {\n pattern: /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\([^{}]*\\)|[^{};@])*?(?=\\s*\\{)/,\n inside: {\n variable: /@+[\\w-]+/\n }\n },\n property: /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/i,\n operator: /[+\\-*\\/]/\n}), Prism.languages.insertBefore(\"less\", \"property\", {\n variable: [{\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n punctuation: /:/\n }\n }, /@@?[\\w-]+/],\n \"mixin-usage\": {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-]+.*?(?=[(;])/,\n lookbehind: !0,\n alias: \"function\"\n }\n});\n!function (a) {\n a.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/i,\n alias: \"punctuation\"\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n \"boolean\": /\\b(?:true|false)\\b/,\n block: {\n pattern: /^(\\s*~?\\s*)[#\\/]\\S+?(?=\\s*~?\\s*$|\\s)/i,\n lookbehind: !0,\n alias: \"keyword\"\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/\n }\n },\n punctuation: /[!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n }, a.hooks.add(\"before-tokenize\", function (e) {\n var n = /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g;\n a.languages[\"markup-templating\"].buildPlaceholders(e, \"handlebars\", n);\n }), a.hooks.add(\"after-tokenize\", function (e) {\n a.languages[\"markup-templating\"].tokenizePlaceholders(e, \"handlebars\");\n });\n}(Prism);\nPrism.languages.haskell = {\n comment: {\n pattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|{-[\\s\\S]*?-})/m,\n lookbehind: !0\n },\n \"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]+))'/,\n string: {\n 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+\\\\)*\"/,\n greedy: !0\n },\n keyword: /\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\n import_statement: {\n pattern: /((?:\\r?\\n|\\r|^)\\s*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][_a-zA-Z0-9']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: !0,\n inside: {\n keyword: /\\b(?:import|qualified|as|hiding)\\b/\n }\n },\n 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/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[-!#$%*+=?&@|~.:<>^\\\\\\/]*\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+|[-!#$%*+=?&@|~.:<>^\\\\\\/]+\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]*|[-!#$%*+=?&@|~:<>^\\\\\\/]+|`([A-Z][\\w']*\\.)*[_a-z][\\w']*`/,\n hvariable: /\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*\\b/,\n constant: /\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*\\b/,\n punctuation: /[{}[\\];(),.:]/\n};\n!function (t) {\n function a(t) {\n var a = t.replace(/^[a-z]+\\//, \"\"),\n e = \"\\\\w+/(?:[\\\\w.-]+\\\\+)+\" + a + \"(?![+\\\\w.-])\";\n return \"(?:\" + t + \"|\" + e + \")\";\n }\n\n t.languages.http = {\n \"request-line\": {\n pattern: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\s(?:https?:\\/\\/|\\/)\\S+\\sHTTP\\/[0-9.]+/m,\n inside: {\n property: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\b/,\n \"attr-name\": /:\\w+/\n }\n },\n \"response-status\": {\n pattern: /^HTTP\\/1.[01] \\d+.*/m,\n inside: {\n property: {\n pattern: /(^HTTP\\/1.[01] )\\d+.*/i,\n lookbehind: !0\n }\n }\n },\n \"header-name\": {\n pattern: /^[\\w-]+:(?=.)/m,\n alias: \"keyword\"\n }\n };\n var e,\n n = t.languages,\n r = {\n \"application/javascript\": n.javascript,\n \"application/json\": n.json || n.javascript,\n \"application/xml\": n.xml,\n \"text/xml\": n.xml,\n \"text/html\": n.html,\n \"text/css\": n.css\n },\n i = {\n \"application/json\": !0,\n \"application/xml\": !0\n };\n\n for (var s in r) {\n if (r[s]) {\n e = e || {};\n var p = i[s] ? a(s) : s;\n e[s] = {\n pattern: RegExp(\"(content-type:\\\\s*\" + p + \"[\\\\s\\\\S]*?)(?:\\\\r?\\\\n|\\\\r){2}[\\\\s\\\\S]*\", \"i\"),\n lookbehind: !0,\n inside: {\n rest: r[s]\n }\n };\n }\n }\n\n e && t.languages.insertBefore(\"http\", \"header-name\", e);\n}(Prism);\n!function (a) {\n var e = /\\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|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\\b/,\n t = /\\b[A-Z](?:\\w*[a-z]\\w*)?\\b/;\n a.languages.java = a.languages.extend(\"clike\", {\n \"class-name\": [t, /\\b[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])/],\n keyword: e,\n \"function\": [a.languages.clike.function, {\n pattern: /(\\:\\:)[a-z_]\\w*/,\n lookbehind: !0\n }],\n number: /\\b0b[01][01_]*L?\\b|\\b0x[\\da-f_]*\\.?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*\\.?[\\d_]*|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern: /(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\\2|[?:~]|[-+*\\/%&|^!=<>]=?)/m,\n lookbehind: !0\n }\n }), a.languages.insertBefore(\"java\", \"class-name\", {\n annotation: {\n alias: \"punctuation\",\n pattern: /(^|[^.])@\\w+/,\n lookbehind: !0\n },\n namespace: {\n pattern: /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)[a-z]\\w*(\\.[a-z]\\w*)+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n },\n generics: {\n pattern: /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n \"class-name\": t,\n keyword: e,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n });\n}(Prism);\nPrism.languages.json = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n property: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n greedy: !0\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n greedy: !0\n },\n number: /-?\\d+\\.?\\d*(e[+-]?\\d+)?/i,\n punctuation: /[{}[\\],]/,\n operator: /:/,\n \"boolean\": /\\b(?:true|false)\\b/,\n \"null\": /\\bnull\\b/\n}, Prism.languages.jsonp = Prism.languages.json;\n!function (e) {\n e.languages.kotlin = e.languages.extend(\"clike\", {\n keyword: {\n pattern: /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,\n lookbehind: !0\n },\n \"function\": [/\\w+(?=\\s*\\()/, {\n pattern: /(\\.)\\w+(?=\\s*\\{)/,\n lookbehind: !0\n }],\n number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n }), delete e.languages.kotlin[\"class-name\"], e.languages.insertBefore(\"kotlin\", \"string\", {\n \"raw-string\": {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n alias: \"string\"\n }\n }), e.languages.insertBefore(\"kotlin\", \"keyword\", {\n annotation: {\n pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n alias: \"builtin\"\n }\n }), e.languages.insertBefore(\"kotlin\", \"function\", {\n label: {\n pattern: /\\w+@|@\\w+/,\n alias: \"symbol\"\n }\n });\n var n = [{\n pattern: /\\$\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^\\$\\{|\\}$/,\n alias: \"variable\"\n },\n rest: e.languages.kotlin\n }\n }, {\n pattern: /\\$\\w+/,\n alias: \"variable\"\n }];\n e.languages.kotlin.string.inside = e.languages.kotlin[\"raw-string\"].inside = {\n interpolation: n\n };\n}(Prism);\n!function (a) {\n var e = /\\\\(?:[^a-z()[\\]]|[a-z*]+)/i,\n n = {\n \"equation-command\": {\n pattern: e,\n alias: \"regex\"\n }\n };\n a.languages.latex = {\n comment: /%.*/m,\n cdata: {\n pattern: /(\\\\begin\\{((?:verbatim|lstlisting)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0\n },\n equation: [{\n pattern: /\\$(?:\\\\[\\s\\S]|[^\\\\$])*\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,\n inside: n,\n alias: \"string\"\n }, {\n pattern: /(\\\\begin\\{((?:equation|math|eqnarray|align|multline|gather)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0,\n inside: n,\n alias: \"string\"\n }],\n keyword: {\n pattern: /(\\\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\\\url\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n headline: {\n pattern: /(\\\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\}(?:\\[[^\\]]+\\])?)/,\n lookbehind: !0,\n alias: \"class-name\"\n },\n \"function\": {\n pattern: e,\n alias: \"selector\"\n },\n punctuation: /[[\\]{}&]/\n };\n}(Prism);\nPrism.languages.markdown = Prism.languages.extend(\"markup\", {}), Prism.languages.insertBefore(\"markdown\", \"prolog\", {\n blockquote: {\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: \"punctuation\"\n },\n code: [{\n pattern: /^(?: {4}|\\t).+/m,\n alias: \"keyword\"\n }, {\n pattern: /``.+?``|`[^`\\n]+`/,\n alias: \"keyword\"\n }, {\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: !0,\n inside: {\n \"code-block\": {\n pattern: /^(```.*(?:\\r?\\n|\\r))[\\s\\S]+?(?=(?:\\r?\\n|\\r)^```$)/m,\n lookbehind: !0\n },\n \"code-language\": {\n pattern: /^(```).+/,\n lookbehind: !0\n },\n punctuation: /```/\n }\n }],\n title: [{\n pattern: /\\S.*(?:\\r?\\n|\\r)(?:==+|--+)/,\n alias: \"important\",\n inside: {\n punctuation: /==+$|--+$/\n }\n }, {\n pattern: /(^\\s*)#+.+/m,\n lookbehind: !0,\n alias: \"important\",\n inside: {\n punctuation: /^#+|#+$/\n }\n }],\n hr: {\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: !0,\n alias: \"punctuation\"\n },\n list: {\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: !0,\n alias: \"punctuation\"\n },\n \"url-reference\": {\n pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n variable: {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: !0\n },\n string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n punctuation: /^[\\[\\]!:]|[<>]/\n },\n alias: \"url\"\n },\n bold: {\n pattern: /(^|[^\\\\])(\\*\\*|__)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^\\*\\*|^__|\\*\\*$|__$/\n }\n },\n italic: {\n pattern: /(^|[^\\\\])([*_])(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^[*_]|[*_]$/\n }\n },\n strike: {\n pattern: /(^|[^\\\\])(~~?)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^~~?|~~?$/\n }\n },\n url: {\n pattern: /!?\\[[^\\]]+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)| ?\\[[^\\]\\n]*\\])/,\n inside: {\n variable: {\n pattern: /(!?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: !0\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/\n }\n }\n }\n}), Prism.languages.markdown.bold.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.italic.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.strike.inside.url = Prism.languages.markdown.url, Prism.languages.markdown.bold.inside.italic = Prism.languages.markdown.italic, Prism.languages.markdown.bold.inside.strike = Prism.languages.markdown.strike, Prism.languages.markdown.italic.inside.bold = Prism.languages.markdown.bold, Prism.languages.markdown.italic.inside.strike = Prism.languages.markdown.strike, Prism.languages.markdown.strike.inside.bold = Prism.languages.markdown.bold, Prism.languages.markdown.strike.inside.italic = Prism.languages.markdown.italic, Prism.hooks.add(\"after-tokenize\", function (a) {\n function n(a) {\n if (a && \"string\" != typeof a) for (var e = 0, i = a.length; i > e; e++) {\n var r = a[e];\n\n if (\"code\" === r.type) {\n var t = r.content[1],\n s = r.content[3];\n\n if (t && s && \"code-language\" === t.type && \"code-block\" === s.type && \"string\" == typeof t.content) {\n var o = \"language-\" + t.content.trim().split(/\\s+/)[0].toLowerCase();\n s.alias ? \"string\" == typeof s.alias ? s.alias = [s.alias, o] : s.alias.push(o) : s.alias = [o];\n }\n } else n(r.content);\n }\n }\n\n \"markdown\" === a.language && n(a.tokens);\n}), Prism.hooks.add(\"wrap\", function (a) {\n if (\"code-block\" === a.type) {\n for (var n = \"\", e = 0, i = a.classes.length; i > e; e++) {\n var r = a.classes[e],\n t = /language-(\\w+)/.exec(r);\n\n if (t) {\n n = t[1];\n break;\n }\n }\n\n var s = Prism.languages[n];\n\n if (s) {\n var o = a.content.replace(/</g, \"<\").replace(/&/g, \"&\");\n a.content = Prism.highlight(o, s, n);\n }\n }\n}), Prism.languages.md = Prism.languages.markdown;\nPrism.languages.makefile = {\n comment: {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: !0\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n builtin: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n symbol: {\n pattern: /^[^:=\\r\\n]+(?=\\s*:(?!=))/m,\n inside: {\n variable: /\\$+(?:[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n variable: /\\$+(?:[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n keyword: [/-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/, {\n pattern: /(\\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \\t])/,\n lookbehind: !0\n }],\n operator: /(?:::|[?:+!])?=|[|@]/,\n punctuation: /[:;(){}]/\n};\nPrism.languages.objectivec = Prism.languages.extend(\"c\", {\n 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|in|self|super)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n string: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|@\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n operator: /-[->]?|\\+\\+?|!=?|<>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\nPrism.languages.ocaml = {\n comment: /\\(\\*[\\s\\S]*?\\*\\)/,\n string: [{\n pattern: /\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n }, {\n pattern: /(['`])(?:\\\\(?:\\d+|x[\\da-f]+|.)|(?!\\1)[^\\\\\\r\\n])\\1/i,\n greedy: !0\n }],\n number: /\\b(?:0x[\\da-f][\\da-f_]+|(?:0[bo])?\\d[\\d_]*\\.?[\\d_]*(?:e[+-]?[\\d_]+)?)/i,\n type: {\n pattern: /\\B['`]\\w*/,\n alias: \"variable\"\n },\n directive: {\n pattern: /\\B#\\w+/,\n alias: \"function\"\n },\n keyword: /\\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\\b/,\n \"boolean\": /\\b(?:false|true)\\b/,\n operator: /:=|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\\b/,\n punctuation: /[(){}\\[\\]|_.,:;]/\n};\nPrism.languages.perl = {\n comment: [{\n pattern: /(^\\s*)=\\w+[\\s\\S]*?=cut.*/m,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /\\b(?:q|qq|qx|qw)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0\n }, {\n pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: !0\n }],\n regex: [{\n pattern: /\\b(?:m|qr)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s+([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\\b))/,\n greedy: !0\n }],\n variable: [/[&*$@%]\\{\\^[A-Z]+\\}/, /[&*$@%]\\^[A-Z_]/, /[&*$@%]#?(?=\\{)/, /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+)+(?:::)*/i, /[&*$@%]\\d+/, /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/],\n filehandle: {\n pattern: /<(?![<=])\\S*>|\\b_\\b/,\n alias: \"symbol\"\n },\n vstring: {\n pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n alias: \"string\"\n },\n \"function\": {\n pattern: /sub [a-z0-9_]+/i,\n inside: {\n keyword: /sub/\n }\n },\n keyword: /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n operator: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\\b/,\n punctuation: /[{}[\\];(),:]/\n};\n!function (e) {\n e.languages.php = e.languages.extend(\"clike\", {\n keyword: /\\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|null|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\\b/i,\n constant: /\\b[A-Z_][A-Z0-9_]*\\b/,\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"php\", \"string\", {\n \"shell-comment\": {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0,\n alias: \"comment\"\n }\n }), e.languages.insertBefore(\"php\", \"keyword\", {\n delimiter: {\n pattern: /\\?>|<\\?(?:php|=)?/i,\n alias: \"important\"\n },\n variable: /\\$+(?:\\w+\\b|(?={))/i,\n \"package\": {\n pattern: /(\\\\|namespace\\s+|use\\s+)[\\w\\\\]+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\\\/\n }\n }\n }), e.languages.insertBefore(\"php\", \"operator\", {\n property: {\n pattern: /(->)[\\w]+/,\n lookbehind: !0\n }\n });\n var n = {\n pattern: /{\\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[.+?]|->\\w+)*)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.php\n }\n };\n e.languages.insertBefore(\"php\", \"string\", {\n \"nowdoc-string\": {\n pattern: /<<<'([^']+)'(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;/,\n greedy: !0,\n alias: \"string\",\n inside: {\n delimiter: {\n pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n alias: \"symbol\",\n inside: {\n punctuation: /^<<<'?|[';]$/\n }\n }\n }\n },\n \"heredoc-string\": {\n pattern: /<<<(?:\"([^\"]+)\"(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;|([a-z_]\\w*)(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\2;)/i,\n greedy: !0,\n alias: \"string\",\n inside: {\n delimiter: {\n pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: \"symbol\",\n inside: {\n punctuation: /^<<<\"?|[\";]$/\n }\n },\n interpolation: n\n }\n },\n \"single-quoted-string\": {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: !0,\n alias: \"string\"\n },\n \"double-quoted-string\": {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: !0,\n alias: \"string\",\n inside: {\n interpolation: n\n }\n }\n }), delete e.languages.php.string, e.hooks.add(\"before-tokenize\", function (n) {\n if (/(?:<\\?php|<\\?)/gi.test(n.code)) {\n var t = /(?:<\\?php|<\\?)[\\s\\S]*?(?:\\?>|$)/gi;\n e.languages[\"markup-templating\"].buildPlaceholders(n, \"php\", t);\n }\n }), e.hooks.add(\"after-tokenize\", function (n) {\n e.languages[\"markup-templating\"].tokenizePlaceholders(n, \"php\");\n });\n}(Prism);\nPrism.languages.insertBefore(\"php\", \"variable\", {\n \"this\": /\\$this\\b/,\n global: /\\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\\b/,\n scope: {\n pattern: /\\b[\\w\\\\]+::/,\n inside: {\n keyword: /static|self|parent/,\n punctuation: /::|\\\\/\n }\n }\n});\nPrism.languages.sql = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: !0\n },\n variable: [{\n pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: !0\n }, /@[\\w.$]+/],\n string: {\n pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: !0,\n lookbehind: !0\n },\n \"function\": /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n 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(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|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|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|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|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n \"boolean\": /\\b(?:TRUE|FALSE|NULL)\\b/i,\n number: /\\b0x[\\da-f]+\\b|\\b\\d+\\.?\\d*|\\B\\.\\d+\\b/i,\n operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n punctuation: /[;[\\]()`,.]/\n};\nPrism.languages.processing = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\\b/,\n operator: /<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/\n}), Prism.languages.insertBefore(\"processing\", \"number\", {\n constant: /\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,\n type: {\n pattern: /\\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\\w*)\\b/,\n alias: \"variable\"\n }\n}), Prism.languages.processing[\"function\"].pattern = /\\w+(?=\\s*\\()/, Prism.languages.processing[\"class-name\"].alias = \"variable\";\nPrism.languages.scss = Prism.languages.extend(\"css\", {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n atrule: {\n pattern: /@[\\w-]+(?:\\([^()]+\\)|[^(])*?(?=\\s+[{;])/,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /(?:[-a-z]+-)*url(?=\\()/i,\n selector: {\n pattern: /(?=\\S)[^@;{}()]?(?:[^@;{}()]|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}]+[:{][^}]+))/m,\n inside: {\n parent: {\n pattern: /&/,\n alias: \"important\"\n },\n placeholder: /%[-\\w]+/,\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n property: {\n pattern: /(?:[\\w-]|\\$[-\\w]+|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n}), Prism.languages.insertBefore(\"scss\", \"atrule\", {\n keyword: [/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, {\n pattern: /( +)(?:from|through)(?= )/,\n lookbehind: !0\n }]\n}), Prism.languages.insertBefore(\"scss\", \"important\", {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n}), Prism.languages.insertBefore(\"scss\", \"function\", {\n placeholder: {\n pattern: /%[-\\w]+/,\n alias: \"selector\"\n },\n statement: {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: \"keyword\"\n },\n \"boolean\": /\\b(?:true|false)\\b/,\n \"null\": /\\bnull\\b/,\n operator: {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|or|not)(?=\\s)/,\n lookbehind: !0\n }\n}), Prism.languages.scss.atrule.inside.rest = Prism.languages.scss;\nPrism.languages.python = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0\n },\n \"string-interpolation\": {\n pattern: /(?:f|rf|fr)(?:(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,\n lookbehind: !0,\n inside: {\n \"format-spec\": {\n pattern: /(:)[^:(){}]+(?=}$)/,\n lookbehind: !0\n },\n \"conversion-option\": {\n pattern: /![sra](?=[:}]$)/,\n alias: \"punctuation\"\n },\n rest: null\n }\n },\n string: /[\\s\\S]+/\n }\n },\n \"triple-quoted-string\": {\n pattern: /(?:[rub]|rb|br)?(\"\"\"|''')[\\s\\S]+?\\1/i,\n greedy: !0,\n alias: \"string\"\n },\n string: {\n pattern: /(?:[rub]|rb|br)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: !0\n },\n \"function\": {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: !0\n },\n \"class-name\": {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: !0\n },\n decorator: {\n pattern: /(^\\s*)@\\w+(?:\\.\\w+)*/i,\n lookbehind: !0,\n alias: [\"annotation\", \"punctuation\"],\n inside: {\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n builtin: /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n \"boolean\": /\\b(?:True|False|None)\\b/,\n number: /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n operator: /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n}, Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python;\nPrism.languages.r = {\n comment: /#.*/,\n string: {\n pattern: /(['\"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n \"percent-operator\": {\n pattern: /%[^%\\s]*%/,\n alias: \"operator\"\n },\n \"boolean\": /\\b(?:TRUE|FALSE)\\b/,\n ellipsis: /\\.\\.(?:\\.|\\d+)/,\n number: [/\\b(?:NaN|Inf)\\b/, /(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/],\n keyword: /\\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\\b/,\n operator: /->?>?|<(?:=|=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,\n punctuation: /[(){}\\[\\],;]/\n};\n!function (t) {\n var n = t.util.clone(t.languages.javascript);\n t.languages.jsx = t.languages.extend(\"markup\", n), t.languages.jsx.tag.pattern = /<\\/?(?:[\\w.:-]+\\s*(?:\\s+(?:[\\w.:-]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s{'\">=]+|\\{(?:\\{(?:\\{[^}]*\\}|[^{}])*\\}|[^{}])+\\}))?|\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}))*\\s*\\/?)?>/i, t.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/i, t.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">]+)/i, t.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*$/, t.languages.insertBefore(\"inside\", \"attr-name\", {\n spread: {\n pattern: /\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}/,\n inside: {\n punctuation: /\\.{3}|[{}.]/,\n \"attr-value\": /\\w+/\n }\n }\n }, t.languages.jsx.tag), t.languages.insertBefore(\"inside\", \"attr-value\", {\n script: {\n pattern: /=(\\{(?:\\{(?:\\{[^}]*\\}|[^}])*\\}|[^}])+\\})/i,\n inside: {\n \"script-punctuation\": {\n pattern: /^=(?={)/,\n alias: \"punctuation\"\n },\n rest: t.languages.jsx\n },\n alias: \"language-javascript\"\n }\n }, t.languages.jsx.tag);\n\n var e = function e(t) {\n return t ? \"string\" == typeof t ? t : \"string\" == typeof t.content ? t.content : t.content.map(e).join(\"\") : \"\";\n },\n a = function a(n) {\n for (var s = [], g = 0; g < n.length; g++) {\n var i = n[g],\n o = !1;\n\n if (\"string\" != typeof i && (\"tag\" === i.type && i.content[0] && \"tag\" === i.content[0].type ? \" 0 && s[s.length - 1].tagName === e(i.content[0].content[1]) && s.pop() : \"/>\" === i.content[i.content.length - 1].content || s.push({\n tagName: e(i.content[0].content[1]),\n openedBraces: 0\n }) : s.length > 0 && \"punctuation\" === i.type && \"{\" === i.content ? s[s.length - 1].openedBraces++ : s.length > 0 && s[s.length - 1].openedBraces > 0 && \"punctuation\" === i.type && \"}\" === i.content ? s[s.length - 1].openedBraces-- : o = !0), (o || \"string\" == typeof i) && s.length > 0 && 0 === s[s.length - 1].openedBraces) {\n var p = e(i);\n g < n.length - 1 && (\"string\" == typeof n[g + 1] || \"plain-text\" === n[g + 1].type) && (p += e(n[g + 1]), n.splice(g + 1, 1)), g > 0 && (\"string\" == typeof n[g - 1] || \"plain-text\" === n[g - 1].type) && (p = e(n[g - 1]) + p, n.splice(g - 1, 1), g--), n[g] = new t.Token(\"plain-text\", p, null, p);\n }\n\n i.content && \"string\" != typeof i.content && a(i.content);\n }\n };\n\n t.hooks.add(\"after-tokenize\", function (t) {\n (\"jsx\" === t.language || \"tsx\" === t.language) && a(t.tokens);\n });\n}(Prism);\nPrism.languages.typescript = Prism.languages.extend(\"javascript\", {\n keyword: /\\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\\b/,\n builtin: /\\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\\b/\n}), Prism.languages.ts = Prism.languages.typescript;\nPrism.languages.reason = Prism.languages.extend(\"clike\", {\n comment: {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n },\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n },\n \"class-name\": /\\b[A-Z]\\w*/,\n 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/,\n operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:mod|land|lor|lxor|lsl|lsr|asr)\\b/\n}), Prism.languages.insertBefore(\"reason\", \"class-name\", {\n character: {\n pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,\n alias: \"string\"\n },\n constructor: {\n pattern: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n alias: \"variable\"\n },\n label: {\n pattern: /\\b[a-z]\\w*(?=::)/,\n alias: \"symbol\"\n }\n}), delete Prism.languages.reason.function;\n!function (e) {\n var i = \"(?:\\\\([^|)]+\\\\)|\\\\[[^\\\\]]+\\\\]|\\\\{[^}]+\\\\})+\",\n n = {\n css: {\n pattern: /\\{[^}]+\\}/,\n inside: {\n rest: e.languages.css\n }\n },\n \"class-id\": {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0,\n alias: \"attr-value\"\n },\n lang: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0,\n alias: \"attr-value\"\n },\n punctuation: /[\\\\\\/]\\d+|\\S/\n };\n e.languages.textile = e.languages.extend(\"markup\", {\n phrase: {\n pattern: /(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,\n lookbehind: !0,\n inside: {\n \"block-tag\": {\n pattern: RegExp(\"^[a-z]\\\\w*(?:\" + i + \"|[<>=()])*\\\\.\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^[a-z]\\\\w*)(?:\" + i + \"|[<>=()])+(?=\\\\.)\"),\n lookbehind: !0,\n inside: n\n },\n tag: /^[a-z]\\w*/,\n punctuation: /\\.$/\n }\n },\n list: {\n pattern: RegExp(\"^[*#]+(?:\" + i + \")?\\\\s+.+\", \"m\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^[*#]+)\" + i),\n lookbehind: !0,\n inside: n\n },\n punctuation: /^[*#]+/\n }\n },\n table: {\n pattern: RegExp(\"^(?:(?:\" + i + \"|[<>=()^~])+\\\\.\\\\s*)?(?:\\\\|(?:(?:\" + i + \"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+\\\\.)?[^|]*)+\\\\|\", \"m\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^|\\\\|(?:\\\\r?\\\\n|\\\\r)?)(?:\" + i + \"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+(?=\\\\.)\"),\n lookbehind: !0,\n inside: n\n },\n punctuation: /\\||^\\./\n }\n },\n inline: {\n pattern: RegExp(\"(\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])(?:\" + i + \")?.+?\\\\1\"),\n inside: {\n bold: {\n pattern: RegExp(\"(^(\\\\*\\\\*?)(?:\" + i + \")?).+?(?=\\\\2)\"),\n lookbehind: !0\n },\n italic: {\n pattern: RegExp(\"(^(__?)(?:\" + i + \")?).+?(?=\\\\2)\"),\n lookbehind: !0\n },\n cite: {\n pattern: RegExp(\"(^\\\\?\\\\?(?:\" + i + \")?).+?(?=\\\\?\\\\?)\"),\n lookbehind: !0,\n alias: \"string\"\n },\n code: {\n pattern: RegExp(\"(^@(?:\" + i + \")?).+?(?=@)\"),\n lookbehind: !0,\n alias: \"keyword\"\n },\n inserted: {\n pattern: RegExp(\"(^\\\\+(?:\" + i + \")?).+?(?=\\\\+)\"),\n lookbehind: !0\n },\n deleted: {\n pattern: RegExp(\"(^-(?:\" + i + \")?).+?(?=-)\"),\n lookbehind: !0\n },\n span: {\n pattern: RegExp(\"(^%(?:\" + i + \")?).+?(?=%)\"),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp(\"(^\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])\" + i),\n lookbehind: !0,\n inside: n\n },\n punctuation: /[*_%?@+\\-^~]+/\n }\n },\n \"link-ref\": {\n pattern: /^\\[[^\\]]+\\]\\S+$/m,\n inside: {\n string: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\])\\S+$/,\n lookbehind: !0\n },\n punctuation: /[\\[\\]]/\n }\n },\n link: {\n pattern: RegExp('\"(?:' + i + ')?[^\"]+\":.+?(?=[^\\\\w/]?(?:\\\\s|$))'),\n inside: {\n text: {\n pattern: RegExp('(^\"(?:' + i + ')?)[^\"]+(?=\")'),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp('(^\")' + i),\n lookbehind: !0,\n inside: n\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[\":]/\n }\n },\n image: {\n pattern: RegExp(\"!(?:\" + i + \"|[<>=()])*[^!\\\\s()]+(?:\\\\([^)]+\\\\))?!(?::.+?(?=[^\\\\w/]?(?:\\\\s|$)))?\"),\n inside: {\n source: {\n pattern: RegExp(\"(^!(?:\" + i + \"|[<>=()])*)[^!\\\\s()]+(?:\\\\([^)]+\\\\))?(?=!)\"),\n lookbehind: !0,\n alias: \"url\"\n },\n modifier: {\n pattern: RegExp(\"(^!)(?:\" + i + \"|[<>=()])+\"),\n lookbehind: !0,\n inside: n\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[!:]/\n }\n },\n footnote: {\n pattern: /\\b\\[\\d+\\]/,\n alias: \"comment\",\n inside: {\n punctuation: /\\[|\\]/\n }\n },\n acronym: {\n pattern: /\\b[A-Z\\d]+\\([^)]+\\)/,\n inside: {\n comment: {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0\n },\n punctuation: /[()]/\n }\n },\n mark: {\n pattern: /\\b\\((?:TM|R|C)\\)/,\n alias: \"comment\",\n inside: {\n punctuation: /[()]/\n }\n }\n }\n }\n });\n var t = {\n inline: e.languages.textile.phrase.inside.inline,\n link: e.languages.textile.phrase.inside.link,\n image: e.languages.textile.phrase.inside.image,\n footnote: e.languages.textile.phrase.inside.footnote,\n acronym: e.languages.textile.phrase.inside.acronym,\n mark: e.languages.textile.phrase.inside.mark\n };\n e.languages.textile.tag.pattern = /<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i, e.languages.textile.phrase.inside.inline.inside.bold.inside = t, e.languages.textile.phrase.inside.inline.inside.italic.inside = t, e.languages.textile.phrase.inside.inline.inside.inserted.inside = t, e.languages.textile.phrase.inside.inline.inside.deleted.inside = t, e.languages.textile.phrase.inside.inline.inside.span.inside = t, e.languages.textile.phrase.inside.table.inside.inline = t.inline, e.languages.textile.phrase.inside.table.inside.link = t.link, e.languages.textile.phrase.inside.table.inside.image = t.image, e.languages.textile.phrase.inside.table.inside.footnote = t.footnote, e.languages.textile.phrase.inside.table.inside.acronym = t.acronym, e.languages.textile.phrase.inside.table.inside.mark = t.mark;\n}(Prism);\nPrism.languages.rust = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /b?r(#*)\"(?:\\\\.|(?!\"\\1)[^\\\\\\r\\n])*\"\\1/,\n greedy: !0\n }, {\n pattern: /b?\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n }],\n \"char\": {\n pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u{(?:[\\da-fA-F]_*){1,6}|.)|[^\\\\\\r\\n\\t'])'/,\n alias: \"string\"\n },\n \"lifetime-annotation\": {\n pattern: /'[^\\s>']+/,\n alias: \"symbol\"\n },\n keyword: /\\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|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|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n attribute: {\n pattern: /#!?\\[.+?\\]/,\n greedy: !0,\n alias: \"attr-name\"\n },\n \"function\": [/\\w+(?=\\s*\\()/, /\\w+!(?=\\s*\\(|\\[)/],\n \"macro-rules\": {\n pattern: /\\w+!/,\n alias: \"function\"\n },\n 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/,\n \"closure-params\": {\n pattern: /\\|[^|]*\\|(?=\\s*[{-])/,\n inside: {\n punctuation: /[|:,]/,\n operator: /[&*]/\n }\n },\n punctuation: /[{}[\\];(),:]|\\.+|->/,\n operator: /[-+*\\/%!^]=?|=[=>]?|@|&[&=]?|\\|[|=]?|<>?=?/\n};\n!function (e) {\n e.languages.sass = e.languages.extend(\"css\", {\n comment: {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t]+.+)*/m,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"sass\", \"atrule\", {\n \"atrule-line\": {\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n inside: {\n atrule: /(?:@[\\w-]+|[+=])/m\n }\n }\n }), delete e.languages.sass.atrule;\n var t = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/,\n a = [/[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|or|not)\\b/, {\n pattern: /(\\s+)-(?=\\s)/,\n lookbehind: !0\n }];\n e.languages.insertBefore(\"sass\", \"property\", {\n \"variable-line\": {\n pattern: /^[ \\t]*\\$.+/m,\n inside: {\n punctuation: /:/,\n variable: t,\n operator: a\n }\n },\n \"property-line\": {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s]+.*)/m,\n inside: {\n property: [/[^:\\s]+(?=\\s*:)/, {\n pattern: /(:)[^:\\s]+/,\n lookbehind: !0\n }],\n punctuation: /:/,\n variable: t,\n operator: a,\n important: e.languages.sass.important\n }\n }\n }), delete e.languages.sass.property, delete e.languages.sass.important, e.languages.insertBefore(\"sass\", \"punctuation\", {\n selector: {\n pattern: /([ \\t]*)\\S(?:,?[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,?[^,\\r\\n]+)*)*/,\n lookbehind: !0\n }\n });\n}(Prism);\n!function (n) {\n var t = {\n url: /url\\(([\"']?).*?\\1\\)/i,\n string: {\n pattern: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: !0\n },\n interpolation: null,\n func: null,\n important: /\\B!(?:important|optional)\\b/i,\n keyword: {\n pattern: /(^|\\s+)(?:(?:if|else|for|return|unless)(?=\\s+|$)|@[\\w-]+)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,6}/i,\n number: /\\b\\d+(?:\\.\\d+)?%?/,\n \"boolean\": /\\b(?:true|false)\\b/,\n operator: [/~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.+|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/],\n punctuation: /[{}()\\[\\];:,]/\n };\n t.interpolation = {\n pattern: /\\{[^\\r\\n}:]+\\}/,\n alias: \"variable\",\n inside: {\n delimiter: {\n pattern: /^{|}$/,\n alias: \"punctuation\"\n },\n rest: t\n }\n }, t.func = {\n pattern: /[\\w-]+\\([^)]*\\).*/,\n inside: {\n \"function\": /^[^(]+/,\n rest: t\n }\n }, n.languages.stylus = {\n comment: {\n pattern: /(^|[^\\\\])(\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n \"atrule-declaration\": {\n pattern: /(^\\s*)@.+/m,\n lookbehind: !0,\n inside: {\n atrule: /^@[\\w-]+/,\n rest: t\n }\n },\n \"variable-declaration\": {\n pattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:(?:\\{[^}]*\\}|.+)|$)/m,\n lookbehind: !0,\n inside: {\n variable: /^\\S+/,\n rest: t\n }\n },\n statement: {\n pattern: /(^[ \\t]*)(?:if|else|for|return|unless)[ \\t]+.+/m,\n lookbehind: !0,\n inside: {\n keyword: /^\\S+/,\n rest: t\n }\n },\n \"property-declaration\": {\n pattern: /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)[^{\\r\\n]*(?:;|[^{\\r\\n,](?=$)(?!(\\r?\\n|\\r)(?:\\{|\\2[ \\t]+)))/m,\n lookbehind: !0,\n inside: {\n property: {\n pattern: /^[^\\s:]+/,\n inside: {\n interpolation: t.interpolation\n }\n },\n rest: t\n }\n },\n selector: {\n 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,\n lookbehind: !0,\n inside: {\n interpolation: t.interpolation,\n punctuation: /[{},]/\n }\n },\n func: t.func,\n string: t.string,\n interpolation: t.interpolation,\n punctuation: /[{}()\\[\\];:.]/\n };\n}(Prism);\nPrism.languages.scheme = {\n comment: /;.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'[^()#'\\s]+/,\n greedy: !0\n },\n character: {\n pattern: /#\\\\(?:u[a-fA-F\\d]{4}|[a-zA-Z]+|\\S)/,\n alias: \"string\"\n },\n keyword: {\n pattern: /(\\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\\s])/,\n lookbehind: !0\n },\n builtin: {\n 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\\?)(?=[()\\s])/,\n lookbehind: !0\n },\n number: {\n pattern: /(\\s|[()])[-+]?\\d*\\.?\\d+(?:\\s*[-+]\\s*\\d*\\.?\\d+i)?\\b/,\n lookbehind: !0\n },\n \"boolean\": /#[tf]/,\n operator: {\n pattern: /(\\()(?:[-+*%\\/]|[<>]=?|=>?)/,\n lookbehind: !0\n },\n \"function\": {\n pattern: /(\\()[^()#'\\s]+(?=[()\\s)])/,\n lookbehind: !0\n },\n punctuation: /[()']/\n};\n!function (e) {\n e.languages.pug = {\n comment: {\n pattern: /(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/m,\n lookbehind: !0\n },\n \"multiline-script\": {\n pattern: /(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n filter: {\n pattern: /(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n }\n }\n },\n \"multiline-plain-text\": {\n pattern: /(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0\n },\n markup: {\n pattern: /(^[\\t ]*)<.+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\n)[\\t ]*)doctype(?: .+)?/,\n lookbehind: !0\n },\n \"flow-control\": {\n pattern: /(^[\\t ]*)(?:if|unless|else|case|when|default|each|while)\\b(?: .+)?/m,\n lookbehind: !0,\n inside: {\n each: {\n pattern: /^each .+? in\\b/,\n inside: {\n keyword: /\\b(?:each|in)\\b/,\n punctuation: /,/\n }\n },\n branch: {\n pattern: /^(?:if|unless|else|case|when|default|while)\\b/,\n alias: \"keyword\"\n },\n rest: e.languages.javascript\n }\n },\n keyword: {\n pattern: /(^[\\t ]*)(?:block|extends|include|append|prepend)\\b.+/m,\n lookbehind: !0\n },\n mixin: [{\n pattern: /(^[\\t ]*)mixin .+/m,\n lookbehind: !0,\n inside: {\n keyword: /^mixin/,\n \"function\": /\\w+(?=\\s*\\(|\\s*$)/,\n punctuation: /[(),.]/\n }\n }, {\n pattern: /(^[\\t ]*)\\+.+/m,\n lookbehind: !0,\n inside: {\n name: {\n pattern: /^\\+\\w+/,\n alias: \"function\"\n },\n rest: e.languages.javascript\n }\n }],\n script: {\n pattern: /(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]+).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n \"plain-text\": {\n pattern: /(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]+).+/m,\n lookbehind: !0\n },\n tag: {\n pattern: /(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /&[^(]+\\([^)]+\\)/,\n inside: {\n rest: e.languages.javascript\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n \"attr-value\": {\n pattern: /(=\\s*)(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n \"attr-name\": /[\\w-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[!=(),]+/\n }\n }],\n punctuation: /:/\n }\n },\n code: [{\n pattern: /(^[\\t ]*(?:-|!?=)).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n }],\n punctuation: /[.\\-!=|]+/\n };\n\n for (var t = \"(^([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r(?!\\\\n))(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\", n = [{\n filter: \"atpl\",\n language: \"twig\"\n }, {\n filter: \"coffee\",\n language: \"coffeescript\"\n }, \"ejs\", \"handlebars\", \"hogan\", \"less\", \"livescript\", \"markdown\", \"mustache\", \"plates\", {\n filter: \"sass\",\n language: \"scss\"\n }, \"stylus\", \"swig\"], a = {}, i = 0, r = n.length; r > i; i++) {\n var s = n[i];\n s = \"string\" == typeof s ? {\n filter: s,\n language: s\n } : s, e.languages[s.language] && (a[\"filter-\" + s.filter] = {\n pattern: RegExp(t.replace(\"{{filter_name}}\", s.filter), \"m\"),\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n },\n rest: e.languages[s.language]\n }\n });\n }\n\n e.languages.insertBefore(\"pug\", \"filter\", a);\n}(Prism);\nPrism.languages.swift = Prism.languages.extend(\"clike\", {\n string: {\n pattern: /(\"|')(\\\\(?:\\((?:[^()]|\\([^)]+\\))+\\)|\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\\\\\((?:[^()]|\\([^)]+\\))+\\)/,\n inside: {\n delimiter: {\n pattern: /^\\\\\\(|\\)$/,\n alias: \"variable\"\n }\n }\n }\n }\n },\n 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/,\n number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n constant: /\\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n atrule: /@\\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\\b/,\n 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/\n}), Prism.languages.swift.string.inside.interpolation.inside.rest = Prism.languages.swift;\nPrism.languages.yaml = {\n scalar: {\n pattern: /([\\-:]\\s*(?:![^\\s]+)?[ \\t]*[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)[^\\r\\n]+(?:\\2[^\\r\\n]+)*)/,\n lookbehind: !0,\n alias: \"string\"\n },\n comment: /#.*/,\n key: {\n pattern: /(\\s*(?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:![^\\s]+)?[ \\t]*)[^\\r\\n{[\\]},#\\s]+?(?=\\s*:\\s)/,\n lookbehind: !0,\n alias: \"atrule\"\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: !0,\n alias: \"important\"\n },\n datetime: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?)?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?)(?=[ \\t]*(?:$|,|]|}))/m,\n lookbehind: !0,\n alias: \"number\"\n },\n \"boolean\": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:true|false)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n \"null\": {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:null|~)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n string: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(\"|')(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2(?=[ \\t]*(?:$|,|]|}|\\s*#))/m,\n lookbehind: !0,\n greedy: !0\n },\n number: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0\n },\n tag: /![^\\s]+/,\n important: /[&*][\\w]+/,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n}, Prism.languages.yml = Prism.languages.yaml;\n!function (e) {\n e.languages.haml = {\n \"multiline-comment\": {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/,\n lookbehind: !0,\n alias: \"comment\"\n },\n \"multiline-code\": [{\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*\\|[\\t ]*)*/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }],\n filter: {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/,\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n }\n }\n },\n markup: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,\n lookbehind: !0\n },\n tag: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /(^|[^#])\\{(?:\\{[^}]+\\}|[^}])+\\}/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n \"attr-value\": {\n pattern: /(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,\n lookbehind: !0\n },\n \"attr-name\": /[\\w:-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[=(),]/\n }\n }, {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n rest: e.languages.ruby\n }\n }],\n punctuation: /[<>]/\n }\n },\n code: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n },\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"punctuation\"\n },\n rest: e.languages.ruby\n }\n },\n punctuation: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,\n lookbehind: !0\n }\n };\n\n for (var t = \"((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\", r = [\"css\", {\n filter: \"coffee\",\n language: \"coffeescript\"\n }, \"erb\", \"javascript\", \"less\", \"markdown\", \"ruby\", \"scss\", \"textile\"], n = {}, a = 0, i = r.length; i > a; a++) {\n var l = r[a];\n l = \"string\" == typeof l ? {\n filter: l,\n language: l\n } : l, e.languages[l.language] && (n[\"filter-\" + l.filter] = {\n pattern: RegExp(t.replace(\"{{filter_name}}\", l.filter)),\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n },\n rest: e.languages[l.language]\n }\n });\n }\n\n e.languages.insertBefore(\"haml\", \"filter\", n);\n}(Prism);\n!function (e) {\n var d = \"(?:[\\\\w-]+|'[^'\\n\\r]*'|\\\"(?:\\\\.|[^\\\\\\\\\\\"\\r\\n])*\\\")\";\n e.languages.toml = {\n comment: {\n pattern: /#.*/,\n greedy: !0\n },\n table: {\n pattern: RegExp(\"(\\\\[\\\\s*)\" + d + \"(?:\\\\s*\\\\.\\\\s*\" + d + \")*(?=\\\\s*\\\\])\"),\n lookbehind: !0,\n greedy: !0,\n alias: \"class-name\"\n },\n key: {\n pattern: RegExp(\"(^\\\\s*|[{,]\\\\s*)\" + d + \"(?:\\\\s*\\\\.\\\\s*\" + d + \")*(?=\\\\s*=)\", \"m\"),\n lookbehind: !0,\n greedy: !0,\n alias: \"property\"\n },\n string: {\n pattern: /\"\"\"(?:\\\\[\\s\\S]|[^\\\\])*?\"\"\"|'''[\\s\\S]*?'''|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n date: [{\n pattern: /\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?/i,\n alias: \"number\"\n }, {\n pattern: /\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?/i,\n alias: \"number\"\n }],\n number: /(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?(?:inf|nan)\\b/,\n \"boolean\": /\\b(?:true|false)\\b/,\n punctuation: /[.,=[\\]{}]/\n };\n}(Prism);\nPrism.languages.twig = {\n comment: /\\{#[\\s\\S]*?#\\}/,\n tag: {\n pattern: /\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}/,\n inside: {\n ld: {\n pattern: /^(?:\\{\\{-?|\\{%-?\\s*\\w+)/,\n inside: {\n punctuation: /^(?:\\{\\{|\\{%)-?/,\n keyword: /\\w+/\n }\n },\n rd: {\n pattern: /-?(?:%\\}|\\}\\})$/,\n inside: {\n punctuation: /.*/\n }\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n }\n },\n keyword: /\\b(?:even|if|odd)\\b/,\n \"boolean\": /\\b(?:true|false|null)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [{\n pattern: /(\\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: !0\n }, /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/],\n property: /\\b[a-zA-Z_]\\w*\\b/,\n punctuation: /[()\\[\\]{}:.,]/\n }\n },\n other: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.markup\n }\n};\nvar typescript = Prism.util.clone(Prism.languages.typescript);\nPrism.languages.tsx = Prism.languages.extend(\"jsx\", typescript);\nPrism.languages.vim = {\n string: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,\n comment: /\".*/,\n \"function\": /\\w+(?=\\()/,\n keyword: /\\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\\b/,\n builtin: /\\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator: /\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,\n punctuation: /[{}[\\](),;:]/\n};\nPrism.languages[\"visual-basic\"] = {\n comment: {\n pattern: /(?:['‘’]|REM\\b).*/i,\n inside: {\n keyword: /^REM/i\n }\n },\n directive: {\n pattern: /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\\S\\r\\n]_[^\\S\\r\\n]*(?:\\r\\n?|\\n)|.)+/i,\n alias: \"comment\",\n greedy: !0\n },\n string: {\n pattern: /[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,\n greedy: !0\n },\n date: {\n pattern: /#[^\\S\\r\\n]*(?:\\d+([\\/-])\\d+\\1\\d+(?:[^\\S\\r\\n]+(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))?|(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))[^\\S\\r\\n]*#/i,\n alias: \"builtin\"\n },\n number: /(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:U?[ILS]|[FRD])?/i,\n \"boolean\": /\\b(?:True|False|Nothing)\\b/i,\n keyword: /\\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\\b/i,\n operator: [/[+\\-*\\/\\\\^<=>&#@$%!]/, {\n pattern: /([^\\S\\r\\n])_(?=[^\\S\\r\\n]*[\\r\\n])/,\n lookbehind: !0\n }],\n punctuation: /[{}().,:?]/\n}, Prism.languages.vb = Prism.languages[\"visual-basic\"];\nPrism.languages.wasm = {\n comment: [/\\(;[\\s\\S]*?;\\)/, {\n pattern: /;;.*/,\n greedy: !0\n }],\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n greedy: !0\n },\n keyword: [{\n pattern: /\\b(?:align|offset)=/,\n inside: {\n operator: /=/\n }\n }, {\n pattern: /\\b(?:(?:f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n inside: {\n punctuation: /\\./\n }\n }, /\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/],\n variable: /\\$[\\w!#$%&'*+\\-.\\/:<=>?@\\\\^_`|~]+/i,\n number: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n punctuation: /[()]/\n};\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var e = \"line-numbers\",\n t = /\\n(?!$)/g,\n n = function n(e) {\n var n = r(e),\n s = n[\"white-space\"];\n\n if (\"pre-wrap\" === s || \"pre-line\" === s) {\n var l = e.querySelector(\"code\"),\n i = e.querySelector(\".line-numbers-rows\"),\n a = e.querySelector(\".line-numbers-sizer\"),\n o = l.textContent.split(t);\n a || (a = document.createElement(\"span\"), a.className = \"line-numbers-sizer\", l.appendChild(a)), a.style.display = \"block\", o.forEach(function (e, t) {\n a.textContent = e || \"\\n\";\n var n = a.getBoundingClientRect().height;\n i.children[t].style.height = n + \"px\";\n }), a.textContent = \"\", a.style.display = \"none\";\n }\n },\n r = function r(e) {\n return e ? window.getComputedStyle ? getComputedStyle(e) : e.currentStyle || null : null;\n };\n\n window.addEventListener(\"resize\", function () {\n Array.prototype.forEach.call(document.querySelectorAll(\"pre.\" + e), n);\n }), Prism.hooks.add(\"complete\", function (e) {\n if (e.code) {\n var r = e.element.parentNode,\n s = /\\s*\\bline-numbers\\b\\s*/;\n\n if (r && /pre/i.test(r.nodeName) && (s.test(r.className) || s.test(e.element.className)) && !e.element.querySelector(\".line-numbers-rows\")) {\n s.test(e.element.className) && (e.element.className = e.element.className.replace(s, \" \")), s.test(r.className) || (r.className += \" line-numbers\");\n var l,\n i = e.code.match(t),\n a = i ? i.length + 1 : 1,\n o = new Array(a + 1);\n o = o.join(\"\"), l = document.createElement(\"span\"), l.setAttribute(\"aria-hidden\", \"true\"), l.className = \"line-numbers-rows\", l.innerHTML = o, r.hasAttribute(\"data-start\") && (r.style.counterReset = \"linenumber \" + (parseInt(r.getAttribute(\"data-start\"), 10) - 1)), e.element.appendChild(l), n(r), Prism.hooks.run(\"line-numbers\", e);\n }\n }\n }), Prism.hooks.add(\"line-numbers\", function (e) {\n e.plugins = e.plugins || {}, e.plugins.lineNumbers = !0;\n }), Prism.plugins.lineNumbers = {\n getLine: function getLine(t, n) {\n if (\"PRE\" === t.tagName && t.classList.contains(e)) {\n var r = t.querySelector(\".line-numbers-rows\"),\n s = parseInt(t.getAttribute(\"data-start\"), 10) || 1,\n l = s + (r.children.length - 1);\n s > n && (n = s), n > l && (n = l);\n var i = n - s;\n return r.children[i];\n }\n }\n };\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var t = [],\n e = {},\n n = function n() {};\n\n Prism.plugins.toolbar = {};\n\n var a = Prism.plugins.toolbar.registerButton = function (n, a) {\n var o;\n o = \"function\" == typeof a ? a : function (t) {\n var e;\n return \"function\" == typeof a.onClick ? (e = document.createElement(\"button\"), e.type = \"button\", e.addEventListener(\"click\", function () {\n a.onClick.call(this, t);\n })) : \"string\" == typeof a.url ? (e = document.createElement(\"a\"), e.href = a.url) : e = document.createElement(\"span\"), e.textContent = a.text, e;\n }, t.push(e[n] = o);\n },\n o = Prism.plugins.toolbar.hook = function (a) {\n var o = a.element.parentNode;\n\n if (o && /pre/i.test(o.nodeName) && !o.parentNode.classList.contains(\"code-toolbar\")) {\n var r = document.createElement(\"div\");\n r.classList.add(\"code-toolbar\"), o.parentNode.insertBefore(r, o), r.appendChild(o);\n var i = document.createElement(\"div\");\n i.classList.add(\"toolbar\"), document.body.hasAttribute(\"data-toolbar-order\") && (t = document.body.getAttribute(\"data-toolbar-order\").split(\",\").map(function (t) {\n return e[t] || n;\n })), t.forEach(function (t) {\n var e = t(a);\n\n if (e) {\n var n = document.createElement(\"div\");\n n.classList.add(\"toolbar-item\"), n.appendChild(e), i.appendChild(n);\n }\n }), r.appendChild(i);\n }\n };\n\n a(\"label\", function (t) {\n var e = t.element.parentNode;\n\n if (e && /pre/i.test(e.nodeName) && e.hasAttribute(\"data-label\")) {\n var n,\n a,\n o = e.getAttribute(\"data-label\");\n\n try {\n a = document.querySelector(\"template#\" + o);\n } catch (r) {}\n\n return a ? n = a.content : (e.hasAttribute(\"data-url\") ? (n = document.createElement(\"a\"), n.href = e.getAttribute(\"data-url\")) : n = document.createElement(\"span\"), n.textContent = o), n;\n }\n }), Prism.hooks.add(\"complete\", o);\n }\n}();\n!function () {\n function t(t) {\n \"function\" != typeof t || e(t) || r.push(t);\n }\n\n function e(t) {\n return \"function\" == typeof t ? r.filter(function (e) {\n return e.valueOf() === t.valueOf();\n })[0] : \"string\" == typeof t && t.length > 0 ? r.filter(function (e) {\n return e.name === t;\n })[0] : null;\n }\n\n function n(t) {\n if (\"string\" == typeof t && (t = e(t)), \"function\" == typeof t) {\n var n = r.indexOf(t);\n n >= 0 && r.splice(n, 1);\n }\n }\n\n function a() {\n Array.prototype.slice.call(document.querySelectorAll(\"pre[data-jsonp]\")).forEach(function (t) {\n t.textContent = \"\";\n var e = document.createElement(\"code\");\n e.textContent = i, t.appendChild(e);\n var n = t.getAttribute(\"data-adapter\"),\n a = null;\n\n if (n) {\n if (\"function\" != typeof window[n]) return e.textContent = \"JSONP adapter function '\" + n + \"' doesn't exist\", void 0;\n a = window[n];\n }\n\n var u = \"prismjsonp\" + o++,\n f = document.createElement(\"a\"),\n l = f.href = t.getAttribute(\"data-jsonp\");\n f.href += (f.search ? \"&\" : \"?\") + (t.getAttribute(\"data-callback\") || \"callback\") + \"=\" + u;\n var s = setTimeout(function () {\n e.textContent === i && (e.textContent = \"Timeout loading '\" + l + \"'\");\n }, 5e3),\n d = document.createElement(\"script\");\n d.src = f.href, window[u] = function (n) {\n document.head.removeChild(d), clearTimeout(s), delete window[u];\n var o = \"\";\n if (a) o = a(n, t);else for (var i in r) {\n if (o = r[i](n, t), null !== o) break;\n }\n null === o ? e.textContent = \"Cannot parse response (perhaps you need an adapter function?)\" : (e.textContent = o, Prism.highlightElement(e));\n }, document.head.appendChild(d);\n });\n }\n\n if (self.Prism && self.document && document.querySelectorAll && [].filter) {\n var r = [];\n Prism.plugins.jsonphighlight = {\n registerAdapter: t,\n removeAdapter: n,\n highlight: a\n }, t(function (t) {\n if (t && t.meta && t.data) {\n if (t.meta.status && t.meta.status >= 400) return \"Error: \" + (t.data.message || t.meta.status);\n if (\"string\" == typeof t.data.content) return \"function\" == typeof atob ? atob(t.data.content.replace(/\\s/g, \"\")) : \"Your browser cannot decode base64\";\n }\n\n return null;\n }), t(function (t, e) {\n if (t && t.meta && t.data && t.data.files) {\n if (t.meta.status && t.meta.status >= 400) return \"Error: \" + (t.data.message || t.meta.status);\n var n = e.getAttribute(\"data-filename\");\n if (null == n) for (var a in t.data.files) {\n if (t.data.files.hasOwnProperty(a)) {\n n = a;\n break;\n }\n }\n return void 0 !== t.data.files[n] ? t.data.files[n].content : \"Error: unknown or missing gist file \" + n;\n }\n\n return null;\n }), t(function (t) {\n return t && t.node && \"string\" == typeof t.data ? t.data : null;\n });\n var o = 0,\n i = \"Loading…\";\n a();\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var e = /(?:^|\\s)command-line(?:\\s|$)/;\n Prism.hooks.add(\"before-highlight\", function (t) {\n var a = t.vars = t.vars || {},\n n = a[\"command-line\"] = a[\"command-line\"] || {};\n if (n.complete || !t.code) return n.complete = !0, void 0;\n var r = t.element.parentNode;\n if (!r || !/pre/i.test(r.nodeName) || !e.test(r.className) && !e.test(t.element.className)) return n.complete = !0, void 0;\n if (t.element.querySelector(\".command-line-prompt\")) return n.complete = !0, void 0;\n var o = t.code.split(\"\\n\");\n n.numberOfLines = o.length;\n var s = n.outputLines = [],\n i = r.getAttribute(\"data-output\"),\n l = r.getAttribute(\"data-filter-output\");\n\n if (i || \"\" === i) {\n i = i.split(\",\");\n\n for (var m = 0; m < i.length; m++) {\n var d = i[m].split(\"-\"),\n p = parseInt(d[0], 10),\n c = 2 === d.length ? parseInt(d[1], 10) : p;\n\n if (!isNaN(p) && !isNaN(c)) {\n 1 > p && (p = 1), c > o.length && (c = o.length), p--, c--;\n\n for (var u = p; c >= u; u++) {\n s[u] = o[u], o[u] = \"\";\n }\n }\n }\n } else if (l) for (var m = 0; m < o.length; m++) {\n 0 === o[m].indexOf(l) && (s[m] = o[m].slice(l.length), o[m] = \"\");\n }\n\n t.code = o.join(\"\\n\");\n }), Prism.hooks.add(\"before-insert\", function (e) {\n var t = e.vars = e.vars || {},\n a = t[\"command-line\"] = t[\"command-line\"] || {};\n\n if (!a.complete) {\n for (var n = e.highlightedCode.split(\"\\n\"), r = 0; r < a.outputLines.length; r++) {\n a.outputLines.hasOwnProperty(r) && (n[r] = a.outputLines[r]);\n }\n\n e.highlightedCode = n.join(\"\\n\");\n }\n }), Prism.hooks.add(\"complete\", function (t) {\n var a = t.vars = t.vars || {},\n n = a[\"command-line\"] = a[\"command-line\"] || {};\n\n if (!n.complete) {\n var r = t.element.parentNode;\n e.test(t.element.className) && (t.element.className = t.element.className.replace(e, \" \")), e.test(r.className) || (r.className += \" command-line\");\n\n var o = function o(e, t) {\n return (r.getAttribute(e) || t).replace(/\"/g, \""\");\n },\n s = new Array(n.numberOfLines + 1),\n i = o(\"data-prompt\", \"\");\n\n if (\"\" !== i) s = s.join('');else {\n var l = o(\"data-user\", \"user\"),\n m = o(\"data-host\", \"localhost\");\n s = s.join('');\n }\n var d = document.createElement(\"span\");\n d.className = \"command-line-prompt\", d.innerHTML = s;\n\n for (var p = 0; p < n.outputLines.length; p++) {\n if (n.outputLines.hasOwnProperty(p)) {\n var c = d.children[p];\n c.removeAttribute(\"data-user\"), c.removeAttribute(\"data-host\"), c.removeAttribute(\"data-prompt\");\n }\n }\n\n t.element.insertBefore(d, t.element.firstChild), n.complete = !0;\n }\n });\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n if (!Prism.plugins.toolbar) return console.warn(\"Copy to Clipboard plugin loaded before Toolbar plugin.\"), void 0;\n var o = window.ClipboardJS || void 0;\n o || \"function\" != \"function\" || (o = __webpack_require__(/*! clipboard */ \"./node_modules/clipboard/dist/clipboard.js\"));\n var e = [];\n\n if (!o) {\n var t = document.createElement(\"script\"),\n n = document.querySelector(\"head\");\n t.onload = function () {\n if (o = window.ClipboardJS) for (; e.length;) {\n e.pop()();\n }\n }, t.src = \"https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js\", n.appendChild(t);\n }\n\n Prism.plugins.toolbar.registerButton(\"copy-to-clipboard\", function (t) {\n function n() {\n var e = new o(i, {\n text: function text() {\n return t.code;\n }\n });\n e.on(\"success\", function () {\n i.textContent = \"Copied!\", r();\n }), e.on(\"error\", function () {\n i.textContent = \"Press Ctrl+C to copy\", r();\n });\n }\n\n function r() {\n setTimeout(function () {\n i.textContent = \"Copy\";\n }, 5e3);\n }\n\n var i = document.createElement(\"a\");\n return i.textContent = \"Copy\", o ? n() : e.push(n), i;\n });\n }\n}();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./source/js/prism.js?"); /***/ }) diff --git a/static/assets/style.css b/static/assets/style.css index 110e945..aa94b83 100644 --- a/static/assets/style.css +++ b/static/assets/style.css @@ -1 +1 @@ -:root{--dark-background:#292a2d;--dark-background-secondary:#3b3d42;--dark-border-color:#4a4b50;--dark-color:#a9a9b3;--dark-color-secondary:#73747b;--light-background:#fff;--light-background-secondary:#eaeaea;--light-border-color:#dcdcdc;--light-color:#222;--light-color-secondary:#999;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}@font-face{font-family:Inter UI;font-style:normal;font-weight:400;src:url(76677d9e1ccc0e1f33fa6b044a743768.woff2) format("woff2"),url(ecf7c639683dfcb4868861e0c613c455.woff) format("woff")}@font-face{font-family:Inter UI;font-style:italic;font-weight:400;src:url(9d05a4aa5504157c765f62d534e78889.woff2) format("woff2"),url(bcf654c7bea165e9dae257206c5521ad.woff) format("woff")}@font-face{font-family:Inter UI;font-style:normal;font-weight:600;src:url(e0012ba74a933d326e8a466003fc3507.woff2) format("woff2"),url(48dfecfe37de0ef8f0e2c2d2e6992e9c.woff) format("woff")}@font-face{font-family:Inter UI;font-style:italic;font-weight:600;src:url(a6f5c416c63aad400a2df45ae2154c1e.woff2) format("woff2"),url(a9eddc92c84c5f78fba1cb7d7833d31c.woff) format("woff")}@font-face{font-family:Inter UI;font-style:normal;font-weight:800;src:url(b6f1695769d6d6b5f20d1c6492914189.woff2) format("woff2"),url(e2158f600a4b0175b73dfefb0d2fe8f8.woff) format("woff")}@font-face{font-family:Inter UI;font-style:italic;font-weight:800;src:url(a616c9fa6fe80626bac7991f8502295a.woff2) format("woff2"),url(dbe4ec1d26d41331c91550939a7fd27f.woff) format("woff")}.button-container{display:table;margin-left:auto;margin-right:auto}.button,a.button,button{-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:#eaeaea;background:var(--light-background-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;display:flex;font-weight:500;justify-content:center;margin-bottom:5px;outline:none;padding:8px 18px;position:relative;text-align:center;text-decoration:none}.dark-theme .button,.dark-theme a.button,.dark-theme button{background:#3b3d42;background:var(--dark-background-secondary);color:inherit}.button.outline,a.button.outline,button.outline{background:transparent;border-color:#eaeaea;border-color:var(--light-background-secondary);box-shadow:none;padding:8px 18px}.dark-theme .button.outline,.dark-theme a.button.outline,.dark-theme button.outline{border-color:#3b3d42;border-color:var(--dark-background-secondary);color:inherit}.button.outline :hover,a.button.outline :hover,button.outline :hover{-webkit-transform:none;box-shadow:none;transform:none}.button.primary,a.button.primary,button.primary{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.button.primary:hover,a.button.primary:hover,button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,.21),0 1px 3px rgba(0,0,0,.08)}.button.link,a.button.link,button.link{background:none;font-size:1rem}.button.small,a.button.small,button.small{font-size:.8rem}.button.wide,a.button.wide,button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:active,a.read-more:hover{background:none;box-shadow:none;display:inline-flex;font-weight:700;margin:20px 0;padding:0}.dark-theme a.read-more,.dark-theme a.read-more:active,.dark-theme a.read-more:hover{background:none}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:#eaeaea;background:var(--light-background-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;justify-content:center;margin-bottom:5px;outline:none;padding:3px 8px;position:relative;text-align:center;text-decoration:none}.dark-theme .code-toolbar .toolbar-item a{background:#3b3d42;background:var(--dark-background-secondary);color:inherit}.header{align-items:center;background:#fafafa;display:flex;justify-content:center;padding:20px;position:relative}.dark-theme .header{background:#252627}.header__right{align-items:center;display:flex;flex-direction:row}@media (max-width:683px){.header__right{flex-direction:row-reverse}}.header__inner{justify-content:space-between;margin:0 auto;max-width:100%;width:760px}.header__inner,.theme-toggle{align-items:center;display:flex}.theme-toggle{cursor:pointer;justify-content:center;line-height:1}.theme-toggler{fill:currentColor}.logo{align-items:center;display:flex;font-weight:700;text-decoration:none}.logo img{height:44px}.logo__mark{margin-right:5px}.logo__text{font-size:1.125rem}.logo__cursor{-webkit-animation:cursor 1s infinite;animation:cursor 1s infinite;background:#fe5186;border-radius:1px;display:inline-block;height:1rem;margin-left:5px;width:10px}@-webkit-keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}.menu{background:#fafafa;border-right:1px solid;margin-right:18px}.dark-theme .menu{background:#252627}@media (max-width:683px){.menu{border:none;margin:0;padding:10px;position:absolute;right:0;top:50px}}.menu__inner{align-items:center;display:flex;font-size:1rem;justify-content:flex-start;list-style:none;margin:0 auto;max-width:100%;padding:0 15px}.menu__inner li{margin:0 12px}@media (max-width:683px){.menu__inner{align-items:flex-start;flex-direction:column;padding:0}.menu__inner li{margin:0;padding:5px}}.menu-trigger{cursor:pointer;fill:currentColor;height:24px;margin-left:10px;width:24px}.menu a{display:inline-block;margin-right:15px;text-decoration:none}.menu a:hover{text-decoration:underline}.menu a:last-of-type{margin-right:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;background-color:#fff;background-color:var(--light-background);color:#222;color:var(--light-color);font-family:Inter UI,-apple-system,BlinkMacSystemFont,Roboto,Segoe UI,Helvetica,Arial,sans-serif;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-size:1rem;line-height:1.54;margin:0;padding:0;text-rendering:optimizeLegibility}@media (max-width:683px){body{font-size:1rem}}body.dark-theme{background-color:#292a2d;background-color:var(--dark-background);color:#a9a9b3;color:var(--dark-color)}h1,h2,h3,h4,h5,h6{align-items:center;display:flex;line-height:1.3}h1{font-size:2.625rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}@media (max-width:683px){h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1.125rem}}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}figure{display:table;margin:25px 0;max-width:100%}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;margin-top:5px;opacity:.8}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{-webkit-font-feature-settings:normal;background:#eaeaea;background:var(--light-background-secondary);border-radius:5px;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-feature-settings:normal;font-size:.95rem;margin:0 2px;padding:1px 6px}.dark-theme code{background:#3b3d42;background:var(--dark-background-secondary)}pre{background:#212020;border-radius:8px;font-size:.95rem;overflow:auto;padding:20px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;color:#ccc;font-size:inherit;margin:0;padding:0}.dark-theme pre code{color:inherit}blockquote{border-left:2px solid;margin:40px;padding:10px 20px}@media (max-width:683px){blockquote{margin:10px;padding:10px}}blockquote:before{content:"\201D";font-family:Georgia,serif;font-size:3.875rem;left:-40px;position:absolute;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}ol,ul{margin-left:40px;padding:0}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{flex-direction:column;text-align:center}.container,.content{display:flex;justify-content:center}.content{align-items:center;flex:1 auto;flex-direction:column;margin:50px 0}@media (max-width:683px){.content{margin-top:0}}hr{background:#dcdcdc;background:var(--light-border-color);border:none;height:1px;width:100%}.dark-theme hr{background:#4a4b50;background:var(--dark-border-color)}.hidden{display:none}.post{margin:20px auto;max-width:800px;padding:20px;text-align:left;width:100%}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--light-border-color)}.dark-theme .post:not(:last-of-type){border-color:#4a4b50;border-color:var(--dark-border-color)}.post-meta{font-size:1rem;margin-bottom:10px}@media (max-width:683px){.post-meta{font-size:.85rem}}.post-date:after{content:"\2014"}.post-title{font-size:2.625rem;margin:0 0 20px}@media (max-width:683px){.post-title{font-size:2rem}}.post-title a{text-decoration:none}.post-tags{display:block;font-size:1rem;margin-bottom:20px;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border-radius:8px;margin:40px -50px;max-width:860px;width:860px}@media (max-width:899px){.post-cover{margin:20px 0;width:100%}}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-bottom:20px;margin-top:-10px}.pagination{margin-top:50px}.pagination__title{display:flex;margin:100px 0 20px;position:relative;text-align:center}.pagination__title-h{background:#fff;background:var(--light-background);color:#999;color:var(--light-color-secondary);font-size:.8rem;letter-spacing:.1em;margin:0 auto;padding:5px 10px;text-align:center;text-decoration:none;text-transform:uppercase;z-index:1}.dark-theme .pagination__title-h{background:#292a2d;background:var(--dark-background);color:#73747b;color:var(--dark-color-secondary)}.pagination__title hr{left:0;margin-top:15px;position:absolute;right:0;width:100%;z-index:0}.pagination__buttons{align-items:center;display:flex;justify-content:center;max-width:100%;width:1024px}.pagination__buttons a{font-weight:700;text-decoration:none}.button{-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:#eaeaea;background:var(--light-background-secondary);border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;max-width:40%;padding:0;position:relative}.dark-theme .button{background:#3b3d42;background:var(--dark-background-secondary)}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{color:#999;color:var(--light-color-secondary);flex-grow:0;padding:40px 20px}.footer__inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:100%;width:760px}@media (max-width:899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{align-items:center;color:#999;color:var(--light-color-secondary);display:flex;flex-direction:row;font-size:1rem}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>:first-child:not(:only-child){border-right:1px solid;margin-right:10px;padding-right:10px}@media (max-width:899px){.footer .copyright>:first-child:not(:only-child){border:none;margin:0;padding:0}}@media (max-width:899px){.footer .copyright{flex-direction:column;margin-top:10px}}code[class*=language-],pre[class*=language-]{-moz-tab-size:4;-ms-hyphens:none;-o-tab-size:4;-webkit-hyphens:none;background:none;color:#a9a9b3;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;hyphens:none;line-height:1.5;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#212020!important;border-radius:8px}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999;color:var(--light-color-secondary)}.token.punctuation{color:#a9a9b3}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{counter-reset:linenumber;padding-left:3.8em;position:relative}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-right:1px solid #999;font-size:100%;left:-3.8em;letter-spacing:-1px;pointer-events:none;position:absolute;top:0;user-select:none;width:3em}.line-numbers-rows>span{counter-increment:linenumber;display:block;pointer-events:none}.line-numbers-rows>span:before{color:#999;content:counter(linenumber);display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{opacity:0;position:absolute;right:.2em;top:.3em;transition:opacity .3s ease-in-out}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{background:#f5f2f0;background:hsla(0,0%,87.8%,.2);border-radius:.5em;box-shadow:0 2px 0 0 rgba(0,0,0,.2);color:#bbb;font-size:.8em;padding:0 .5em}div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar span:focus,div.code-toolbar>.toolbar span:hover{color:inherit;text-decoration:none}.command-line-prompt{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;user-select:none}.command-line-prompt>span:before{color:#999;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)} \ No newline at end of file +:root{--dark-background:#292a2d;--dark-background-secondary:#3b3d42;--dark-border-color:#4a4b50;--dark-color:#a9a9b3;--dark-color-secondary:#73747b;--light-background:#fff;--light-background-secondary:#eaeaea;--light-border-color:#dcdcdc;--light-color:#222;--light-color-secondary:#999;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px)}@font-face{font-family:Inter UI;font-style:normal;font-weight:400;src:url(76677d9e1ccc0e1f33fa6b044a743768.woff2) format("woff2"),url(ecf7c639683dfcb4868861e0c613c455.woff) format("woff")}@font-face{font-family:Inter UI;font-style:italic;font-weight:400;src:url(9d05a4aa5504157c765f62d534e78889.woff2) format("woff2"),url(bcf654c7bea165e9dae257206c5521ad.woff) format("woff")}@font-face{font-family:Inter UI;font-style:normal;font-weight:600;src:url(e0012ba74a933d326e8a466003fc3507.woff2) format("woff2"),url(48dfecfe37de0ef8f0e2c2d2e6992e9c.woff) format("woff")}@font-face{font-family:Inter UI;font-style:italic;font-weight:600;src:url(a6f5c416c63aad400a2df45ae2154c1e.woff2) format("woff2"),url(a9eddc92c84c5f78fba1cb7d7833d31c.woff) format("woff")}@font-face{font-family:Inter UI;font-style:normal;font-weight:800;src:url(b6f1695769d6d6b5f20d1c6492914189.woff2) format("woff2"),url(e2158f600a4b0175b73dfefb0d2fe8f8.woff) format("woff")}@font-face{font-family:Inter UI;font-style:italic;font-weight:800;src:url(a616c9fa6fe80626bac7991f8502295a.woff2) format("woff2"),url(dbe4ec1d26d41331c91550939a7fd27f.woff) format("woff")}.button-container{display:table;margin-left:auto;margin-right:auto}.button,a.button,button{-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:#eaeaea;background:var(--light-background-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;display:flex;font-weight:500;justify-content:center;margin-bottom:5px;outline:none;padding:8px 18px;position:relative;text-align:center;text-decoration:none}.dark-theme .button,.dark-theme a.button,.dark-theme button{background:#3b3d42;background:var(--dark-background-secondary);color:inherit}.button.outline,a.button.outline,button.outline{background:transparent;border-color:#eaeaea;border-color:var(--light-background-secondary);box-shadow:none;padding:8px 18px}.dark-theme .button.outline,.dark-theme a.button.outline,.dark-theme button.outline{border-color:#3b3d42;border-color:var(--dark-background-secondary);color:inherit}.button.outline :hover,a.button.outline :hover,button.outline :hover{-webkit-transform:none;box-shadow:none;transform:none}.button.primary,a.button.primary,button.primary{box-shadow:0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08)}.button.primary:hover,a.button.primary:hover,button.primary:hover{box-shadow:0 2px 6px rgba(50,50,93,.21),0 1px 3px rgba(0,0,0,.08)}.button.link,a.button.link,button.link{background:none;font-size:1rem}.button.small,a.button.small,button.small{font-size:.8rem}.button.wide,a.button.wide,button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:active,a.read-more:hover{background:none;box-shadow:none;display:inline-flex;font-weight:700;margin:20px 0;padding:0}.dark-theme a.read-more,.dark-theme a.read-more:active,.dark-theme a.read-more:hover{background:none}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:#eaeaea;background:var(--light-background-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;justify-content:center;margin-bottom:5px;outline:none;padding:3px 8px;position:relative;text-align:center;text-decoration:none}.dark-theme .code-toolbar .toolbar-item a{background:#3b3d42;background:var(--dark-background-secondary);color:inherit}.header{align-items:center;background:#fafafa;display:flex;justify-content:center;padding:20px;position:relative}.dark-theme .header{background:#252627}.header__right{align-items:center;display:flex;flex-direction:row}@media (max-width:683px){.header__right{flex-direction:row-reverse}}.header__inner{justify-content:space-between;margin:0 auto;max-width:100%;width:760px}.header__inner,.theme-toggle{align-items:center;display:flex}.theme-toggle{cursor:pointer;justify-content:center;line-height:1}.theme-toggler{fill:currentColor}.logo{align-items:center;display:flex;font-weight:700;text-decoration:none}.logo img{height:44px}.logo__mark{margin-right:5px}.logo__text{font-size:1.125rem}.logo__cursor{-webkit-animation:cursor 1s infinite;animation:cursor 1s infinite;background:#fe5186;border-radius:1px;display:inline-block;height:1rem;margin-left:5px;width:10px}@-webkit-keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}.menu{background:#fafafa;border-right:1px solid;margin-right:18px}.dark-theme .menu{background:#252627}@media (max-width:683px){.menu{border:none;margin:0;padding:10px;position:absolute;right:0;top:50px}}.menu__inner{align-items:center;display:flex;font-size:1rem;justify-content:flex-start;list-style:none;margin:0 auto;max-width:100%;padding:0 15px}.menu__inner li{margin:0 12px}@media (max-width:683px){.menu__inner{align-items:flex-start;flex-direction:column;padding:0}.menu__inner li{margin:0;padding:5px}}.menu-trigger{cursor:pointer;fill:currentColor;height:24px;margin-left:10px;width:24px}.menu a{display:inline-block;margin-right:15px;text-decoration:none}.menu a:hover{text-decoration:underline}.menu a:last-of-type{margin-right:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{-webkit-font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;background-color:#fff;background-color:var(--light-background);color:#222;color:var(--light-color);font-family:Inter UI,-apple-system,BlinkMacSystemFont,Roboto,Segoe UI,Helvetica,Arial,sans-serif;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl";font-size:1rem;line-height:1.54;margin:0;padding:0;text-rendering:optimizeLegibility}@media (max-width:683px){body{font-size:1rem}}body.dark-theme{background-color:#292a2d;background-color:var(--dark-background);color:#a9a9b3;color:var(--dark-color)}h1,h2,h3,h4,h5,h6{align-items:center;display:flex;line-height:1.3}h1{font-size:2.625rem}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.125rem}@media (max-width:683px){h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{font-size:1.125rem}}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}figure{display:table;margin:25px 0;max-width:100%}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;margin-top:5px;opacity:.8}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code{-webkit-font-feature-settings:normal;background:#eaeaea;background:var(--light-background-secondary);border-radius:5px;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-feature-settings:normal;font-size:.95rem;margin:0 2px;padding:1px 6px}.dark-theme code{background:#3b3d42;background:var(--dark-background-secondary)}pre{background:#212020;border-radius:8px;font-size:.95rem;overflow:auto;padding:20px}@media (max-width:683px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;color:#ccc;font-size:inherit;margin:0;padding:0}.dark-theme pre code{color:inherit}blockquote{border-left:2px solid;margin:40px;padding:10px 20px}@media (max-width:683px){blockquote{margin:10px;padding:10px}}blockquote:before{content:"\201D";font-family:Georgia,serif;font-size:3.875rem;left:-40px;position:absolute;top:-20px}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}ol,ul{margin-left:40px;padding:0}@media (max-width:683px){ol,ul{margin-left:20px}}ol ol{list-style-type:lower-alpha}.container{flex-direction:column;text-align:center}.container,.content{display:flex;justify-content:center}.content{align-items:center;flex:1 auto;flex-direction:column;margin:50px 0}@media (max-width:683px){.content{margin-top:0}}hr{background:#dcdcdc;background:var(--light-border-color);border:none;height:1px;width:100%}.dark-theme hr{background:#4a4b50;background:var(--dark-border-color)}.hidden{display:none}.post{margin:20px auto;max-width:800px;padding:20px;text-align:left;width:100%}@media (max-width:899px){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid #dcdcdc;border-bottom:1px solid var(--light-border-color)}.dark-theme .post:not(:last-of-type){border-color:#4a4b50;border-color:var(--dark-border-color)}.post-meta{font-size:1rem;margin-bottom:10px}@media (max-width:683px){.post-meta{font-size:.85rem}}.post-date:after{content:"\2014"}.post-title{font-size:2.625rem;margin:0 0 20px}@media (max-width:683px){.post-title{font-size:2rem}}.post-title a{text-decoration:none}.post-tags{display:block;font-size:1rem;margin-bottom:20px;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border-radius:8px;margin:40px -50px;max-width:860px;width:860px}@media (max-width:899px){.post-cover{margin:20px 0;width:100%}}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-bottom:20px;margin-top:-10px}.pagination{margin-top:50px}.pagination__title{display:flex;margin:100px 0 20px;position:relative;text-align:center}.pagination__title-h{background:#fff;background:var(--light-background);color:#999;color:var(--light-color-secondary);font-size:.8rem;letter-spacing:.1em;margin:0 auto;padding:5px 10px;text-align:center;text-decoration:none;text-transform:uppercase;z-index:1}.dark-theme .pagination__title-h{background:#292a2d;background:var(--dark-background);color:#73747b;color:var(--dark-color-secondary)}.pagination__title hr{left:0;margin-top:15px;position:absolute;right:0;width:100%;z-index:0}.pagination__buttons{align-items:center;display:flex;justify-content:center}.pagination__buttons a{font-weight:700;text-decoration:none}.button{-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:#eaeaea;background:var(--light-background-secondary);border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;max-width:40%;padding:0;position:relative}.dark-theme .button{background:#3b3d42;background:var(--dark-background-secondary)}.button+.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{color:#999;color:var(--light-color-secondary);flex-grow:0;padding:40px 20px}.footer__inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:100%;width:760px}@media (max-width:899px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{align-items:center;color:#999;color:var(--light-color-secondary);display:flex;flex-direction:row;font-size:1rem}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>:first-child:not(:only-child){border-right:1px solid;margin-right:10px;padding-right:10px}@media (max-width:899px){.footer .copyright>:first-child:not(:only-child){border:none;margin:0;padding:0}}@media (max-width:899px){.footer .copyright{flex-direction:column;margin-top:10px}}code[class*=language-],pre[class*=language-]{-moz-tab-size:4;-ms-hyphens:none;-o-tab-size:4;-webkit-hyphens:none;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;hyphens:none;line-height:1.5;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal;word-wrap:normal}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#212020!important;border-radius:8px;color:inherit!important}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.4)}.token.punctuation{color:#a9a9b3}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{counter-reset:linenumber;padding-left:3.8em;position:relative}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-right:1px solid #999;font-size:100%;left:-3.8em;letter-spacing:-1px;pointer-events:none;position:absolute;top:0;user-select:none;width:3em}.line-numbers-rows>span{counter-increment:linenumber;display:block;pointer-events:none}.line-numbers-rows>span:before{color:#999;content:counter(linenumber);display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{opacity:0;position:absolute;right:.2em;top:.3em;transition:opacity .3s ease-in-out}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{background:#f5f2f0;background:hsla(0,0%,87.8%,.2);border-radius:.5em;box-shadow:0 2px 0 0 rgba(0,0,0,.2);color:#bbb;font-size:.8em;padding:0 .5em}div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar span:focus,div.code-toolbar>.toolbar span:hover{color:inherit;text-decoration:none}.command-line-prompt{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;user-select:none}.command-line-prompt>span:before{color:#999;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)} \ No newline at end of file