{"version":3,"sources":["vendor/prism.js","../node_modules/@aegis-framework/artemis/src/DOM.js","../node_modules/@aegis-framework/artemis/src/Request.js","../node_modules/@aegis-framework/artemis/src/FileSystem.js","../node_modules/@aegis-framework/artemis/src/Form.js","../node_modules/@aegis-framework/artemis/src/Platform.js","../node_modules/@aegis-framework/artemis/src/Preload.js","../node_modules/@aegis-framework/artemis/src/SpaceAdapter/LocalStorage.js","../node_modules/@aegis-framework/artemis/src/SpaceAdapter/SessionStorage.js","../node_modules/@aegis-framework/artemis/src/SpaceAdapter/IndexedDB.js","../node_modules/@aegis-framework/artemis/src/SpaceAdapter/RemoteStorage.js","../node_modules/@aegis-framework/artemis/src/Space.js","../node_modules/@aegis-framework/artemis/src/Text.js","../node_modules/@aegis-framework/artemis/src/Util.js","../node_modules/@aegis-framework/artemis/index.js","../core/lib/FancyError.js","index.js"],"names":["_self","window","WorkerGlobalScope","self","Prism","e","t","n","manual","disableWorkerMessageHandler","util","encode","r","type","content","alias","map","replace","Object","prototype","toString","call","match","objId","__id","defineProperty","value","clone","a","l","hasOwnProperty","forEach","languages","extend","insertBefore","arguments","length","i","o","s","DFS","plugins","highlightAll","highlightAllUnder","document","callback","selector","hooks","run","elements","querySelectorAll","highlightElement","test","className","parentNode","toLowerCase","nodeName","u","element","language","grammar","code","textContent","Worker","g","filename","onmessage","highlightedCode","data","innerHTML","postMessage","JSON","stringify","immediateClose","highlight","tokens","tokenize","matchGrammar","Token","c","h","f","inside","d","lookbehind","m","greedy","p","y","pattern","global","v","RegExp","source","b","k","w","lastIndex","_","exec","j","index","P","A","x","O","I","slice","N","S","C","push","E","Array","splice","apply","rest","all","add","join","tag","classes","attributes","parent","keys","addEventListener","parse","close","currentScript","getElementsByTagName","pop","src","hasAttribute","readyState","requestAnimationFrame","setTimeout","module","exports","markup","comment","prolog","doctype","cdata","punctuation","namespace","entity","title","xml","html","mathml","svg","css","atrule","rule","url","string","property","important","style","clike","keyword","number","operator","javascript","regex","constant","interpolation","script","js","abap","actionscript","ada","variable","apacheconf","apl","statement","assignment","dfn","applescript","macro","directive","arff","quoted","interpreted","asciidoc","table","specifiers","hr","admonition","callout","inline","italic","bold","replacement","asm6502","opcode","hexnumber","binarynumber","decimalnumber","register","csharp","preprocessor","dotnet","autohotkey","builtin","symbol","autoit","bash","shebang","shell","basic","batch","label","command","parameter","bison","delimiter","brainfuck","pointer","increment","decrement","branching","bro","cpp","aspnet","arduino","coffeescript","clojure","ruby","csp","safe","unsafe","id","attribute","hexcode","concat","dart","metadata","diff","coord","deleted","inserted","_django_template","django","jinja2","docker","dockerfile","eiffel","elixir","atom","capture","argument","elm","import_statement","hvariable","defineProperties","buildPlaceholders","tokenStack","indexOf","toUpperCase","tokenizePlaceholders","substring","filter","erlang","fsharp","flow","unshift","fortran","gedcom","level","gherkin","pystring","feature","scenario","outline","td","th","git","commit_sha1","glsl","go","graphql","groovy","annotation","expression","haml","handlebars","block","brackets","haskell","haxe","reification","http","httpLanguages","contentType","options","hpkp","hsts","ichigojam","icon","inform7","substitution","verb","position","text","ini","io","adverb","conjunction","java","generics","jolie","aggregates","withExtension","redirects","json","jsonp","julia","keyman","kotlin","latex","equation","headline","less","function","liquid","heading","declare","interactive","defvar","defun","lambda","car","varform","boolean","sublist","lisp","elisp","emacs","livescript","identifier","lolcode","lua","makefile","markdown","blockquote","list","erb","matlab","mel","flag","mizar","monkey","n4js","n4jsd","nasm","nginx","nim","ignore","nix","antiquotation","nsis","objectivec","ocaml","opencl","oz","parigp","split","parser","escape","pascal","objectpascal","perl","filehandle","vstring","php","scope","sql","powershell","processing","properties","protobuf","primitive","pug","each","branch","mixin","name","puppet","heredoc","datatype","pure","lang","special","python","q","datetime","qore","ellipsis","jsx","spread","tagName","openedBraces","typescript","ts","renpy","reason","character","constructor","field","role","link","rip","date","time","reference","roboconf","component","optional","wildcard","crystal","expansion","rust","sas","datalines","sass","scss","placeholder","scala","scheme","smalltalk","smarty","plsql","soy","func","stylus","swift","yaml","scalar","key","tcl","textile","phrase","modifier","cite","span","image","footnote","acronym","mark","tt2","twig","ld","rd","other","tsx","vbnet","velocity","unparsed","verilog","vhdl","vim","vb","wasm","wiki","emphasis","nowiki","xeora","xeoracube","xojo","xquery","extension","axis","tap","fail","pass","pragma","bailout","version","plan","subtest","yamlish","getAttribute","parseInt","parseFloat","getComputedStyle","lineHeight","querySelector","createElement","setAttribute","lineNumbers","getLine","top","offsetTop","height","offsetHeight","appendChild","location","hash","removeChild","getElementById","lastIndexOf","scrollIntoView","fontSize","padding","border","body","clearTimeout","defaults","charCodeAt","assign","setDefaults","normalize","leftTrim","rightTrim","tabsToSpaces","spacesToTabs","removeTrailing","removeInitialLineFeed","removeIndent","sort","indent","breakLines","NormalizeWhitespace","settings","childNodes","nodeValue","children","KeepMarkup","DOM","collection","NodeList","hide","display","show","addClass","newClass","classList","removeClass","oldClass","remove","item","toggleClass","toggle","hasClass","classToCheck","focus","click","keyup","keydown","submit","change","scroll","on","event","target","$_","matches","dataset","append","div","trim","firstChild","prepend","get","first","last","isVisible","offsetWidth","parentElement","find","offset","rect","getBoundingClientRect","scrollTop","left","scrollLeft","closest","found","search","after","insertAdjacentHTML","before","animate","start","Date","getTime","timer","initialValue","setInterval","step","Math","min","clearInterval","fadeIn","opacity","tick","fadeOut","check","Element","polyfill","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","replaceWith","replaceChild","reset","$_ready","Request","serialize","encodeURIComponent","query","fetch","post","formData","headers","FormData","props","method","put","delete","then","response","blob","FileSystem","readRemote","file","read","Promise","resolve","reject","reader","FileReader","onload","result","onerror","error","readAsDataURL","readAsArrayBuffer","readAsText","create","File","isImage","extensions","Form","fill","values","files","Platform","retina","devicePixelRatio","portrait","orientation","landscape","electron","process","cordova","desktop","platform","navigator","includes","mobile","userAgent","serviceWorkers","protocol","Preload","route","Image","LocalStorage","store","upgrades","numericVersion","open","storage","upgradesToApply","versionless","storedVersions","localStorage","oldVersion","oldVersionNumeric","availableUpgrades","startFrom","findIndex","old","next","previousId","previous","getItem","setItem","removeItem","_upgrade","set","update","currentValue","exception","getAll","promises","contains","upgrade","newVersion","catch","console","rename","oldId","full","clear","SessionStorage","sessionStorage","IndexedDB","IDBDatabase","indexedDB","onsuccess","onupgradeneeded","createObjectStore","createIndex","transaction","objectStore","op","getAllKeys","RemoteStorage","endpoint","SpaceAdapter","Space","adapter","configuration","_configuration","callbacks","transformations","object","onCreate","onUpdate","onDelete","addTransformation","removeTransformation","Text","capitalize","txt","charAt","substr","suffix","selection","getSelection","createRange","prefix","friendly","replacements","Util","callAsync","callable","context","args","uuid","crypto","getRandomValues","Uint8Array","generate","floor","random","FancyError","host","queue","message","render","MonogatariDebug","outerHTML","lineno"],"mappings":"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","file":"debug.map","sourceRoot":"../../debug","sourcesContent":["/* PrismJS 1.15.0\nhttps://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+abap+actionscript+ada+apacheconf+apl+applescript+c+arff+asciidoc+asm6502+csharp+autohotkey+autoit+bash+basic+batch+bison+brainfuck+bro+cpp+aspnet+arduino+coffeescript+clojure+ruby+csp+css-extras+d+dart+diff+django+docker+eiffel+elixir+elm+markup-templating+erlang+fsharp+flow+fortran+gedcom+gherkin+git+glsl+go+graphql+groovy+haml+handlebars+haskell+haxe+http+hpkp+hsts+ichigojam+icon+inform7+ini+io+j+java+jolie+json+julia+keyman+kotlin+latex+less+liquid+lisp+livescript+lolcode+lua+makefile+markdown+erb+matlab+mel+mizar+monkey+n4js+nasm+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+perl+php+php-extras+sql+powershell+processing+prolog+properties+protobuf+pug+puppet+pure+python+q+qore+r+jsx+typescript+renpy+reason+rest+rip+roboconf+crystal+rust+sas+sass+scss+scala+scheme+smalltalk+smarty+plsql+soy+stylus+swift+yaml+tcl+textile+tt2+twig+tsx+vbnet+velocity+verilog+vhdl+vim+visual-basic+wasm+wiki+xeora+xojo+xquery+tap&plugins=line-highlight+highlight-keywords+normalize-whitespace */\nvar _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 r?new r(e.type,n.util.encode(e.content),e.alias):\"Array\"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/\\u00a0/g,\" \")},type:function(e){return Object.prototype.toString.call(e).match(/\\[object (\\w+)\\]/)[1]},objId:function(e){return e.__id||Object.defineProperty(e,\"__id\",{value:++t}),e.__id},clone:function(e,t){var r=n.util.type(e);switch(t=t||{},r){case\"Object\":if(t[n.util.objId(e)])return t[n.util.objId(e)];var a={};t[n.util.objId(e)]=a;for(var l in e)e.hasOwnProperty(l)&&(a[l]=n.util.clone(e[l],t));return a;case\"Array\":if(t[n.util.objId(e)])return t[n.util.objId(e)];var a=[];return t[n.util.objId(e)]=a,e.forEach(function(e,r){a[r]=n.util.clone(e,t)}),a}return e}},languages:{extend:function(e,t){var r=n.util.clone(n.languages[e]);for(var a in t)r[a]=t[a];return r},insertBefore:function(e,t,r,a){a=a||n.languages;var l=a[e];if(2==arguments.length){r=arguments[1];for(var i in r)r.hasOwnProperty(i)&&(l[i]=r[i]);return l}var o={};for(var s in l)if(l.hasOwnProperty(s)){if(s==t)for(var i in r)r.hasOwnProperty(i)&&(o[i]=r[i]);o[s]=l[s]}return n.languages.DFS(n.languages,function(t,n){n===a[e]&&t!=e&&(this[t]=o)}),a[e]=o},DFS:function(e,t,r,a){a=a||{};for(var l in e)e.hasOwnProperty(l)&&(t.call(e,l,e[l],r||l),\"Object\"!==n.util.type(e[l])||a[n.util.objId(e[l])]?\"Array\"!==n.util.type(e[l])||a[n.util.objId(e[l])]||(a[n.util.objId(e[l])]=!0,n.languages.DFS(e[l],t,l,a)):(a[n.util.objId(e[l])]=!0,n.languages.DFS(e[l],t,null,a)))}},plugins:{},highlightAll:function(e,t){n.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,r){var a={callback:r,selector:'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'};n.hooks.run(\"before-highlightall\",a);for(var l,i=a.elements||e.querySelectorAll(a.selector),o=0;l=i[o++];)n.highlightElement(l,t===!0,a.callback)},highlightElement:function(t,r,a){for(var l,i,o=t;o&&!e.test(o.className);)o=o.parentNode;o&&(l=(o.className.match(e)||[,\"\"])[1].toLowerCase(),i=n.languages[l]),t.className=t.className.replace(e,\"\").replace(/\\s+/g,\" \")+\" language-\"+l,t.parentNode&&(o=t.parentNode,/pre/i.test(o.nodeName)&&(o.className=o.className.replace(e,\"\").replace(/\\s+/g,\" \")+\" language-\"+l));var s=t.textContent,u={element:t,language:l,grammar:i,code:s};if(n.hooks.run(\"before-sanity-check\",u),!u.code||!u.grammar)return u.code&&(n.hooks.run(\"before-highlight\",u),u.element.textContent=u.code,n.hooks.run(\"after-highlight\",u)),n.hooks.run(\"complete\",u),void 0;if(n.hooks.run(\"before-highlight\",u),r&&_self.Worker){var g=new Worker(n.filename);g.onmessage=function(e){u.highlightedCode=e.data,n.hooks.run(\"before-insert\",u),u.element.innerHTML=u.highlightedCode,a&&a.call(u.element),n.hooks.run(\"after-highlight\",u),n.hooks.run(\"complete\",u)},g.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else u.highlightedCode=n.highlight(u.code,u.grammar,u.language),n.hooks.run(\"before-insert\",u),u.element.innerHTML=u.highlightedCode,a&&a.call(t),n.hooks.run(\"after-highlight\",u),n.hooks.run(\"complete\",u)},highlight:function(e,t,a){var l={code:e,grammar:t,language:a};return n.hooks.run(\"before-tokenize\",l),l.tokens=n.tokenize(l.code,l.grammar),n.hooks.run(\"after-tokenize\",l),r.stringify(n.util.encode(l.tokens),l.language)},matchGrammar:function(e,t,r,a,l,i,o){var s=n.Token;for(var u in r)if(r.hasOwnProperty(u)&&r[u]){if(u==o)return;var g=r[u];g=\"Array\"===n.util.type(g)?g:[g];for(var c=0;c<g.length;++c){var h=g[c],f=h.inside,d=!!h.lookbehind,m=!!h.greedy,p=0,y=h.alias;if(m&&!h.pattern.global){var v=h.pattern.toString().match(/[imuy]*$/)[0];h.pattern=RegExp(h.pattern.source,v+\"g\")}h=h.pattern||h;for(var b=a,k=l;b<t.length;k+=t[b].length,++b){var w=t[b];if(t.length>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,r,b,k,!0,u),i)break}else if(i)break}}}}},tokenize:function(e,t){var r=[e],a=t.rest;if(a){for(var l in a)t[l]=a[l];delete t.rest}return n.matchGrammar(e,r,t,0,0,!1),r},hooks:{all:{},add:function(e,t){var r=n.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=n.hooks.all[e];if(r&&r.length)for(var a,l=0;a=r[l++];)a(t)}}},r=n.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||\"\").length,this.greedy=!!a};if(r.stringify=function(e,t,a){if(\"string\"==typeof e)return e;if(\"Array\"===n.util.type(e))return e.map(function(n){return r.stringify(n,t,e)}).join(\"\");var l={type:e.type,content:r.stringify(e.content,t,a),tag:\"span\",classes:[\"token\",e.type],attributes:{},language:t,parent:a};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,\"&quot;\")+'\"'}).join(\" \");return\"<\"+l.tag+' class=\"'+l.classes.join(\" \")+'\"'+(o?\" \"+o:\"\")+\">\"+l.content+\"</\"+l.tag+\">\"},!_self.document)return _self.addEventListener?(n.disableWorkerMessageHandler||_self.addEventListener(\"message\",function(e){var t=JSON.parse(e.data),r=t.language,a=t.code,l=t.immediateClose;_self.postMessage(n.highlight(a,n.languages[r],r)),l&&_self.close()},!1),_self.Prism):_self.Prism;var a=document.currentScript||[].slice.call(document.getElementsByTagName(\"script\")).pop();return a&&(n.filename=a.src,n.manual||a.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);\nPrism.languages.markup={comment:/<!--[\\s\\S]*?-->/,prolog:/<\\?[\\s\\S]+?\\?>/,doctype:/<!DOCTYPE[\\s\\S]+?>/i,cdata:/<!\\[CDATA\\[[\\s\\S]*?]]>/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(/&amp;/,\"&\"))}),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={comment:/\\/\\*[\\s\\S]*?\\*\\//,atrule:{pattern:/@[\\w-]+?.*?(?:;|(?=\\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:/\\B!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:/(<style[\\s\\S]*?>)[\\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));\nPrism.languages.clike={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"class-name\":{pattern:/((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\"boolean\":/\\b(?:true|false)\\b/,\"function\":/[a-z0-9_]+(?=\\()/i,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,operator:/--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.javascript=Prism.languages.extend(\"clike\",{keyword:/\\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\\b/,number:/\\b(?:0[xX][\\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\"function\":/[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*\\()/i,operator:/-[-=]?|\\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/}),Prism.languages.insertBefore(\"javascript\",\"keyword\",{regex:{pattern:/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(\\[[^\\]\\r\\n]+]|\\\\.|[^\\/\\\\\\[\\r\\n])+\\/[gimyu]{0,5}(?=\\s*($|[\\r\\n,.;})\\]]))/,lookbehind:!0,greedy:!0},\"function-variable\":{pattern:/[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i,alias:\"function\"},constant:/\\b[A-Z][A-Z\\d_]*\\b/}),Prism.languages.insertBefore(\"javascript\",\"string\",{\"template-string\":{pattern:/`(?:\\\\[\\s\\S]|\\${[^}]+}|[^\\\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\\${[^}]+}/,inside:{\"interpolation-punctuation\":{pattern:/^\\${|}$/,alias:\"punctuation\"},rest:null}},string:/[\\s\\S]+/}}}),Prism.languages.javascript[\"template-string\"].inside.interpolation.inside.rest=Prism.languages.javascript,Prism.languages.markup&&Prism.languages.insertBefore(\"markup\",\"tag\",{script:{pattern:/(<script[\\s\\S]*?>)[\\s\\S]*?(?=<\\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:\"language-javascript\",greedy:!0}}),Prism.languages.js=Prism.languages.javascript;\nPrism.languages.abap={comment:/^\\*.*/m,string:/(`|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,\"string-template\":{pattern:/([|}])(?:\\\\.|[^\\\\|{\\r\\n])*(?=[|{])/,lookbehind:!0,alias:\"string\"},\"eol-comment\":{pattern:/(^|\\s)\".*/m,lookbehind:!0,alias:\"comment\"},keyword:{pattern:/(\\s|\\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\\/MM\\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\\/DD\\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\\/MM\\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\\/DD\\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\\b/i,lookbehind:!0},number:/\\b\\d+\\b/,operator:{pattern:/(\\s)(?:\\*\\*?|<[=>]?|>=?|\\?=|[-+\\/=])(?=\\s)/,lookbehind:!0},\"string-operator\":{pattern:/(\\s)&&?(?=\\s)/,lookbehind:!0,alias:\"keyword\"},\"token-operator\":[{pattern:/(\\w)(?:->?|=>|[~|{}])(?=\\w)/,lookbehind:!0,alias:\"punctuation\"},{pattern:/[|{}]/,alias:\"punctuation\"}],punctuation:/[,.:()]/};\nPrism.languages.actionscript=Prism.languages.extend(\"javascript\",{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/,operator:/\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),Prism.languages.actionscript[\"class-name\"].alias=\"function\",Prism.languages.markup&&Prism.languages.insertBefore(\"actionscript\",\"string\",{xml:{pattern:/(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,lookbehind:!0,inside:{rest:Prism.languages.markup}}});\nPrism.languages.ada={comment:/--.*/,string:/\"(?:\"\"|[^\"\\r\\f\\n])*\"/i,number:[{pattern:/\\b\\d(?:_?\\d)*#[\\dA-F](?:_?[\\dA-F])*(?:\\.[\\dA-F](?:_?[\\dA-F])*)?#(?:E[+-]?\\d(?:_?\\d)*)?/i},{pattern:/\\b\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:E[+-]?\\d(?:_?\\d)*)?\\b/i}],\"attr-name\":/\\b'\\w+/i,keyword:/\\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|new|return|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\\b/i,\"boolean\":/\\b(?:true|false)\\b/i,operator:/<[=>]?|>=?|=>?|:=|\\/=?|\\*\\*?|[&+-]/,punctuation:/\\.\\.?|[,;():]/,\"char\":/'.'/,variable:/\\b[a-z](?:[_a-z\\d])*\\b/i};\nPrism.languages.apacheconf={comment:/#.*/,\"directive-inline\":{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,lookbehind:!0,alias:\"property\"},\"directive-block\":{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,inside:{\"directive-block\":{pattern:/^<\\/?\\w+/,inside:{punctuation:/^<\\/?/},alias:\"tag\"},\"directive-block-parameter\":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/(\"|').*\\1/,inside:{variable:/[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/}}},alias:\"attr-value\"},punctuation:/>/},alias:\"tag\"},\"directive-flags\":{pattern:/\\[(?:\\w,?)+\\]/,alias:\"keyword\"},string:{pattern:/(\"|').*\\1/,inside:{variable:/[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/}},variable:/[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,regex:/\\^?.*\\$|\\^.*\\$?/};\nPrism.languages.apl={comment:/(?:⍝|#[! ]).*$/m,string:{pattern:/'(?:[^'\\r\\n]|'')*'/,greedy:!0},number:/¯?(?:\\d*\\.?\\d+(?:e[+¯]?\\d+)?|¯|∞)(?:j¯?(?:\\d*\\.?\\d+(?:e[+¯]?\\d+)?|¯|∞))?/i,statement:/:[A-Z][a-z][A-Za-z]*\\b/,\"system-function\":{pattern:/⎕[A-Z]+/i,alias:\"function\"},constant:/[⍬⌾#⎕⍞]/,\"function\":/[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,\"monadic-operator\":{pattern:/[\\\\\\/⌿⍀¨⍨⌶&∥]/,alias:\"operator\"},\"dyadic-operator\":{pattern:/[.⍣⍠⍤∘⌸@⌺]/,alias:\"operator\"},assignment:{pattern:/←/,alias:\"keyword\"},punctuation:/[\\[;\\]()◇⋄]/,dfn:{pattern:/[{}⍺⍵⍶⍹∇⍫:]/,alias:\"builtin\"}};\nPrism.languages.applescript={comment:[/\\(\\*(?:\\(\\*[\\s\\S]*?\\*\\)|[\\s\\S])*?\\*\\)/,/--.+/,/#.+/],string:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,number:/(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,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/],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/,\"class\":{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/,alias:\"builtin\"},punctuation:/[{}():,¬«»《》]/};\nPrism.languages.c=Prism.languages.extend(\"clike\",{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/,operator:/-[>-]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/]/,number:/(?:\\b0x[\\da-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]*/i}),Prism.languages.insertBefore(\"c\",\"string\",{macro:{pattern:/(^\\s*)#\\s*[a-z]+(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,alias:\"property\",inside:{string:{pattern:/(#\\s*include\\s*)(?:<.+?>|(\"|')(?:\\\\?.)+?\\2)/,lookbehind:!0},directive:{pattern:/(#\\s*)\\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\\b/,lookbehind:!0,alias:\"keyword\"}}},constant:/\\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\\b/}),delete Prism.languages.c[\"class-name\"],delete Prism.languages.c[\"boolean\"];\nPrism.languages.arff={comment:/%.*/,string:{pattern:/([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},keyword:/@(?:attribute|data|end|relation)\\b/i,number:/\\b\\d+(?:\\.\\d+)?\\b/,punctuation:/[{},]/};\n!function(a){var i={pattern:/(^[ \\t]*)\\[(?!\\[)(?:([\"'$`])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\[(?:[^\\]\\\\]|\\\\.)*\\]|[^\\]\\\\]|\\\\.)*\\]/m,lookbehind:!0,inside:{quoted:{pattern:/([$`])(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,inside:{punctuation:/^[$`]|[$`]$/}},interpreted:{pattern:/'(?:[^'\\\\]|\\\\.)*'/,inside:{punctuation:/^'|'$/}},string:/\"(?:[^\"\\\\]|\\\\.)*\"/,variable:/\\w+(?==)/,punctuation:/^\\[|\\]$|,/,operator:/=/,\"attr-value\":/(?!^\\s+$).+/}};a.languages.asciidoc={\"comment-block\":{pattern:/^(\\/{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1/m,alias:\"comment\"},table:{pattern:/^\\|={3,}(?:(?:\\r?\\n|\\r).*)*?(?:\\r?\\n|\\r)\\|={3,}$/m,inside:{specifiers:{pattern:/(?!\\|)(?:(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)[+*])?(?:[<^>](?:\\.[<^>])?|\\.[<^>])?[a-z]*)(?=\\|)/,alias:\"attr-value\"},punctuation:{pattern:/(^|[^\\\\])[|!]=*/,lookbehind:!0}}},\"passthrough-block\":{pattern:/^(\\+{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,inside:{punctuation:/^\\++|\\++$/}},\"literal-block\":{pattern:/^(-{4,}|\\.{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,inside:{punctuation:/^(?:-+|\\.+)|(?:-+|\\.+)$/}},\"other-block\":{pattern:/^(--|\\*{4,}|_{4,}|={4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,inside:{punctuation:/^(?:-+|\\*+|_+|=+)|(?:-+|\\*+|_+|=+)$/}},\"list-punctuation\":{pattern:/(^[ \\t]*)(?:-|\\*{1,5}|\\.{1,5}|(?:[a-z]|\\d+)\\.|[xvi]+\\))(?= )/im,lookbehind:!0,alias:\"punctuation\"},\"list-label\":{pattern:/(^[ \\t]*)[a-z\\d].+(?::{2,4}|;;)(?=\\s)/im,lookbehind:!0,alias:\"symbol\"},\"indented-block\":{pattern:/((\\r?\\n|\\r)\\2)([ \\t]+)\\S.*(?:(?:\\r?\\n|\\r)\\3.+)*(?=\\2{2}|$)/,lookbehind:!0},comment:/^\\/\\/.*/m,title:{pattern:/^.+(?:\\r?\\n|\\r)(?:={3,}|-{3,}|~{3,}|\\^{3,}|\\+{3,})$|^={1,5} +.+|^\\.(?![\\s.]).*/m,alias:\"important\",inside:{punctuation:/^(?:\\.|=+)|(?:=+|-+|~+|\\^+|\\++)$/}},\"attribute-entry\":{pattern:/^:[^:\\r\\n]+:(?: .*?(?: \\+(?:\\r?\\n|\\r).*?)*)?$/m,alias:\"tag\"},attributes:i,hr:{pattern:/^'{3,}$/m,alias:\"punctuation\"},\"page-break\":{pattern:/^<{3,}$/m,alias:\"punctuation\"},admonition:{pattern:/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m,alias:\"keyword\"},callout:[{pattern:/(^[ \\t]*)<?\\d*>/m,lookbehind:!0,alias:\"symbol\"},{pattern:/<\\d+>/,alias:\"symbol\"}],macro:{pattern:/\\b[a-z\\d][a-z\\d-]*::?(?:(?:\\S+)??\\[(?:[^\\]\\\\\"]|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,inside:{\"function\":/^[a-z\\d-]+(?=:)/,punctuation:/^::?/,attributes:{pattern:/(?:\\[(?:[^\\]\\\\\"]|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,inside:i.inside}}},inline:{pattern:/(^|[^\\\\])(?:(?:\\B\\[(?:[^\\]\\\\\"]|([\"'])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\\\.)*\\])?(?:\\b_(?!\\s)(?: _|[^_\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: _|[^_\\\\\\r\\n]|\\\\.)+)*_\\b|\\B``(?!\\s).+?(?:(?:\\r?\\n|\\r).+?)*''\\B|\\B`(?!\\s)(?: ['`]|.)+?(?:(?:\\r?\\n|\\r)(?: ['`]|.)+?)*['`]\\B|\\B(['*+#])(?!\\s)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+)*\\3\\B)|(?:\\[(?:[^\\]\\\\\"]|([\"'])(?:(?!\\4)[^\\\\]|\\\\.)*\\4|\\\\.)*\\])?(?:(__|\\*\\*|\\+\\+\\+?|##|\\$\\$|[~^]).+?(?:(?:\\r?\\n|\\r).+?)*\\5|\\{[^}\\r\\n]+\\}|\\[\\[\\[?.+?(?:(?:\\r?\\n|\\r).+?)*\\]?\\]\\]|<<.+?(?:(?:\\r?\\n|\\r).+?)*>>|\\(\\(\\(?.+?(?:(?:\\r?\\n|\\r).+?)*\\)?\\)\\)))/m,lookbehind:!0,inside:{attributes:i,url:{pattern:/^(?:\\[\\[\\[?.+?\\]?\\]\\]|<<.+?>>)$/,inside:{punctuation:/^(?:\\[\\[\\[?|<<)|(?:\\]\\]\\]?|>>)$/}},\"attribute-ref\":{pattern:/^\\{.+\\}$/,inside:{variable:{pattern:/(^\\{)[a-z\\d,+_-]+/,lookbehind:!0},operator:/^[=?!#%@$]|!(?=[:}])/,punctuation:/^\\{|\\}$|::?/}},italic:{pattern:/^(['_])[\\s\\S]+\\1$/,inside:{punctuation:/^(?:''?|__?)|(?:''?|__?)$/}},bold:{pattern:/^\\*[\\s\\S]+\\*$/,inside:{punctuation:/^\\*\\*?|\\*\\*?$/}},punctuation:/^(?:``?|\\+{1,3}|##?|\\$\\$|[~^]|\\(\\(\\(?)|(?:''?|\\+{1,3}|##?|\\$\\$|[~^`]|\\)?\\)\\))$/}},replacement:{pattern:/\\((?:C|TM|R)\\)/,alias:\"builtin\"},entity:/&#?[\\da-z]{1,8};/i,\"line-continuation\":{pattern:/(^| )\\+$/m,lookbehind:!0,alias:\"punctuation\"}},i.inside.interpreted.inside.rest={macro:a.languages.asciidoc.macro,inline:a.languages.asciidoc.inline,replacement:a.languages.asciidoc.replacement,entity:a.languages.asciidoc.entity},a.languages.asciidoc[\"passthrough-block\"].inside.rest={macro:a.languages.asciidoc.macro},a.languages.asciidoc[\"literal-block\"].inside.rest={callout:a.languages.asciidoc.callout},a.languages.asciidoc.table.inside.rest={\"comment-block\":a.languages.asciidoc[\"comment-block\"],\"passthrough-block\":a.languages.asciidoc[\"passthrough-block\"],\"literal-block\":a.languages.asciidoc[\"literal-block\"],\"other-block\":a.languages.asciidoc[\"other-block\"],\"list-punctuation\":a.languages.asciidoc[\"list-punctuation\"],\"indented-block\":a.languages.asciidoc[\"indented-block\"],comment:a.languages.asciidoc.comment,title:a.languages.asciidoc.title,\"attribute-entry\":a.languages.asciidoc[\"attribute-entry\"],attributes:a.languages.asciidoc.attributes,hr:a.languages.asciidoc.hr,\"page-break\":a.languages.asciidoc[\"page-break\"],admonition:a.languages.asciidoc.admonition,\"list-label\":a.languages.asciidoc[\"list-label\"],callout:a.languages.asciidoc.callout,macro:a.languages.asciidoc.macro,inline:a.languages.asciidoc.inline,replacement:a.languages.asciidoc.replacement,entity:a.languages.asciidoc.entity,\"line-continuation\":a.languages.asciidoc[\"line-continuation\"]},a.languages.asciidoc[\"other-block\"].inside.rest={table:a.languages.asciidoc.table,\"list-punctuation\":a.languages.asciidoc[\"list-punctuation\"],\"indented-block\":a.languages.asciidoc[\"indented-block\"],comment:a.languages.asciidoc.comment,\"attribute-entry\":a.languages.asciidoc[\"attribute-entry\"],attributes:a.languages.asciidoc.attributes,hr:a.languages.asciidoc.hr,\"page-break\":a.languages.asciidoc[\"page-break\"],admonition:a.languages.asciidoc.admonition,\"list-label\":a.languages.asciidoc[\"list-label\"],macro:a.languages.asciidoc.macro,inline:a.languages.asciidoc.inline,replacement:a.languages.asciidoc.replacement,entity:a.languages.asciidoc.entity,\"line-continuation\":a.languages.asciidoc[\"line-continuation\"]},a.languages.asciidoc.title.inside.rest={macro:a.languages.asciidoc.macro,inline:a.languages.asciidoc.inline,replacement:a.languages.asciidoc.replacement,entity:a.languages.asciidoc.entity},a.hooks.add(\"wrap\",function(a){\"entity\"===a.type&&(a.attributes.title=a.content.replace(/&amp;/,\"&\"))})}(Prism);\nPrism.languages.asm6502={comment:/;.*/,directive:{pattern:/\\.\\w+(?= )/,alias:\"keyword\"},string:/([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,opcode:{pattern:/\\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\\b/,alias:\"property\"},hexnumber:{pattern:/#?\\$[\\da-f]{2,4}/i,alias:\"string\"},binarynumber:{pattern:/#?%[01]+/,alias:\"string\"},decimalnumber:{pattern:/#?\\d+/,alias:\"string\"},register:{pattern:/\\b[xya]\\b/i,alias:\"variable\"}};\nPrism.languages.csharp=Prism.languages.extend(\"clike\",{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/,string:[{pattern:/@(\"|')(?:\\1\\1|\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0},{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*?\\1/,greedy:!0}],\"class-name\":[{pattern:/\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=\\s+\\w+)/,inside:{punctuation:/\\./}},{pattern:/(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,lookbehind:!0,inside:{punctuation:/\\./}},{pattern:/(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,lookbehind:!0,inside:{punctuation:/\\./}},{pattern:/((?:\\b(?:class|interface|new)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,lookbehind:!0,inside:{punctuation:/\\./}}],number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)f?/i}),Prism.languages.insertBefore(\"csharp\",\"class-name\",{\"generic-method\":{pattern:/\\w+\\s*<[^>\\r\\n]+?>\\s*(?=\\()/,inside:{\"function\":/^\\w+/,\"class-name\":{pattern:/\\b[A-Z]\\w*(?:\\.\\w+)*\\b/,inside:{punctuation:/\\./}},keyword:Prism.languages.csharp.keyword,punctuation:/[<>(),.:]/}},preprocessor:{pattern:/(^\\s*)#.*/m,lookbehind:!0,alias:\"property\",inside:{directive:{pattern:/(\\s*#)\\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\\b/,lookbehind:!0,alias:\"keyword\"}}}}),Prism.languages.dotnet=Prism.languages.csharp;\nPrism.languages.autohotkey={comment:{pattern:/(^[^\";\\n]*(\"[^\"\\n]*?\"[^\"\\n]*?)*)(?:;.*$|^\\s*\\/\\*[\\s\\S]*\\n\\*\\/)/m,lookbehind:!0},string:/\"(?:[^\"\\n\\r]|\"\")*\"/m,\"function\":/[^(); \\t,\\n+*\\-=?>:\\\\\\/<&%\\[\\]]+?(?=\\()/m,tag:/^[ \\t]*[^\\s:]+?(?=:(?:[^:]|$))/m,variable:/%\\w+%/,number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,operator:/\\?|\\/\\/?=?|:=|\\|[=|]?|&[=&]?|\\+[=+]?|-[=-]?|\\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\\b(?:AND|NOT|OR)\\b/,punctuation:/[{}[\\]():,]/,\"boolean\":/\\b(?:true|false)\\b/,selector:/\\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\\b/i,constant:/\\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_formatfloat|a_formatinteger|a_gui|a_guievent|a_guicontrol|a_guicontrolevent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|programfiles|a_programfiles|a_programs|a_programscommon|a-screenheight|a-screenwidth|a_scriptdir|a_scriptfullpath|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel)\\b/i,builtin:/\\b(?:abs|acos|asc|asin|atan|ceil|chr|class|cos|dllcall|exp|fileexist|Fileopen|floor|il_add|il_create|il_destroy|instr|substr|isfunc|islabel|IsObject|ln|log|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|onmessage|numget|numput|registercallback|regexmatch|regexreplace|round|sin|tan|sqrt|strlen|sb_seticon|sb_setparts|sb_settext|strsplit|tv_add|tv_delete|tv_getchild|tv_getcount|tv_getnext|tv_get|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__New|__Call|__Get|__Set)\\b/i,symbol:/\\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\\b/i,important:/#\\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InstallKeybdHook|InstallMouseHook|KeyHistory|LTrim|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|WinActivateForce)\\b/i,keyword:/\\b(?:Abort|AboveNormal|Add|ahk_class|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Region|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|TryAgain|Type|UnCheck|underline|Unicode|Unlock|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\\b/i};\nPrism.languages.autoit={comment:[/;.*/,{pattern:/(^\\s*)#(?:comments-start|cs)[\\s\\S]*?^\\s*#(?:comments-end|ce)/m,lookbehind:!0}],url:{pattern:/(^\\s*#include\\s+)(?:<[^\\r\\n>]+>|\"[^\\r\\n\"]+\")/m,lookbehind:!0},string:{pattern:/([\"'])(?:\\1\\1|(?!\\1)[^\\r\\n])*\\1/,greedy:!0,inside:{variable:/([%$@])\\w+\\1/}},directive:{pattern:/(^\\s*)#\\w+/m,lookbehind:!0,alias:\"keyword\"},\"function\":/\\b\\w+(?=\\()/,variable:/[$@]\\w+/,keyword:/\\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\\b/i,number:/\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,\"boolean\":/\\b(?:True|False)\\b/i,operator:/<[=>]?|[-+*\\/=&>]=?|[?^]|\\b(?:And|Or|Not)\\b/i,punctuation:/[\\[\\]().,:]/};\n!function(e){var t={variable:[{pattern:/\\$?\\(\\([\\s\\S]+?\\)\\)/,inside:{variable:[{pattern:/(^\\$\\(\\([\\s\\S]+)\\)\\)/,lookbehind:!0},/^\\$\\(\\(/],number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,operator:/--?|-=|\\+\\+?|\\+=|!=?|~|\\*\\*?|\\*=|\\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\\^=?|\\|\\|?|\\|=|\\?|:/,punctuation:/\\(\\(?|\\)\\)?|,|;/}},{pattern:/\\$\\([^)]+\\)|`[^`]+`/,greedy:!0,inside:{variable:/^\\$\\(|^`|\\)$|`$/}},/\\$(?:[\\w#?*!@]+|\\{[^}]+\\})/i]};e.languages.bash={shebang:{pattern:/^#!\\s*\\/bin\\/bash|^#!\\s*\\/bin\\/sh/,alias:\"important\"},comment:{pattern:/(^|[^\"{\\\\])#.*/,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<\\s*)[\"']?(\\w+?)[\"']?\\s*\\r?\\n(?:[\\s\\S])*?\\r?\\n\\2/,lookbehind:!0,greedy:!0,inside:t},{pattern:/([\"'])(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|`[^`]+`|(?!\\1)[^\\\\])*\\1/,greedy:!0,inside:t}],variable:t.variable,\"function\":{pattern:/(^|[\\s;|&])(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|npm|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|[\\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\\s;|&])(?:let|:|\\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|[\\s;|&])/,lookbehind:!0},\"boolean\":{pattern:/(^|[\\s;|&])(?:true|false)(?=$|[\\s;|&])/,lookbehind:!0},operator:/&&?|\\|\\|?|==?|!=?|<<<?|>>|<=?|>=?|=~/,punctuation:/\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];]/};var a=t.variable[1].inside;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}(Prism);\nPrism.languages.basic={comment:{pattern:/(?:!|REM\\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^_ +\\-.A-Z\\d])*\"/i,greedy:!0},number:/(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,keyword:/\\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\\$|\\b)/i,\"function\":/\\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\\$|\\b)/i,operator:/<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:AND|EQV|IMP|NOT|OR|XOR)\\b/i,punctuation:/[,;:()]/};\n!function(e){var r=/%%?[~:\\w]+%?|!\\S+!/,t={pattern:/\\/[a-z?]+(?=[ :]|$):?|-[a-z]\\b|--[a-z-]+\\b/im,alias:\"attr-name\",inside:{punctuation:/:/}},n=/\"[^\"]*\"/,i=/(?:\\b|-)\\d+\\b/;e.languages.batch={comment:[/^::.*/m,{pattern:/((?:^|[&(])[ \\t]*)rem\\b(?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0}],label:{pattern:/^:.*/m,alias:\"property\"},command:[{pattern:/((?:^|[&(])[ \\t]*)for(?: ?\\/[a-z?](?:[ :](?:\"[^\"]*\"|\\S+))?)* \\S+ in \\([^)]+\\) do/im,lookbehind:!0,inside:{keyword:/^for\\b|\\b(?:in|do)\\b/i,string:n,parameter:t,variable:r,number:i,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \\t]*)if(?: ?\\/[a-z?](?:[ :](?:\"[^\"]*\"|\\S+))?)* (?:not )?(?:cmdextversion \\d+|defined \\w+|errorlevel \\d+|exist \\S+|(?:\"[^\"]*\"|\\S+)?(?:==| (?:equ|neq|lss|leq|gtr|geq) )(?:\"[^\"]*\"|\\S+))/im,lookbehind:!0,inside:{keyword:/^if\\b|\\b(?:not|cmdextversion|defined|errorlevel|exist)\\b/i,string:n,parameter:t,variable:r,number:i,operator:/\\^|==|\\b(?:equ|neq|lss|leq|gtr|geq)\\b/i}},{pattern:/((?:^|[&()])[ \\t]*)else\\b/im,lookbehind:!0,inside:{keyword:/^else\\b/i}},{pattern:/((?:^|[&(])[ \\t]*)set(?: ?\\/[a-z](?:[ :](?:\"[^\"]*\"|\\S+))?)* (?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,inside:{keyword:/^set\\b/i,string:n,parameter:t,variable:[r,/\\w+(?=(?:[*\\/%+\\-&^|]|<<|>>)?=)/],number:i,operator:/[*\\/%+\\-&^|]=?|<<=?|>>=?|[!~_=]/,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \\t]*@?)\\w+\\b(?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,inside:{keyword:/^\\w+\\b/i,string:n,parameter:t,label:{pattern:/(^\\s*):\\S+/m,lookbehind:!0,alias:\"property\"},variable:r,number:i,operator:/\\^/}}],operator:/[&@]/,punctuation:/[()']/}}(Prism);\nPrism.languages.bison=Prism.languages.extend(\"c\",{}),Prism.languages.insertBefore(\"bison\",\"comment\",{bison:{pattern:/^[\\s\\S]*?%%[\\s\\S]*?%%/,inside:{c:{pattern:/%\\{[\\s\\S]*?%\\}|\\{(?:\\{[^}]*\\}|[^{}])*\\}/,inside:{delimiter:{pattern:/^%?\\{|%?\\}$/,alias:\"punctuation\"},\"bison-variable\":{pattern:/[$@](?:<[^\\s>]+>)?[\\w$]+/,alias:\"variable\",inside:{punctuation:/<|>/}},rest:Prism.languages.c}},comment:Prism.languages.c.comment,string:Prism.languages.c.string,property:/\\S+(?=:)/,keyword:/%\\w+/,number:{pattern:/(^|[^@])\\b(?:0x[\\da-f]+|\\d+)/i,lookbehind:!0},punctuation:/%[%?]|[|:;\\[\\]<>]/}}});\nPrism.languages.brainfuck={pointer:{pattern:/<|>/,alias:\"keyword\"},increment:{pattern:/\\+/,alias:\"inserted\"},decrement:{pattern:/-/,alias:\"deleted\"},branching:{pattern:/\\[|\\]/,alias:\"important\"},operator:/[.,]/,comment:/\\S+/};\nPrism.languages.bro={comment:{pattern:/(^|[^\\\\$])#.*/,lookbehind:!0,inside:{italic:/\\b(?:TODO|FIXME|XXX)\\b/}},string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"boolean\":/\\b[TF]\\b/,\"function\":{pattern:/(?:function|hook|event) \\w+(?:::\\w+)?/,inside:{keyword:/^(?:function|hook|event)/}},variable:{pattern:/(?:global|local) \\w+/i,inside:{keyword:/(?:global|local)/}},builtin:/(?:@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column))/,constant:{pattern:/const \\w+/i,inside:{keyword:/const/}},keyword:/\\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\\b/,operator:/--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.cpp=Prism.languages.extend(\"c\",{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/,\"boolean\":/\\b(?:true|false)\\b/,operator:/--?|\\+\\+?|!=?|<{1,2}=?|>{1,2}=?|->|:{1,2}|={1,2}|\\^|~|%|&{1,2}|\\|\\|?|\\?|\\*|\\/|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/}),Prism.languages.insertBefore(\"cpp\",\"keyword\",{\"class-name\":{pattern:/(class\\s+)\\w+/i,lookbehind:!0}}),Prism.languages.insertBefore(\"cpp\",\"string\",{\"raw-string\":{pattern:/R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,alias:\"string\",greedy:!0}});\nPrism.languages.aspnet=Prism.languages.extend(\"markup\",{\"page-directive tag\":{pattern:/<%\\s*@.*%>/i,inside:{\"page-directive tag\":/<%\\s*@\\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,rest:Prism.languages.markup.tag.inside}},\"directive tag\":{pattern:/<%.*%>/i,inside:{\"directive tag\":/<%\\s*?[$=%#:]{0,2}|%>/i,rest:Prism.languages.csharp}}}),Prism.languages.aspnet.tag.pattern=/<(?!%)\\/?[^\\s>\\/]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,Prism.languages.insertBefore(\"inside\",\"punctuation\",{\"directive tag\":Prism.languages.aspnet[\"directive tag\"]},Prism.languages.aspnet.tag.inside[\"attr-value\"]),Prism.languages.insertBefore(\"aspnet\",\"comment\",{\"asp comment\":/<%--[\\s\\S]*?--%>/}),Prism.languages.insertBefore(\"aspnet\",Prism.languages.javascript?\"script\":\"tag\",{\"asp script\":{pattern:/(<script(?=.*runat=['\"]?server['\"]?)[\\s\\S]*?>)[\\s\\S]*?(?=<\\/script>)/i,lookbehind:!0,inside:Prism.languages.csharp||{}}});\nPrism.languages.arduino=Prism.languages.extend(\"cpp\",{keyword:/\\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\\b/,builtin:/\\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\\b/,constant:/\\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\\b/});\n!function(e){var t=/#(?!\\{).+/,n={pattern:/#\\{[^}]+\\}/,alias:\"variable\"};e.languages.coffeescript=e.languages.extend(\"javascript\",{comment:t,string:[{pattern:/'(?:\\\\[\\s\\S]|[^\\\\'])*'/,greedy:!0},{pattern:/\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,greedy:!0,inside:{interpolation:n}}],keyword:/\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\"class-member\":{pattern:/@(?!\\d)\\w+/,alias:\"variable\"}}),e.languages.insertBefore(\"coffeescript\",\"comment\",{\"multiline-comment\":{pattern:/###[\\s\\S]+?###/,alias:\"comment\"},\"block-regex\":{pattern:/\\/{3}[\\s\\S]*?\\/{3}/,alias:\"regex\",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore(\"coffeescript\",\"string\",{\"inline-javascript\":{pattern:/`(?:\\\\[\\s\\S]|[^\\\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:\"punctuation\"},rest:e.languages.javascript}},\"multiline-string\":[{pattern:/'''[\\s\\S]*?'''/,greedy:!0,alias:\"string\"},{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0,alias:\"string\",inside:{interpolation:n}}]}),e.languages.insertBefore(\"coffeescript\",\"keyword\",{property:/(?!\\d)\\w+(?=\\s*:(?!:))/}),delete e.languages.coffeescript[\"template-string\"]}(Prism);\nPrism.languages.clojure={comment:/;+.*/,string:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,operator:/(?:::|[:|'])\\b[a-z][\\w*+!?-]*\\b/i,keyword:{pattern:/([^\\w+*'?-])(?:def|if|do|let|\\.\\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\\.|new|set!|def\\-|defn|defn\\-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\\*|\\+|\\-|\\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\\?|ensure|eval|every\\?|false\\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\\?|new|newline|next|nil\\?|node|not|not-any\\?|not-every\\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\\?|split-at|split-with|str|string\\?|struct|struct-map|subs|subvec|symbol|symbol\\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\\?|union|up|update-proxy|val|vals|var-get|var-set|var\\?|vector|vector-zip|vector\\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\\?|zipmap|zipper)(?=[^\\w+*'?-])/,lookbehind:!0},\"boolean\":/\\b(?:true|false|nil)\\b/,number:/\\b[0-9A-Fa-f]+\\b/,punctuation:/[{}\\[\\](),]/};\n!function(e){e.languages.ruby=e.languages.extend(\"clike\",{comment:[/#.*/,{pattern:/^=begin(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r))*?=end/m,greedy:!0}],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/});var n={pattern:/#\\{[^}]+\\}/,inside:{delimiter:{pattern:/^#\\{|\\}$/,alias:\"tag\"},rest:e.languages.ruby}};e.languages.insertBefore(\"ruby\",\"keyword\",{regex:[{pattern:/%r([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\][gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/%r<(?:[^<>\\\\]|\\\\[\\s\\S])*>[gim]{0,3}/,greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^\\/])\\/(?!\\/)(\\[.+?]|\\\\.|[^\\/\\\\\\r\\n])+\\/[gim]{0,3}(?=\\s*($|[\\r\\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\\w*(?:[?!]|\\b)/,lookbehind:!0}}),e.languages.insertBefore(\"ruby\",\"number\",{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/,constant:/\\b[A-Z]\\w*(?:[?!]|\\b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\]/,greedy:!0,inside:{interpolation:n}},{pattern:/%[qQiIwWxs]?<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,greedy:!0,inside:{interpolation:n}},{pattern:/(\"|')(?:#\\{[^}]+\\}|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0,inside:{interpolation:n}}]}(Prism);\nPrism.languages.csp={directive:{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,alias:\"keyword\"},safe:{pattern:/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\\d+=\\/]+)'/,alias:\"selector\"},unsafe:{pattern:/(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\\*)/,alias:\"function\"}};\nPrism.languages.css.selector={pattern:/[^{}\\s][^{}]*(?=\\s*\\{)/,inside:{\"pseudo-element\":/:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\"pseudo-class\":/:[-\\w]+(?:\\(.*\\))?/,\"class\":/\\.[-:.\\w]+/,id:/#[-:.\\w]+/,attribute:/\\[[^\\]]+\\]/}},Prism.languages.insertBefore(\"css\",\"function\",{hexcode:/#[\\da-f]{3,8}/i,entity:/\\\\[\\da-f]{1,8}/i,number:/[\\d%.]+/});\nPrism.languages.d=Prism.languages.extend(\"clike\",{string:[/\\b[rx]\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"[cwd]?/,/\\bq\"(?:\\[[\\s\\S]*?\\]|\\([\\s\\S]*?\\)|<[\\s\\S]*?>|\\{[\\s\\S]*?\\})\"/,/\\bq\"([_a-zA-Z][_a-zA-Z\\d]*)(?:\\r?\\n|\\r)[\\s\\S]*?(?:\\r?\\n|\\r)\\1\"/,/\\bq\"(.)[\\s\\S]*?\\1\"/,/'(?:\\\\'|\\\\?[^']+)'/,/([\"`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1[cwd]?/],number:[/\\b0x\\.?[a-f\\d_]+(?:(?!\\.\\.)\\.[a-f\\d_]*)?(?:p[+-]?[a-f\\d_]+)?[ulfi]*/i,{pattern:/((?:\\.\\.)?)(?:\\b0b\\.?|\\b|\\.)\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?[ulfi]*/i,lookbehind:!0}],keyword:/\\$|\\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\\b/,operator:/\\|[|=]?|&[&=]?|\\+[+=]?|-[-=]?|\\.?\\.\\.|=[>=]?|!(?:i[ns]\\b|<>?=?|>=?|=)?|\\bi[ns]\\b|(?:<[<>]?|>>?>?|\\^\\^|[*\\/%^~])=?/}),Prism.languages.d.comment=[/^\\s*#!.+/,{pattern:/(^|[^\\\\])\\/\\+(?:\\/\\+[\\s\\S]*?\\+\\/|[\\s\\S])*?\\+\\//,lookbehind:!0}].concat(Prism.languages.d.comment),Prism.languages.insertBefore(\"d\",\"comment\",{\"token-string\":{pattern:/\\bq\\{(?:\\{[^}]*\\}|[^}])*\\}/,alias:\"string\"}}),Prism.languages.insertBefore(\"d\",\"keyword\",{property:/\\B@\\w*/}),Prism.languages.insertBefore(\"d\",\"function\",{register:{pattern:/\\b(?:[ABCD][LHX]|E[ABCD]X|E?(?:BP|SP|DI|SI)|[ECSDGF]S|CR[0234]|DR[012367]|TR[3-7]|X?MM[0-7]|R[ABCD]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BWD]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\\d))\\b|\\bST(?:\\([0-7]\\)|\\b)/,alias:\"variable\"}});\nPrism.languages.dart=Prism.languages.extend(\"clike\",{string:[{pattern:/r?(\"\"\"|''')[\\s\\S]*?\\1/,greedy:!0},{pattern:/r?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0}],keyword:[/\\b(?:async|sync|yield)\\*/,/\\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\\b/],operator:/\\bis!|\\b(?:as|is)\\b|\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?/}),Prism.languages.insertBefore(\"dart\",\"function\",{metadata:{pattern:/@\\w+/,alias:\"symbol\"}});\nPrism.languages.diff={coord:[/^(?:\\*{3}|-{3}|\\+{3}).*$/m,/^@@.*@@$/m,/^\\d+.*$/m],deleted:/^[-<].*$/m,inserted:/^[+>].*$/m,diff:{pattern:/^!(?!!).+$/m,alias:\"important\"}};\nvar _django_template={property:{pattern:/(?:{{|{%)[\\s\\S]*?(?:%}|}})/g,greedy:!0,inside:{string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},keyword:/\\b(?:\\||load|verbatim|widthratio|ssi|firstof|for|url|ifchanged|csrf_token|lorem|ifnotequal|autoescape|now|templatetag|debug|cycle|ifequal|regroup|comment|filter|endfilter|if|spaceless|with|extends|block|include|else|empty|endif|endfor|as|endblock|endautoescape|endverbatim|trans|endtrans|[Tt]rue|[Ff]alse|[Nn]one|in|is|static|macro|endmacro|call|endcall|set|endset|raw|endraw)\\b/,operator:/[-+=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:or|and|not)\\b/,\"function\":/\\b(?:_|abs|add|addslashes|attr|batch|callable|capfirst|capitalize|center|count|cut|d|date|default|default_if_none|defined|dictsort|dictsortreversed|divisibleby|e|equalto|escape|escaped|escapejs|even|filesizeformat|first|float|floatformat|force_escape|forceescape|format|get_digit|groupby|indent|int|iriencode|iterable|join|last|length|length_is|linebreaks|linebreaksbr|linenumbers|list|ljust|lower|make_list|map|mapping|number|odd|phone2numeric|pluralize|pprint|random|reject|rejectattr|removetags|replace|reverse|rjust|round|safe|safeseq|sameas|select|selectattr|sequence|slice|slugify|sort|string|stringformat|striptags|sum|time|timesince|timeuntil|title|trim|truncate|truncatechars|truncatechars_html|truncatewords|truncatewords_html|undefined|unordered_list|upper|urlencode|urlize|urlizetrunc|wordcount|wordwrap|xmlattr|yesno)\\b/,important:/\\b-?\\d+(?:\\.\\d+)?\\b/,variable:/\\b\\w+?\\b/,punctuation:/[[\\];(),.:]/}}};Prism.languages.django=Prism.languages.extend(\"markup\",{comment:/(?:<!--|{#)[\\s\\S]*?(?:#}|-->)/}),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\",{tag:_django_template.property},Prism.languages.django.style),Prism.languages.django.style.inside.string.inside=_django_template),Prism.languages.jinja2=Prism.languages.django;\nPrism.languages.docker={keyword:{pattern:/(^\\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)/im,lookbehind:!0},string:/(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,comment:/#.*/,punctuation:/---|\\.\\.\\.|[:[\\]{}\\-,|>?]/},Prism.languages.dockerfile=Prism.languages.docker;\nPrism.languages.eiffel={comment:/--.*/,string:[{pattern:/\"([^[]*)\\[[\\s\\S]*?\\]\\1\"/,greedy:!0},{pattern:/\"([^{]*)\\{[\\s\\S]*?\\}\\1\"/,greedy:!0},{pattern:/\"(?:%\\s+%|%.|[^%\"\\r\\n])*\"/,greedy:!0}],\"char\":/'(?:%.|[^%'\\r\\n])+'/,keyword:/\\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\\b/i,\"boolean\":/\\b(?:True|False)\\b/i,\"class-name\":{pattern:/\\b[A-Z][\\dA-Z_]*\\b/,alias:\"builtin\"},number:[/\\b0[xcb][\\da-f](?:_*[\\da-f])*\\b/i,/(?:\\d(?:_*\\d)*)?\\.(?:(?:\\d(?:_*\\d)*)?e[+-]?)?\\d(?:_*\\d)*|\\d(?:_*\\d)*\\.?/i],punctuation:/:=|<<|>>|\\(\\||\\|\\)|->|\\.(?=\\w)|[{}[\\];(),:?]/,operator:/\\\\\\\\|\\|\\.\\.\\||\\.\\.|\\/[~\\/=]?|[><]=?|[-+*^=~]/};\nPrism.languages.elixir={comment:{pattern:/#.*/m,lookbehind:!0},regex:{pattern:/~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/(\"\"\"|''')[\\s\\S]*?\\1/,greedy:!0,inside:{}},{pattern:/(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\\w+/,lookbehind:!0,alias:\"symbol\"},\"attr-name\":/\\w+:(?!:)/,capture:{pattern:/(^|[^&])&(?:[^&\\s\\d()][^\\s()]*|(?=\\())/,lookbehind:!0,alias:\"function\"},argument:{pattern:/(^|[^&])&\\d+/,lookbehind:!0,alias:\"variable\"},attribute:{pattern:/@\\w+/,alias:\"variable\"},number:/\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,keyword:/\\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\\b/,\"boolean\":/\\b(?:true|false|nil)\\b/,operator:[/\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\\[\\]{}()]/},Prism.languages.elixir.string.forEach(function(e){e.inside={interpolation:{pattern:/#\\{[^}]+\\}/,inside:{delimiter:{pattern:/^#\\{|\\}$/,alias:\"punctuation\"},rest:Prism.languages.elixir}}}});\nPrism.languages.elm={comment:/--.*|{-[\\s\\S]*?-}/,\"char\":{pattern:/'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+))'/,greedy:!0},string:[{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0},{pattern:/\"(?:[^\\\\\"\\r\\n]|\\\\(?:[abfnrtv\\\\\"]|\\d+|x[0-9a-fA-F]+))*\"/,greedy:!0}],import_statement:{pattern:/^\\s*import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+([A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,inside:{keyword:/\\b(?:import|as|exposing)\\b/}},keyword:/\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,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/,number:/\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,operator:/\\s\\.\\s|[+\\-\\/*=.$<>:&|^?%#@~!]{2,}|[+\\-\\/*=$<>:&|^?%#@~!]/,hvariable:/\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,constant:/\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,punctuation:/[{}[\\]|(),.:]/};\nPrism.languages[\"markup-templating\"]={},Object.defineProperties(Prism.languages[\"markup-templating\"],{buildPlaceholders:{value:function(e,t,n,a){e.language===t&&(e.tokenStack=[],e.code=e.code.replace(n,function(n){if(\"function\"==typeof a&&!a(n))return n;for(var r=e.tokenStack.length;-1!==e.code.indexOf(\"___\"+t.toUpperCase()+r+\"___\");)++r;return e.tokenStack[r]=n,\"___\"+t.toUpperCase()+r+\"___\"}),e.grammar=Prism.languages.markup)}},tokenizePlaceholders:{value:function(e,t){if(e.language===t&&e.tokenStack){e.grammar=Prism.languages[t];var n=0,a=Object.keys(e.tokenStack),r=function(o){if(!(n>=a.length))for(var i=0;i<o.length;i++){var g=o[i];if(\"string\"==typeof g||g.content&&\"string\"==typeof g.content){var c=a[n],s=e.tokenStack[c],l=\"string\"==typeof g?g:g.content,p=l.indexOf(\"___\"+t.toUpperCase()+c+\"___\");if(p>-1){++n;var f,u=l.substring(0,p),_=new Prism.Token(t,Prism.tokenize(s,e.grammar,t),\"language-\"+t,s),k=l.substring(p+(\"___\"+t.toUpperCase()+c+\"___\").length);if(u||k?(f=[u,_,k].filter(function(e){return!!e}),r(f)):f=_,\"string\"==typeof g?Array.prototype.splice.apply(o,[i,1].concat(f)):g.content=f,n>=a.length)break}}else g.content&&\"string\"!=typeof g.content&&r(g.content)}};r(e.tokens)}}}});\nPrism.languages.erlang={comment:/%.+/,string:{pattern:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,greedy:!0},\"quoted-function\":{pattern:/'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,alias:\"function\"},\"quoted-atom\":{pattern:/'(?:\\\\.|[^\\\\'\\r\\n])+'/,alias:\"atom\"},\"boolean\":/\\b(?:true|false)\\b/,keyword:/\\b(?:fun|when|case|of|end|if|receive|after|try|catch)\\b/,number:[/\\$\\\\?./,/\\d+#[a-z0-9]+/i,/(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i],\"function\":/\\b[a-z][\\w@]*(?=\\()/,variable:{pattern:/(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,lookbehind:!0},operator:[/[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\\b[a-z][\\w@]*/,punctuation:/[()[\\]{}:;,.#|]|<<|>>/};\nPrism.languages.fsharp=Prism.languages.extend(\"clike\",{comment:[{pattern:/(^|[^\\\\])\\(\\*[\\s\\S]*?\\*\\)/,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0}],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/,string:{pattern:/(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1)B?/,greedy:!0},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/]}),Prism.languages.insertBefore(\"fsharp\",\"keyword\",{preprocessor:{pattern:/^[^\\r\\n\\S]*#.*/m,alias:\"property\",inside:{directive:{pattern:/(\\s*#)\\b(?:else|endif|if|light|line|nowarn)\\b/,lookbehind:!0,alias:\"keyword\"}}}});\n!function(a){a.languages.flow=a.languages.extend(\"javascript\",{}),a.languages.insertBefore(\"flow\",\"keyword\",{type:[{pattern:/\\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\\b/,alias:\"tag\"}]}),a.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,a.languages.insertBefore(\"flow\",\"operator\",{\"flow-punctuation\":{pattern:/\\{\\||\\|\\}/,alias:\"punctuation\"}}),\"Array\"!==a.util.type(a.languages.flow.keyword)&&(a.languages.flow.keyword=[a.languages.flow.keyword]),a.languages.flow.keyword.unshift({pattern:/(^|[^$]\\b)(?:type|opaque|declare|Class)\\b(?!\\$)/,lookbehind:!0},{pattern:/(^|[^$]\\B)\\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\\b(?!\\$)/,lookbehind:!0})}(Prism);\nPrism.languages.fortran={\"quoted-number\":{pattern:/[BOZ](['\"])[A-F0-9]+\\1/i,alias:\"number\"},string:{pattern:/(?:\\w+_)?(['\"])(?:\\1\\1|&(?:\\r\\n?|\\n)(?:\\s*!.+(?:\\r\\n?|\\n))?|(?!\\1).)*(?:\\1|&)/,inside:{comment:{pattern:/(&(?:\\r\\n?|\\n)\\s*)!.*/,lookbehind:!0}}},comment:{pattern:/!.*/,greedy:!0},\"boolean\":/\\.(?:TRUE|FALSE)\\.(?:_\\w+)?/i,number:/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[ED][+-]?\\d+)?(?:_\\w+)?/i,keyword:[/\\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\\b/i,/\\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\\b/i,/\\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\\b/i,/\\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\\b/i],operator:[/\\*\\*|\\/\\/|=>|[=\\/]=|[<>]=?|::|[+\\-*=%]|\\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\\.|\\.[A-Z]+\\./i,{pattern:/(^|(?!\\().)\\/(?!\\))/,lookbehind:!0}],punctuation:/\\(\\/|\\/\\)|[(),;:&]/};\nPrism.languages.gedcom={\"line-value\":{pattern:/(^\\s*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-.\\/:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?\\w+ +).+/m,lookbehind:!0,inside:{pointer:{pattern:/^@\\w[\\w!\"$%&'()*+,\\-.\\/:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@$/,alias:\"variable\"}}},tag:{pattern:/(^\\s*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-.\\/:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?)\\w+/m,lookbehind:!0,alias:\"string\"},level:{pattern:/(^\\s*)\\d+/m,lookbehind:!0,alias:\"number\"},pointer:{pattern:/@\\w[\\w!\"$%&'()*+,\\-.\\/:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@/,alias:\"variable\"}};\nPrism.languages.gherkin={pystring:{pattern:/(\"\"\"|''')[\\s\\S]+?\\1/,alias:\"string\"},comment:{pattern:/((?:^|\\r?\\n|\\r)[ \\t]*)#.*/,lookbehind:!0},tag:{pattern:/((?:^|\\r?\\n|\\r)[ \\t]*)@\\S*/,lookbehind:!0},feature:{pattern:/((?:^|\\r?\\n|\\r)[ \\t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:]+(?:\\r?\\n|\\r|$))*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\\r\\n]+/,lookbehind:!0},keyword:/[^:\\r\\n]+:/}},scenario:{pattern:/((?:^|\\r?\\n|\\r)[ \\t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|ghantoH|Grundlage|Hannergrond|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|Lýsing Atburðarásar|Lýsing Dæma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo\\-ho\\-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\\r\\n]*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\\r\\n]*/,lookbehind:!0},keyword:/[^:\\r\\n]+:/}},\"table-body\":{pattern:/((?:\\r?\\n|\\r)[ \\t]*\\|.+\\|[^\\r\\n]*)+/,lookbehind:!0,inside:{outline:{pattern:/<[^>]+?>/,alias:\"variable\"},td:{pattern:/\\s*[^\\s|][^|]*/,alias:\"string\"},punctuation:/\\|/}},\"table-head\":{pattern:/(?:\\r?\\n|\\r)[ \\t]*\\|.+\\|[^\\r\\n]*/,inside:{th:{pattern:/\\s*[^\\s|][^|]*/,alias:\"variable\"},punctuation:/\\|/}},atrule:{pattern:/((?:\\r?\\n|\\r)[ \\t]+)(?:'ach|'a|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cando|Cand|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|Entonces|En|Epi|E|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kadar|Kada|Kad|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|ugeholl|Und|Un|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \\t]+)/,lookbehind:!0},string:{pattern:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'/,inside:{outline:{pattern:/<[^>]+?>/,alias:\"variable\"}}},outline:{pattern:/<[^>]+?>/,alias:\"variable\"}};\nPrism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\\+.*/m,string:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,command:{pattern:/^.*\\$ git .*$/m,inside:{parameter:/\\s--?\\w+/m}},coord:/^@@.*@@$/m,commit_sha1:/^commit \\w{40}$/m};\nPrism.languages.glsl=Prism.languages.extend(\"clike\",{comment:[/\\/\\*[\\s\\S]*?\\*\\//,/\\/\\/(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/],number:/(?:\\b0x[\\da-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ulf]*/i,keyword:/\\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[ibdu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\\b/}),Prism.languages.insertBefore(\"glsl\",\"comment\",{preprocessor:{pattern:/(^[ \\t]*)#(?:(?:define|undef|if|ifdef|ifndef|else|elif|endif|error|pragma|extension|version|line)\\b)?/m,lookbehind:!0,alias:\"builtin\"}});\nPrism.languages.go=Prism.languages.extend(\"clike\",{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/,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/,\"boolean\":/\\b(?:_|iota|nil|true|false)\\b/,operator:/[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,number:/(?:\\b0x[a-f\\d]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[-+]?\\d+)?)i?/i,string:{pattern:/([\"'`])(\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0}}),delete Prism.languages.go[\"class-name\"];\nPrism.languages.graphql={comment:/#.*/,string:{pattern:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,greedy:!0},number:/(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\"boolean\":/\\b(?:true|false)\\b/,variable:/\\$[a-z_]\\w*/i,directive:{pattern:/@[a-z_]\\w*/i,alias:\"function\"},\"attr-name\":/[a-z_]\\w*(?=\\s*:)/i,keyword:[{pattern:/(fragment\\s+(?!on)[a-z_]\\w*\\s+|\\.{3}\\s*)on\\b/,lookbehind:!0},/\\b(?:query|fragment|mutation)\\b/],operator:/!|=|\\.{3}/,punctuation:/[!(){}\\[\\]:=,]/};\nPrism.languages.groovy=Prism.languages.extend(\"clike\",{keyword:/\\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\\b/,string:[{pattern:/(\"\"\"|''')[\\s\\S]*?\\1|(?:\\$\\/)(?:\\$\\/\\$|[\\s\\S])*?\\/\\$/,greedy:!0},{pattern:/([\"'\\/])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0}],number:/\\b(?:0b[01_]+|0x[\\da-f_]+(?:\\.[\\da-f_p\\-]+)?|[\\d_]+(?:\\.[\\d_]+)?(?:e[+-]?[\\d]+)?)[glidf]?\\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\\?[.:]?|\\*(?:[.=]|\\*=?)?|\\.[@&]|\\.\\.<|\\.{1,2}(?!\\.)|-[-=>]?|\\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\\|[|=]?|\\/=?|\\^=?|%=?)/,lookbehind:!0},punctuation:/\\.+|[{}[\\];(),:$]/}),Prism.languages.insertBefore(\"groovy\",\"string\",{shebang:{pattern:/#!.+/,alias:\"comment\"}}),Prism.languages.insertBefore(\"groovy\",\"punctuation\",{\"spock-block\":/\\b(?:setup|given|when|then|and|cleanup|expect|where):/}),Prism.languages.insertBefore(\"groovy\",\"function\",{annotation:{alias:\"punctuation\",pattern:/(^|[^.])@\\w+/,lookbehind:!0}}),Prism.hooks.add(\"wrap\",function(e){if(\"groovy\"===e.language&&\"string\"===e.type){var t=e.content[0];if(\"'\"!=t){var n=/([^\\\\])(?:\\$(?:\\{.*?\\}|[\\w.]+))/;\"$\"===t&&(n=/([^\\$])(?:\\$(?:\\{.*?\\}|[\\w.]+))/),e.content=e.content.replace(/&lt;/g,\"<\").replace(/&amp;/g,\"&\"),e.content=Prism.highlight(e.content,{expression:{pattern:n,lookbehind:!0,inside:Prism.languages.groovy}}),e.classes.push(\"/\"===t?\"regex\":\"gstring\")}}});\n!function(e){e.languages.haml={\"multiline-comment\":{pattern:/((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/,lookbehind:!0,alias:\"comment\"},\"multiline-code\":[{pattern:/((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)/,lookbehind:!0,inside:{rest:e.languages.ruby}},{pattern:/((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*\\|[\\t ]*)*/,lookbehind:!0,inside:{rest:e.languages.ruby}}],filter:{pattern:/((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/,lookbehind:!0,inside:{\"filter-name\":{pattern:/^:[\\w-]+/,alias:\"variable\"}}},markup:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,lookbehind:!0,inside:{rest:e.languages.markup}},doctype:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\\{(?:\\{[^}]+\\}|[^}])+\\}/,lookbehind:!0,inside:{rest:e.languages.ruby}},{pattern:/\\([^)]+\\)/,inside:{\"attr-value\":{pattern:/(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,lookbehind:!0},\"attr-name\":/[\\w:-]+(?=\\s*!?=|\\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\\[[^\\]]+\\]/,inside:{rest:e.languages.ruby}}],punctuation:/[<>]/}},code:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:{rest:e.languages.ruby}},interpolation:{pattern:/#\\{[^}]+\\}/,inside:{delimiter:{pattern:/^#\\{|\\}$/,alias:\"punctuation\"},rest:e.languages.ruby}},punctuation:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,lookbehind:!0}};for(var t=\"((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\",r=[\"css\",{filter:\"coffee\",language:\"coffeescript\"},\"erb\",\"javascript\",\"less\",\"markdown\",\"ruby\",\"scss\",\"textile\"],n={},a=0,i=r.length;i>a;a++){var l=r[a];l=\"string\"==typeof l?{filter:l,language:l}:l,e.languages[l.language]&&(n[\"filter-\"+l.filter]={pattern:RegExp(t.replace(\"{{filter_name}}\",l.filter)),lookbehind:!0,inside:{\"filter-name\":{pattern:/^:[\\w-]+/,alias:\"variable\"},rest:e.languages[l.language]}})}e.languages.insertBefore(\"haml\",\"filter\",n)}(Prism);\n!function(a){a.languages.handlebars={comment:/\\{\\{![\\s\\S]*?\\}\\}/,delimiter:{pattern:/^\\{\\{\\{?|\\}\\}\\}?$/i,alias:\"punctuation\"},string:/([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\"boolean\":/\\b(?:true|false)\\b/,block:{pattern:/^(\\s*~?\\s*)[#\\/]\\S+?(?=\\s*~?\\s*$|\\s)/i,lookbehind:!0,alias:\"keyword\"},brackets:{pattern:/\\[[^\\]]+\\]/,inside:{punctuation:/\\[|\\]/,variable:/[\\s\\S]+/}},punctuation:/[!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,variable:/[^!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/},a.hooks.add(\"before-tokenize\",function(e){var n=/\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g;a.languages[\"markup-templating\"].buildPlaceholders(e,\"handlebars\",n)}),a.hooks.add(\"after-tokenize\",function(e){a.languages[\"markup-templating\"].tokenizePlaceholders(e,\"handlebars\")})}(Prism);\nPrism.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|{-[\\s\\S]*?-})/m,lookbehind:!0},\"char\":/'(?:[^\\\\']|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\\d+|o[0-7]+|x[0-9a-fA-F]+))'/,string:{pattern:/\"(?:[^\\\\\"]|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\\d+|o[0-7]+|x[0-9a-fA-F]+)|\\\\\\s+\\\\)*\"/,greedy:!0},keyword:/\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,import_statement:{pattern:/((?:\\r?\\n|\\r|^)\\s*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][_a-zA-Z0-9']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,lookbehind:!0,inside:{keyword:/\\b(?:import|qualified|as|hiding)\\b/}},builtin:/\\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b/,number:/\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,operator:/\\s\\.\\s|[-!#$%*+=?&@|~.:<>^\\\\\\/]*\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+|[-!#$%*+=?&@|~.:<>^\\\\\\/]+\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]*|[-!#$%*+=?&@|~:<>^\\\\\\/]+|`([A-Z][\\w']*\\.)*[_a-z][\\w']*`/,hvariable:/\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*\\b/,constant:/\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*\\b/,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.haxe=Prism.languages.extend(\"clike\",{string:{pattern:/([\"'])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,greedy:!0,inside:{interpolation:{pattern:/(^|[^\\\\])\\$(?:\\w+|\\{[^}]+\\})/,lookbehind:!0,inside:{interpolation:{pattern:/^\\$\\w*/,alias:\"variable\"}}}}},keyword:/\\bthis\\b|\\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\\.)\\b/,operator:/\\.{3}|\\+\\+?|-[->]?|[=!]=?|&&?|\\|\\|?|<[<=]?|>[>=]?|[*\\/%~^]/}),Prism.languages.insertBefore(\"haxe\",\"class-name\",{regex:{pattern:/~\\/(?:[^\\/\\\\\\r\\n]|\\\\.)+\\/[igmsu]*/,greedy:!0}}),Prism.languages.insertBefore(\"haxe\",\"keyword\",{preprocessor:{pattern:/#\\w+/,alias:\"builtin\"},metadata:{pattern:/@:?\\w+/,alias:\"symbol\"},reification:{pattern:/\\$(?:\\w+|(?=\\{))/,alias:\"variable\"}}),Prism.languages.haxe.string.inside.interpolation.inside.rest=Prism.languages.haxe,delete Prism.languages.haxe[\"class-name\"];\nPrism.languages.http={\"request-line\":{pattern:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\s(?:https?:\\/\\/|\\/)\\S+\\sHTTP\\/[0-9.]+/m,inside:{property:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\b/,\"attr-name\":/:\\w+/}},\"response-status\":{pattern:/^HTTP\\/1.[01] \\d+.*/m,inside:{property:{pattern:/(^HTTP\\/1.[01] )\\d+.*/i,lookbehind:!0}}},\"header-name\":{pattern:/^[\\w-]+:(?=.)/m,alias:\"keyword\"}};var httpLanguages={\"application/json\":Prism.languages.javascript,\"application/xml\":Prism.languages.markup,\"text/xml\":Prism.languages.markup,\"text/html\":Prism.languages.markup};for(var contentType in httpLanguages)if(httpLanguages[contentType]){var options={};options[contentType]={pattern:new RegExp(\"(content-type:\\\\s*\"+contentType+\"[\\\\w\\\\W]*?)(?:\\\\r?\\\\n|\\\\r){2}[\\\\w\\\\W]*\",\"i\"),lookbehind:!0,inside:{rest:httpLanguages[contentType]}},Prism.languages.insertBefore(\"http\",\"header-name\",options)};\nPrism.languages.hpkp={directive:{pattern:/\\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256=\"[a-zA-Z\\d+=\\/]+\"|(?:max-age|report-uri)=|report-to )/,alias:\"keyword\"},safe:{pattern:/\\d{7,}/,alias:\"selector\"},unsafe:{pattern:/\\d{0,6}/,alias:\"function\"}};\nPrism.languages.hsts={directive:{pattern:/\\b(?:max-age=|includeSubDomains|preload)/,alias:\"keyword\"},safe:{pattern:/\\d{8,}/,alias:\"selector\"},unsafe:{pattern:/\\d{0,7}/,alias:\"function\"}};\nPrism.languages.ichigojam={comment:/(?:\\B'|REM)(?:[^\\n\\r]*)/i,string:{pattern:/\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^_ +\\-.A-Z\\d])*\"/i,greedy:!0},number:/\\B#[0-9A-F]+|\\B`[01]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,keyword:/\\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\\$|\\b)/i,\"function\":/\\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\\$|\\b)/i,label:/(?:\\B@[^\\s]+)/i,operator:/<[=>]?|>=?|\\|\\||&&|[+\\-*\\/=|&^~!]|\\b(?:AND|NOT|OR)\\b/i,punctuation:/[\\[,;:()\\]]/};\nPrism.languages.icon={comment:/#.*/,string:{pattern:/([\"'])(?:(?!\\1)[^\\\\\\r\\n_]|\\\\.|_(?!\\1)(?:\\r\\n|[\\s\\S]))*\\1/,greedy:!0},number:/\\b(?:\\d+r[a-z\\d]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b|\\.\\d+\\b/i,\"builtin-keyword\":{pattern:/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\\b/,alias:\"variable\"},directive:{pattern:/\\$\\w+/,alias:\"builtin\"},keyword:/\\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\\b/,\"function\":/(?!\\d)\\w+(?=\\s*[({]|\\s*!\\s*\\[)/,operator:/[+-]:(?!=)|(?:[\\/?@^%&]|\\+\\+?|--?|==?=?|~==?=?|\\*\\*?|\\|\\|\\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\\\|~]/,punctuation:/[\\[\\](){},;]/};\nPrism.languages.inform7={string:{pattern:/\"[^\"]*\"/,inside:{substitution:{pattern:/\\[[^\\]]+\\]/,inside:{delimiter:{pattern:/\\[|\\]/,alias:\"punctuation\"}}}}},comment:{pattern:/\\[[^\\]]+\\]/,greedy:!0},title:{pattern:/^[ \\t]*(?:volume|book|part(?! of)|chapter|section|table)\\b.+/im,alias:\"important\"},number:{pattern:/(^|[^-])(?:\\b\\d+(?:\\.\\d+)?(?:\\^\\d+)?\\w*|\\b(?:one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve))\\b(?!-)/i,lookbehind:!0},verb:{pattern:/(^|[^-])\\b(?:applying to|are|attacking|answering|asking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:s|ing)?|consulting|contain(?:s|ing)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:ve|s|ving)|hold(?:s|ing)?|impl(?:y|ies)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:s|ing)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:s|ing)?|setting|showing|singing|sleeping|smelling|squeezing|switching|support(?:s|ing)?|swearing|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:s|ing)?|var(?:y|ies|ying)|waiting|waking|waving|wear(?:s|ing)?)\\b(?!-)/i,lookbehind:!0,alias:\"operator\"},keyword:{pattern:/(^|[^-])\\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|unless|the story)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\\b(?!-)/i,lookbehind:!0},property:{pattern:/(^|[^-])\\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: on| off)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\\b(?!-)/i,lookbehind:!0,alias:\"symbol\"},position:{pattern:/(^|[^-])\\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\\b(?!-)/i,lookbehind:!0,alias:\"keyword\"},type:{pattern:/(^|[^-])\\b(?:actions?|activit(?:y|ies)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\\b(?!-)/i,lookbehind:!0,alias:\"variable\"},punctuation:/[.,:;(){}]/},Prism.languages.inform7.string.inside.substitution.inside.rest=Prism.languages.inform7,Prism.languages.inform7.string.inside.substitution.inside.rest.text={pattern:/\\S(?:\\s*\\S)*/,alias:\"comment\"};\nPrism.languages.ini={comment:/^[ \\t]*;.*$/m,selector:/^[ \\t]*\\[.*?\\]/m,constant:/^[ \\t]*[^\\s=]+?(?=[ \\t]*=)/m,\"attr-value\":{pattern:/=.*/,inside:{punctuation:/^[=]/}}};\nPrism.languages.io={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0},{pattern:/(^|[^\\\\])\\/\\/.*/,lookbehind:!0},{pattern:/(^|[^\\\\])#.*/,lookbehind:!0}],\"triple-quoted-string\":{pattern:/\"\"\"(?:\\\\[\\s\\S]|(?!\"\"\")[^\\\\])*\"\"\"/,greedy:!0,alias:\"string\"},string:{pattern:/\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,greedy:!0},keyword:/\\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\\b/,builtin:/\\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\\b/,\"boolean\":/\\b(?:true|false|nil)\\b/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e-?\\d+)?/i,operator:/[=!*\\/%+-^&|]=|>>?=?|<<?=?|:?:?=|\\+\\+?|--?|\\*\\*?|\\/\\/?|%|\\|\\|?|&&?|(\\b(?:return|and|or|not)\\b)|@@?|\\?\\??|\\.\\./,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.j={comment:/\\bNB\\..*/,string:{pattern:/'(?:''|[^'\\r\\n])*'/,greedy:!0},keyword:/\\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\\w+|goto_\\w+|if|label_\\w+|return|select|throw|try|while|whilst)\\.)/,verb:{pattern:/(?!\\^:|;\\.|[=!][.:])(?:\\{(?:\\.|::?)?|p(?:\\.\\.?|:)|[=!\\]]|[<>+*\\-%$|,#][.:]?|[?^]\\.?|[;\\[]:?|[~}\"i][.:]|[ACeEIjLor]\\.|(?:[_\\/\\\\qsux]|_?\\d):)/,alias:\"keyword\"},number:/\\b_?(?:(?!\\d:)\\d+(?:\\.\\d+)?(?:(?:[ejpx]|ad|ar)_?\\d+(?:\\.\\d+)?)*(?:b_?[\\da-z]+(?:\\.[\\da-z]+)?)?|_(?!\\.))/,adverb:{pattern:/[~}]|[\\/\\\\]\\.?|[bfM]\\.|t[.:]/,alias:\"builtin\"},operator:/[=a][.:]|_\\./,conjunction:{pattern:/&(?:\\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\\.|`:?|[\\^LS]:|\"/,alias:\"variable\"},punctuation:/[()]/};\nPrism.languages.java=Prism.languages.extend(\"clike\",{keyword:/\\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\\b/,number:/\\b0b[01]+\\b|\\b0x[\\da-f]*\\.?[\\da-fp-]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?[df]?/i,operator:{pattern:/(^|[^.])(?:\\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\\|[|=]?|\\*=?|\\/=?|%=?|\\^=?|[?:~])/m,lookbehind:!0}}),Prism.languages.insertBefore(\"java\",\"function\",{annotation:{alias:\"punctuation\",pattern:/(^|[^.])@\\w+/,lookbehind:!0}}),Prism.languages.insertBefore(\"java\",\"class-name\",{generics:{pattern:/<\\s*\\w+(?:\\.\\w+)?(?:\\s*,\\s*\\w+(?:\\.\\w+)?)*>/i,alias:\"function\",inside:{keyword:Prism.languages.java.keyword,punctuation:/[<>(),.:]/}}});\nPrism.languages.jolie=Prism.languages.extend(\"clike\",{keyword:/\\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\\b/,builtin:/\\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\\b/,number:/(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?l?/i,operator:/-[-=>]?|\\+[+=]?|<[<=]?|[>=*!]=?|&&|\\|\\||[:?\\/%^]/,symbol:/[|;@]/,punctuation:/[,.]/,string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0}}),delete Prism.languages.jolie[\"class-name\"],delete Prism.languages.jolie[\"function\"],Prism.languages.insertBefore(\"jolie\",\"keyword\",{\"function\":{pattern:/((?:\\b(?:outputPort|inputPort|in|service|courier)\\b|@)\\s*)\\w+/,lookbehind:!0},aggregates:{pattern:/(\\bAggregates\\s*:\\s*)(?:\\w+(?:\\s+with\\s+\\w+)?\\s*,\\s*)*\\w+(?:\\s+with\\s+\\w+)?/,lookbehind:!0,inside:{withExtension:{pattern:/\\bwith\\s+\\w+/,inside:{keyword:/\\bwith\\b/}},\"function\":{pattern:/\\w+/},punctuation:{pattern:/,/}}},redirects:{pattern:/(\\bRedirects\\s*:\\s*)(?:\\w+\\s*=>\\s*\\w+\\s*,\\s*)*(?:\\w+\\s*=>\\s*\\w+)/,lookbehind:!0,inside:{punctuation:{pattern:/,/},\"function\":{pattern:/\\w+/},symbol:{pattern:/=>/}}}});\nPrism.languages.json={property:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/i,string:{pattern:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,greedy:!0},number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,punctuation:/[{}[\\]);,]/,operator:/:/g,\"boolean\":/\\b(?:true|false)\\b/i,\"null\":/\\bnull\\b/i},Prism.languages.jsonp=Prism.languages.json;\nPrism.languages.julia={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0},string:/(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2/,keyword:/\\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|let|local|macro|module|print|println|quote|return|try|type|typealias|using|while)\\b/,\"boolean\":/\\b(?:true|false)\\b/,number:/(?:\\b(?=\\d)|\\B(?=\\.))(?:0[box])?(?:[\\da-f]+\\.?\\d*|\\.\\d+)(?:[efp][+-]?\\d+)?j?/i,operator:/[-+*^%÷&$\\\\]=?|\\/[\\/=]?|!=?=?|\\|[=>]?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.keyman={comment:/\\bc\\s.*/i,\"function\":/\\[\\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\\s+)*(?:[TKU]_[\\w?]+|\".+?\"|'.+?')\\s*\\]/i,string:/(\"|').*?\\1/,bold:[/&(?:baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embedjs|kmw_helpfile|kmw_helptext|kmw_rtl|language|layer|layoutfile|message|mnemoniclayout|name|oldcharposmatching|platform|targets|version|visualkeyboard|windowslanguages)\\b/i,/\\b(?:bitmap|bitmaps|caps on only|caps always off|shift frees caps|copyright|hotkey|language|layout|message|name|version)\\b/i],keyword:/\\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|return|reset|save|set|store|use)\\b/i,atrule:/\\b(?:ansi|begin|unicode|group|using keys|match|nomatch)\\b/i,number:/\\b(?:U\\+[\\dA-F]+|d\\d+|x[\\da-f]+|\\d+)\\b/i,operator:/[+>\\\\,()]/,tag:/\\$(?:keyman|kmfl|weaver|keymanweb|keymanonly):/i};\n!function(e){e.languages.kotlin=e.languages.extend(\"clike\",{keyword:{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/,lookbehind:!0},\"function\":[/\\w+(?=\\s*\\()/,{pattern:/(\\.)\\w+(?=\\s*\\{)/,lookbehind:!0}],number:/\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,operator:/\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/}),delete e.languages.kotlin[\"class-name\"],e.languages.insertBefore(\"kotlin\",\"string\",{\"raw-string\":{pattern:/(\"\"\"|''')[\\s\\S]*?\\1/,alias:\"string\"}}),e.languages.insertBefore(\"kotlin\",\"keyword\",{annotation:{pattern:/\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,alias:\"builtin\"}}),e.languages.insertBefore(\"kotlin\",\"function\",{label:{pattern:/\\w+@|@\\w+/,alias:\"symbol\"}});var n=[{pattern:/\\$\\{[^}]+\\}/,inside:{delimiter:{pattern:/^\\$\\{|\\}$/,alias:\"variable\"},rest:e.languages.kotlin}},{pattern:/\\$\\w+/,alias:\"variable\"}];e.languages.kotlin.string.inside=e.languages.kotlin[\"raw-string\"].inside={interpolation:n}}(Prism);\n!function(a){var e=/\\\\(?:[^a-z()[\\]]|[a-z*]+)/i,n={\"equation-command\":{pattern:e,alias:\"regex\"}};a.languages.latex={comment:/%.*/m,cdata:{pattern:/(\\\\begin\\{((?:verbatim|lstlisting)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,lookbehind:!0},equation:[{pattern:/\\$(?:\\\\[\\s\\S]|[^\\\\$])*\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,inside:n,alias:\"string\"},{pattern:/(\\\\begin\\{((?:equation|math|eqnarray|align|multline|gather)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,lookbehind:!0,inside:n,alias:\"string\"}],keyword:{pattern:/(\\\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,lookbehind:!0},url:{pattern:/(\\\\url\\{)[^}]+(?=\\})/,lookbehind:!0},headline:{pattern:/(\\\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\}(?:\\[[^\\]]+\\])?)/,lookbehind:!0,alias:\"class-name\"},\"function\":{pattern:e,alias:\"selector\"},punctuation:/[[\\]{}&]/}}(Prism);\nPrism.languages.less=Prism.languages.extend(\"css\",{comment:[/\\/\\*[\\s\\S]*?\\*\\//,{pattern:/(^|[^\\\\])\\/\\/.*/,lookbehind:!0}],atrule:{pattern:/@[\\w-]+?(?:\\([^{}]+\\)|[^(){};])*?(?=\\s*\\{)/i,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\([^{}]*\\)|[^{};@])*?(?=\\s*\\{)/,inside:{variable:/@+[\\w-]+/}},property:/(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/i,punctuation:/[{}();:,]/,operator:/[+\\-*\\/]/}),Prism.languages.insertBefore(\"less\",\"punctuation\",{\"function\":Prism.languages.less.function}),Prism.languages.insertBefore(\"less\",\"property\",{variable:[{pattern:/@[\\w-]+\\s*:/,inside:{punctuation:/:/}},/@@?[\\w-]+/],\"mixin-usage\":{pattern:/([{;]\\s*)[.#](?!\\d)[\\w-]+.*?(?=[(;])/,lookbehind:!0,alias:\"function\"}});\nPrism.languages.liquid={keyword:/\\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\\b/,number:/\\b0b[01]+\\b|\\b0x[\\da-f]*\\.?[\\da-fp-]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?[df]?/i,operator:{pattern:/(^|[^.])(?:\\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\\|[|=]?|\\*=?|\\/=?|%=?|\\^=?|[?:~])/m,lookbehind:!0},\"function\":{pattern:/(^|[\\s;|&])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\\s;|&])/,lookbehind:!0}};\n!function(e){function n(e){return new RegExp(\"(\\\\()\"+e+\"(?=[\\\\s\\\\)])\")}function a(e){return new RegExp(\"([\\\\s([])\"+e+\"(?=[\\\\s)])\")}var t=\"[-+*/_~!@$%^=<>{}\\\\w]+\",r=\"&\"+t,i=\"(\\\\()\",s=\"(?=\\\\))\",o=\"(?=\\\\s)\",l={heading:{pattern:/;;;.*/,alias:[\"comment\",\"title\"]},comment:/;.*/,string:{pattern:/\"(?:[^\"\\\\]*|\\\\.)*\"/,greedy:!0,inside:{argument:/[-A-Z]+(?=[.,\\s])/,symbol:new RegExp(\"`\"+t+\"'\")}},\"quoted-symbol\":{pattern:new RegExp(\"#?'\"+t),alias:[\"variable\",\"symbol\"]},\"lisp-property\":{pattern:new RegExp(\":\"+t),alias:\"property\"},splice:{pattern:new RegExp(\",@?\"+t),alias:[\"symbol\",\"variable\"]},keyword:[{pattern:new RegExp(i+\"(?:(?:lexical-)?let\\\\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)\"+o),lookbehind:!0},{pattern:new RegExp(i+\"(?:for|do|collect|return|finally|append|concat|in|by)\"+o),lookbehind:!0}],declare:{pattern:n(\"declare\"),lookbehind:!0,alias:\"keyword\"},interactive:{pattern:n(\"interactive\"),lookbehind:!0,alias:\"keyword\"},\"boolean\":{pattern:a(\"(?:t|nil)\"),lookbehind:!0},number:{pattern:a(\"[-+]?\\\\d+(?:\\\\.\\\\d*)?\"),lookbehind:!0},defvar:{pattern:new RegExp(i+\"def(?:var|const|custom|group)\\\\s+\"+t),lookbehind:!0,inside:{keyword:/^def[a-z]+/,variable:new RegExp(t)}},defun:{pattern:new RegExp(i+\"(?:cl-)?(?:defun\\\\*?|defmacro)\\\\s+\"+t+\"\\\\s+\\\\([\\\\s\\\\S]*?\\\\)\"),lookbehind:!0,inside:{keyword:/^(?:cl-)?def\\S+/,arguments:null,\"function\":{pattern:new RegExp(\"(^\\\\s)\"+t),lookbehind:!0},punctuation:/[()]/}},lambda:{pattern:new RegExp(i+\"lambda\\\\s+\\\\((?:&?\"+t+\"\\\\s*)*\\\\)\"),lookbehind:!0,inside:{keyword:/^lambda/,arguments:null,punctuation:/[()]/}},car:{pattern:new RegExp(i+t),lookbehind:!0},punctuation:[/(['`,]?\\(|[)\\[\\]])/,{pattern:/(\\s)\\.(?=\\s)/,lookbehind:!0}]},p={\"lisp-marker\":new RegExp(r),rest:{argument:{pattern:new RegExp(t),alias:\"variable\"},varform:{pattern:new RegExp(i+t+\"\\\\s+\\\\S[\\\\s\\\\S]*\"+s),lookbehind:!0,inside:{string:l.string,\"boolean\":l.boolean,number:l.number,symbol:l.symbol,punctuation:/[()]/}}}},d=\"\\\\S+(?:\\\\s+\\\\S+)*\",u={pattern:new RegExp(i+\"[\\\\s\\\\S]*\"+s),lookbehind:!0,inside:{\"rest-vars\":{pattern:new RegExp(\"&(?:rest|body)\\\\s+\"+d),inside:p},\"other-marker-vars\":{pattern:new RegExp(\"&(?:optional|aux)\\\\s+\"+d),inside:p},keys:{pattern:new RegExp(\"&key\\\\s+\"+d+\"(?:\\\\s+&allow-other-keys)?\"),inside:p},argument:{pattern:new RegExp(t),alias:\"variable\"},punctuation:/[()]/}};l.lambda.inside.arguments=u,l.defun.inside.arguments=e.util.clone(u),l.defun.inside.arguments.inside.sublist=u,e.languages.lisp=l,e.languages.elisp=l,e.languages.emacs=l,e.languages[\"emacs-lisp\"]=l}(Prism);\nPrism.languages.livescript={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0},{pattern:/(^|[^\\\\])#.*/,lookbehind:!0}],\"interpolated-string\":{pattern:/(^|[^\"])(\"\"\"|\")(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2(?!\")/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(^|[^\\\\])#[a-z_](?:-?[a-z]|[\\d_])*/m,lookbehind:!0},interpolation:{pattern:/(^|[^\\\\])#\\{[^}]+\\}/m,lookbehind:!0,inside:{\"interpolation-punctuation\":{pattern:/^#\\{|\\}$/,alias:\"variable\"}}},string:/[\\s\\S]+/}},string:[{pattern:/('''|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0},{pattern:/<\\[[\\s\\S]*?\\]>/,greedy:!0},/\\\\[^\\s,;\\])}]+/],regex:[{pattern:/\\/\\/(\\[.+?]|\\\\.|(?!\\/\\/)[^\\\\])+\\/\\/[gimyu]{0,5}/,greedy:!0,inside:{comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0}}},{pattern:/\\/(\\[.+?]|\\\\.|[^\\/\\\\\\r\\n])+\\/[gimyu]{0,5}/,greedy:!0}],keyword:{pattern:/(^|(?!-).)\\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\\b/m,lookbehind:!0},\"keyword-operator\":{pattern:/(^|[^-])\\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\\b)/m,lookbehind:!0,alias:\"operator\"},\"boolean\":{pattern:/(^|[^-])\\b(?:false|no|off|on|true|yes)(?!-)\\b/m,lookbehind:!0},argument:{pattern:/(^|(?!\\.&\\.)[^&])&(?!&)\\d*/m,lookbehind:!0,alias:\"variable\"},number:/\\b(?:\\d+~[\\da-z]+|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[a-z]\\w*)?)/i,identifier:/[a-z_](?:-?[a-z]|[\\d_])*/i,operator:[{pattern:/( )\\.(?= )/,lookbehind:!0},/\\.(?:[=~]|\\.\\.?)|\\.(?:[&|^]|<<|>>>?)\\.|:(?:=|:=?)|&&|\\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\\+\\+?|@@?|%%?|\\*\\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\\^\\^?|[\\/?]/],punctuation:/[(){}\\[\\]|.,:;`]/},Prism.languages.livescript[\"interpolated-string\"].inside.interpolation.inside.rest=Prism.languages.livescript;\nPrism.languages.lolcode={comment:[/\\bOBTW\\s+[\\s\\S]*?\\s+TLDR\\b/,/\\bBTW.+/],string:{pattern:/\"(?::.|[^\"])*\"/,inside:{variable:/:\\{[^}]+\\}/,symbol:[/:\\([a-f\\d]+\\)/i,/:\\[[^\\]]+\\]/,/:[)>o\":]/]},greedy:!0},number:/(?:\\B-)?(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)/,symbol:{pattern:/(^|\\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\\s|,|$)/,lookbehind:!0,inside:{keyword:/A(?=\\s)/}},label:{pattern:/((?:^|\\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\\w*/,lookbehind:!0,alias:\"string\"},\"function\":{pattern:/((?:^|\\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\\w*/,lookbehind:!0},keyword:[{pattern:/(^|\\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\\?|YA RLY|NO WAI|OIC|MEBBE|WTF\\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\\s|,|$)/,lookbehind:!0},/'Z(?=\\s|,|$)/],\"boolean\":{pattern:/(^|\\s)(?:WIN|FAIL)(?=\\s|,|$)/,lookbehind:!0},variable:{pattern:/(^|\\s)IT(?=\\s|,|$)/,lookbehind:!0},operator:{pattern:/(^|\\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\\s|,|$)/,lookbehind:!0},punctuation:/\\.{3}|…|,|!/};\nPrism.languages.lua={comment:/^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,string:{pattern:/([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[\\s\\S]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,greedy:!0},number:/\\b0x[a-f\\d]+\\.?[a-f\\d]*(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|\\.?\\d*(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,keyword:/\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,\"function\":/(?!\\d)\\w+(?=\\s*(?:[({]))/,operator:[/[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\\.\\.(?!\\.)/,lookbehind:!0}],punctuation:/[\\[\\](){},;]|\\.+|:+/};\nPrism.languages.makefile={comment:{pattern:/(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,lookbehind:!0},string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},builtin:/\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,symbol:{pattern:/^[^:=\\r\\n]+(?=\\s*:(?!=))/m,inside:{variable:/\\$+(?:[^(){}:#=\\s]+|(?=[({]))/}},variable:/\\$+(?:[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,keyword:[/-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/,{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])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/};\nPrism.languages.markdown=Prism.languages.extend(\"markup\",{}),Prism.languages.insertBefore(\"markdown\",\"prolog\",{blockquote:{pattern:/^>(?:[\\t ]*>)*/m,alias:\"punctuation\"},code:[{pattern:/^(?: {4}|\\t).+/m,alias:\"keyword\"},{pattern:/``.+?``|`[^`\\n]+`/,alias:\"keyword\"}],title:[{pattern:/\\w+.*(?:\\r?\\n|\\r)(?:==+|--+)/,alias:\"important\",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\\s*)#+.+/m,lookbehind:!0,alias:\"important\",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,lookbehind:!0,alias:\"punctuation\"},list:{pattern:/(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,lookbehind:!0,alias:\"punctuation\"},\"url-reference\":{pattern:/!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,inside:{variable:{pattern:/^(!?\\[)[^\\]]+/,lookbehind:!0},string:/(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,punctuation:/^[\\[\\]!:]|[<>]/},alias:\"url\"},bold:{pattern:/(^|[^\\\\])(\\*\\*|__)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,lookbehind:!0,inside:{punctuation:/^\\*\\*|^__|\\*\\*$|__$/}},italic:{pattern:/(^|[^\\\\])([*_])(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,lookbehind:!0,inside:{punctuation:/^[*_]|[*_]$/}},url:{pattern:/!?\\[[^\\]]+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)| ?\\[[^\\]\\n]*\\])/,inside:{variable:{pattern:/(!?\\[)[^\\]]+(?=\\]$)/,lookbehind:!0},string:{pattern:/\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/}}}}),Prism.languages.markdown.bold.inside.url=Prism.languages.markdown.url,Prism.languages.markdown.italic.inside.url=Prism.languages.markdown.url,Prism.languages.markdown.bold.inside.italic=Prism.languages.markdown.italic,Prism.languages.markdown.italic.inside.bold=Prism.languages.markdown.bold;\n!function(e){e.languages.erb=e.languages.extend(\"ruby\",{}),e.languages.insertBefore(\"erb\",\"comment\",{delimiter:{pattern:/^<%=?|%>$/,alias:\"punctuation\"}}),e.hooks.add(\"before-tokenize\",function(a){var n=/<%=?[\\s\\S]+?%>/g;e.languages[\"markup-templating\"].buildPlaceholders(a,\"erb\",n)}),e.hooks.add(\"after-tokenize\",function(a){e.languages[\"markup-templating\"].tokenizePlaceholders(a,\"erb\")})}(Prism);\nPrism.languages.matlab={comment:[/%\\{[\\s\\S]*?\\}%/,/%.+/],string:{pattern:/\\B'(?:''|[^'\\r\\n])*'/,greedy:!0},number:/(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[eE][+-]?\\d+)?(?:[ij])?|\\b[ij]\\b/,keyword:/\\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\\b/,\"function\":/(?!\\d)\\w+(?=\\s*\\()/,operator:/\\.?[*^\\/\\\\']|[+\\-:@]|[<>=~]=?|&&?|\\|\\|?/,punctuation:/\\.{3}|[.,;\\[\\](){}!]/};\nPrism.languages.mel={comment:/\\/\\/.*/,code:{pattern:/`(?:\\\\.|[^\\\\`\\r\\n])*`/,greedy:!0,alias:\"italic\",inside:{delimiter:{pattern:/^`|`$/,alias:\"punctuation\"}}},string:{pattern:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,greedy:!0},variable:/\\$\\w+/,number:/\\b0x[\\da-fA-F]+\\b|\\b\\d+\\.?\\d*|\\B\\.\\d+/,flag:{pattern:/-[^\\d\\W]\\w*/,alias:\"operator\"},keyword:/\\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\\b/,\"function\":/\\w+(?=\\()|\\b(?:about|abs|addAttr|addAttributeEditorNodeHelp|addDynamic|addNewShelfTab|addPP|addPanelCategory|addPrefixToName|advanceToNextDrivenKey|affectedNet|affects|aimConstraint|air|alias|aliasAttr|align|alignCtx|alignCurve|alignSurface|allViewFit|ambientLight|angle|angleBetween|animCone|animCurveEditor|animDisplay|animView|annotate|appendStringArray|applicationName|applyAttrPreset|applyTake|arcLenDimContext|arcLengthDimension|arclen|arrayMapper|art3dPaintCtx|artAttrCtx|artAttrPaintVertexCtx|artAttrSkinPaintCtx|artAttrTool|artBuildPaintMenu|artFluidAttrCtx|artPuttyCtx|artSelectCtx|artSetPaintCtx|artUserPaintCtx|assignCommand|assignInputDevice|assignViewportFactories|attachCurve|attachDeviceAttr|attachSurface|attrColorSliderGrp|attrCompatibility|attrControlGrp|attrEnumOptionMenu|attrEnumOptionMenuGrp|attrFieldGrp|attrFieldSliderGrp|attrNavigationControlGrp|attrPresetEditWin|attributeExists|attributeInfo|attributeMenu|attributeQuery|autoKeyframe|autoPlace|bakeClip|bakeFluidShading|bakePartialHistory|bakeResults|bakeSimulation|basename|basenameEx|batchRender|bessel|bevel|bevelPlus|binMembership|bindSkin|blend2|blendShape|blendShapeEditor|blendShapePanel|blendTwoAttr|blindDataType|boneLattice|boundary|boxDollyCtx|boxZoomCtx|bufferCurve|buildBookmarkMenu|buildKeyframeMenu|button|buttonManip|CBG|cacheFile|cacheFileCombine|cacheFileMerge|cacheFileTrack|camera|cameraView|canCreateManip|canvas|capitalizeString|catch|catchQuiet|ceil|changeSubdivComponentDisplayLevel|changeSubdivRegion|channelBox|character|characterMap|characterOutlineEditor|characterize|chdir|checkBox|checkBoxGrp|checkDefaultRenderGlobals|choice|circle|circularFillet|clamp|clear|clearCache|clip|clipEditor|clipEditorCurrentTimeCtx|clipSchedule|clipSchedulerOutliner|clipTrimBefore|closeCurve|closeSurface|cluster|cmdFileOutput|cmdScrollFieldExecuter|cmdScrollFieldReporter|cmdShell|coarsenSubdivSelectionList|collision|color|colorAtPoint|colorEditor|colorIndex|colorIndexSliderGrp|colorSliderButtonGrp|colorSliderGrp|columnLayout|commandEcho|commandLine|commandPort|compactHairSystem|componentEditor|compositingInterop|computePolysetVolume|condition|cone|confirmDialog|connectAttr|connectControl|connectDynamic|connectJoint|connectionInfo|constrain|constrainValue|constructionHistory|container|containsMultibyte|contextInfo|control|convertFromOldLayers|convertIffToPsd|convertLightmap|convertSolidTx|convertTessellation|convertUnit|copyArray|copyFlexor|copyKey|copySkinWeights|cos|cpButton|cpCache|cpClothSet|cpCollision|cpConstraint|cpConvClothToMesh|cpForces|cpGetSolverAttr|cpPanel|cpProperty|cpRigidCollisionFilter|cpSeam|cpSetEdit|cpSetSolverAttr|cpSolver|cpSolverTypes|cpTool|cpUpdateClothUVs|createDisplayLayer|createDrawCtx|createEditor|createLayeredPsdFile|createMotionField|createNewShelf|createNode|createRenderLayer|createSubdivRegion|cross|crossProduct|ctxAbort|ctxCompletion|ctxEditMode|ctxTraverse|currentCtx|currentTime|currentTimeCtx|currentUnit|curve|curveAddPtCtx|curveCVCtx|curveEPCtx|curveEditorCtx|curveIntersect|curveMoveEPCtx|curveOnSurface|curveSketchCtx|cutKey|cycleCheck|cylinder|dagPose|date|defaultLightListCheckBox|defaultNavigation|defineDataServer|defineVirtualDevice|deformer|deg_to_rad|delete|deleteAttr|deleteShadingGroupsAndMaterials|deleteShelfTab|deleteUI|deleteUnusedBrushes|delrandstr|detachCurve|detachDeviceAttr|detachSurface|deviceEditor|devicePanel|dgInfo|dgdirty|dgeval|dgtimer|dimWhen|directKeyCtx|directionalLight|dirmap|dirname|disable|disconnectAttr|disconnectJoint|diskCache|displacementToPoly|displayAffected|displayColor|displayCull|displayLevelOfDetail|displayPref|displayRGBColor|displaySmoothness|displayStats|displayString|displaySurface|distanceDimContext|distanceDimension|doBlur|dolly|dollyCtx|dopeSheetEditor|dot|dotProduct|doubleProfileBirailSurface|drag|dragAttrContext|draggerContext|dropoffLocator|duplicate|duplicateCurve|duplicateSurface|dynCache|dynControl|dynExport|dynExpression|dynGlobals|dynPaintEditor|dynParticleCtx|dynPref|dynRelEdPanel|dynRelEditor|dynamicLoad|editAttrLimits|editDisplayLayerGlobals|editDisplayLayerMembers|editRenderLayerAdjustment|editRenderLayerGlobals|editRenderLayerMembers|editor|editorTemplate|effector|emit|emitter|enableDevice|encodeString|endString|endsWith|env|equivalent|equivalentTol|erf|error|eval|evalDeferred|evalEcho|event|exactWorldBoundingBox|exclusiveLightCheckBox|exec|executeForEachObject|exists|exp|expression|expressionEditorListen|extendCurve|extendSurface|extrude|fcheck|fclose|feof|fflush|fgetline|fgetword|file|fileBrowserDialog|fileDialog|fileExtension|fileInfo|filetest|filletCurve|filter|filterCurve|filterExpand|filterStudioImport|findAllIntersections|findAnimCurves|findKeyframe|findMenuItem|findRelatedSkinCluster|finder|firstParentOf|fitBspline|flexor|floatEq|floatField|floatFieldGrp|floatScrollBar|floatSlider|floatSlider2|floatSliderButtonGrp|floatSliderGrp|floor|flow|fluidCacheInfo|fluidEmitter|fluidVoxelInfo|flushUndo|fmod|fontDialog|fopen|formLayout|format|fprint|frameLayout|fread|freeFormFillet|frewind|fromNativePath|fwrite|gamma|gauss|geometryConstraint|getApplicationVersionAsFloat|getAttr|getClassification|getDefaultBrush|getFileList|getFluidAttr|getInputDeviceRange|getMayaPanelTypes|getModifiers|getPanel|getParticleAttr|getPluginResource|getenv|getpid|glRender|glRenderEditor|globalStitch|gmatch|goal|gotoBindPose|grabColor|gradientControl|gradientControlNoAttr|graphDollyCtx|graphSelectContext|graphTrackCtx|gravity|grid|gridLayout|group|groupObjectsByName|HfAddAttractorToAS|HfAssignAS|HfBuildEqualMap|HfBuildFurFiles|HfBuildFurImages|HfCancelAFR|HfConnectASToHF|HfCreateAttractor|HfDeleteAS|HfEditAS|HfPerformCreateAS|HfRemoveAttractorFromAS|HfSelectAttached|HfSelectAttractors|HfUnAssignAS|hardenPointCurve|hardware|hardwareRenderPanel|headsUpDisplay|headsUpMessage|help|helpLine|hermite|hide|hilite|hitTest|hotBox|hotkey|hotkeyCheck|hsv_to_rgb|hudButton|hudSlider|hudSliderButton|hwReflectionMap|hwRender|hwRenderLoad|hyperGraph|hyperPanel|hyperShade|hypot|iconTextButton|iconTextCheckBox|iconTextRadioButton|iconTextRadioCollection|iconTextScrollList|iconTextStaticLabel|ikHandle|ikHandleCtx|ikHandleDisplayScale|ikSolver|ikSplineHandleCtx|ikSystem|ikSystemInfo|ikfkDisplayMethod|illustratorCurves|image|imfPlugins|inheritTransform|insertJoint|insertJointCtx|insertKeyCtx|insertKnotCurve|insertKnotSurface|instance|instanceable|instancer|intField|intFieldGrp|intScrollBar|intSlider|intSliderGrp|interToUI|internalVar|intersect|iprEngine|isAnimCurve|isConnected|isDirty|isParentOf|isSameObject|isTrue|isValidObjectName|isValidString|isValidUiName|isolateSelect|itemFilter|itemFilterAttr|itemFilterRender|itemFilterType|joint|jointCluster|jointCtx|jointDisplayScale|jointLattice|keyTangent|keyframe|keyframeOutliner|keyframeRegionCurrentTimeCtx|keyframeRegionDirectKeyCtx|keyframeRegionDollyCtx|keyframeRegionInsertKeyCtx|keyframeRegionMoveKeyCtx|keyframeRegionScaleKeyCtx|keyframeRegionSelectKeyCtx|keyframeRegionSetKeyCtx|keyframeRegionTrackCtx|keyframeStats|lassoContext|lattice|latticeDeformKeyCtx|launch|launchImageEditor|layerButton|layeredShaderPort|layeredTexturePort|layout|layoutDialog|lightList|lightListEditor|lightListPanel|lightlink|lineIntersection|linearPrecision|linstep|listAnimatable|listAttr|listCameras|listConnections|listDeviceAttachments|listHistory|listInputDeviceAxes|listInputDeviceButtons|listInputDevices|listMenuAnnotation|listNodeTypes|listPanelCategories|listRelatives|listSets|listTransforms|listUnselected|listerEditor|loadFluid|loadNewShelf|loadPlugin|loadPluginLanguageResources|loadPrefObjects|localizedPanelLabel|lockNode|loft|log|longNameOf|lookThru|ls|lsThroughFilter|lsType|lsUI|Mayatomr|mag|makeIdentity|makeLive|makePaintable|makeRoll|makeSingleSurface|makeTubeOn|makebot|manipMoveContext|manipMoveLimitsCtx|manipOptions|manipRotateContext|manipRotateLimitsCtx|manipScaleContext|manipScaleLimitsCtx|marker|match|max|memory|menu|menuBarLayout|menuEditor|menuItem|menuItemToShelf|menuSet|menuSetPref|messageLine|min|minimizeApp|mirrorJoint|modelCurrentTimeCtx|modelEditor|modelPanel|mouse|movIn|movOut|move|moveIKtoFK|moveKeyCtx|moveVertexAlongDirection|multiProfileBirailSurface|mute|nParticle|nameCommand|nameField|namespace|namespaceInfo|newPanelItems|newton|nodeCast|nodeIconButton|nodeOutliner|nodePreset|nodeType|noise|nonLinear|normalConstraint|normalize|nurbsBoolean|nurbsCopyUVSet|nurbsCube|nurbsEditUV|nurbsPlane|nurbsSelect|nurbsSquare|nurbsToPoly|nurbsToPolygonsPref|nurbsToSubdiv|nurbsToSubdivPref|nurbsUVSet|nurbsViewDirectionVector|objExists|objectCenter|objectLayer|objectType|objectTypeUI|obsoleteProc|oceanNurbsPreviewPlane|offsetCurve|offsetCurveOnSurface|offsetSurface|openGLExtension|openMayaPref|optionMenu|optionMenuGrp|optionVar|orbit|orbitCtx|orientConstraint|outlinerEditor|outlinerPanel|overrideModifier|paintEffectsDisplay|pairBlend|palettePort|paneLayout|panel|panelConfiguration|panelHistory|paramDimContext|paramDimension|paramLocator|parent|parentConstraint|particle|particleExists|particleInstancer|particleRenderInfo|partition|pasteKey|pathAnimation|pause|pclose|percent|performanceOptions|pfxstrokes|pickWalk|picture|pixelMove|planarSrf|plane|play|playbackOptions|playblast|plugAttr|plugNode|pluginInfo|pluginResourceUtil|pointConstraint|pointCurveConstraint|pointLight|pointMatrixMult|pointOnCurve|pointOnSurface|pointPosition|poleVectorConstraint|polyAppend|polyAppendFacetCtx|polyAppendVertex|polyAutoProjection|polyAverageNormal|polyAverageVertex|polyBevel|polyBlendColor|polyBlindData|polyBoolOp|polyBridgeEdge|polyCacheMonitor|polyCheck|polyChipOff|polyClipboard|polyCloseBorder|polyCollapseEdge|polyCollapseFacet|polyColorBlindData|polyColorDel|polyColorPerVertex|polyColorSet|polyCompare|polyCone|polyCopyUV|polyCrease|polyCreaseCtx|polyCreateFacet|polyCreateFacetCtx|polyCube|polyCut|polyCutCtx|polyCylinder|polyCylindricalProjection|polyDelEdge|polyDelFacet|polyDelVertex|polyDuplicateAndConnect|polyDuplicateEdge|polyEditUV|polyEditUVShell|polyEvaluate|polyExtrudeEdge|polyExtrudeFacet|polyExtrudeVertex|polyFlipEdge|polyFlipUV|polyForceUV|polyGeoSampler|polyHelix|polyInfo|polyInstallAction|polyLayoutUV|polyListComponentConversion|polyMapCut|polyMapDel|polyMapSew|polyMapSewMove|polyMergeEdge|polyMergeEdgeCtx|polyMergeFacet|polyMergeFacetCtx|polyMergeUV|polyMergeVertex|polyMirrorFace|polyMoveEdge|polyMoveFacet|polyMoveFacetUV|polyMoveUV|polyMoveVertex|polyNormal|polyNormalPerVertex|polyNormalizeUV|polyOptUvs|polyOptions|polyOutput|polyPipe|polyPlanarProjection|polyPlane|polyPlatonicSolid|polyPoke|polyPrimitive|polyPrism|polyProjection|polyPyramid|polyQuad|polyQueryBlindData|polyReduce|polySelect|polySelectConstraint|polySelectConstraintMonitor|polySelectCtx|polySelectEditCtx|polySeparate|polySetToFaceNormal|polySewEdge|polyShortestPathCtx|polySmooth|polySoftEdge|polySphere|polySphericalProjection|polySplit|polySplitCtx|polySplitEdge|polySplitRing|polySplitVertex|polyStraightenUVBorder|polySubdivideEdge|polySubdivideFacet|polyToSubdiv|polyTorus|polyTransfer|polyTriangulate|polyUVSet|polyUnite|polyWedgeFace|popen|popupMenu|pose|pow|preloadRefEd|print|progressBar|progressWindow|projFileViewer|projectCurve|projectTangent|projectionContext|projectionManip|promptDialog|propModCtx|propMove|psdChannelOutliner|psdEditTextureFile|psdExport|psdTextureFile|putenv|pwd|python|querySubdiv|quit|rad_to_deg|radial|radioButton|radioButtonGrp|radioCollection|radioMenuItemCollection|rampColorPort|rand|randomizeFollicles|randstate|rangeControl|readTake|rebuildCurve|rebuildSurface|recordAttr|recordDevice|redo|reference|referenceEdit|referenceQuery|refineSubdivSelectionList|refresh|refreshAE|registerPluginResource|rehash|reloadImage|removeJoint|removeMultiInstance|removePanelCategory|rename|renameAttr|renameSelectionList|renameUI|render|renderGlobalsNode|renderInfo|renderLayerButton|renderLayerParent|renderLayerPostProcess|renderLayerUnparent|renderManip|renderPartition|renderQualityNode|renderSettings|renderThumbnailUpdate|renderWindowEditor|renderWindowSelectContext|renderer|reorder|reorderDeformers|requires|reroot|resampleFluid|resetAE|resetPfxToPolyCamera|resetTool|resolutionNode|retarget|reverseCurve|reverseSurface|revolve|rgb_to_hsv|rigidBody|rigidSolver|roll|rollCtx|rootOf|rot|rotate|rotationInterpolation|roundConstantRadius|rowColumnLayout|rowLayout|runTimeCommand|runup|sampleImage|saveAllShelves|saveAttrPreset|saveFluid|saveImage|saveInitialState|saveMenu|savePrefObjects|savePrefs|saveShelf|saveToolSettings|scale|scaleBrushBrightness|scaleComponents|scaleConstraint|scaleKey|scaleKeyCtx|sceneEditor|sceneUIReplacement|scmh|scriptCtx|scriptEditorInfo|scriptJob|scriptNode|scriptTable|scriptToShelf|scriptedPanel|scriptedPanelType|scrollField|scrollLayout|sculpt|searchPathArray|seed|selLoadSettings|select|selectContext|selectCurveCV|selectKey|selectKeyCtx|selectKeyframeRegionCtx|selectMode|selectPref|selectPriority|selectType|selectedNodes|selectionConnection|separator|setAttr|setAttrEnumResource|setAttrMapping|setAttrNiceNameResource|setConstraintRestPosition|setDefaultShadingGroup|setDrivenKeyframe|setDynamic|setEditCtx|setEditor|setFluidAttr|setFocus|setInfinity|setInputDeviceMapping|setKeyCtx|setKeyPath|setKeyframe|setKeyframeBlendshapeTargetWts|setMenuMode|setNodeNiceNameResource|setNodeTypeFlag|setParent|setParticleAttr|setPfxToPolyCamera|setPluginResource|setProject|setStampDensity|setStartupMessage|setState|setToolTo|setUITemplate|setXformManip|sets|shadingConnection|shadingGeometryRelCtx|shadingLightRelCtx|shadingNetworkCompare|shadingNode|shapeCompare|shelfButton|shelfLayout|shelfTabLayout|shellField|shortNameOf|showHelp|showHidden|showManipCtx|showSelectionInTitle|showShadingGroupAttrEditor|showWindow|sign|simplify|sin|singleProfileBirailSurface|size|sizeBytes|skinCluster|skinPercent|smoothCurve|smoothTangentSurface|smoothstep|snap2to2|snapKey|snapMode|snapTogetherCtx|snapshot|soft|softMod|softModCtx|sort|sound|soundControl|source|spaceLocator|sphere|sphrand|spotLight|spotLightPreviewPort|spreadSheetEditor|spring|sqrt|squareSurface|srtContext|stackTrace|startString|startsWith|stitchAndExplodeShell|stitchSurface|stitchSurfacePoints|strcmp|stringArrayCatenate|stringArrayContains|stringArrayCount|stringArrayInsertAtIndex|stringArrayIntersector|stringArrayRemove|stringArrayRemoveAtIndex|stringArrayRemoveDuplicates|stringArrayRemoveExact|stringArrayToString|stringToStringArray|strip|stripPrefixFromName|stroke|subdAutoProjection|subdCleanTopology|subdCollapse|subdDuplicateAndConnect|subdEditUV|subdListComponentConversion|subdMapCut|subdMapSewMove|subdMatchTopology|subdMirror|subdToBlind|subdToPoly|subdTransferUVsToCache|subdiv|subdivCrease|subdivDisplaySmoothness|substitute|substituteAllString|substituteGeometry|substring|surface|surfaceSampler|surfaceShaderList|swatchDisplayPort|switchTable|symbolButton|symbolCheckBox|sysFile|system|tabLayout|tan|tangentConstraint|texLatticeDeformContext|texManipContext|texMoveContext|texMoveUVShellContext|texRotateContext|texScaleContext|texSelectContext|texSelectShortestPathCtx|texSmudgeUVContext|texWinToolCtx|text|textCurves|textField|textFieldButtonGrp|textFieldGrp|textManip|textScrollList|textToShelf|textureDisplacePlane|textureHairColor|texturePlacementContext|textureWindow|threadCount|threePointArcCtx|timeControl|timePort|timerX|toNativePath|toggle|toggleAxis|toggleWindowVisibility|tokenize|tokenizeList|tolerance|tolower|toolButton|toolCollection|toolDropped|toolHasOptions|toolPropertyWindow|torus|toupper|trace|track|trackCtx|transferAttributes|transformCompare|transformLimits|translator|trim|trunc|truncateFluidCache|truncateHairCache|tumble|tumbleCtx|turbulence|twoPointArcCtx|uiRes|uiTemplate|unassignInputDevice|undo|undoInfo|ungroup|uniform|unit|unloadPlugin|untangleUV|untitledFileName|untrim|upAxis|updateAE|userCtx|uvLink|uvSnapshot|validateShelfName|vectorize|view2dToolCtx|viewCamera|viewClipPlane|viewFit|viewHeadOn|viewLookAt|viewManip|viewPlace|viewSet|visor|volumeAxis|vortex|waitCursor|warning|webBrowser|webBrowserPrefs|whatIs|window|windowPref|wire|wireContext|workspace|wrinkle|wrinkleContext|writeTake|xbmLangPathList|xform)\\b/,operator:[/\\+[+=]?|-[-=]?|&&|\\|\\||[<>]=|[*\\/!=]=?|[%^]/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,:;?\\[\\](){}]/},Prism.languages.mel.code.inside.rest=Prism.languages.mel;\nPrism.languages.mizar={comment:/::.+/,keyword:/@proof\\b|\\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\\b/,parameter:{pattern:/\\$(?:10|\\d)/,alias:\"variable\"},variable:/\\w+(?=:)/,number:/(?:\\b|-)\\d+\\b/,operator:/\\.\\.\\.|->|&|\\.?=/,punctuation:/\\(#|#\\)|[,:;\\[\\](){}]/};\nPrism.languages.monkey={string:/\"[^\"\\r\\n]*\"/,comment:[{pattern:/^#Rem\\s+[\\s\\S]*?^#End/im,greedy:!0},{pattern:/'.+/,greedy:!0}],preprocessor:{pattern:/(^[ \\t]*)#.+/m,lookbehind:!0,alias:\"comment\"},\"function\":/\\w+(?=\\()/,\"type-char\":{pattern:/(\\w)[?%#$]/,lookbehind:!0,alias:\"variable\"},number:{pattern:/((?:\\.\\.)?)(?:(?:\\b|\\B-\\.?|\\B\\.)\\d+(?:(?!\\.\\.)\\.\\d*)?|\\$[\\da-f]+)/i,lookbehind:!0},keyword:/\\b(?:Void|Strict|Public|Private|Property|Bool|Int|Float|String|Array|Object|Continue|Exit|Import|Extern|New|Self|Super|Try|Catch|Eachin|True|False|Extends|Abstract|Final|Select|Case|Default|Const|Local|Global|Field|Method|Function|Class|End|If|Then|Else|ElseIf|EndIf|While|Wend|Repeat|Until|Forever|For|To|Step|Next|Return|Module|Interface|Implements|Inline|Throw|Null)\\b/i,operator:/\\.\\.|<[=>]?|>=?|:?=|(?:[+\\-*\\/&~|]|\\b(?:Mod|Shl|Shr)\\b)=?|\\b(?:And|Not|Or)\\b/i,punctuation:/[.,:;()\\[\\]]/};\nPrism.languages.n4js=Prism.languages.extend(\"javascript\",{keyword:/\\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/}),Prism.languages.insertBefore(\"n4js\",\"constant\",{annotation:{pattern:/@+\\w+/,alias:\"operator\"}}),Prism.languages.n4jsd=Prism.languages.n4js;\nPrism.languages.nasm={comment:/;.*$/m,string:/([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,label:{pattern:/(^\\s*)[A-Za-z._?$][\\w.?$@~#]*:/m,lookbehind:!0,alias:\"function\"},keyword:[/\\[?BITS (?:16|32|64)\\]?/,{pattern:/(^\\s*)section\\s*[a-zA-Z.]+:?/im,lookbehind:!0},/(?:extern|global)[^;\\r\\n]*/i,/(?:CPU|FLOAT|DEFAULT).*$/m],register:{pattern:/\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s)\\b/i,alias:\"variable\"},number:/(?:\\b|(?=\\$))(?:0[hx][\\da-f]*\\.?[\\da-f]+(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|\\d*\\.?\\d+(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,operator:/[\\[\\]*+\\-\\/%<>=&|$!]/};\nPrism.languages.nginx=Prism.languages.extend(\"clike\",{comment:{pattern:/(^|[^\"{\\\\])#.*/,lookbehind:!0},keyword:/\\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|if_not_empty|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|http|events|accept_mutex|accept_mutex_delay|access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth|auth_basic|auth_basic_user_file|auth_http|auth_http_header|auth_http_timeout|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|debug_connection|debug_points|default_type|deny|devpoll_changes|devpoll_events|directio|directio_alignment|disable_symlinks|empty_gif|env|epoll_events|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|google_perftools_profiles|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|imap_capabilities|imap_client_buffer|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|kqueue_changes|kqueue_events|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|lock_file|log_format|log_format_combined|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|multi_accept|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|pop3_auth|pop3_capabilities|port_in_redirect|post_action|postpone_output|protocol|proxy|proxy_buffer|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_error_message|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_timeout|proxy_upstream_fail_timeout|proxy_upstream_max_fails|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|rtsig_overflow_events|rtsig_overflow_test|rtsig_overflow_threshold|rtsig_signo|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|smtp_auth|smtp_capabilities|so_keepalive|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|starttls|stub_status|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timeout|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|use|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_rlimit_sigpending|working_directory|xclient|xml_entities|xslt_entities|xslt_stylesheet|xslt_types)\\b/i}),Prism.languages.insertBefore(\"nginx\",\"keyword\",{variable:/\\$[a-z_]+/i});\nPrism.languages.nim={comment:/#.*/,string:{pattern:/(?:(?:\\b(?!\\d)(?:\\w|\\\\x[8-9a-fA-F][0-9a-fA-F])+)?(?:\"\"\"[\\s\\S]*?\"\"\"(?!\")|\"(?:\\\\[\\s\\S]|\"\"|[^\"\\\\])*\")|'(?:\\\\(?:\\d+|x[\\da-fA-F]{2}|.)|[^'])')/,greedy:!0},number:/\\b(?:0[xXoObB][\\da-fA-F_]+|\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:[eE][+-]?\\d[\\d_]*)?)(?:'?[iuf]\\d*)?/,keyword:/\\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\\b/,\"function\":{pattern:/(?:(?!\\d)(?:\\w|\\\\x[8-9a-fA-F][0-9a-fA-F])+|`[^`\\r\\n]+`)\\*?(?:\\[[^\\]]+\\])?(?=\\s*\\()/,inside:{operator:/\\*$/}},ignore:{pattern:/`[^`\\r\\n]+`/,inside:{punctuation:/`/}},operator:{pattern:/(^|[({\\[](?=\\.\\.)|(?![({\\[]\\.).)(?:(?:[=+\\-*\\/<>@$~&%|!?^:\\\\]|\\.\\.|\\.(?![)}\\]]))+|\\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\\b)/m,lookbehind:!0},punctuation:/[({\\[]\\.|\\.[)}\\]]|[`(){}\\[\\],:]/};\nPrism.languages.nix={comment:/\\/\\*[\\s\\S]*?\\*\\/|#.*/,string:{pattern:/\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|''(?:(?!'')[\\s\\S]|''(?:'|\\\\|\\$\\{))*''/,greedy:!0,inside:{interpolation:{pattern:/(^|(?:^|(?!'').)[^\\\\])\\$\\{(?:[^}]|\\{[^}]*\\})*}/,lookbehind:!0,inside:{antiquotation:{pattern:/^\\$(?=\\{)/,alias:\"variable\"}}}}},url:[/\\b(?:[a-z]{3,7}:\\/\\/)[\\w\\-+%~\\/.:#=?&]+/,{pattern:/([^\\/])(?:[\\w\\-+%~.:#=?&]*(?!\\/\\/)[\\w\\-+%~\\/.:#=?&])?(?!\\/\\/)\\/[\\w\\-+%~\\/.:#=?&]*/,lookbehind:!0}],antiquotation:{pattern:/\\$(?=\\{)/,alias:\"variable\"},number:/\\b\\d+\\b/,keyword:/\\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\\b/,\"function\":/\\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\\b|\\bfoldl'\\B/,\"boolean\":/\\b(?:true|false)\\b/,operator:/[=!<>]=?|\\+\\+?|\\|\\||&&|\\/\\/|->?|[?@]/,punctuation:/[{}()[\\].,:;]/},Prism.languages.nix.string.inside.interpolation.inside.rest=Prism.languages.nix;\nPrism.languages.nsis={comment:{pattern:/(^|[^\\\\])(\\/\\*[\\s\\S]*?\\*\\/|[#;].*)/,lookbehind:!0},string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},keyword:{pattern:/(^\\s*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\\b/m,lookbehind:!0},property:/\\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK((CR|CU|LM)(32|64)?|DD|PD|U)|HKEY_(CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\\b/,constant:/\\${[\\w\\.:\\^-]+}|\\$\\([\\w\\.:\\^-]+\\)/i,variable:/\\$\\w+/i,number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,operator:/--?|\\+\\+?|<=?|>=?|==?=?|&&?|\\|\\|?|[?*\\/~^%]/,punctuation:/[{}[\\];(),.:]/,important:{pattern:/(^\\s*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\\b/im,lookbehind:!0}};\nPrism.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:/-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/});\nPrism.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:/[(){}\\[\\]|_.,:;]/};\n!function(E){E.languages.opencl=E.languages.extend(\"c\",{keyword:/\\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\\b/,\"function-opencl-kernel\":{pattern:/\\b(?:abs(?:_diff)?|a?(?:cos|sin)(?:h|pi)?|add_sat|aligned|all|and|any|async(?:_work_group_copy|_work_group_strided_copy)?|atan(?:2?(?:pi)?|h)?|atom_(?:add|and|cmpxchg|dec|inc|max|min|or|sub|xchg|xor)|barrier|bitselect|cbrt|ceil|clamp|clz|copies|copysign|cross|degrees|distance|dot|endian|erf|erfc|exp(?:2|10)?|expm1|fabs|fast_(?:distance|length|normalize)|fdim|floor|fma|fmax|fmin|fract|frexp|fro|from|get_(?:global_(?:id|offset|size)|group_id|image_(?:channel_data_type|channel_order|depth|dim|height|width)|local(?:_id|_size)|num_groups|work_dim)|hadd|(?:half|native)_(?:cos|divide|exp(?:2|10)?|log(?:2|10)?|powr|recip|r?sqrt|sin|tan)|hypot|ilogb|is(?:equal|finite|greater(?:equal)?|inf|less(?:equal|greater)?|nan|normal|notequal|(?:un)?ordered)|ldexp|length|lgamma|lgamma_r|log(?:b|1p|2|10)?|mad(?:24|_hi|_sat)?|max|mem(?:_fence)?|min|mix|modf|mul24|mul_hi|nan|nextafter|normalize|pow[nr]?|prefetch|radians|read_(?:image)(?:f|h|u?i)|read_mem_fence|remainder|remquo|reqd_work_group_size|rhadd|rint|rootn|rotate|round|rsqrt|select|shuffle2?|sign|signbit|sincos|smoothstep|sqrt|step|sub_sat|tan|tanh|tanpi|tgamma|to|trunc|upsample|vec_(?:step|type_hint)|v(?:load|store)(?:_half)?(?:2|3|4|8|16)?|v(?:loada_half|storea?(?:_half)?)(?:2|3|4|8|16)?(?:_(?:rte|rtn|rtp|rtz))?|wait_group_events|work_group_size_hint|write_image(?:f|h|u?i)|write_mem_fence)\\b/,alias:\"function\"},\"constant-opencl-kernel\":{pattern:/\\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF|INFINITY|(?:INT|LONG|SCHAR|SHRT|UCHAR|UINT|ULONG)_(?:MAX|MIN)|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI[24]?|SQRT(?:1_2|2))|NAN)\\b/,alias:\"constant\"}});var _={\"type-opencl-host\":{pattern:/\\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\\b/,alias:\"keyword\"},\"boolean-opencl-host\":{pattern:/\\bCL_(?:TRUE|FALSE)\\b/,alias:\"boolean\"},\"constant-opencl-host\":{pattern:/\\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\\b/,alias:\"constant\"},\"function-opencl-host\":{pattern:/\\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\\b/,alias:\"function\"}};E.languages.insertBefore(\"c\",\"keyword\",_),_[\"type-opencl-host-c++\"]={pattern:/\\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\\b/,alias:\"keyword\"},E.languages.insertBefore(\"cpp\",\"keyword\",_)}(Prism);\nPrism.languages.oz={comment:/\\/\\*[\\s\\S]*?\\*\\/|%.*/,string:{pattern:/\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,greedy:!0},atom:{pattern:/'(?:[^'\\\\]|\\\\[\\s\\S])*'/,greedy:!0,alias:\"builtin\"},keyword:/[$_]|\\[\\]|\\b(?:at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\\b/,\"function\":[/[a-z][A-Za-z\\d]*(?=\\()/,{pattern:/(\\{)[A-Z][A-Za-z\\d]*/,lookbehind:!0}],number:/\\b(?:0[bx][\\da-f]+|\\d+\\.?\\d*(?:e~?\\d+)?\\b)|&(?:[^\\\\]|\\\\(?:\\d{3}|.))/i,variable:/\\b[A-Z][A-Za-z\\d]*|`(?:[^`\\\\]|\\\\.)+`/,\"attr-name\":/\\w+(?=:)/,operator:/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\\\=:?|!!?|[|#+\\-*\\/,~^@]|\\b(?:andthen|div|mod|orelse)\\b/,punctuation:/[\\[\\](){}.:;?]/};\nPrism.languages.parigp={comment:/\\/\\*[\\s\\S]*?\\*\\/|\\\\\\\\.*/,string:{pattern:/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,greedy:!0},keyword:function(){var r=[\"breakpoint\",\"break\",\"dbg_down\",\"dbg_err\",\"dbg_up\",\"dbg_x\",\"forcomposite\",\"fordiv\",\"forell\",\"forpart\",\"forprime\",\"forstep\",\"forsubgroup\",\"forvec\",\"for\",\"iferr\",\"if\",\"local\",\"my\",\"next\",\"return\",\"until\",\"while\"];return r=r.map(function(r){return r.split(\"\").join(\" *\")}).join(\"|\"),RegExp(\"\\\\b(?:\"+r+\")\\\\b\")}(),\"function\":/\\w[\\w ]*?(?= *\\()/,number:{pattern:/((?:\\. *\\. *)?)(?:\\d(?: *\\d)*(?: *(?!\\. *\\.)\\.(?: *\\d)*)?|\\. *\\d(?: *\\d)*)(?: *e *[+-]? *\\d(?: *\\d)*)?/i,lookbehind:!0},operator:/\\. *\\.|[*\\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\\\(?: *\\/)?(?: *=)?|&(?: *&)?|\\| *\\||['#~^]/,punctuation:/[\\[\\]{}().,:;|]/};\nPrism.languages.parser=Prism.languages.extend(\"markup\",{keyword:{pattern:/(^|[^^])(?:\\^(?:case|eval|for|if|switch|throw)\\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\\b)/,lookbehind:!0},variable:{pattern:/(^|[^^])\\B\\$(?:\\w+|(?=[.{]))(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,lookbehind:!0,inside:{punctuation:/\\.|:+/}},\"function\":{pattern:/(^|[^^])\\B[@^]\\w+(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,lookbehind:!0,inside:{keyword:{pattern:/(^@)(?:GET_|SET_)/,lookbehind:!0},punctuation:/\\.|:+/}},escape:{pattern:/\\^(?:[$^;@()\\[\\]{}\"':]|#[a-f\\d]*)/i,alias:\"builtin\"},punctuation:/[\\[\\](){};]/}),Prism.languages.insertBefore(\"parser\",\"keyword\",{\"parser-comment\":{pattern:/(\\s)#.*/,lookbehind:!0,alias:\"comment\"},expression:{pattern:/(^|[^^])\\((?:[^()]|\\((?:[^()]|\\((?:[^()])*\\))*\\))*\\)/,greedy:!0,lookbehind:!0,inside:{string:{pattern:/(^|[^^])([\"'])(?:(?!\\2)[^^]|\\^[\\s\\S])*\\2/,lookbehind:!0},keyword:Prism.languages.parser.keyword,variable:Prism.languages.parser.variable,\"function\":Prism.languages.parser.function,\"boolean\":/\\b(?:true|false)\\b/,number:/\\b(?:0x[a-f\\d]+|\\d+\\.?\\d*(?:e[+-]?\\d+)?)\\b/i,escape:Prism.languages.parser.escape,operator:/[~+*\\/\\\\%]|!(?:\\|\\|?|=)?|&&?|\\|\\|?|==|<[<=]?|>[>=]?|-[fd]?|\\b(?:def|eq|ge|gt|in|is|le|lt|ne)\\b/,punctuation:Prism.languages.parser.punctuation}}}),Prism.languages.insertBefore(\"inside\",\"punctuation\",{expression:Prism.languages.parser.expression,keyword:Prism.languages.parser.keyword,variable:Prism.languages.parser.variable,\"function\":Prism.languages.parser.function,escape:Prism.languages.parser.escape,\"parser-punctuation\":{pattern:Prism.languages.parser.punctuation,alias:\"punctuation\"}},Prism.languages.parser.tag.inside[\"attr-value\"]);\nPrism.languages.pascal={comment:[/\\(\\*[\\s\\S]+?\\*\\)/,/\\{[\\s\\S]+?\\}/,/\\/\\/.*/],string:{pattern:/(?:'(?:''|[^'\\r\\n])*'|#[&$%]?[a-f\\d]+)+|\\^[a-z]/i,greedy:!0},keyword:[{pattern:/(^|[^&])\\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\\b/i,lookbehind:!0},{pattern:/(^|[^&])\\b(?:dispose|exit|false|new|true)\\b/i,lookbehind:!0},{pattern:/(^|[^&])\\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\\b/i,lookbehind:!0},{pattern:/(^|[^&])\\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\\b/i,lookbehind:!0}],number:[/(?:[&%]\\d+|\\$[a-f\\d]+)/i,/\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?/i],operator:[/\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=]/i,{pattern:/(^|[^&])\\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\\b/,lookbehind:!0}],punctuation:/\\(\\.|\\.\\)|[()\\[\\]:;,.]/},Prism.languages.objectpascal=Prism.languages.pascal;\nPrism.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:/[{}[\\];(),:]/};\n!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}}),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:null}},\"single-quoted-string\":{pattern:/'(?:\\\\[\\s\\S]|[^\\\\'])*'/,greedy:!0,alias:\"string\"},\"double-quoted-string\":{pattern:/\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,greedy:!0,alias:\"string\",inside:{interpolation:null}}}),delete e.languages.php.string;var n={pattern:/{\\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[.+?]|->\\w+)*)/,lookbehind:!0,inside:{rest:e.languages.php}};e.languages.php[\"heredoc-string\"].inside.interpolation=n,e.languages.php[\"double-quoted-string\"].inside.interpolation=n,e.hooks.add(\"before-tokenize\",function(n){if(/(?:<\\?php|<\\?)/gi.test(n.code)){var i=/(?:<\\?php|<\\?)[\\s\\S]*?(?:\\?>|$)/gi;e.languages[\"markup-templating\"].buildPlaceholders(n,\"php\",i)}}),e.hooks.add(\"after-tokenize\",function(n){e.languages[\"markup-templating\"].tokenizePlaceholders(n,\"php\")})}(Prism);\nPrism.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:/::|\\\\/}}});\nPrism.languages.sql={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,lookbehind:!0},string:{pattern:/(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2/,greedy:!0,lookbehind:!0},variable:/@[\\w.$]+|@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\"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:/[;[\\]()`,.]/};\nPrism.languages.powershell={comment:[{pattern:/(^|[^`])<#[\\s\\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/\"(?:`[\\s\\S]|[^`\"])*\"/,greedy:!0,inside:{\"function\":{pattern:/(^|[^`])\\$\\((?:\\$\\(.*?\\)|(?!\\$\\()[^\\r\\n)])*\\)/,lookbehind:!0,inside:{}}}},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\\[[a-z](?:\\[(?:\\[[^\\]]*]|[^\\[\\]])*]|[^\\[\\]])*]/i,\"boolean\":/\\$(?:true|false)\\b/i,variable:/\\$\\w+\\b/i,\"function\":[/\\b(?:Add-(?:Computer|Content|History|Member|PSSnapin|Type)|Checkpoint-Computer|Clear-(?:Content|EventLog|History|Item|ItemProperty|Variable)|Compare-Object|Complete-Transaction|Connect-PSSession|ConvertFrom-(?:Csv|Json|StringData)|Convert-Path|ConvertTo-(?:Csv|Html|Json|Xml)|Copy-(?:Item|ItemProperty)|Debug-Process|Disable-(?:ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Disconnect-PSSession|Enable-(?:ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Enter-PSSession|Exit-PSSession|Export-(?:Alias|Clixml|Console|Csv|FormatData|ModuleMember|PSSession)|ForEach-Object|Format-(?:Custom|List|Table|Wide)|Get-(?:Alias|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Culture|Date|Event|EventLog|EventSubscriber|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|WmiObject)|Group-Object|Import-(?:Alias|Clixml|Csv|LocalizedData|Module|PSSession)|Invoke-(?:Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)|Join-Path|Limit-EventLog|Measure-(?:Command|Object)|Move-(?:Item|ItemProperty)|New-(?:Alias|Event|EventLog|Item|ItemProperty|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy)|Out-(?:Default|File|GridView|Host|Null|Printer|String)|Pop-Location|Push-Location|Read-Host|Receive-(?:Job|PSSession)|Register-(?:EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)|Remove-(?:Computer|Event|EventLog|Item|ItemProperty|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)|Rename-(?:Computer|Item|ItemProperty)|Reset-ComputerMachinePassword|Resolve-Path|Restart-(?:Computer|Service)|Restore-Computer|Resume-(?:Job|Service)|Save-Help|Select-(?:Object|String|Xml)|Send-MailMessage|Set-(?:Alias|Content|Date|Item|ItemProperty|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)|Show-(?:Command|ControlPanelItem|EventLog)|Sort-Object|Split-Path|Start-(?:Job|Process|Service|Sleep|Transaction)|Stop-(?:Computer|Job|Process|Service)|Suspend-(?:Job|Service)|Tee-Object|Test-(?:ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)|Trace-Command|Unblock-File|Undo-Transaction|Unregister-(?:Event|PSSessionConfiguration)|Update-(?:FormatData|Help|List|TypeData)|Use-Transaction|Wait-(?:Event|Job|Process)|Where-Object|Write-(?:Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning))\\b/i,/\\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\\b/i],keyword:/\\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\\b/i,operator:{pattern:/(\\W?)(?:!|-(eq|ne|gt|ge|lt|le|sh[lr]|not|b?(?:and|x?or)|(?:Not)?(?:Like|Match|Contains|In)|Replace|Join|is(?:Not)?|as)\\b|-[-=]?|\\+[+=]?|[*\\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\\];(),.]/},Prism.languages.powershell.string[0].inside.boolean=Prism.languages.powershell.boolean,Prism.languages.powershell.string[0].inside.variable=Prism.languages.powershell.variable,Prism.languages.powershell.string[0].inside.function.inside=Prism.languages.powershell;\nPrism.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\";\nPrism.languages.prolog={comment:[/%.+/,/\\/\\*[\\s\\S]*?\\*\\//],string:{pattern:/([\"'])(?:\\1\\1|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},builtin:/\\b(?:fx|fy|xf[xy]?|yfx?)\\b/,variable:/\\b[A-Z_]\\w*/,\"function\":/\\b[a-z]\\w*(?:(?=\\()|\\/\\d+)/,number:/\\b\\d+\\.?\\d*/,operator:/[:\\\\=><\\-?*@\\/;+^|!$.]+|\\b(?:is|mod|not|xor)\\b/,punctuation:/[(){}\\[\\],]/};\nPrism.languages.properties={comment:/^[ \\t]*[#!].*$/m,\"attr-value\":{pattern:/(^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+?(?: *[=:] *| ))(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])+/m,lookbehind:!0},\"attr-name\":/^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+?(?= *[=:] *| )/m,punctuation:/[=:]/};\nPrism.languages.protobuf=Prism.languages.extend(\"clike\",{keyword:/\\b(?:package|import|message|enum)\\b/,builtin:/\\b(?:required|repeated|optional|reserved)\\b/,primitive:{pattern:/\\b(?:double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\b/,alias:\"symbol\"}});\n!function(e){e.languages.pug={comment:{pattern:/(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/m,lookbehind:!0},\"multiline-script\":{pattern:/(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,lookbehind:!0,inside:{rest:e.languages.javascript}},filter:{pattern:/(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,lookbehind:!0,inside:{\"filter-name\":{pattern:/^:[\\w-]+/,alias:\"variable\"}}},\"multiline-plain-text\":{pattern:/(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,lookbehind:!0},markup:{pattern:/(^[\\t ]*)<.+/m,lookbehind:!0,inside:{rest:e.languages.markup}},doctype:{pattern:/((?:^|\\n)[\\t ]*)doctype(?: .+)?/,lookbehind:!0},\"flow-control\":{pattern:/(^[\\t ]*)(?:if|unless|else|case|when|default|each|while)\\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\\b/,inside:{keyword:/\\b(?:each|in)\\b/,punctuation:/,/}},branch:{pattern:/^(?:if|unless|else|case|when|default|while)\\b/,alias:\"keyword\"},rest:e.languages.javascript}},keyword:{pattern:/(^[\\t ]*)(?:block|extends|include|append|prepend)\\b.+/m,lookbehind:!0},mixin:[{pattern:/(^[\\t ]*)mixin .+/m,lookbehind:!0,inside:{keyword:/^mixin/,\"function\":/\\w+(?=\\s*\\(|\\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\\t ]*)\\+.+/m,lookbehind:!0,inside:{name:{pattern:/^\\+\\w+/,alias:\"function\"},rest:e.languages.javascript}}],script:{pattern:/(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]+).+/m,lookbehind:!0,inside:{rest:e.languages.javascript}},\"plain-text\":{pattern:/(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]+).+/m,lookbehind:!0},tag:{pattern:/(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,lookbehind:!0,inside:{attributes:[{pattern:/&[^(]+\\([^)]+\\)/,inside:{rest:e.languages.javascript}},{pattern:/\\([^)]+\\)/,inside:{\"attr-value\":{pattern:/(=\\s*)(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,lookbehind:!0,inside:{rest:e.languages.javascript}},\"attr-name\":/[\\w-]+(?=\\s*!?=|\\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/}},code:[{pattern:/(^[\\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:{rest:e.languages.javascript}}],punctuation:/[.\\-!=|]+/};for(var t=\"(^([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r(?!\\\\n))(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\",n=[{filter:\"atpl\",language:\"twig\"},{filter:\"coffee\",language:\"coffeescript\"},\"ejs\",\"handlebars\",\"hogan\",\"less\",\"livescript\",\"markdown\",\"mustache\",\"plates\",{filter:\"sass\",language:\"scss\"},\"stylus\",\"swig\"],a={},i=0,r=n.length;r>i;i++){var s=n[i];s=\"string\"==typeof s?{filter:s,language:s}:s,e.languages[s.language]&&(a[\"filter-\"+s.filter]={pattern:RegExp(t.replace(\"{{filter_name}}\",s.filter),\"m\"),lookbehind:!0,inside:{\"filter-name\":{pattern:/^:[\\w-]+/,alias:\"variable\"},rest:e.languages[s.language]}})}e.languages.insertBefore(\"pug\",\"filter\",a)}(Prism);\n!function(e){e.languages.puppet={heredoc:[{pattern:/(@\\(\"([^\"\\r\\n\\/):]+)\"(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r))*?[ \\t]*\\|?[ \\t]*-?[ \\t]*\\2/,lookbehind:!0,alias:\"string\",inside:{punctuation:/(?=\\S).*\\S(?= *$)/}},{pattern:/(@\\(([^\"\\r\\n\\/):]+)(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r))*?[ \\t]*\\|?[ \\t]*-?[ \\t]*\\2/,lookbehind:!0,greedy:!0,alias:\"string\",inside:{punctuation:/(?=\\S).*\\S(?= *$)/}},{pattern:/@\\(\"?(?:[^\"\\r\\n\\/):]+)\"?(?:\\/[nrts$uL]*)?\\)/,alias:\"string\",inside:{punctuation:{pattern:/(\\().+?(?=\\))/,lookbehind:!0}}}],\"multiline-comment\":{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0,greedy:!0,alias:\"comment\"},regex:{pattern:/((?:\\bnode\\s+|[~=\\(\\[\\{,]\\s*|[=+]>\\s*|^\\s*))\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/(?:[imx]+\\b|\\B)/,lookbehind:!0,greedy:!0,inside:{\"extended-regex\":{pattern:/^\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/[im]*x[im]*$/,inside:{comment:/#.*/}}}},comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0,greedy:!0},string:{pattern:/([\"'])(?:\\$\\{(?:[^'\"}]|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}|(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,greedy:!0,inside:{\"double-quoted\":{pattern:/^\"[\\s\\S]*\"$/,inside:{}}}},variable:{pattern:/\\$(?:::)?\\w+(?:::\\w+)*/,inside:{punctuation:/::/}},\"attr-name\":/(?:\\w+|\\*)(?=\\s*=>)/,\"function\":[{pattern:/(\\.)(?!\\d)\\w+/,lookbehind:!0},/\\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\\b|\\b(?!\\d)\\w+(?=\\()/],number:/\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d+)?(?:e-?\\d+)?)\\b/i,\"boolean\":/\\b(?:true|false)\\b/,keyword:/\\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\\b/,datatype:{pattern:/\\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\\b/,alias:\"symbol\"},operator:/=[=~>]?|![=~]?|<(?:<\\|?|[=~|-])?|>[>=]?|->?|~>|\\|>?>?|[*\\/%+?]|\\b(?:and|in|or)\\b/,punctuation:/[\\[\\]{}().,;]|:+/};var n=[{pattern:/(^|[^\\\\])\\$\\{(?:[^'\"{}]|\\{[^}]*\\}|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}/,lookbehind:!0,inside:{\"short-variable\":{pattern:/(^\\$\\{)(?!\\w+\\()(?:::)?\\w+(?:::\\w+)*/,lookbehind:!0,alias:\"variable\",inside:{punctuation:/::/}},delimiter:{pattern:/^\\$/,alias:\"variable\"},rest:e.languages.puppet}},{pattern:/(^|[^\\\\])\\$(?:::)?\\w+(?:::\\w+)*/,lookbehind:!0,alias:\"variable\",inside:{punctuation:/::/}}];e.languages.puppet.heredoc[0].inside.interpolation=n,e.languages.puppet.string.inside[\"double-quoted\"].inside.interpolation=n}(Prism);\n!function(e){e.languages.pure={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0},/#!.+/],\"inline-lang\":{pattern:/%<[\\s\\S]+?%>/,greedy:!0,inside:{lang:{pattern:/(^%< *)-\\*-.+?-\\*-/,lookbehind:!0,alias:\"comment\"},delimiter:{pattern:/^%<.*|%>$/,alias:\"punctuation\"}}},string:{pattern:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,greedy:!0},number:{pattern:/((?:\\.\\.)?)(?:\\b(?:inf|nan)\\b|\\b0x[\\da-f]+|(?:\\b(?:0b)?\\d+(?:\\.\\d)?|\\B\\.\\d)\\d*(?:e[+-]?\\d+)?L?)/i,lookbehind:!0},keyword:/\\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\\b/,\"function\":/\\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\\b/,special:{pattern:/\\b__[a-z]+__\\b/i,alias:\"builtin\"},operator:/(?=\\b_|[^_])[!\"#$%&'*+,\\-.\\/:<=>?@\\\\^_`|~\\u00a1-\\u00bf\\u00d7-\\u00f7\\u20d0-\\u2bff]+|\\b(?:and|div|mod|not|or)\\b/,punctuation:/[(){}\\[\\];,|]/};var t=[\"c\",{lang:\"c++\",alias:\"cpp\"},\"fortran\",\"ats\",\"dsp\"],a=\"%< *-\\\\*- *{lang}\\\\d* *-\\\\*-[\\\\s\\\\S]+?%>\";t.forEach(function(t){var r=t;if(\"string\"!=typeof t&&(r=t.alias,t=t.lang),e.languages[r]){var i={};i[\"inline-lang-\"+r]={pattern:RegExp(a.replace(\"{lang}\",t.replace(/([.+*?\\/\\\\(){}\\[\\]])/g,\"\\\\$1\")),\"i\"),inside:e.util.clone(e.languages.pure[\"inline-lang\"].inside)},i[\"inline-lang-\"+r].inside.rest=e.util.clone(e.languages[r]),e.languages.insertBefore(\"pure\",\"inline-lang\",i)}}),e.languages.c&&(e.languages.pure[\"inline-lang\"].inside.rest=e.util.clone(e.languages.c))}(Prism);\nPrism.languages.python={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0},\"triple-quoted-string\":{pattern:/(\"\"\"|''')[\\s\\S]+?\\1/,greedy:!0,alias:\"string\"},string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"function\":{pattern:/((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,lookbehind:!0},\"class-name\":{pattern:/(\\bclass\\s+)\\w+/i,lookbehind:!0},keyword:/\\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|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:/[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:or|and|not)\\b/,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.q={string:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,comment:[{pattern:/([\\t )\\]}])\\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|\\r?\\n|\\r)\\/[\\t ]*(?:(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r))*?(?:\\\\(?=[\\t ]*(?:\\r?\\n|\\r))|$)|\\S.*)/,lookbehind:!0,greedy:!0},{pattern:/^\\\\[\\t ]*(?:\\r?\\n|\\r)[\\s\\S]+/m,greedy:!0},{pattern:/^#!.+/m,greedy:!0}],symbol:/`(?::\\S+|[\\w.]*)/,datetime:{pattern:/0N[mdzuvt]|0W[dtz]|\\d{4}\\.\\d\\d(?:m|\\.\\d\\d(?:T(?:\\d\\d(?::\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?)?)?)?[dz]?)|\\d\\d:\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?[uvt]?/,alias:\"number\"},number:/\\b(?![01]:)(?:0[wn]|0W[hj]?|0N[hje]?|0x[\\da-fA-F]+|\\d+\\.?\\d*(?:e[+-]?\\d+)?[hjfeb]?)/,keyword:/\\\\\\w+\\b|\\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\\b/,adverb:{pattern:/['\\/\\\\]:?|\\beach\\b/,alias:\"function\"},verb:{pattern:/(?:\\B\\.\\B|\\b[01]:|<[=>]?|>=?|[:+\\-*%,!?_~=|$&#@^]):?/,alias:\"operator\"},punctuation:/[(){}\\[\\];.]/};\nPrism.languages.qore=Prism.languages.extend(\"clike\",{comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:\\/\\/|#).*)/,lookbehind:!0},string:{pattern:/(\"|')(\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0},variable:/\\$(?!\\d)\\w+\\b/,keyword:/\\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\\b/,number:/\\b(?:0b[01]+|0x[\\da-f]*\\.?[\\da-fp\\-]+|\\d*\\.?\\d+e?\\d*[df]|\\d*\\.?\\d+)\\b/i,\"boolean\":/\\b(?:true|false)\\b/i,operator:{pattern:/(^|[^.])(?:\\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\\|[|=]?|[*\\/%^]=?|[~?])/,lookbehind:!0},\"function\":/\\$?\\b(?!\\d)\\w+(?=\\()/});\nPrism.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:/[(){}\\[\\],;]/};\n!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.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;g<n.length;g++){var o=n[g],i=!1;if(\"string\"!=typeof o&&(\"tag\"===o.type&&o.content[0]&&\"tag\"===o.content[0].type?\"</\"===o.content[0].content[0].content?s.length>0&&s[s.length-1].tagName===e(o.content[0].content[1])&&s.pop():\"/>\"===o.content[o.content.length-1].content||s.push({tagName:e(o.content[0].content[1]),openedBraces:0}):s.length>0&&\"punctuation\"===o.type&&\"{\"===o.content?s[s.length-1].openedBraces++:s.length>0&&s[s.length-1].openedBraces>0&&\"punctuation\"===o.type&&\"}\"===o.content?s[s.length-1].openedBraces--:i=!0),(i||\"string\"==typeof o)&&s.length>0&&0===s[s.length-1].openedBraces){var p=e(o);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)}o.content&&\"string\"!=typeof o.content&&a(o.content)}};t.hooks.add(\"after-tokenize\",function(t){(\"jsx\"===t.language||\"tsx\"===t.language)&&a(t.tokens)})}(Prism);\nPrism.languages.typescript=Prism.languages.extend(\"javascript\",{keyword:/\\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield|module|declare|constructor|namespace|abstract|require|type)\\b/,builtin:/\\b(?:string|Function|any|number|boolean|Array|symbol|console)\\b/}),Prism.languages.ts=Prism.languages.typescript;\nPrism.languages.renpy={comment:{pattern:/(^|[^\\\\])#.+/,lookbehind:!0},string:{pattern:/(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2|(?:^#?(?:(?:[0-9a-fA-F]{2}){3}|(?:[0-9a-fA-F]){3})$)/m,greedy:!0},\"function\":/[a-z_]\\w*(?=\\()/i,property:/\\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\\b/,tag:/\\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\\b|\\$/,keyword:/\\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\\b/,\"boolean\":/\\b(?:[Tt]rue|[Ff]alse)\\b/,number:/(?:\\b(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*\\.?\\d*)|\\B\\.\\d+)(?:e[+-]?\\d+)?j?/i,operator:/[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:or|and|not|with|at)\\b/,punctuation:/[{}[\\];(),.:]/};\nPrism.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;\nPrism.languages.rest={table:[{pattern:/(\\s*)(?:\\+[=-]+)+\\+(?:\\r?\\n|\\r)(?:\\1(?:[+|].+)+[+|](?:\\r?\\n|\\r))+\\1(?:\\+[=-]+)+\\+/,lookbehind:!0,inside:{punctuation:/\\||(?:\\+[=-]+)+\\+/}},{pattern:/(\\s*)(?:=+ +)+=+(?:(?:\\r?\\n|\\r)\\1.+)+(?:\\r?\\n|\\r)\\1(?:=+ +)+=+(?=(?:\\r?\\n|\\r){2}|\\s*$)/,lookbehind:!0,inside:{punctuation:/[=-]+/}}],\"substitution-def\":{pattern:/(^\\s*\\.\\. )\\|(?:[^|\\s](?:[^|]*[^|\\s])?)\\| [^:]+::/m,lookbehind:!0,inside:{substitution:{pattern:/^\\|(?:[^|\\s]|[^|\\s][^|]*[^|\\s])\\|/,alias:\"attr-value\",inside:{punctuation:/^\\||\\|$/}},directive:{pattern:/( +)[^:]+::/,lookbehind:!0,alias:\"function\",inside:{punctuation:/::$/}}}},\"link-target\":[{pattern:/(^\\s*\\.\\. )\\[[^\\]]+\\]/m,lookbehind:!0,alias:\"string\",inside:{punctuation:/^\\[|\\]$/}},{pattern:/(^\\s*\\.\\. )_(?:`[^`]+`|(?:[^:\\\\]|\\\\.)+):/m,lookbehind:!0,alias:\"string\",inside:{punctuation:/^_|:$/}}],directive:{pattern:/(^\\s*\\.\\. )[^:]+::/m,lookbehind:!0,alias:\"function\",inside:{punctuation:/::$/}},comment:{pattern:/(^\\s*\\.\\.)(?:(?: .+)?(?:(?:\\r?\\n|\\r).+)+| .+)(?=(?:\\r?\\n|\\r){2}|$)/m,lookbehind:!0},title:[{pattern:/^(([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+)(?:\\r?\\n|\\r).+(?:\\r?\\n|\\r)\\1$/m,inside:{punctuation:/^[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+|[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,important:/.+/}},{pattern:/(^|(?:\\r?\\n|\\r){2}).+(?:\\r?\\n|\\r)([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+(?=\\r?\\n|\\r|$)/,lookbehind:!0,inside:{punctuation:/[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,important:/.+/}}],hr:{pattern:/((?:\\r?\\n|\\r){2})([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2{3,}(?=(?:\\r?\\n|\\r){2})/,lookbehind:!0,alias:\"punctuation\"},field:{pattern:/(^\\s*):[^:\\r\\n]+:(?= )/m,lookbehind:!0,alias:\"attr-name\"},\"command-line-option\":{pattern:/(^\\s*)(?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?)*(?=(?:\\r?\\n|\\r)? {2,}\\S)/im,lookbehind:!0,alias:\"symbol\"},\"literal-block\":{pattern:/::(?:\\r?\\n|\\r){2}([ \\t]+).+(?:(?:\\r?\\n|\\r)\\1.+)*/,inside:{\"literal-block-punctuation\":{pattern:/^::/,alias:\"punctuation\"}}},\"quoted-literal-block\":{pattern:/::(?:\\r?\\n|\\r){2}([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]).*(?:(?:\\r?\\n|\\r)\\1.*)*/,inside:{\"literal-block-punctuation\":{pattern:/^(?:::|([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\1*)/m,alias:\"punctuation\"}}},\"list-bullet\":{pattern:/(^\\s*)(?:[*+\\-•‣⁃]|\\(?(?:\\d+|[a-z]|[ivxdclm]+)\\)|(?:\\d+|[a-z]|[ivxdclm]+)\\.)(?= )/im,lookbehind:!0,alias:\"punctuation\"},\"doctest-block\":{pattern:/(^\\s*)>>> .+(?:(?:\\r?\\n|\\r).+)*/m,lookbehind:!0,inside:{punctuation:/^>>>/}},inline:[{pattern:/(^|[\\s\\-:\\/'\"<(\\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\\*\\*?|``?|\\|)(?!\\s).*?[^\\s]\\2(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$))/m,lookbehind:!0,inside:{bold:{pattern:/(^\\*\\*).+(?=\\*\\*$)/,lookbehind:!0},italic:{pattern:/(^\\*).+(?=\\*$)/,lookbehind:!0},\"inline-literal\":{pattern:/(^``).+(?=``$)/,lookbehind:!0,alias:\"symbol\"},role:{pattern:/^:[^:]+:|:[^:]+:$/,alias:\"function\",inside:{punctuation:/^:|:$/}},\"interpreted-text\":{pattern:/(^`).+(?=`$)/,lookbehind:!0,alias:\"attr-value\"},substitution:{pattern:/(^\\|).+(?=\\|$)/,lookbehind:!0,alias:\"attr-value\"},punctuation:/\\*\\*?|``?|\\|/}}],link:[{pattern:/\\[[^\\]]+\\]_(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/,alias:\"string\",inside:{punctuation:/^\\[|\\]_$/}},{pattern:/(?:\\b[a-z\\d](?:[_.:+]?[a-z\\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/i,alias:\"string\",inside:{punctuation:/^_?`|`$|`?_?_$/}}],punctuation:{pattern:/(^\\s*)(?:\\|(?= |$)|(?:---?|—|\\.\\.|__)(?= )|\\.\\.$)/m,lookbehind:!0}};\nPrism.languages.rip={comment:/#.*/,keyword:/(?:=>|->)|\\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\\b/,builtin:/@|\\bSystem\\b/,\"boolean\":/\\b(?:true|false)\\b/,date:/\\b\\d{4}-\\d{2}-\\d{2}\\b/,time:/\\b\\d{2}:\\d{2}:\\d{2}\\b/,datetime:/\\b\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\b/,character:/\\B`[^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]\\b/,regex:{pattern:/(^|[^\\/])\\/(?!\\/)(\\[.+?]|\\\\.|[^\\/\\\\\\r\\n])+\\/(?=\\s*($|[\\r\\n,.;})]))/,lookbehind:!0,greedy:!0},symbol:/:[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/,string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},number:/[+-]?(?:(?:\\d+\\.\\d+)|(?:\\d+))/,punctuation:/(?:\\.{2,3})|[`,.:;=\\/\\\\()<>\\[\\]{}]/,reference:/[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/};\nPrism.languages.roboconf={comment:/#.*/,keyword:{pattern:/(^|\\s)(?:(?:facet|instance of)(?=[ \\t]+[\\w-]+[ \\t]*\\{)|(?:external|import)\\b)/,lookbehind:!0},component:{pattern:/[\\w-]+(?=[ \\t]*\\{)/,alias:\"variable\"},property:/[\\w.-]+(?=[ \\t]*:)/,value:{pattern:/(=[ \\t]*)[^,;]+/,lookbehind:!0,alias:\"attr-value\"},optional:{pattern:/\\(optional\\)/,alias:\"builtin\"},wildcard:{pattern:/(\\.)\\*/,lookbehind:!0,alias:\"operator\"},punctuation:/[{},.;:=]/};\n!function(e){e.languages.crystal=e.languages.extend(\"ruby\",{keyword:[/\\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\\b/,{pattern:/(\\.\\s*)(?:is_a|responds_to)\\?/,lookbehind:!0}],number:/\\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\\da-fA-F_]*[\\da-fA-F]|(?:\\d(?:[\\d_]*\\d)?)(?:\\.[\\d_]*\\d)?(?:[eE][+-]?[\\d_]*\\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\\b/}),e.languages.insertBefore(\"crystal\",\"string\",{attribute:{pattern:/@\\[.+?\\]/,alias:\"attr-name\",inside:{delimiter:{pattern:/^@\\[|\\]$/,alias:\"tag\"},rest:e.languages.crystal}},expansion:[{pattern:/\\{\\{.+?\\}\\}/,inside:{delimiter:{pattern:/^\\{\\{|\\}\\}$/,alias:\"tag\"},rest:e.languages.crystal}},{pattern:/\\{%.+?%\\}/,inside:{delimiter:{pattern:/^\\{%|%\\}$/,alias:\"tag\"},rest:e.languages.crystal}}]})}(Prism);\nPrism.languages.rust={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0}],string:[{pattern:/b?r(#*)\"(?:\\\\.|(?!\"\\1)[^\\\\\\r\\n])*\"\\1/,greedy:!0},{pattern:/b?\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,greedy:!0}],\"char\":{pattern:/b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u{(?:[\\da-fA-F]_*){1,6}|.)|[^\\\\\\r\\n\\t'])'/,alias:\"string\"},\"lifetime-annotation\":{pattern:/'[^\\s>']+/,alias:\"symbol\"},keyword:/\\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\\b/,attribute:{pattern:/#!?\\[.+?\\]/,greedy:!0,alias:\"attr-name\"},\"function\":[/\\w+(?=\\s*\\()/,/\\w+!(?=\\s*\\(|\\[)/],\"macro-rules\":{pattern:/\\w+!/,alias:\"function\"},number:/\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\\b/,\"closure-params\":{pattern:/\\|[^|]*\\|(?=\\s*[{-])/,inside:{punctuation:/[|:,]/,operator:/[&*]/}},punctuation:/[{}[\\];(),:]|\\.+|->/,operator:/[-+*\\/%!^]=?|=[=>]?|@|&[&=]?|\\|[|=]?|<<?=?|>>?=?/};\nPrism.languages.sas={datalines:{pattern:/^\\s*(?:(?:data)?lines|cards);[\\s\\S]+?(?:\\r?\\n|\\r);/im,alias:\"string\",inside:{keyword:{pattern:/^(\\s*)(?:(?:data)?lines|cards)/i,lookbehind:!0},punctuation:/;/}},comment:[{pattern:/(^\\s*|;\\s*)\\*.*;/m,lookbehind:!0},/\\/\\*[\\s\\S]+?\\*\\//],datetime:{pattern:/'[^']+'(?:dt?|t)\\b/i,alias:\"number\"},string:{pattern:/([\"'])(?:\\1\\1|(?!\\1)[\\s\\S])*\\1/,greedy:!0},keyword:/\\b(?:data|else|format|if|input|proc\\s\\w+|quit|run|then)\\b/i,number:/\\b(?:[\\da-f]+x|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)/i,operator:/\\*\\*?|\\|\\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\\/=&]|[~¬^]=?|\\b(?:eq|ne|gt|lt|ge|le|in|not)\\b/i,punctuation:/[$%@.(){}\\[\\];,\\\\]/};\n!function(e){e.languages.sass=e.languages.extend(\"css\",{comment:{pattern:/^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t]+.+)*/m,lookbehind:!0}}),e.languages.insertBefore(\"sass\",\"atrule\",{\"atrule-line\":{pattern:/^(?:[ \\t]*)[@+=].+/m,inside:{atrule:/(?:@[\\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var a=/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/,t=[/[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|or|not)\\b/,{pattern:/(\\s+)-(?=\\s)/,lookbehind:!0}];e.languages.insertBefore(\"sass\",\"property\",{\"variable-line\":{pattern:/^[ \\t]*\\$.+/m,inside:{punctuation:/:/,variable:a,operator:t}},\"property-line\":{pattern:/^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s]+.*)/m,inside:{property:[/[^:\\s]+(?=\\s*:)/,{pattern:/(:)[^:\\s]+/,lookbehind:!0}],punctuation:/:/,variable:a,operator:t,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,delete e.languages.sass.selector,e.languages.insertBefore(\"sass\",\"punctuation\",{selector:{pattern:/([ \\t]*)\\S(?:,?[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,?[^,\\r\\n]+)*)*/,lookbehind:!0}})}(Prism);\nPrism.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]+\\}/}}}),Prism.languages.insertBefore(\"scss\",\"atrule\",{keyword:[/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.scss.property={pattern:/(?:[\\w-]|\\$[-\\w]+|#\\{\\$[-\\w]+\\})+(?=\\s*:)/i,inside:{variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}},Prism.languages.insertBefore(\"scss\",\"important\",{variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}),Prism.languages.insertBefore(\"scss\",\"function\",{placeholder:{pattern:/%[-\\w]+/,alias:\"selector\"},statement:{pattern:/\\B!(?:default|optional)\\b/i,alias:\"keyword\"},\"boolean\":/\\b(?:true|false)\\b/,\"null\":/\\bnull\\b/,operator:{pattern:/(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|or|not)(?=\\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss;\nPrism.languages.scala=Prism.languages.extend(\"java\",{keyword:/<-|=>|\\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\\b/,string:[{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0},{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0}],builtin:/\\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\\b/,number:/\\b0x[\\da-f]*\\.?[\\da-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e\\d+)?[dfl]?/i,symbol:/'[^\\d\\s\\\\]\\w*/}),delete Prism.languages.scala[\"class-name\"],delete Prism.languages.scala[\"function\"];\nPrism.languages.scheme={comment:/;.*/,string:{pattern:/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'[^('\\s]*/,greedy:!0},keyword:{pattern:/(\\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)/,lookbehind:!0},builtin:{pattern:/(\\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\\/cc|append|abs|apply|eval)\\b|null\\?|pair\\?|boolean\\?|eof-object\\?|char\\?|procedure\\?|number\\?|port\\?|string\\?|vector\\?|symbol\\?|bytevector\\?)/,lookbehind:!0},number:{pattern:/(\\s|[()])[-+]?\\d*\\.?\\d+(?:\\s*[-+]\\s*\\d*\\.?\\d+i)?\\b/,lookbehind:!0},\"boolean\":/#[tf]/,operator:{pattern:/(\\()(?:[-+*%\\/]|[<>]=?|=>?)/,lookbehind:!0},\"function\":{pattern:/(\\()[^\\s()]*(?=[\\s)])/,lookbehind:!0},punctuation:/[()]/};\nPrism.languages.smalltalk={comment:/\"(?:\"\"|[^\"])+\"/,string:/'(?:''|[^'])+'/,symbol:/#[\\da-z]+|#(?:-|([+\\/\\\\*~<>=@%|&?!])\\1?)|#(?=\\()/i,\"block-arguments\":{pattern:/(\\[\\s*):[^\\[|]*\\|/,lookbehind:!0,inside:{variable:/:[\\da-z]+/i,punctuation:/\\|/}},\"temporary-variables\":{pattern:/\\|[^|]+\\|/,inside:{variable:/[\\da-z]+/i,punctuation:/\\|/}},keyword:/\\b(?:nil|true|false|self|super|new)\\b/,character:{pattern:/\\$./,alias:\"string\"},number:[/\\d+r-?[\\dA-Z]+(?:\\.[\\dA-Z]+)?(?:e-?\\d+)?/,/\\b\\d+(?:\\.\\d+)?(?:e-?\\d+)?/],operator:/[<=]=?|:=|~[~=]|\\/\\/?|\\\\\\\\|>[>=]?|[!^+\\-*&|,@]/,punctuation:/[.;:?\\[\\](){}]/};\n!function(e){e.languages.smarty={comment:/\\{\\*[\\s\\S]*?\\*\\}/,delimiter:{pattern:/^\\{|\\}$/i,alias:\"punctuation\"},string:/([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,number:/\\b0x[\\dA-Fa-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,variable:[/\\$(?!\\d)\\w+/,/#(?!\\d)\\w+#/,{pattern:/(\\.|->)(?!\\d)\\w+/,lookbehind:!0},{pattern:/(\\[)(?!\\d)\\w+(?=\\])/,lookbehind:!0}],\"function\":[{pattern:/(\\|\\s*)@?(?!\\d)\\w+/,lookbehind:!0},/^\\/?(?!\\d)\\w+/,/(?!\\d)\\w+(?=\\()/],\"attr-name\":{pattern:/\\w+\\s*=\\s*(?:(?!\\d)\\w+)?/,inside:{variable:{pattern:/(=\\s*)(?!\\d)\\w+/,lookbehind:!0},operator:/=/}},punctuation:[/[\\[\\]().,:`]|->/],operator:[/[+\\-*\\/%]|==?=?|[!<>]=?|&&|\\|\\|?/,/\\bis\\s+(?:not\\s+)?(?:div|even|odd)(?:\\s+by)?\\b/,/\\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\\b/],keyword:/\\b(?:false|off|on|no|true|yes)\\b/},e.languages.insertBefore(\"smarty\",\"tag\",{\"smarty-comment\":{pattern:/\\{\\*[\\s\\S]*?\\*\\}/,alias:[\"smarty\",\"comment\"]}}),e.hooks.add(\"before-tokenize\",function(t){var a=/\\{\\*[\\s\\S]*?\\*\\}|\\{[\\s\\S]+?\\}/g,n=\"{literal}\",o=\"{/literal}\",r=!1;e.languages[\"markup-templating\"].buildPlaceholders(t,\"smarty\",a,function(e){return e===o&&(r=!1),r?!1:(e===n&&(r=!0),!0)})}),e.hooks.add(\"after-tokenize\",function(t){e.languages[\"markup-templating\"].tokenizePlaceholders(t,\"smarty\")})}(Prism);\nPrism.languages.plsql=Prism.languages.extend(\"sql\",{comment:[/\\/\\*[\\s\\S]*?\\*\\//,/--.*/]}),\"Array\"!==Prism.util.type(Prism.languages.plsql.keyword)&&(Prism.languages.plsql.keyword=[Prism.languages.plsql.keyword]),Prism.languages.plsql.keyword.unshift(/\\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\\b/i),\"Array\"!==Prism.util.type(Prism.languages.plsql.operator)&&(Prism.languages.plsql.operator=[Prism.languages.plsql.operator]),Prism.languages.plsql.operator.unshift(/:=/);\n!function(e){var a=/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,t=/\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-F]+\\b/;e.languages.soy={comment:[/\\/\\*[\\s\\S]*?\\*\\//,{pattern:/(\\s)\\/\\/.*/,lookbehind:!0,greedy:!0}],\"command-arg\":{pattern:/({+\\/?\\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\\s+)\\.?[\\w.]+/,lookbehind:!0,alias:\"string\",inside:{punctuation:/\\./}},parameter:{pattern:/({+\\/?\\s*@?param\\??\\s+)\\.?[\\w.]+/,lookbehind:!0,alias:\"variable\"},keyword:[{pattern:/({+\\/?[^\\S\\r\\n]*)(?:\\\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\\??|rb|sp|switch|template|xid)/,lookbehind:!0},/\\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\\b/],delimiter:{pattern:/^{+\\/?|\\/?}+$/,alias:\"punctuation\"},property:/\\w+(?==)/,variable:{pattern:/\\$[^\\W\\d]\\w*(?:\\??(?:\\.\\w+|\\[[^\\]]+]))*/,inside:{string:{pattern:a,greedy:!0},number:t,punctuation:/[\\[\\].?]/}},string:{pattern:a,greedy:!0},\"function\":[/\\w+(?=\\()/,{pattern:/(\\|[^\\S\\r\\n]*)\\w+/,lookbehind:!0}],\"boolean\":/\\b(?:true|false)\\b/,number:t,operator:/\\?:?|<=?|>=?|==?|!=|[+*\\/%-]|\\b(?:and|not|or)\\b/,punctuation:/[{}()\\[\\]|.,:]/},e.hooks.add(\"before-tokenize\",function(a){var t=/{{.+?}}|{.+?}|\\s\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//g,n=\"{literal}\",l=\"{/literal}\",r=!1;e.languages[\"markup-templating\"].buildPlaceholders(a,\"soy\",t,function(e){return e===l&&(r=!1),r?!1:(e===n&&(r=!0),!0)})}),e.hooks.add(\"after-tokenize\",function(a){e.languages[\"markup-templating\"].tokenizePlaceholders(a,\"soy\")})}(Prism);\n!function(n){var t={url:/url\\(([\"']?).*?\\1\\)/i,string:{pattern:/(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,greedy:!0},interpolation:null,func:null,important:/\\B!(?:important|optional)\\b/i,keyword:{pattern:/(^|\\s+)(?:(?:if|else|for|return|unless)(?=\\s+|$)|@[\\w-]+)/,lookbehind:!0},hexcode:/#[\\da-f]{3,6}/i,number:/\\b\\d+(?:\\.\\d+)?%?/,\"boolean\":/\\b(?:true|false)\\b/,operator:[/~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.+|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/],punctuation:/[{}()\\[\\];:,]/};t.interpolation={pattern:/\\{[^\\r\\n}:]+\\}/,alias:\"variable\",inside:{delimiter:{pattern:/^{|}$/,alias:\"punctuation\"},rest:t}},t.func={pattern:/[\\w-]+\\([^)]*\\).*/,inside:{\"function\":/^[^(]+/,rest:t}},n.languages.stylus={comment:{pattern:/(^|[^\\\\])(\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,lookbehind:!0},\"atrule-declaration\":{pattern:/(^\\s*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\\w-]+/,rest:t}},\"variable-declaration\":{pattern:/(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:(?:\\{[^}]*\\}|.+)|$)/m,lookbehind:!0,inside:{variable:/^\\S+/,rest:t}},statement:{pattern:/(^[ \\t]*)(?:if|else|for|return|unless)[ \\t]+.+/m,lookbehind:!0,inside:{keyword:/^\\S+/,rest:t}},\"property-declaration\":{pattern:/((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)[^{\\r\\n]*(?:;|[^{\\r\\n,](?=$)(?!(\\r?\\n|\\r)(?:\\{|\\2[ \\t]+)))/m,lookbehind:!0,inside:{property:{pattern:/^[^\\s:]+/,inside:{interpolation:t.interpolation}},rest:t}},selector:{pattern:/(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\))?|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\))?|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t]+)))/m,lookbehind:!0,inside:{interpolation:t.interpolation,punctuation:/[{},]/}},func:t.func,string:t.string,interpolation:t.interpolation,punctuation:/[{}()\\[\\];:.]/}}(Prism);\nPrism.languages.swift=Prism.languages.extend(\"clike\",{string:{pattern:/(\"|')(\\\\(?:\\((?:[^()]|\\([^)]+\\))+\\)|\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0,inside:{interpolation:{pattern:/\\\\\\((?:[^()]|\\([^)]+\\))+\\)/,inside:{delimiter:{pattern:/^\\\\\\(|\\)$/,alias:\"variable\"}}}}},keyword:/\\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\\b/,number:/\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,constant:/\\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,atrule:/@\\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\\b/,builtin:/\\b(?:[A-Z]\\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\\b/}),Prism.languages.swift.string.inside.interpolation.inside.rest=Prism.languages.swift;\nPrism.languages.yaml={scalar:{pattern:/([\\-:]\\s*(?:![^\\s]+)?[ \\t]*[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)[^\\r\\n]+(?:\\2[^\\r\\n]+)*)/,lookbehind:!0,alias:\"string\"},comment:/#.*/,key:{pattern:/(\\s*(?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:![^\\s]+)?[ \\t]*)[^\\r\\n{[\\]},#\\s]+?(?=\\s*:\\s)/,lookbehind:!0,alias:\"atrule\"},directive:{pattern:/(^[ \\t]*)%.+/m,lookbehind:!0,alias:\"important\"},datetime:{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,lookbehind:!0,alias:\"number\"},\"boolean\":{pattern:/([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:true|false)[ \\t]*(?=$|,|]|})/im,lookbehind:!0,alias:\"important\"},\"null\":{pattern:/([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:null|~)[ \\t]*(?=$|,|]|})/im,lookbehind:!0,alias:\"important\"},string:{pattern:/([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(\"|')(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2(?=[ \\t]*(?:$|,|]|}))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)[ \\t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\\s]+/,important:/[&*][\\w]+/,punctuation:/---|[:[\\]{}\\-,|>?]|\\.\\.\\./};\nPrism.languages.tcl={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0},string:{pattern:/\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,greedy:!0},variable:[{pattern:/(\\$)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/,lookbehind:!0},{pattern:/(\\$){[^}]+}/,lookbehind:!0},{pattern:/(^\\s*set[ \\t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/m,lookbehind:!0}],\"function\":{pattern:/(^\\s*proc[ \\t]+)[^\\s]+/m,lookbehind:!0},builtin:[{pattern:/(^\\s*)(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\\b/m,lookbehind:!0},/\\b(?:elseif|else)\\b/],scope:{pattern:/(^\\s*)(?:global|upvar|variable)\\b/m,lookbehind:!0,alias:\"constant\"},keyword:{pattern:/(^\\s*|\\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\\b/m,lookbehind:!0},operator:/!=?|\\*\\*?|==|&&?|\\|\\|?|<[=<]?|>[=>]?|[-+~\\/%?^]|\\b(?:eq|ne|in|ni)\\b/,punctuation:/[{}()\\[\\]]/};\n!function(e){var i=\"(?:\\\\([^|)]+\\\\)|\\\\[[^\\\\]]+\\\\]|\\\\{[^}]+\\\\})+\",n={css:{pattern:/\\{[^}]+\\}/,inside:{rest:e.languages.css}},\"class-id\":{pattern:/(\\()[^)]+(?=\\))/,lookbehind:!0,alias:\"attr-value\"},lang:{pattern:/(\\[)[^\\]]+(?=\\])/,lookbehind:!0,alias:\"attr-value\"},punctuation:/[\\\\\\/]\\d+|\\S/};e.languages.textile=e.languages.extend(\"markup\",{phrase:{pattern:/(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,lookbehind:!0,inside:{\"block-tag\":{pattern:RegExp(\"^[a-z]\\\\w*(?:\"+i+\"|[<>=()])*\\\\.\"),inside:{modifier:{pattern:RegExp(\"(^[a-z]\\\\w*)(?:\"+i+\"|[<>=()])+(?=\\\\.)\"),lookbehind:!0,inside:n},tag:/^[a-z]\\w*/,punctuation:/\\.$/}},list:{pattern:RegExp(\"^[*#]+(?:\"+i+\")?\\\\s+.+\",\"m\"),inside:{modifier:{pattern:RegExp(\"(^[*#]+)\"+i),lookbehind:!0,inside:n},punctuation:/^[*#]+/}},table:{pattern:RegExp(\"^(?:(?:\"+i+\"|[<>=()^~])+\\\\.\\\\s*)?(?:\\\\|(?:(?:\"+i+\"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+\\\\.)?[^|]*)+\\\\|\",\"m\"),inside:{modifier:{pattern:RegExp(\"(^|\\\\|(?:\\\\r?\\\\n|\\\\r)?)(?:\"+i+\"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+(?=\\\\.)\"),lookbehind:!0,inside:n},punctuation:/\\||^\\./}},inline:{pattern:RegExp(\"(\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])(?:\"+i+\")?.+?\\\\1\"),inside:{bold:{pattern:RegExp(\"(^(\\\\*\\\\*?)(?:\"+i+\")?).+?(?=\\\\2)\"),lookbehind:!0},italic:{pattern:RegExp(\"(^(__?)(?:\"+i+\")?).+?(?=\\\\2)\"),lookbehind:!0},cite:{pattern:RegExp(\"(^\\\\?\\\\?(?:\"+i+\")?).+?(?=\\\\?\\\\?)\"),lookbehind:!0,alias:\"string\"},code:{pattern:RegExp(\"(^@(?:\"+i+\")?).+?(?=@)\"),lookbehind:!0,alias:\"keyword\"},inserted:{pattern:RegExp(\"(^\\\\+(?:\"+i+\")?).+?(?=\\\\+)\"),lookbehind:!0},deleted:{pattern:RegExp(\"(^-(?:\"+i+\")?).+?(?=-)\"),lookbehind:!0},span:{pattern:RegExp(\"(^%(?:\"+i+\")?).+?(?=%)\"),lookbehind:!0},modifier:{pattern:RegExp(\"(^\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])\"+i),lookbehind:!0,inside:n},punctuation:/[*_%?@+\\-^~]+/}},\"link-ref\":{pattern:/^\\[[^\\]]+\\]\\S+$/m,inside:{string:{pattern:/(\\[)[^\\]]+(?=\\])/,lookbehind:!0},url:{pattern:/(\\])\\S+$/,lookbehind:!0},punctuation:/[\\[\\]]/}},link:{pattern:RegExp('\"(?:'+i+')?[^\"]+\":.+?(?=[^\\\\w/]?(?:\\\\s|$))'),inside:{text:{pattern:RegExp('(^\"(?:'+i+')?)[^\"]+(?=\")'),lookbehind:!0},modifier:{pattern:RegExp('(^\")'+i),lookbehind:!0,inside:n},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[\":]/}},image:{pattern:RegExp(\"!(?:\"+i+\"|[<>=()])*[^!\\\\s()]+(?:\\\\([^)]+\\\\))?!(?::.+?(?=[^\\\\w/]?(?:\\\\s|$)))?\"),inside:{source:{pattern:RegExp(\"(^!(?:\"+i+\"|[<>=()])*)[^!\\\\s()]+(?:\\\\([^)]+\\\\))?(?=!)\"),lookbehind:!0,alias:\"url\"},modifier:{pattern:RegExp(\"(^!)(?:\"+i+\"|[<>=()])+\"),lookbehind:!0,inside:n},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[!:]/}},footnote:{pattern:/\\b\\[\\d+\\]/,alias:\"comment\",inside:{punctuation:/\\[|\\]/}},acronym:{pattern:/\\b[A-Z\\d]+\\([^)]+\\)/,inside:{comment:{pattern:/(\\()[^)]+(?=\\))/,lookbehind:!0},punctuation:/[()]/}},mark:{pattern:/\\b\\((?:TM|R|C)\\)/,alias:\"comment\",inside:{punctuation:/[()]/}}}}});var t={inline:e.languages.textile.phrase.inside.inline,link:e.languages.textile.phrase.inside.link,image:e.languages.textile.phrase.inside.image,footnote:e.languages.textile.phrase.inside.footnote,acronym:e.languages.textile.phrase.inside.acronym,mark:e.languages.textile.phrase.inside.mark};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}(Prism);\n!function(e){e.languages.tt2=e.languages.extend(\"clike\",{comment:{pattern:/#.*|\\[%#[\\s\\S]*?%\\]/,lookbehind:!0},keyword:/\\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\\b/,punctuation:/[[\\]{},()]/}),delete e.languages.tt2.operator,delete e.languages.tt2.variable,e.languages.insertBefore(\"tt2\",\"number\",{operator:/=[>=]?|!=?|<=?|>=?|&&|\\|\\|?|\\b(?:and|or|not)\\b/,variable:{pattern:/[a-z]\\w*(?:\\s*\\.\\s*(?:\\d+|\\$?[a-z]\\w*))*/i}}),delete e.languages.tt2.delimiter,e.languages.insertBefore(\"tt2\",\"keyword\",{delimiter:{pattern:/^(?:\\[%|%%)-?|-?%]$/,alias:\"punctuation\"}}),e.languages.insertBefore(\"tt2\",\"string\",{\"single-quoted-string\":{pattern:/'[^\\\\']*(?:\\\\[\\s\\S][^\\\\']*)*'/,greedy:!0,alias:\"string\"},\"double-quoted-string\":{pattern:/\"[^\\\\\"]*(?:\\\\[\\s\\S][^\\\\\"]*)*\"/,greedy:!0,alias:\"string\",inside:{variable:{pattern:/\\$(?:[a-z]\\w*(?:\\.(?:\\d+|\\$?[a-z]\\w*))*)/i}}}}),delete e.languages.tt2.string,e.hooks.add(\"before-tokenize\",function(t){var a=/\\[%[\\s\\S]+?%\\]/g;e.languages[\"markup-templating\"].buildPlaceholders(t,\"tt2\",a)}),e.hooks.add(\"after-tokenize\",function(t){e.languages[\"markup-templating\"].tokenizePlaceholders(t,\"tt2\")})}(Prism);\nPrism.languages.twig={comment:/\\{#[\\s\\S]*?#\\}/,tag:{pattern:/\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}/,inside:{ld:{pattern:/^(?:\\{\\{-?|\\{%-?\\s*\\w+)/,inside:{punctuation:/^(?:\\{\\{|\\{%)-?/,keyword:/\\w+/}},rd:{pattern:/-?(?:%\\}|\\}\\})$/,inside:{punctuation:/.*/}},string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,inside:{punctuation:/^['\"]|['\"]$/}},keyword:/\\b(?:even|if|odd)\\b/,\"boolean\":/\\b(?:true|false|null)\\b/,number:/\\b0x[\\dA-Fa-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,operator:[{pattern:/(\\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,lookbehind:!0},/[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/],property:/\\b[a-zA-Z_]\\w*\\b/,punctuation:/[()\\[\\]{}:.,]/}},other:{pattern:/\\S(?:[\\s\\S]*\\S)?/,inside:Prism.languages.markup}};\nvar typescript=Prism.util.clone(Prism.languages.typescript);Prism.languages.tsx=Prism.languages.extend(\"jsx\",typescript);\nPrism.languages.vbnet=Prism.languages.extend(\"basic\",{keyword:/(?:\\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\\$|\\b)/i,comment:[{pattern:/(?:!|REM\\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\\\:])'.*/,lookbehind:!0}]});\n!function(e){e.languages.velocity=e.languages.extend(\"markup\",{});var n={variable:{pattern:/(^|[^\\\\](?:\\\\\\\\)*)\\$!?(?:[a-z][\\w-]*(?:\\([^)]*\\))?(?:\\.[a-z][\\w-]*(?:\\([^)]*\\))?|\\[[^\\]]+])*|{[^}]+})/i,lookbehind:!0,inside:{}},string:{pattern:/\"[^\"]*\"|'[^']*'/,greedy:!0},number:/\\b\\d+\\b/,\"boolean\":/\\b(?:true|false)\\b/,operator:/[=!<>]=?|[+*\\/%-]|&&|\\|\\||\\.\\.|\\b(?:eq|g[et]|l[et]|n(?:e|ot))\\b/,punctuation:/[(){}[\\]:,.]/};n.variable.inside={string:n.string,\"function\":{pattern:/([^\\w-])[a-z][\\w-]*(?=\\()/,lookbehind:!0},number:n.number,\"boolean\":n[\"boolean\"],punctuation:n.punctuation},e.languages.insertBefore(\"velocity\",\"comment\",{unparsed:{pattern:/(^|[^\\\\])#\\[\\[[\\s\\S]*?]]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\\[\\[|]]#$/}},\"velocity-comment\":[{pattern:/(^|[^\\\\])#\\*[\\s\\S]*?\\*#/,lookbehind:!0,greedy:!0,alias:\"comment\"},{pattern:/(^|[^\\\\])##.*/,lookbehind:!0,greedy:!0,alias:\"comment\"}],directive:{pattern:/(^|[^\\\\](?:\\\\\\\\)*)#@?(?:[a-z][\\w-]*|{[a-z][\\w-]*})(?:\\s*\\((?:[^()]|\\([^()]*\\))*\\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\\w-]*|{[a-z][\\w-]*})|\\bin\\b/,inside:{punctuation:/[{}]/}},rest:n}},variable:n.variable}),e.languages.velocity.tag.inside[\"attr-value\"].inside.rest=e.languages.velocity}(Prism);\nPrism.languages.verilog={comment:/\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,string:{pattern:/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,greedy:!0},property:/\\B\\$\\w+\\b/,constant:/\\B`\\w+\\b/,\"function\":/\\w+(?=\\()/,keyword:/\\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\\b/,important:/\\b(?:always_latch|always_comb|always_ff|always)\\b ?@?/,number:/\\B##?\\d+|(?:\\b\\d+)?'[odbh] ?[\\da-fzx_?]+|\\b\\d*[._]?\\d+(?:e[-+]?\\d+)?/i,operator:/[-+{}^~%*\\/?=!<>&|]+/,punctuation:/[[\\];(),.:]/};\nPrism.languages.vhdl={comment:/--.+/,\"vhdl-vectors\":{pattern:/\\b[oxb]\"[\\da-f_]+\"|\"[01uxzwlh-]+\"/i,alias:\"number\"},\"quoted-function\":{pattern:/\"\\S+?\"(?=\\()/,alias:\"function\"},string:/\"(?:[^\\\\\"\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,constant:/\\b(?:use|library)\\b/i,keyword:/\\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\\b/i,\"boolean\":/\\b(?:true|false)\\b/i,\"function\":/\\w+(?=\\()/,number:/'[01uxzwlh-]'|\\b(?:\\d+#[\\da-f_.]+#|\\d[\\d_.]*)(?:e[-+]?\\d+)?/i,operator:/[<>]=?|:=|[-+*\\/&=]|\\b(?:abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|xnor|xor|nor)\\b/i,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.vim={string:/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,comment:/\".*/,\"function\":/\\w+(?=\\()/,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/,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/,number:/\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,operator:/\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,punctuation:/[{}[\\](),;:]/};\nPrism.languages[\"visual-basic\"]={comment:{pattern:/(?:['‘’]|REM\\b).*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\\S\\r\\n]_[^\\S\\r\\n]*(?:\\r\\n?|\\n)|.)+/i,alias:\"comment\",greedy:!0},string:{pattern:/[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,greedy:!0},date:{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,alias:\"builtin\"},number:/(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:U?[ILS]|[FRD])?/i,\"boolean\":/\\b(?:True|False|Nothing)\\b/i,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,operator:[/[+\\-*\\/\\\\^<=>&#@$%!]/,{pattern:/([^\\S\\r\\n])_(?=[^\\S\\r\\n]*[\\r\\n])/,lookbehind:!0}],punctuation:/[{}().,:?]/},Prism.languages.vb=Prism.languages[\"visual-basic\"];\nPrism.languages.wasm={comment:[/\\(;[\\s\\S]*?;\\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,greedy:!0},keyword:[{pattern:/\\b(?:align|offset)=/,inside:{operator:/=/}},{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/,inside:{punctuation:/\\./}},/\\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/],variable:/\\$[\\w!#$%&'*+\\-.\\/:<=>?@\\\\^_`|~]+/i,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/,punctuation:/[()]/};\nPrism.languages.wiki=Prism.languages.extend(\"markup\",{\"block-comment\":{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0,alias:\"comment\"},heading:{pattern:/^(=+).+?\\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\\1/,inside:{\"bold italic\":{pattern:/(''''').+?(?=\\1)/,lookbehind:!0},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:\"punctuation\"},url:[/ISBN +(?:97[89][ -]?)?(?:\\d[ -]?){9}[\\dx]\\b|(?:RFC|PMID) +\\d+/i,/\\[\\[.+?\\]\\]|\\[.+?\\]/],variable:[/__[A-Z]+__/,/\\{{3}.+?\\}{3}/,/\\{\\{.+?\\}\\}/],symbol:[/^#redirect/im,/~{3,5}/],\"table-tag\":{pattern:/((?:^|[|!])[|!])[^|\\r\\n]+\\|(?!\\|)/m,lookbehind:!0,inside:{\"table-bar\":{pattern:/\\|$/,alias:\"punctuation\"},rest:Prism.languages.markup.tag.inside}},punctuation:/^(?:\\{\\||\\|\\}|\\|-|[*#:;!|])|\\|\\||!!/m}),Prism.languages.insertBefore(\"wiki\",\"tag\",{nowiki:{pattern:/<(nowiki|pre|source)\\b[\\s\\S]*?>[\\s\\S]*?<\\/\\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\\b[\\s\\S]*?>|<\\/(?:nowiki|pre|source)>/i,inside:Prism.languages.markup.tag.inside}}}});\n!function(n){n.languages.xeora=n.languages.extend(\"markup\",{constant:{pattern:/\\$(?:DomainContents|PageRenderDuration)\\$/,inside:{punctuation:{pattern:/\\$/}}},variable:{pattern:/\\$@?(?:#+|[-+*~=^])?[\\w.]+\\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},\"function-inline\":{pattern:/\\$F:[-\\w.]+\\?[-\\w.]+(?:,(?:\\|?(?:[-#.^+*~]*(?:[\\w+][^$]*)|=(?:[\\S+][^$]*)|@[-#]*(?:\\w+.)[\\w+.]+)?)*)?\\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\\$\\w:|[$:?.,|]/}},alias:\"function\"},\"function-block\":{pattern:/\\$XF:{[-\\w.]+\\?[-\\w.]+(?:,(?:\\|?(?:[-#.^+*~]*(?:[\\w+][^$]*)|=(?:[\\S+][^$]*)|@[-#]*(?:\\w+.)[\\w+.]+)?)*)?}:XF\\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:\"function\"},\"directive-inline\":{pattern:/\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+])?:[-\\/\\w.]+\\$/,inside:{punctuation:{pattern:/\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,inside:{tag:{pattern:/#\\d/}}}},alias:\"function\"},\"directive-block-open\":{pattern:/\\$\\w+:{|\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+])?:[-\\w.]+:{(![A-Z]+)?/,inside:{punctuation:{pattern:/\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,inside:{tag:{pattern:/#\\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:\"keyword\"}},alias:\"function\"},\"directive-block-separator\":{pattern:/}:[-\\w.]+:{/,inside:{punctuation:{pattern:/[:{}]/}},alias:\"function\"},\"directive-block-close\":{pattern:/}:[-\\w.]+\\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:\"function\"}}),n.languages.insertBefore(\"inside\",\"punctuation\",{variable:n.languages.xeora[\"function-inline\"].inside.variable},n.languages.xeora[\"function-block\"]),n.languages.xeoracube=n.languages.xeora}(Prism);\nPrism.languages.xojo={comment:{pattern:/(?:'|\\/\\/|Rem\\b).+/i,inside:{keyword:/^Rem/i}},string:{pattern:/\"(?:\"\"|[^\"])*\"/,greedy:!0},number:[/(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,/&[bchou][a-z\\d]+/i],symbol:/#(?:If|Else|ElseIf|Endif|Pragma)\\b/i,keyword:/\\b(?:AddHandler|App|Array|As(?:signs)?|By(?:Ref|Val)|Break|Call|Case|Catch|Const|Continue|CurrentMethodName|Declare|Dim|Do(?:wnTo)?|Each|Else(?:If)?|End|Exit|Extends|False|Finally|For|Global|If|In|Lib|Loop|Me|Next|Nil|Optional|ParamArray|Raise(?:Event)?|ReDim|Rem|RemoveHandler|Return|Select|Self|Soft|Static|Step|Super|Then|To|True|Try|Ubound|Until|Using|Wend|While)\\b/i,operator:/<[=>]?|>=?|[+\\-*\\/\\\\^=]|\\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|Xor|WeakAddressOf)\\b/i,punctuation:/[.,;:()]/};\n!function(e){e.languages.xquery=e.languages.extend(\"markup\",{\"xquery-comment\":{pattern:/\\(:[\\s\\S]*?:\\)/,greedy:!0,alias:\"comment\"},string:{pattern:/([\"'])(?:\\1\\1|(?!\\1)[\\s\\S])*\\1/,greedy:!0},extension:{pattern:/\\(#.+?#\\)/,alias:\"symbol\"},variable:/\\$[\\w-:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:\"operator\"},\"keyword-operator\":{pattern:/(^|[^:-])\\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\\b(?=$|[^:-])/,lookbehind:!0,alias:\"operator\"},keyword:{pattern:/(^|[^:-])\\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\\b(?=$|[^:-])/,lookbehind:!0},\"function\":/[\\w-]+(?::[\\w-]+)*(?=\\s*\\()/,\"xquery-element\":{pattern:/(element\\s+)[\\w-]+(?::[\\w-]+)*/,lookbehind:!0,alias:\"tag\"},\"xquery-attribute\":{pattern:/(attribute\\s+)[\\w-]+(?::[\\w-]+)*/,lookbehind:!0,alias:\"attr-name\"},builtin:{pattern:/(^|[^:-])\\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\\b(?=$|[^:-])/,lookbehind:!0},number:/\\b\\d+(?:\\.\\d+)?(?:E[+-]?\\d+)?/,operator:[/[+*=?|@]|\\.\\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\\s)-(?=\\s)/,lookbehind:!0}],punctuation:/[[\\](){},;:\\/]/}),e.languages.xquery.tag.pattern=/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|{(?!{)(?:{(?:{[^}]*}|[^}])*}|[^}])+}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,e.languages.xquery.tag.inside[\"attr-value\"].pattern=/=(?:(\"|')(?:\\\\[\\s\\S]|{(?!{)(?:{(?:{[^}]*}|[^}])*}|[^}])+}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/i,e.languages.xquery.tag.inside[\"attr-value\"].inside.punctuation=/^=\"|\"$/,e.languages.xquery.tag.inside[\"attr-value\"].inside.expression={pattern:/{(?!{)(?:{(?:{[^}]*}|[^}])*}|[^}])+}/,inside:{rest:e.languages.xquery},alias:\"language-xquery\"};var t=function(e){return\"string\"==typeof e?e:\"string\"==typeof e.content?e.content:e.content.map(t).join(\"\")},n=function(a){for(var o=[],i=0;i<a.length;i++){var r=a[i],s=!1;if(\"string\"!=typeof r&&(\"tag\"===r.type&&r.content[0]&&\"tag\"===r.content[0].type?\"</\"===r.content[0].content[0].content?o.length>0&&o[o.length-1].tagName===t(r.content[0].content[1])&&o.pop():\"/>\"===r.content[r.content.length-1].content||o.push({tagName:t(r.content[0].content[1]),openedBraces:0}):!(o.length>0&&\"punctuation\"===r.type&&\"{\"===r.content)||a[i+1]&&\"punctuation\"===a[i+1].type&&\"{\"===a[i+1].content||a[i-1]&&\"plain-text\"===a[i-1].type&&\"{\"===a[i-1].content?o.length>0&&o[o.length-1].openedBraces>0&&\"punctuation\"===r.type&&\"}\"===r.content?o[o.length-1].openedBraces--:\"comment\"!==r.type&&(s=!0):o[o.length-1].openedBraces++),(s||\"string\"==typeof r)&&o.length>0&&0===o[o.length-1].openedBraces){var l=t(r);i<a.length-1&&(\"string\"==typeof a[i+1]||\"plain-text\"===a[i+1].type)&&(l+=t(a[i+1]),a.splice(i+1,1)),i>0&&(\"string\"==typeof a[i-1]||\"plain-text\"===a[i-1].type)&&(l=t(a[i-1])+l,a.splice(i-1,1),i--),a[i]=/^\\s+$/.test(l)?l:new e.Token(\"plain-text\",l,null,l)}r.content&&\"string\"!=typeof r.content&&n(r.content)}};e.hooks.add(\"after-tokenize\",function(e){\"xquery\"===e.language&&n(e.tokens)})}(Prism);\nPrism.languages.tap={fail:/not ok[^#{\\n\\r]*/,pass:/ok[^#{\\n\\r]*/,pragma:/pragma [+-][a-z]+/,bailout:/bail out!.*/i,version:/TAP version \\d+/i,plan:/\\d+\\.\\.\\d+(?: +#.*)?/,subtest:{pattern:/# Subtest(?:: .*)?/,greedy:!0},punctuation:/[{}]/,directive:/#.*/,yamlish:{pattern:/(^[^\\S\\r\\n]*)---(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?[^\\S\\r\\n]*\\.\\.\\.$/m,lookbehind:!0,inside:Prism.languages.yaml,alias:\"language-yaml\"}};\n!function(){function e(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function t(e,t){return t=\" \"+t+\" \",(\" \"+e.className+\" \").replace(/[\\n\\t]/g,\" \").indexOf(t)>-1}function n(e,n,i){n=\"string\"==typeof n?n:e.getAttribute(\"data-line\");for(var o,l=n.replace(/\\s+/g,\"\").split(\",\"),a=+e.getAttribute(\"data-line-offset\")||0,s=r()?parseInt:parseFloat,d=s(getComputedStyle(e).lineHeight),u=t(e,\"line-numbers\"),c=0;o=l[c++];){var p=o.split(\"-\"),m=+p[0],f=+p[1]||m,h=e.querySelector('.line-highlight[data-range=\"'+o+'\"]')||document.createElement(\"div\");if(h.setAttribute(\"aria-hidden\",\"true\"),h.setAttribute(\"data-range\",o),h.className=(i||\"\")+\" line-highlight\",u&&Prism.plugins.lineNumbers){var g=Prism.plugins.lineNumbers.getLine(e,m),y=Prism.plugins.lineNumbers.getLine(e,f);g&&(h.style.top=g.offsetTop+\"px\"),y&&(h.style.height=y.offsetTop-g.offsetTop+y.offsetHeight+\"px\")}else h.setAttribute(\"data-start\",m),f>m&&h.setAttribute(\"data-end\",f),h.style.top=(m-a-1)*d+\"px\",h.textContent=new Array(f-m+2).join(\" \\n\");u?e.appendChild(h):(e.querySelector(\"code\")||e).appendChild(h)}}function i(){var t=location.hash.slice(1);e(\".temporary.line-highlight\").forEach(function(e){e.parentNode.removeChild(e)});var i=(t.match(/\\.([\\d,-]+)$/)||[,\"\"])[1];if(i&&!document.getElementById(t)){var r=t.slice(0,t.lastIndexOf(\".\")),o=document.getElementById(r);o&&(o.hasAttribute(\"data-line\")||o.setAttribute(\"data-line\",\"\"),n(o,i,\"temporary \"),document.querySelector(\".temporary.line-highlight\").scrollIntoView())}}if(\"undefined\"!=typeof self&&self.Prism&&self.document&&document.querySelector){var r=function(){var e;return function(){if(\"undefined\"==typeof e){var t=document.createElement(\"div\");t.style.fontSize=\"13px\",t.style.lineHeight=\"1.5\",t.style.padding=0,t.style.border=0,t.innerHTML=\"&nbsp;<br />&nbsp;\",document.body.appendChild(t),e=38===t.offsetHeight,document.body.removeChild(t)}return e}}(),o=0;Prism.hooks.add(\"before-sanity-check\",function(t){var n=t.element.parentNode,i=n&&n.getAttribute(\"data-line\");if(n&&i&&/pre/i.test(n.nodeName)){var r=0;e(\".line-highlight\",n).forEach(function(e){r+=e.textContent.length,e.parentNode.removeChild(e)}),r&&/^( \\n)+$/.test(t.code.slice(-r))&&(t.code=t.code.slice(0,-r))}}),Prism.hooks.add(\"complete\",function l(e){var r=e.element.parentNode,a=r&&r.getAttribute(\"data-line\");if(r&&a&&/pre/i.test(r.nodeName)){clearTimeout(o);var s=Prism.plugins.lineNumbers,d=e.plugins&&e.plugins.lineNumbers;t(r,\"line-numbers\")&&s&&!d?Prism.hooks.add(\"line-numbers\",l):(n(r,a),o=setTimeout(i,1))}}),window.addEventListener(\"hashchange\",i),window.addEventListener(\"resize\",function(){var e=document.querySelectorAll(\"pre[data-line]\");Array.prototype.forEach.call(e,function(e){n(e)})})}}();\n!function(){\"undefined\"!=typeof self&&!self.Prism||\"undefined\"!=typeof global&&!global.Prism||Prism.hooks.add(\"wrap\",function(e){\"keyword\"===e.type&&e.classes.push(\"keyword-\"+e.content)})}();\n!function(){function e(e){this.defaults=r({},e)}function n(e){return e.replace(/-(\\w)/g,function(e,n){return n.toUpperCase()})}function t(e){for(var n=0,t=0;t<e.length;++t)e.charCodeAt(t)==\"\t\".charCodeAt(0)&&(n+=3);return e.length+n}var r=Object.assign||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e};e.prototype={setDefaults:function(e){this.defaults=r(this.defaults,e)},normalize:function(e,t){t=r(this.defaults,t);for(var i in t){var o=n(i);\"normalize\"!==i&&\"setDefaults\"!==o&&t[i]&&this[o]&&(e=this[o].call(this,e,t[i]))}return e},leftTrim:function(e){return e.replace(/^\\s+/,\"\")},rightTrim:function(e){return e.replace(/\\s+$/,\"\")},tabsToSpaces:function(e,n){return n=0|n||4,e.replace(/\\t/g,new Array(++n).join(\" \"))},spacesToTabs:function(e,n){return n=0|n||4,e.replace(new RegExp(\" {\"+n+\"}\",\"g\"),\"\t\")},removeTrailing:function(e){return e.replace(/\\s*?$/gm,\"\")},removeInitialLineFeed:function(e){return e.replace(/^(?:\\r?\\n|\\r)/,\"\")},removeIndent:function(e){var n=e.match(/^[^\\S\\n\\r]*(?=\\S)/gm);return n&&n[0].length?(n.sort(function(e,n){return e.length-n.length}),n[0].length?e.replace(new RegExp(\"^\"+n[0],\"gm\"),\"\"):e):e},indent:function(e,n){return e.replace(/^[^\\S\\n\\r]*(?=\\S)/gm,new Array(++n).join(\"\t\")+\"$&\")},breakLines:function(e,n){n=n===!0?80:0|n||80;for(var r=e.split(\"\\n\"),i=0;i<r.length;++i)if(!(t(r[i])<=n)){for(var o=r[i].split(/(\\s+)/g),a=0,s=0;s<o.length;++s){var l=t(o[s]);a+=l,a>n&&(o[s]=\"\\n\"+o[s],a=l)}r[i]=o.join(\"\")}return r.join(\"\\n\")}},\"undefined\"!=typeof module&&module.exports&&(module.exports=e),\"undefined\"!=typeof Prism&&(Prism.plugins.NormalizeWhitespace=new e({\"remove-trailing\":!0,\"remove-indent\":!0,\"left-trim\":!0,\"right-trim\":!0}),Prism.hooks.add(\"before-sanity-check\",function(e){var n=Prism.plugins.NormalizeWhitespace;if(!e.settings||e.settings[\"whitespace-normalization\"]!==!1){if((!e.element||!e.element.parentNode)&&e.code)return e.code=n.normalize(e.code,e.settings),void 0;var t=e.element.parentNode,r=/\\bno-whitespace-normalization\\b/;if(e.code&&t&&\"pre\"===t.nodeName.toLowerCase()&&!r.test(t.className)&&!r.test(e.element.className)){for(var i=t.childNodes,o=\"\",a=\"\",s=!1,l=0;l<i.length;++l){var c=i[l];c==e.element?s=!0:\"#text\"===c.nodeName&&(s?a+=c.nodeValue:o+=c.nodeValue,t.removeChild(c),--l)}if(e.element.children.length&&Prism.plugins.KeepMarkup){var u=o+e.element.innerHTML+a;e.element.innerHTML=n.normalize(u,e.settings),e.code=e.element.textContent}else e.code=o+e.code+a,e.code=n.normalize(e.code,e.settings)}}}))}();\n","/**\n * ==============================\n * DOM\n * ==============================\n */\n\n/**\n * Simple DOM manipulation functions\n *\n * @class\n */\nexport class DOM {\n\n\t/**\n\t * Create a new DOM object\n\t *\n\t * @constructor\n\t * @param  {string|Object|array} selector - Selector or DOM element to use\n\t * @return {DOM} - New instance of DOM\n\t */\n\tconstructor (selector) {\n\t\tif (typeof selector == 'string') {\n\t\t\tthis.collection = document.querySelectorAll (selector);\n\t\t\tthis.length = this.collection.length;\n\t\t} else if (selector instanceof NodeList) {\n\t\t\tthis.collection = selector;\n\t\t\tthis.length = selector.length;\n\t\t} else if (typeof selector == 'object') {\n\t\t\tif (selector.length >= 1) {\n\t\t\t\tthis.collection = selector;\n\t\t\t} else {\n\t\t\t\tthis.collection = [selector];\n\t\t\t}\n\t\t\tthis.length = this.collection.length;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Hide elements by setting their `display` property to 'none'.\n\t */\n\thide () {\n\t\tfor (const element of this.collection) {\n\t\t\telement.style.display = 'none';\n\t\t}\n\t}\n\n\t/**\n\t * Show elements by setting their `display` property to the given value.\n\t *\n\t * @param {string} [display='block'] - Display property to set\n\t */\n\tshow (display = 'block') {\n\t\tfor (const element of this.collection) {\n\t\t\telement.style.display = display;\n\t\t}\n\t}\n\n\t/**\n\t * Add a class to the classList object\n\t *\n\t * @param  {string} newClass - Class name to add\n\t */\n\taddClass (newClass) {\n\t\tfor (const element of this.collection) {\n\t\t\telement.classList.add (newClass);\n\t\t}\n\t}\n\n\t/**\n\t * Remove a given class from the classList object\n\t *\n\t * @param  {string} [oldClass=null] - Class to remove. If it's empty or null,\n\t * all classes will be removed\n\t */\n\tremoveClass (oldClass = null) {\n\t\tif (oldClass !== null) {\n\t\t\tfor (const element of this.collection) {\n\t\t\t\telement.classList.remove (oldClass);\n\t\t\t}\n\t\t} else {\n\t\t\tfor (const element of this.collection) {\n\t\t\t\twhile (element.classList.length > 0) {\n\t\t\t\t\telement.classList.remove (element.classList.item (0));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Toggle between two classes\n\t *\n\t * @param  {string} classes - Space separated class names\n\t */\n\ttoggleClass (classes) {\n\t\tclasses = classes.split (' ');\n\t\tfor (const element of this.collection) {\n\t\t\tfor (let j = 0; j < classes.length; j++) {\n\t\t\t\telement.classList.toggle (classes[j]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Check if the first element matching the selector has the given class\n\t *\n\t * @param  {string} classToCheck - Class name to check for\n\t * @return {boolean} - Whether the class is present or not\n\t */\n\thasClass (classToCheck) {\n\t\tif (this.collection[0]) {\n\t\t\tfor (let j = 0; j < this.collection[0].classList.length; j++) {\n\t\t\t\tif (this.collection[0].classList[j] == classToCheck) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Get or set the value from the first element matching the selector\n\t *\n\t * @param  {string} value - Value to set to the element.\n\t * @return {string} - If no value was provided, this returns the value of the\n\t * element instead of setting it\n\t */\n\tvalue (value) {\n\t\tif (this.length > 0) {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn this.collection[0].value;\n\t\t\t} else {\n\t\t\t\tthis.collection[0].value = value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Focus on the first element matching the selector\n\t */\n\tfocus () {\n\t\tif (this.length > 0) {\n\t\t\tthis.collection[0].focus ();\n\t\t}\n\t}\n\n\t/**\n\t * Add a callback for the 'click' event on every element matching the selector\n\t *\n\t * @param  {function} callback - Callback function to run when the event is triggered\n\t */\n\tclick (callback) {\n\t\tfor (const element of this.collection) {\n\t\t\telement.addEventListener ('click', callback, false);\n\t\t}\n\t}\n\n\t/**\n\t * Add a callback for the 'keyup' event on every element matching the selector\n\t *\n\t * @param  {function} callback - Callback function to run when the event is triggered\n\t */\n\tkeyup (callback) {\n\t\tfor (const element of this.collection) {\n\t\t\telement.addEventListener ('keyup', callback, false);\n\t\t}\n\t}\n\n\t/**\n\t * Add a callback for the 'keydown' event on every element matching the selector\n\t *\n\t * @param  {function} callback - Callback function to run when the event is triggered\n\t */\n\tkeydown (callback) {\n\t\tfor (const element of this.collection) {\n\t\t\telement.addEventListener ('keydown', callback, false);\n\t\t}\n\t}\n\n\t/**\n\t * Add a callback for the 'submit' event on every element matching the selector\n\t *\n\t * @param  {function} callback - Callback function to run when the event is triggered\n\t */\n\tsubmit (callback) {\n\t\tfor (const element of this.collection) {\n\t\t\telement.addEventListener ('submit', callback, false);\n\t\t}\n\t}\n\n\t/**\n\t * Add a callback for the 'change' event on every element matching the selector\n\t *\n\t * @param  {function} callback - Callback function to run when the event is triggered\n\t */\n\tchange (callback) {\n\t\tfor (const element of this.collection) {\n\t\t\telement.addEventListener ('change', callback, false);\n\t\t}\n\t}\n\n\t/**\n\t * Add a callback for the 'scroll' event on every element matching the selector\n\t *\n\t * @param  {function} callback - Callback function to run when the event is triggered\n\t */\n\tscroll (callback) {\n\t\tfor (const element of this.collection) {\n\t\t\telement.addEventListener ('scroll', callback, false);\n\t\t}\n\t}\n\n\t/**\n\t * Add a callback function to a given event\n\t *\n\t * @param  {string} event - Event to add the listener to\n\t * @param  {string} target - Target element on which to detect the event\n\t * @param  {function} callback - Callback function to run when the event is triggered\n\t */\n\ton (event, target, callback) {\n\t\tevent = event.split(' ');\n\t\tfor (const element of this.collection) {\n\t\t\tfor (let j = 0; j < event.length; j++) {\n\n\t\t\t\t// Check if no target was defined and just a function was provided\n\t\t\t\tif (typeof target === 'function') {\n\t\t\t\t\telement.addEventListener(event[j], target, false);\n\t\t\t\t} else if (typeof target === 'string' && typeof callback === 'function') {\n\t\t\t\t\telement.addEventListener(event[j], (e) => {\n\t\t\t\t\t\tif (e.target && $_(e.target).matches (target)) {\n\t\t\t\t\t\t\tcallback.call (e.target, e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Filter from the current collection to only those matching the new selector\n\t *\n\t * @param  {string} element - Selector to filter the collection with\n\t * @return {DOM} - New DOM instance with the filtered collection\n\t */\n\tfilter (selector) {\n\t\tif (this.length > 0) {\n\t\t\treturn new DOM (this.collection[0].querySelector (selector));\n\t\t}\n\t}\n\n\t/**\n\t * Get or set a `data` property\n\t *\n\t * @param  {string} name - Name of the data property\n\t * @param  {string} [value] - Value of the property\n\t * @return {string} - If no value is set, this function returns it's current value\n\t */\n\tdata (name, value) {\n\t\tif (this.length > 0) {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn this.collection[0].dataset[name];\n\t\t\t} else {\n\t\t\t\tthis.collection[0].dataset[name] = value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get or set the text of the first element matching the selector\n\t *\n\t * @param  {string} [value] - Value to set the text to\n\t * @return {type} - If no value is present, this function returns its the\n\t * element's current text.\n\t */\n\ttext (value) {\n\t\tif (this.length > 0) {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn this.collection[0].textContent;\n\t\t\t} else {\n\t\t\t\tthis.collection[0].textContent = value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get or set the inner HTML of the first element matching the selector\n\t *\n\t * @param  {string} [value] - Value to set the HTML to\n\t * @return {type} - If no value is present, this function returns its the\n\t * element's current HTML.\n\t */\n\thtml (value) {\n\t\tif (this.length > 0) {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn this.collection[0].innerHTML;\n\t\t\t} else {\n\t\t\t\tthis.collection[0].innerHTML = value;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Append an element to the first element matching the selector\n\t *\n\t * @param  {string} element - String representation of the element to add\n\t */\n\tappend (element) {\n\t\tif (this.length > 0) {\n\t\t\tif (typeof element === 'string') {\n\t\t\t\tconst div = document.createElement ('div');\n\t\t\t\tif (typeof element === 'string') {\n\t\t\t\t\tdiv.innerHTML = element.trim ();\n\t\t\t\t} else {\n\t\t\t\t\tdiv.innerHTML = element;\n\t\t\t\t}\n\t\t\t\tthis.collection[0].appendChild (div.firstChild);\n\t\t\t} else {\n\t\t\t\tthis.collection[0].appendChild (element);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Prepend an element to the first element matching the selector\n\t *\n\t * @param  {string} element - String representation of the element to add\n\t */\n\tprepend (element) {\n\t\tif (this.length > 0) {\n\t\t\tif (typeof element === 'string') {\n\t\t\t\tconst div = document.createElement ('div');\n\t\t\t\tif (typeof element === 'string') {\n\t\t\t\t\tdiv.innerHTML = element.trim ();\n\t\t\t\t} else {\n\t\t\t\t\tdiv.innerHTML = element;\n\t\t\t\t}\n\t\t\t\tif (this.collection[0].childNodes.length > 0) {\n\t\t\t\t\tthis.collection[0].insertBefore (div.firstChild, this.collection[0].childNodes[0]);\n\t\t\t\t} else {\n\t\t\t\t\tthis.collection[0].appendChild (div.firstChild);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (this.collection[0].childNodes.length > 0) {\n\t\t\t\t\tthis.collection[0].insertBefore (element, this.collection[0].childNodes[0]);\n\t\t\t\t} else {\n\t\t\t\t\tthis.collection[0].appendChild (element);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Iterate over the collection of elements matching the selector\n\t *\n\t * @param  {function} callback - Callback to run for every element\n\t */\n\teach (callback) {\n\t\tfor (const element of this.collection) {\n\t\t\tcallback (element);\n\t\t}\n\t}\n\n\t/**\n\t * Get an element from the collection given it's index\n\t *\n\t * @param  {int} index - Index of the element to retrieve\n\t * @return {HTMLElement} - HTML Element in the position indicated by the index\n\t */\n\tget (index) {\n\t\treturn this.collection[index];\n\t}\n\n\t/**\n\t * Get the first element in the collection\n\t *\n\t * @return {DOM} - DOM instance with the first element\n\t */\n\tfirst () {\n\t\tif (this.length > 0) {\n\t\t\treturn new DOM (this.collection[0]);\n\t\t}\n\t}\n\n\t/**\n\t * Get the last element in the collection\n\t *\n\t * @return {DOM} - DOM instance with the last element\n\t */\n\tlast () {\n\t\tif (this.length > 0) {\n\t\t\treturn new DOM (this.collection[this.collection.length - 1]);\n\t\t}\n\t}\n\n\t/**\n\t * Check if the elements in the collection are visible by chacking their\n\t * display, offsetWidth and offsetHeight properties\n\t *\n\t * @return {boolean} - Whether the elements are visible or not\n\t */\n\tisVisible () {\n\t\tfor (const element of this.collection) {\n\t\t\tif (element.display != 'none' && element.offsetWidth > 0 && element.offsetHeight > 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Get the parent of the first element matching the selector\n\t *\n\t * @return {DOM} - DOM instance of the parent element\n\t */\n\tparent () {\n\t\tif (this.collection[0]) {\n\t\t\treturn new DOM (this.collection[0].parentElement);\n\t\t}\n\t}\n\n\t/**\n\t * Find an element that matches the given selector in the first element of the collection\n\t *\n\t * @param  {string} selector - Selector to find the element with\n\t * @return {DOM} - Aegis instance with the element if found\n\t */\n\tfind (selector) {\n\t\tif (this.collection[0]) {\n\t\t\treturn new DOM (this.collection[0].querySelectorAll (selector));\n\t\t}\n\t}\n\n\t/**\n\t * Get the top and left offsets of the first element matching the selector\n\t *\n\t * @return {Object} - Object with `top` and `left` offsets\n\t */\n\toffset () {\n\t\tif (this.collection[0]) {\n\t\t\tconst rect = this.collection[0].getBoundingClientRect ();\n\t\t\treturn {\n\t\t\t\ttop: rect.top + document.body.scrollTop,\n\t\t\t\tleft: rect.left + document.body.scrollLeft\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * Find the closest element matching the given selector. This bubbles up\n\t * from the initial object and then follows to its parents.\n\t *\n\t * @param  {string} selector - Selector to match the closest element with\n\t * @return {DOM} - DOM instance with the closest HTML element matching the selector\n\t */\n\tclosest (selector) {\n\t\tlet found = null;\n\t\tlet element = this;\n\t\twhile (typeof element.get (0) !== 'undefined' && found === null) {\n\t\t\tconst search = element.find (selector);\n\t\t\tif (search.length > 0) {\n\t\t\t\tfound = search;\n\t\t\t}\n\t\t\telement = element.parent ();\n\t\t}\n\n\t\tif (found !== null) {\n\t\t\treturn found;\n\t\t}\n\n\t\treturn element;\n\t}\n\n\t/**\n\t * Get or set the value of a given attribute\n\t *\n\t * @param  {string} attribute - Attribute's name\n\t * @param  {string|Number} [value] - Value to set the attribute to\n\t * @return {type} - If no value is provided, this function returns the current\n\t * value of the provided attribute\n\t */\n\tattribute (attribute, value) {\n\t\tif (this.collection[0]) {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\tthis.collection[0].getAttribute (attribute);\n\t\t\t} else {\n\t\t\t\treturn this.collection[0].setAttribute (attribute, value);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Check whether an element has an attribute or not\n\t *\n\t * @param {string} attribute - The name of the attribute to check existance for\n\t * @returns {boolean} - Whether or not the attribute is present\n\t */\n\thasAttribute (attribute) {\n\t\tif (this.collection[0]) {\n\t\t\treturn this.collection[0].hasAttribute (attribute);\n\t\t}\n\t}\n\n\t/**\n\t * Insert content to the `after` property of an element\n\t *\n\t * @param  {string} content - String representation of the content to add\n\t */\n\tafter (content) {\n\t\tfor (const element of this.collection) {\n\t\t\telement.insertAdjacentHTML ('afterend', content);\n\t\t}\n\t}\n\n\t/**\n\t * Insert content to the `before` property of an element\n\t *\n\t * @param  {string} content - String representation of the content to add\n\t */\n\tbefore (content) {\n\t\tfor (const element of this.collection) {\n\t\t\telement.insertAdjacentHTML ('beforebegin', content);\n\t\t}\n\t}\n\n\t/**\n\t * Get or modify the `style` properties of the elements matching the selector\n\t *\n\t * @param  {string|Object} properties - Properties to change or get. Can be\n\t * either an individual property or a JSON object with key-value pairs\n\t * @param  {string} [value] - Value to set the property to when only changing\n\t * one property\n\t * @return {string} - If a peoperty is given but not a value for it, this\n\t * function will return its current value\n\t */\n\tstyle (properties, value) {\n\t\tfor (let i = 0; i < this.collection.length; i++) {\n\t\t\tif (typeof properties === 'string' && value !== 'undefined') {\n\t\t\t\tthis.collection[i].style[properties] = value;\n\t\t\t} else if (typeof properties === 'string' && value === 'undefined') {\n\t\t\t\treturn this.collection[i].style[properties];\n\t\t\t} else if (typeof properties === 'object') {\n\t\t\t\tfor (const property in properties) {\n\t\t\t\t\tthis.collection[i].style[property] = properties[property];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Animate the given `style` properties on all elements in the collection in\n\t * with a given time duration\n\t *\n\t * @param  {Object} style - JSON object with the key-value pairs of properties\n\t * to animate\n\t * @param  {int} time - Time in milliseconds during which the properties will\n\t * be animated\n\t */\n\tanimate (style, time) {\n\t\tfor (let i = 0; i < this.collection.length; i++) {\n\t\t\tfor (const property in style) {\n\n\t\t\t\tconst start = new Date().getTime();\n\t\t\t\tconst collection = this.collection;\n\t\t\t\tlet timer;\n\t\t\t\tlet initialValue;\n\t\t\t\tif (typeof this.collection[i].style[property] !== 'undefined') {\n\t\t\t\t\tinitialValue = this.collection[i].style[property];\n\n\t\t\t\t\ttimer = setInterval (() => {\n\t\t\t\t\t\tconst step = Math.min (1, (new Date ().getTime () - start) / time);\n\n\t\t\t\t\t\tcollection[i].style[property] = (initialValue + step * (style[property] - initialValue));\n\n\t\t\t\t\t\tif (step == 1) {\n\t\t\t\t\t\t\tclearInterval (timer);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 25);\n\t\t\t\t\tthis.collection[i].style[property] = initialValue;\n\n\t\t\t\t} else if (typeof (this.collection[i])[property] !== 'undefined') {\n\t\t\t\t\tinitialValue = (this.collection[i])[property];\n\n\t\t\t\t\ttimer = setInterval(() => {\n\t\t\t\t\t\tconst step = Math.min (1, (new Date ().getTime () - start) / time);\n\n\t\t\t\t\t\t(collection[i])[property] = (initialValue + step * (style[property] - initialValue));\n\n\t\t\t\t\t\tif (step == 1) {\n\t\t\t\t\t\t\tclearInterval (timer);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 25);\n\t\t\t\t\t(this.collection[i])[property] = initialValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Use a fade in animation i the first element matching the selector\n\t *\n\t * @param  {type} [time=400] - Time duration for the animation\n\t * @param  {type} callback - Callback function to run once the animation is over\n\t */\n\tfadeIn (time = 400, callback) {\n\t\tif (this.collection[0]) {\n\t\t\tconst element = this.collection[0];\n\t\t\telement.style.opacity = 0;\n\n\t\t\tlet last = +new Date();\n\n\t\t\tconst tick = () => {\n\t\t\t\telement.style.opacity = +element.style.opacity + (new Date() - last) / time;\n\t\t\t\tlast = +new Date();\n\n\t\t\t\tif (+element.style.opacity < 1) {\n\t\t\t\t\t(window.requestAnimationFrame && requestAnimationFrame(tick)) || setTimeout(tick, 16);\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof callback === 'function') {\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\ttick();\n\t\t}\n\t}\n\n\t/**\n\t * Use a fade out animation i the first element matching the selector\n\t *\n\t * @param  {type} [time=400] - Time duration for the animation\n\t * @param  {type} callback - Callback function to run once the animation is over\n\t */\n\tfadeOut (time = 400, callback) {\n\t\tif (this.collection[0]) {\n\t\t\tlet last = +new Date ();\n\t\t\tconst element = this.collection[0];\n\t\t\tconst tick = () => {\n\t\t\t\telement.style.opacity = +element.style.opacity - (new Date() - last) / time;\n\t\t\t\tlast = +new Date ();\n\n\t\t\t\tif (+element.style.opacity > 0) {\n\t\t\t\t\t(window.requestAnimationFrame && requestAnimationFrame (tick)) || setTimeout(tick, 16);\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof callback === 'function') {\n\t\t\t\t\t\tcallback ();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\ttick ();\n\t\t}\n\t}\n\n\t/**\tCheck if the first element in the collection matches a given selector\n\t *\n\t * @param  {string} selector - Selector to match\n\t * @return {boolean} - Whether the element matches the selector or not\n\t */\n\tmatches (selector) {\n\t\tconst check = Element.prototype;\n\t\tconst polyfill = check.matches || check.webkitMatchesSelector || check.mozMatchesSelector || check.msMatchesSelector || function () {\n\t\t\treturn [].indexOf.call (document.querySelectorAll (selector), this) !== -1;\n\t\t};\n\t\treturn polyfill.call (this.collection[0], selector);\n\t}\n\n\t/**\n\t * Remove all elemets in the collection\n\t */\n\tremove () {\n\t\tfor (const element of this.collection) {\n\t\t\telement.parentNode.removeChild (element);\n\t\t}\n\t}\n\n\t/**\n\t * Replace the first element in the collection with a new one\n\t */\n\treplaceWith (element) {\n\t\tif (this.collection[0]) {\n\t\t\tif (typeof element === 'string') {\n\t\t\t\tconst div = document.createElement ('div');\n\t\t\t\tdiv.innerHTML = element;\n\t\t\t\tthis.collection[0].parentElement.replaceChild (div.firstChild, this.collection[0]);\n\t\t\t} else {\n\t\t\t\tthis.collection[0].parentElement.replaceChild (element, this.collection[0]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Reset every element in the collection\n\t */\n\treset () {\n\t\tif (this.length > 0) {\n\t\t\tthis.collection[0].reset ();\n\t\t}\n\t}\n\n\t/**\n\t * Get or set a property for the first element in the collection\n\t *\n\t * @param  {string} property - Property name to set or get\n\t * @param  {string|Number} [value] - Value to set the property to\n\t * @return {string|Number} - If no value is provided, this funcion will return the\n\t * current value of the indicated property\n\t */\n\tproperty (property, value) {\n\t\tif (this.collection[0]) {\n\t\t\tif (typeof value !== 'undefined') {\n\t\t\t\tthis.collection[0][property] = value;\n\t\t\t} else {\n\t\t\t\treturn this.collection[0][property];\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Simple wrapper function to use the DOM library\n *\n * @param  {string|Object|array} selector - Selector or DOM element to use\n * @return {DOM} - DOM instance or class if no selector is used\n */\nexport function $_ (selector) {\n\tif (typeof selector !== 'undefined') {\n\t\treturn new DOM (selector);\n\t} else {\n\t\treturn DOM;\n\t}\n}\n\n/**\n * Utility function to attach the 'load' listener to the window\n *\n * @param  {function} callback - Callback function to run when the window is ready\n */\nexport function $_ready (callback) {\n\twindow.addEventListener ('load', callback);\n}","/**\n* ==============================\n* Request\n* ==============================\n*/\n\n/**\n * Simple Wrapper for the fetch API, providing simple functions to handle requests\n *\n * @class\n */\nexport class Request {\n\n\t/**\n\t * @static serialize - Serialize an object of data into a URI encoded format\n\t *\n\t * @param  {Object} data - Key-value object of data to serialize\n\t * @return {string} - Serialized Data\n\t */\n\tstatic serialize (data) {\n\t\treturn Object.keys (data).map ((key) => {\n\t\t\treturn encodeURIComponent (key) + '=' + encodeURIComponent (data[key]);\n\t\t}).join ('&');\n\t}\n\n\t/**\n\t * @static get - Make a GET request to a given URL with the provided data\n\t * parameters and an optional configuration object for the request.\n\t *\n\t * @param  {string} url - URL to make the request to\n\t * @param  {Object} [data = {}] - Parameters to send in the URL, represented\n\t * as a JSON object. These parameters will be sent as a query in the URL\n\t * @param  {Object} [options = {}] - Options object for configurations you want\n\t * to use in the fetch () request made.\n\t * @return {Promise<Response>} - Resolves to the response of the request\n\t */\n\tstatic get (url, data = {}, options = {}) {\n\t\tconst query = Request.serialize (data);\n\n\t\t// Check if there is actually any data parameters and join them to the\n\t\t// url as query parameters\n\t\tif (query !== '') {\n\t\t\turl = `${url}?${query}`;\n\t\t}\n\n\t\treturn fetch (url, options);\n\t}\n\n\t/**\n\t * @static post - Make a POST request to a given URL with the provided data\n\t * and an optional configuration object for the request.\n\t *\n\t * @param  {string} url - URL to make the request\n\t * @param  {Object} [data = {}] - Set of data to send in the URL, represented\n\t * as a JSON object\n \t * @param  {Object} [options = {}] - Options object for configurations you want\n\t * to use in the fetch () request made. The Content-Type header is used to\n\t * serialize data in the correct format and defaults to application/x-www-form-urlencoded\n\t * @return {Promise<Response>} - Resolves to the response of the request\n\t */\n\tstatic post (url, data, options = {}) {\n\t\tlet formData;\n\n\t\tif (typeof options.headers !== 'undefined') {\n\t\t\tconst contentType = options.headers['Content-Type'];\n\t\t\tif (typeof contentType !== 'undefined') {\n\t\t\t\tif (contentType == 'multipart/form-data') {\n\t\t\t\t\tformData = new FormData ();\n\t\t\t\t\tfor (const value in data) {\n\t\t\t\t\t\tformData.append (value, data[value]);\n\t\t\t\t\t}\n\t\t\t\t} else if (contentType == 'application/json') {\n\t\t\t\t\tformData = JSON.stringify (data);\n\t\t\t\t} else {\n\t\t\t\t\tformData = Request.serialize (data);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tformData = Request.serialize (data);\n\t\t}\n\n\t\tconst props = Object.assign ({}, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded'\n\t\t\t},\n\t\t\tbody: formData\n\t\t}, options);\n\n\t\t// Delete the explicit multipart/form-data header to allow boundary automatic filling\n\t\tif (typeof props.headers !== 'undefined') {\n\t\t\tif (props.headers['Content-Type'] === 'multipart/form-data') {\n\t\t\t\tdelete props.headers['Content-Type'];\n\t\t\t}\n\t\t}\n\n\t\treturn fetch (url, props);\n\t}\n\n\t/**\n\t * @static put - Make a PUT request to a given URL with the provided data\n\t * and an optional configuration object for the request.\n\t *\n\t * @param  {string} url - URL to make the request\n\t * @param  {Object} [data = {}] - Set of data to send in the URL, represented\n\t * as a JSON object\n \t * @param  {Object} [options = {}] - Options object for configurations you want\n\t * to use in the fetch () request made. The Content-Type header is used to\n\t * serialize data in the correct format and defaults to application/x-www-form-urlencoded\n\t * @return {Promise<Response>} - Resolves to the response of the request\n\t */\n\tstatic put (url, data, options = {}) {\n\t\treturn Request.post (url, data, Object.assign ({}, {method: 'PUT'}, options));\n\t}\n\n\t/**\n\t * @static delete - Make a DELETE request to a given URL with the provided data\n\t * and an optional configuration object for the request.\n\t *\n\t * @param  {string} url - URL to make the request\n\t * @param  {Object} [data = {}] - Parameters to send in the URL, represented\n\t * as a JSON object. These parameters will be sent as a query in the URL\n \t * @param  {Object} [options = {}] - Options object for configurations you want\n\t * to use in the fetch () request made. The Content-Type header is used to\n\t * serialize data in the correct format and defaults to application/x-www-form-urlencoded\n\t * @return {Promise<Response>} - Resolves to the response of the request\n\t */\n\tstatic delete (url, data, options = {}) {\n\t\treturn Request.get (url, data, Object.assign ({}, {method: 'DELETE'}, options));\n\t}\n\n\t/**\n \t * @static json - Request a JSON object from a given URL through a GET request\n \t *\n \t * @param  {string} url - URL to make the request to\n \t * @param  {Object} [data = {}] - Parameters to send in the URL, represented\n \t * as a JSON object. These parameters will be sent as a query in the URL\n \t * @param  {Object} [options = {}] - Options object for configurations you want\n \t * to use in the fetch () request made.\n \t * @return {Promise<Object>} - Resolves to the json object obtained from the request response\n \t */\n\tstatic json (url, data = {}, options = {}) {\n\t\treturn Request.get (url, data, options).then ((response) => {\n\t\t\treturn response.json ();\n\t\t});\n\t}\n\n\t/**\n \t * @static blob - Request a Blob from a given URL through a GET request\n \t *\n \t * @param  {string} url - URL to make the request to\n \t * @param  {Object} [data = {}] - Parameters to send in the URL, represented\n \t * as a JSON object. These parameters will be sent as a query in the URL\n \t * @param  {Object} [options = {}] - Options object for configurations you want\n \t * to use in the fetch () request made.\n \t * @return {Promise<Blob>} - Resolves to the blob obtained from the request response\n \t */\n\tstatic blob (url, data = {}, options = {}) {\n\t\treturn Request.get (url, data, options).then ((response) => {\n\t\t\treturn response.blob ();\n\t\t});\n\t}\n}","/**\n * ==============================\n * File System\n * ==============================\n */\n\nimport { Request } from './Request';\n\n/**\n * A simple class wrapper for the File and FileReader web API, while this class\n * doesn't actually provide acces to the host file system, it does provide useful\n * utilities for form file inputs and remote content loading.\n *\n * @class\n */\nexport class FileSystem {\n\n\n\t/**\n\t * @static readRemote - Read a file from a remote location given a URL. This\n\t * function will fetch the file blob using the Request class and then use the\n\t * read () function to read the blob in the format required.\n\t *\n\t * @param {type} url - URL to fetch the file from\n\t * @param {type} [type = 'base64'] - Type of data to be read, values can be\n\t * 'text', 'base64' and 'buffer'. This parameter is used for the read () function.\n\t * @param {Object} [props = {}] - Props to send to the Request object\n\t * @return {Promise<ArrayBuffer|string>} - Content of the file. The format\n\t * depends on the type parameter used.\n\t */\n\tstatic readRemote (url, type = 'base64', props = {}) {\n\t\treturn Request.blob (url, {}, props).then ((file) => {\n\t\t\treturn FileSystem.read (file, type);\n\t\t});\n\t}\n\n\t/**\n\t * @static read - Read a given File or Blob object.\n\t *\n\t * @param  {File|Blob} file - File to read\n\t * @param  {string} [type = 'text'] - Type of data to be read, values can be\n\t * 'text', 'base64' and 'buffer'.\n\t * @return {Promise<Event, ArrayBuffer|string>} - Promise that resolves to\n\t * the Load event and content of the file. The format depends on the type\n\t * parameter used.\n\t */\n\tstatic read (file, type = 'text') {\n\t\treturn new Promise ((resolve, reject) => {\n\t\t\tconst reader = new FileReader ();\n\n\t\t\treader.onload = (event) => {\n\t\t\t\t// Pass down the event object and the content\n\t\t\t\tresolve (event, event.target.result);\n\t\t\t};\n\n\t\t\treader.onerror = (error) => {\n\t\t\t\treject (error);\n\t\t\t};\n\n\t\t\tif (type === 'base64') {\n\t\t\t\treader.readAsDataURL (file);\n\t\t\t} else if (type === 'buffer') {\n\t\t\t\treader.readAsArrayBuffer (file);\n\t\t\t} else {\n\t\t\t\treader.readAsText (file, 'UTF-8');\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * @static create - Create a new File, this uses the File API and will note\n\t * actually create a file in the user's file system, however using it with\n\t * other features, that may be possible\n\t *\n\t * @param  {string} file - Name of the file (Including extension)\n\t * @param  {ArrayBuffer|ArrayBufferView|Blob|string} content - Content to save in the file\n\t * @param  {string} [type = 'text/plain'] - Mime Type for the file\n\t * @return {Promise<File>}\n\t */\n\tstatic create (name, content, type = 'text/plain') {\n\t\treturn Promise.resolve (new File ([content], name, {type}));\n\t}\n\n\t/**\n\t * @static extension - Returns the extension of a file given its file name.\n\t *\n\t * @param  {string} name - Name or full path of the file\n\t * @return {string} - File extension without the leading dot (.)\n\t */\n\tstatic extension (name) {\n\t\treturn name.split ('.').pop ();\n\t}\n\n\t/**\n\t * @static isImage - Check if a file is an image by its extension.\n\t *\n\t * @param  {string} name - Name or full path of the file\n\t * @return {boolean}\n\t */\n\tstatic isImage (name) {\n\t\tconst extensions = ['jpg', 'jpeg', 'png', 'gif', 'svg', 'webp', 'bmp'];\n\t\treturn extensions.indexOf (FileSystem.extension (name).toLowerCase ()) > -1;\n\t}\n\n}","/**\n* ==============================\n* Form\n* ==============================\n*/\n\nimport { $_ } from './DOM';\n\n/**\n * Utility class that provides simple function for filling and retrieving values\n * from froms. This class requires the use of the `data-form` attribute.\n *\n * @class\n */\nexport class Form {\n\n\t/**\n\t * @static fill - Fill a form's inputs with the given values. Each key in the\n\t * provided object must match the `name` attribute of the input to fill.\n\t *\n\t * @param  {string} name - Form name. Must match the `data-form` attribute of the Form.\n\t * @param  {Object} data - JSON object with key-value pairs to fill the inputs.\n\t */\n\tstatic fill (name, data) {\n\t\tfor (const field in data) {\n\t\t\tconst element = $_(`form[data-form='${name}'] [name='${field}']`).get (0);\n\t\t\tif (typeof element != 'undefined') {\n\t\t\t\tswitch (element.type) {\n\n\t\t\t\t\tcase 'file':\n\t\t\t\t\tcase 'file[]':\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\telement.value = data[field];\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t/**\n\t * @static values - Get all the values from a form's input. The keys are mapped\n\t * using the `name` attribute of each input.\n\t *\n\t * @param  {string} name - Form name. Must match the `data-form` attribute of the Form.\n\t * @return {Object} - Key-value JSON object\n\t */\n\tstatic values (name) {\n\t\tconst data = {};\n\t\t$_(`form[data-form='${name}'] [name]`).each ((element) => {\n\t\t\tlet value;\n\t\t\tswitch (element.type) {\n\t\t\t\tcase 'file[]':\n\t\t\t\t\tvalue = element.files;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'file':\n\t\t\t\t\tvalue = element.files[0];\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tvalue = element.value;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (typeof value != 'undefined' && value !== null) {\n\t\t\t\tdata[element.name] = value;\n\t\t\t}\n\t\t});\n\n\t\treturn data;\n\t}\n}","/**\n* ==============================\n* Platform\n* ==============================\n*/\n\n/**\n * General checks for what kind of platform is the being used to run the app.\n * @class\n */\nexport class Platform {\n\n\t/**\n\t * Check if the screen has a retina pixel ratio\n\t * @returns {boolean}\n\t */\n\tstatic retina () {\n\t\treturn window.devicePixelRatio >= 2;\n\t}\n\n\t/**\n\t * Check if the device is on portrait orientation\n\t * @returns {boolean}\n\t */\n\tstatic portrait () {\n\t\treturn window.orientation === 0 || window.orientation === 180;\n\t}\n\n\t/**\n\t * Check if the device is on landscape orientation\n\t * @returns {boolean}\n\t */\n\tstatic landscape () {\n\t\treturn (window.orientation === 90 || window.orientation === -90);\n\t}\n\n\t/**\n\t * Get device Orientation\n\t * @returns {string} portrait | landscape\n\t */\n\tstatic orientation () {\n\t\treturn Platform.portrait () ? 'portrait' : 'landscape';\n\t}\n\n\t/**\n\t * Check if the app is running over Electron\n\t * @returns {boolean}\n\t */\n\tstatic electron () {\n\t\treturn window && window.process && window.process.type;\n\t}\n\n\t/**\n\t * Check if the app is running over Cordova\n\t * @returns {boolean}\n\t */\n\tstatic cordova () {\n\t\treturn !!window.cordova;\n\t}\n\n\t/**\n\t * Check if the app is running in a desktop platform\n\t * @returns {boolean}\n\t */\n\tstatic desktop (platform = 'Any') {\n\t\tlet match = false;\n\t\tswitch (platform) {\n\t\t\tcase 'Windows':\n\t\t\t\tmatch = navigator.platform.includes ('Win');\n\t\t\t\tbreak;\n\n\t\t\tcase 'macOS':\n\t\t\t\tmatch = navigator.platform.includes ('Mac');\n\t\t\t\tbreak;\n\n\t\t\tcase 'Linux':\n\t\t\t\tmatch = navigator.platform.includes ('Linux');\n\t\t\t\tbreak;\n\n\t\t\tcase 'FreeBSD':\n\t\t\t\tmatch = navigator.platform.includes ('FreeBSD');\n\t\t\t\tbreak;\n\n\t\t\tcase 'webOS':\n\t\t\t\tmatch = navigator.platform.includes ('WebTV');\n\t\t\t\tbreak;\n\n\t\t\tcase 'Any':\n\t\t\tdefault:\n\t\t\t\tmatch = navigator.platform.includes ('Win')\n\t\t\t\t\t\t|| navigator.platform.includes ('Mac')\n\t\t\t\t\t\t|| navigator.platform.includes ('Linux')\n\t\t\t\t\t\t|| navigator.platform.includes ('FreeBSD')\n\t\t\t\t\t\t|| navigator.platform.includes ('WebTV');\n\t\t\t\tbreak;\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * Check if the app is running in a mobile platform\n\t * @param {string } [platform='Any'] - Check for a specific mobile platform [Android | iOS | Opera | Windows | BlackBerry | Any]\n\t * @returns {boolean}\n\t */\n\tstatic mobile (platform = 'Any') {\n\t\tlet match = false;\n\t\tswitch (platform) {\n\t\t\tcase 'Android':\n\t\t\t\tmatch = /Android/i.test (navigator.userAgent);\n\t\t\t\tbreak;\n\n\t\t\tcase 'iOS':\n\t\t\t\tmatch = /iPhone|iPad|iPod/i.test (navigator.userAgent);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Opera':\n\t\t\t\tmatch = /Opera Mini/i.test (navigator.userAgent);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Windows':\n\t\t\t\tmatch = /Windows Phone|IEMobile|WPDesktop/i.test (navigator.userAgent);\n\t\t\t\tbreak;\n\n\t\t\tcase 'BlackBerry':\n\t\t\t\tmatch = /BlackBerry|BB10/i.test (navigator.userAgent);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Any':\n\t\t\tdefault:\n\t\t\t\tmatch = /Android|iPhone|iPad|iPod|Windows Phone|IEMobile|WPDesktop|BlackBerry|BB10/i.test (navigator.userAgent);\n\t\t\t\tbreak;\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @static serviceWorkers - Check if the platform allows the use of service\n\t * workers\n\t *\n\t * @return {boolean} - Whether they're supported or not\n\t */\n\tstatic serviceWorkers () {\n\t\tif (typeof navigator !== 'undefined') {\n\t\t\tif ('serviceWorker' in navigator && location.protocol.indexOf ('http') > -1) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}","/**\n * ==============================\n * Preload\n * ==============================\n */\n\nimport { Request } from './Request';\n\n/**\n * A simple class for asset preloading. This class assumes you have a service\n * worker set up that will be caching all requests.\n * @class\n */\nexport class Preload {\n\n\t/**\n\t * @static image - Preload an image file\n\t *\n\t * @param  {string} route - Route to the image\n\t * @return {Promise} - Resolves to the image object or gets rejected with\n\t * the rejection event\n\t */\n\tstatic image (route) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst image = new Image ();\n\n\t\t\timage.onload = () => {\n\t\t\t\tresolve (image);\n\t\t\t};\n\n\t\t\timage.onerror = (e) => {\n\t\t\t\treject (e);\n\t\t\t};\n\n\t\t\timage.src = route;\n\t\t});\n\t}\n\n\t/**\n\t * @static file - Preload any kind of file\n\t *\n\t * @param  {string} route - Route to the file\n\t * @return {Promise} - Resolves or rejects depending on request success\n\t */\n\tstatic file (route) {\n\t\treturn Request.blob (route);\n\t}\n}","/**\n* ==============================\n* Local Storage Adapter\n* ==============================\n*/\n\n/**\n * The Local Storage Adapter provides the Space Class the ability to interact\n * with the localStorage api found in most modern browsers.\n *\n * @class\n */\nexport class LocalStorage {\n\n\t/**\n\t * Create a new LocalStorage. If no configuration is provided, the LocalStorage\n\t * global object is used. The LocalStorage Adapter can provide independency\n\t * by store name and space name.\n\t *\n\t * @constructor\n\t * @param {Object} [configuration={name = '', version = '', store = ''}] - Configuration Object for the Adapter\n\t * @param {string} configuration.name - Name of the Space\n\t * @param {string} configuration.version - Version of the Space in Semantic versioning syntax\n\t * @param {string} configuration.store - Name of the Object Store to use\n\t *\n\t */\n\tconstructor ({name = '', version = '', store = ''}) {\n\t\tthis.name = name;\n\t\tthis.version = version;\n\t\tthis.store = store;\n\n\t\tthis.upgrades = {};\n\n\t\tif (this.version === '') {\n\t\t\tthis.numericVersion = 0;\n\t\t} else {\n\t\t\tthis.numericVersion = parseInt (version.replace (/\\./g, ''));\n\t\t}\n\n\t\tif (name !== '' && version !== '' && store !== '') {\n\t\t\tthis.id = `${this.name}::${this.store}::${this.version}_`;\n\t\t} else if (name !== '' && version !== '') {\n\t\t\tthis.id = `${this.name}::${this.version}_`;\n\t\t} else if (name !== '') {\n\t\t\tthis.id = `${this.name}::_`;\n\t\t} else {\n\t\t\tthis.id = '';\n\t\t}\n\t}\n\n\t/**\n\t * Open the Storage Object\n\t *\n\t * @return {Promise}\n\t */\n\topen () {\n\t\tif (typeof this.storage === 'object' && !(this.storage instanceof Promise)) {\n\t\t\treturn Promise.resolve (this);\n\t\t} else if (this.storage instanceof Promise) {\n\t\t\treturn this.storage;\n\t\t} else {\n\t\t\tthis.storage = new Promise ((resolve) => {\n\t\t\t\tlet upgradesToApply = [];\n\t\n\t\t\t\t// Check if this space is versioned\n\t\t\t\tif (this.version !== '') {\n\t\t\t\t\t// Get the versionless part of the ID to check if an upgrade needs\n\t\t\t\t\t// to ocurr based on the version available on storage and the current\n\t\t\t\t\t// version.\n\t\t\t\t\tlet versionless = '';\n\t\t\t\t\tif (this.name !== '' && this.version !== '' && this.store !== '') {\n\t\t\t\t\t\tversionless = `${this.name}::${this.store}::`;\n\t\t\t\t\t} else if (this.name !== '' && this.version !== '') {\n\t\t\t\t\t\tversionless = `${this.name}::`;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Get all the currently stored keys that contain the versionless\n\t\t\t\t\t// ID, which means they belong to this space\n\t\t\t\t\tconst storedVersions = Object.keys (window.localStorage).filter ((key) => {\n\t\t\t\t\t\treturn key.indexOf (versionless) === 0;\n\t\t\t\t\t}).map ((key) => {\n\t\t\t\t\t\t// Remove the versionless part of the ID and keep only the\n\t\t\t\t\t\t// part of the key belonging to the ID\n\t\t\t\t\t\treturn key.replace (versionless, '').split ('_')[0];\n\t\t\t\t\t}). filter ((key) => {\n\t\t\t\t\t\t// Filter all that didn't match the versionless part fully\n\t\t\t\t\t\treturn key.indexOf ('::') === -1;\n\t\t\t\t\t}).sort ();\n\t\n\t\t\t\t\tif (storedVersions.length > 0) {\n\t\t\t\t\t\t// We'll only take the lowest one every time\n\t\t\t\t\t\tconst oldVersion = storedVersions[0];\n\t\t\t\t\t\tconst oldVersionNumeric = parseInt (oldVersion.replace (/\\./g, ''));\n\n\t\t\t\t\t\tif (oldVersionNumeric < this.numericVersion) {\n\t\t\t\t\t\t\t// Check what upgrade functions have been declared in their respective order\n\t\t\t\t\t\t\tconst availableUpgrades = Object.keys (this.upgrades).sort ();\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t// Find the first update that needs to be applied to the database given\n\t\t\t\t\t\t\t// the old version it currently has.\n\t\t\t\t\t\t\tconst startFrom = availableUpgrades.findIndex (u => {\n\t\t\t\t\t\t\t\tconst [old, ] = u.split ('::');\n\t\t\t\t\t\t\t\treturn parseInt (old) === oldVersionNumeric;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tif (startFrom > -1) {\n\t\t\t\t\t\t\t\tupgradesToApply = availableUpgrades.slice (startFrom).filter ((u) => {\n\t\t\t\t\t\t\t\t\tconst [old, next] = u.split ('::');\n\t\t\t\t\t\t\t\t\treturn parseInt (old) < this.numericVersion && parseInt (next) <= this.numericVersion;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t// Get the previous ID using the old version\n\t\t\t\t\t\t\tlet previousId = `${this.name}::${oldVersion}_`;\n\t\t\n\t\t\t\t\t\t\tif (this.name !== '' && this.version !== '' && this.store !== '') {\n\t\t\t\t\t\t\t\tpreviousId = `${this.name}::${this.store}::${oldVersion}_`;\n\t\t\t\t\t\t\t} else if (this.name !== '' && this.version !== '') {\n\t\t\t\t\t\t\t\tpreviousId = `${this.name}::${oldVersion}_`;\n\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t// Get all keys from the previous version\n\t\t\t\t\t\t\tconst keys = Object.keys (window.localStorage).filter ((key) => {\n\t\t\t\t\t\t\t\treturn key.indexOf (previousId) === 0;\n\t\t\t\t\t\t\t}).map ((key) => {\n\t\t\t\t\t\t\t\treturn key.replace (previousId, '');\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tfor (const key of keys) {\n\t\t\t\t\t\t\t\t// Get the value stored with the previous version\n\t\t\t\t\t\t\t\tconst previous = window.localStorage.getItem (`${previousId}${key}`);\n\t\t\n\t\t\t\t\t\t\t\t// Re-insert the value using the new ID as a key\n\t\t\t\t\t\t\t\twindow.localStorage.setItem (this.id + key, previous);\n\n\t\t\t\t\t\t\t\t// Delete the previous value.\n\t\t\t\t\t\t\t\twindow.localStorage.removeItem (`${previousId}${key}`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresolve ({ upgrades: upgradesToApply });\n\t\t\t}).then (({ upgrades }) => {\n\t\t\t\tthis.storage = window.localStorage;\n\t\t\t\treturn new Promise ((resolve) => {\n\t\t\t\t\tconst res = () => resolve (this);\n\t\t\t\t\tthis._upgrade (upgrades, res);\n\t\t\t\t});\n\t\t\t});\n\t\t\treturn this.storage;\n\t\t}\n\t}\n\n\t/**\n\t * Store a key-value pair\n\t *\n\t * @param  {string} key - Key with which this value will be saved\n\t * @param  {Object|string|Number} - Value to save\n\t * @return {Promise<{key, value}>}\n\t */\n\tset (key, value) {\n\t\treturn this.open ().then (() => {\n\n\t\t\tif (typeof value === 'object') {\n\t\t\t\tthis.storage.setItem (this.id + key, JSON.stringify (value));\n\t\t\t} else {\n\t\t\t\tthis.storage.setItem (this.id + key, value);\n\t\t\t}\n\n\t\t\treturn Promise.resolve ({key, value});\n\t\t});\n\t}\n\n\t/**\n\t * Update a key-value pair. In difference with the set () method, the update\n\t * method will use an Object.assign () in the case of objects so no value is\n\t * lost.\n\t *\n\t * @param  {string} key - Key with which this value will be saved\n\t * @param  {Object|string|Number} - Value to save\n\t * @return {Promise<{key, value}>}\n\t */\n\tupdate (key, value) {\n\t\treturn this.get (key).then ((currentValue) => {\n\t\t\tif (typeof currentValue === 'object') {\n\t\t\t\tif (typeof value === 'object') {\n\t\t\t\t\tvalue = Object.assign ({}, currentValue, value);\n\t\t\t\t}\n\t\t\t\tthis.storage.setItem (this.id + key, JSON.stringify (value));\n\t\t\t} else {\n\t\t\t\tthis.storage.setItem (this.id + key, value);\n\t\t\t}\n\t\t\treturn Promise.resolve ({key, value});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves a value from storage given it's key\n\t *\n\t * @param  {string} - Key with which the value was saved\n\t * @return {Promise<Object>|Promise<string>|Promise<Number>} - Resolves to the retreived value\n\t * or its rejected if it doesn't exist\n\t */\n\tget (key) {\n\t\treturn this.open ().then (() => {\n\t\t\treturn new Promise ((resolve, reject) => {\n\t\t\t\tlet value = null;\n\t\t\t\tvalue = this.storage.getItem (this.id + key);\n\t\t\t\ttry {\n\t\t\t\t\tconst o = JSON.parse (value);\n\t\t\t\t\tif (o && typeof o === 'object') {\n\t\t\t\t\t\tvalue = o;\n\t\t\t\t\t}\n\t\t\t\t} catch (exception) {\n\t\t\t\t\t// Unable to parse to JSON\n\t\t\t\t}\n\n\t\t\t\tif (typeof value !== 'undefined' && value !== null) {\n\t\t\t\t\tresolve (value);\n\t\t\t\t} else {\n\t\t\t\t\treject ();\n\t\t\t\t}\n\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves all the values in the space in a key-value JSON object\n\t *\n\t * @return {Promise<Object>} - Resolves to the retreived values\n\t */\n\tgetAll () {\n\t\treturn this.keys ().then ((keys) => {\n\t\t\tconst values = {};\n\t\t\tconst promises = [];\n\t\t\tfor (const key of keys) {\n\t\t\t\tpromises.push (this.get (key).then ((value) => {\n\t\t\t\t\tvalues[key] = value;\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn Promise.all (promises).then (() => {\n\t\t\t\treturn values;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Check if the space contains a given key.\n\t *\n\t * @param  {string} key - Key to look for.\n\t * @return {Promise} Promise gets resolved if it exists and rejected if\n\t * doesn't\n\t */\n\tcontains (key) {\n\t\treturn this.keys ().then ((keys) => {\n\t\t\tif (keys.includes (key)) {\n\t\t\t\tPromise.resolve ();\n\t\t\t} else {\n\t\t\t\treturn Promise.reject ();\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Upgrade a Space Version\n\t *\n\t * @param oldVersion {string} - The version of the storage to be upgraded\n\t * @param newVersion {string} - The version to be upgraded to\n\t * @param callback {function} - Function to transform the old stored values to the new version's format\n\t * @returns {Promise}\n\t */\n\tupgrade (oldVersion, newVersion, callback) {\n\t\tthis.upgrades[`${parseInt (oldVersion.replace (/\\./g, ''))}::${parseInt (newVersion.replace (/\\./g, ''))}`] = callback;\n\t\treturn Promise.resolve ();\n\t}\n\n\t// This function acts as a helper for the upgrade progress by executing the\n\t// needed upgrade callbacks in the correct order and sychronously.\n\t_upgrade (upgradesToApply, resolve) {\n\t\t// Check if there are still upgrades to apply\n\t\tif (upgradesToApply.length > 0) {\n\t\t\tthis.upgrades[upgradesToApply[0]].call (this, this).then (() => {\n\t\t\t\tthis._upgrade (upgradesToApply.slice (1), resolve);\n\t\t\t}).catch ((e) => console.error (e));\n\t\t} else {\n\t\t\tresolve ();\n\t\t}\n\t}\n\n\t/**\n\t * Rename a Space\n\t *\n\t * @param {string} name - New name to be used.\n\t * @returns {Promise} - Result of the rename operation\n\t */\n\trename (name) {\n\t\t// Check if the name is different\n\t\tif (this.name !== name) {\n\t\t\treturn this.keys ().then ((keys) => {\n\t\t\t\t// Save the previous Space id\n\t\t\t\tconst oldId = this.id;\n\n\t\t\t\t// Set new object properties with the new name\n\t\t\t\tthis.name = name;\n\n\t\t\t\tif (this.name !== '' && this.version !== '' && this.store !== '') {\n\t\t\t\t\tthis.id = `${this.name}::${this.store}::${this.version}_`;\n\t\t\t\t} else if (this.name !== '' && this.version !== '') {\n\t\t\t\t\tthis.id = `${this.name}::${this.version}_`;\n\t\t\t\t} else if (this.name !== '') {\n\t\t\t\t\tthis.id = `${this.name}::_`;\n\t\t\t\t} else {\n\t\t\t\t\tthis.id = '';\n\t\t\t\t}\n\n\t\t\t\tconst promises = [];\n\t\t\t\tfor (const key of keys) {\n\t\t\t\t\tpromises.push (this.set (key, this.storage.getItem (`${oldId}${key}`)).then (() => {\n\t\t\t\t\t\tthis.storage.removeItem (`${oldId}${key}`);\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\treturn Promise.all (promises);\n\t\t\t});\n\t\t} else {\n\t\t\treturn Promise.reject ();\n\t\t}\n\t}\n\n\t/**\n\t * Get the key that corresponds to a given index in the storage\n\t *\n\t * @param  {Number} index - Index to get the key from\n\t * @param  {boolean} [full=false] - Whether to return the full key name including space id or just the key name\n\t * @return {Promise<string>} - Resolves to the key's name\n\t */\n\tkey (index, full = false) {\n\t\treturn this.open ().then (() => {\n\t\t\tif (full === true) {\n\t\t\t\treturn Promise.resolve (this.storage.key (index));\n\t\t\t} else {\n\t\t\t\treturn Promise.resolve (this.storage.key (index).replace (this.id, ''));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Return all keys stored in the space.\n\t *\n\t * @param {boolean} [full=false] - Whether to return the full key name including space id or just the key name\n\t * @return {Promise<string[]>} - Array of keys\n\t */\n\tkeys (full = false) {\n\t\treturn this.open ().then (() => {\n\t\t\treturn Promise.resolve (Object.keys (this.storage).filter ((key) => {\n\t\t\t\treturn key.indexOf (this.id) === 0;\n\t\t\t}).map ((key) => {\n\t\t\t\tif (full === true) {\n\t\t\t\t\treturn key;\n\t\t\t\t} else {\n\t\t\t\t\treturn key.replace (this.id, '');\n\t\t\t\t}\n\t\t\t}));\n\t\t});\n\t}\n\n\t/**\n\t * Delete a value from the space given its key\n\t *\n\t * @param  {string} key - Key of the item to delete\n\t * @return {Promise<value>} - Resolves to the value of the deleted object\n\t */\n\tremove (key) {\n\t\treturn this.get (key).then ((value) => {\n\t\t\tthis.storage.removeItem (this.id + key);\n\t\t\treturn Promise.resolve (value);\n\t\t});\n\t}\n\n\t/**\n\t * Clear the entire space\n\t *\n\t * @return {Promise} - Result of the clear operation\n\t */\n\tclear () {\n\t\treturn this.keys ().then ((keys) => {\n\t\t\tfor (const key of keys) {\n\t\t\t\tthis.remove (key);\n\t\t\t}\n\t\t\treturn Promise.resolve ();\n\t\t});\n\t}\n}","/**\n* ==============================\n* Session Storage Adapter\n* ==============================\n*/\n\nimport { LocalStorage } from './LocalStorage';\n\n/**\n * The Session Storage Adapter provides the Space Class the ability to interact\n * with the sessionStorage api found in most modern browsers. Since this API\n * shares pretty much the same methods to the local storage one, this class\n * inherits from the LocalStorage adapter.\n *\n * @class\n */\nexport class SessionStorage extends LocalStorage {\n\n\t/**\n\t * Create a new SessionStorage. If no configuration is provided, the SessionStorage\n\t * global object is used.The SessionStorage Adapter can provide independency\n\t * by store name and space name.\n\t *\n\t * @constructor\n\t * @param {Object} [configuration={name = '', version = '', store = ''}] - Configuration Object for the Adapter\n\t * @param {string} configuration.name - Name of the Space\n\t * @param {string} configuration.version - Version of the Space in Semantic versioning syntax\n\t * @param {string} configuration.store - Name of the Object Store to use\n\t *\n\t */\n\tconstructor ({name = '', version = '', store = ''}) {\n\t\tsuper ({name, version, store});\n\t}\n\n\t/**\n\t * Open the Storage Object\n\n\t * @return {Promise<SessionStorage>}\n\t */\n\topen () {\n\t\tif (typeof this.storage === 'undefined') {\n\t\t\tthis.storage = window.sessionStorage;\n\t\t}\n\t\treturn Promise.resolve (this);\n\t}\n}","/**\n* ==============================\n* IndexedDB Adapter\n* ==============================\n*/\n\n/**\n * The IndexedDB Adapter provides the Space Class the ability to interact\n * with the IndexedDB API found in most modern browsers.\n *\n * @class\n */\nexport class IndexedDB {\n\n\t/**\n\t * Create a new IndexedDB. Differently from Local and Session Storages, the\n\t * IndexedDB Adapter requires a mandatory name, version and store name.\n\t *\n\t * @constructor\n\t * @param {Object} [configuration={name = '', version = '', store = '', props = {}, index = {}}] - Configuration Object for the Adapter\n\t * @param {string} configuration.name - Name of the Space\n\t * @param {string} configuration.version - Version of the Space in Semantic versioning syntax\n\t * @param {string} configuration.store - Name of the Object Store to use\n\t * @param {Object} configuration.props - Optional Parameters for the Object Store\n\t * @param {Object} configuration.index - Object of the indexes to declare for\n\t * the  Object Store. Each index is a JSON object with the following properties:\n\t * @param {String} configuration.index[...].name - Name for the Index\n\t * @param {String} configuration.index[...].field - Field on the store to apply the index to\n\t * @param {Object} configuration.index[...].props - Index properties object\n\t */\n\tconstructor ({name = '', version = '', store = '', props = {}, index = {}}) {\n\t\tthis.name = name;\n\t\tthis.version = version;\n\t\tthis.store = store;\n\t\tthis.props = props;\n\t\tthis.index = index;\n\n\t\tthis.upgrades = {};\n\n\t\tif (this.version === '') {\n\t\t\tthis.numericVersion = 0;\n\t\t} else {\n\t\t\tthis.numericVersion = parseInt (version.replace (/\\./g, ''));\n\t\t}\n\t}\n\n\t/**\n\t * Open the Storage Object\n\t *\n\t * @return {Promise}\n\t */\n\topen () {\n\n\t\tif (this.name === '') {\n\t\t\tconsole.error ('No name has been defined for IndexedDB space.');\n\t\t\treturn Promise.reject ();\n\t\t}\n\n\t\tif (this.store === '') {\n\t\t\tconsole.error ('No store has been defined for IndexedDB space.');\n\t\t\treturn Promise.reject ();\n\t\t}\n\n\t\tif (this.storage instanceof IDBDatabase) {\n\t\t\treturn Promise.resolve (this);\n\t\t} else if (this.storage instanceof Promise) {\n\t\t\treturn this.storage;\n\t\t} else {\n\t\t\tthis.storage = new Promise ((resolve, reject) => {\n\t\t\t\tlet upgradesToApply = [];\n\t\t\t\tconst storage = window.indexedDB.open (this.name, this.numericVersion);\n\n\t\t\t\tstorage.onerror = (event) => {\n\t\t\t\t\treject (event);\n\t\t\t\t};\n\n\t\t\t\tstorage.onsuccess = (event) => {\n\t\t\t\t\tresolve ({ storage: event.target.result, upgrades: upgradesToApply });\n\t\t\t\t};\n\n\t\t\t\tstorage.onupgradeneeded = (event) => {\n\t\t\t\t\t// If the previous version is less than one, it means that\n\t\t\t\t\t// the database needs to be created first\n\t\t\t\t\tif (event.oldVersion < 1) {\n\t\t\t\t\t\t// Create all the needed Stores\n\t\t\t\t\t\tconst store = event.target.result.createObjectStore (this.store, this.props);\n\t\t\t\t\t\tfor (const index of Object.keys (this.index)) {\n\t\t\t\t\t\t\tstore.createIndex (this.index[index].name, this.index[index].field, this.index[index].props);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Check what upgrade functions have been declared in their respective order\n\t\t\t\t\t\tconst availableUpgrades = Object.keys (this.upgrades).sort ();\n\t\t\t\t\t\t\n\t\t\t\t\t\t// Find the first update that needs to be applied to the database given\n\t\t\t\t\t\t// the old version it currently has.\n\t\t\t\t\t\tconst startFrom = availableUpgrades.findIndex (u => {\n\t\t\t\t\t\t\tconst [old, ] = u.split ('::');\n\t\t\t\t\t\t\treturn parseInt (old) === event.oldVersion;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (startFrom > -1) {\n\t\t\t\t\t\t\tupgradesToApply = availableUpgrades.slice (startFrom).filter ((u) => {\n\t\t\t\t\t\t\t\tconst [old, next] = u.split ('::');\n\t\t\t\t\t\t\t\treturn parseInt (old) < this.numericVersion && parseInt (next) <= this.numericVersion;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Once the transaction is done, resolve the storage object\n\t\t\t\t\tconst transaction = event.target.transaction;\n\t\t\t\t\ttransaction.addEventListener ('success', () => {\n\t\t\t\t\t\tresolve ({ storage: event.target.result, upgrades: upgradesToApply });\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t}).then (({ storage, upgrades }) => {\n\t\t\t\tthis.storage = storage;\n\t\t\t\treturn new Promise ((resolve) => {\n\t\t\t\t\tconst res = () => resolve (storage);\n\t\t\t\t\tthis._upgrade (upgrades, res, event);\n\t\t\t\t});\n\t\t\t});\n\t\t\treturn this.storage;\n\t\t}\n\t}\n\n\t/**\n\t * Store a key-value pair. Because of the nature of a IndexedDB Database, the\n\t * stored values must be JSON objects.\n\t *\n\t * @param  {string} key - Key with which this value will be saved\n\t * @param  {Object} - Value to save\n\t * @return {Promise<Object>} - When resolved, a {key, value} object is handed\n\t * down, when it's rejected, the event is handed down.\n\t */\n\tset (key = null, value) {\n\t\treturn this.open ().then (() => {\n\t\t\treturn new Promise ((resolve, reject) => {\n\t\t\t\tconst transaction = this.storage.transaction (this.store, 'readwrite').objectStore (this.store);\n\t\t\t\tlet op;\n\t\t\t\tif (key !== null) {\n\t\t\t\t\top = transaction.put (Object.assign ({}, {id: key}, value));\n\t\t\t\t} else {\n\t\t\t\t\top = transaction.add (value);\n\t\t\t\t}\n\t\t\t\top.addEventListener ('success', (event) => { resolve ({key: event.target.result, value: value});});\n\t\t\t\top.addEventListener ('error', (event) => {reject (event);});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Update a key-value pair. In difference with the set () method, the update\n\t * method will use an Object.assign () in the case of objects so no value is\n\t * lost.\n\t *\n\t * @param  {string} key - Key with which this value will be saved\n\t * @param  {Object} - Value to save\n\t * @return {Promise<Object>} - When resolved, a {key, value} object is handed\n\t * down, when it's rejected, the event is handed down.\n\t */\n\tupdate (key, value) {\n\t\treturn this.get (key).then ((currentValue) => {\n\t\t\t// If this key did not exist on the storage, then create it using the\n\t\t\t// set method\n\t\t\tif (typeof currentValue === 'undefined') {\n\t\t\t\treturn this.set (key, value);\n\t\t\t}\n\t\t\treturn new Promise ((resolve, reject) => {\n\t\t\t\tconst transaction = this.storage.transaction (this.store, 'readwrite').objectStore (this.store);\n\t\t\t\tconst op = transaction.put (Object.assign ({}, currentValue, value));\n\t\t\t\top.addEventListener ('success', (event) => {resolve ({key: event.target.result, value: value});});\n\t\t\t\top.addEventListener ('error', (event) => {reject (event);});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves a value from storage given it's key\n\t *\n\t * @param  {string} - Key with which the value was saved\n\t * @return {Promise<Object>} - Resolves to the retreived value or its rejected\n\t * if it doesn't exist\n\t */\n\tget (key) {\n\t\treturn this.open ().then (() => {\n\t\t\treturn new Promise ((resolve, reject) => {\n\t\t\t\tconst transaction = this.storage.transaction (this.store).objectStore (this.store);\n\t\t\t\tconst op = transaction.get (key);\n\n\t\t\t\top.addEventListener ('success', (event) => {resolve (event.target.result);});\n\t\t\t\top.addEventListener ('error', (event) => {reject (event);});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves all the values in the space in a key-value JSON object\n\t *\n\t * @return {Promise<Object>} - Resolves to the retreived values\n\t */\n\tgetAll () {\n\t\treturn this.open ().then (() => {\n\t\t\treturn new Promise ((resolve, reject) => {\n\t\t\t\tconst transaction = this.storage.transaction (this.store).objectStore (this.store);\n\t\t\t\tconst op = transaction.getAll ();\n\n\t\t\t\top.addEventListener ('success', (event) => {resolve (event.target.result);});\n\t\t\t\top.addEventListener ('error', (event) => {reject (event);});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Check if the space contains a given key.\n\t *\n\t * @param  {string} key - Key to look for.\n\t * @return {Promise} - Promise gets resolved if it exists and rejected if it\n\t * doesn't\n\t */\n\tcontains (key) {\n\t\treturn this.get (key).then ((keys) => {\n\t\t\tif (keys.includes (key)) {\n\t\t\t\tPromise.resolve ();\n\t\t\t} else {\n\t\t\t\treturn Promise.reject ();\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Upgrade a Space Version. Upgrades must be declared before the open ()\n\t * method is executed.\n\t *\n\t * @param {string} oldVersion - The version to be upgraded\n\t * @param {string} newVersion - The version to be upgraded to\n\t * @param {function} callback - Function to transform the old stored values to the new version's format\n\t * @returns {Promise}\n\t */\n\tupgrade (oldVersion, newVersion, callback) {\n\t\tthis.upgrades[`${parseInt (oldVersion.replace (/\\./g, ''))}::${parseInt (newVersion.replace (/\\./g, ''))}`] = callback;\n\t\treturn Promise.resolve ();\n\t}\n\n\t// This function acts as a helper for the upgrade progress by executing the\n\t// needed upgrade callbacks in the correct order and sychronously.\n\t_upgrade (upgradesToApply, resolve, event) {\n\t\t// Check if there are still upgrades to apply\n\t\tif (upgradesToApply.length > 0) {\n\t\t\tthis.upgrades[upgradesToApply[0]].call (this, this, event).then (() => {\n\t\t\t\tthis._upgrade (upgradesToApply.slice (1), resolve, event);\n\t\t\t}).catch ((e) => console.error (e));\n\t\t} else {\n\t\t\tresolve ();\n\t\t}\n\t}\n\n\t/**\n\t * Renaming the space is not possible with the IndexedDB adapter therefore\n\t * this function always gets a rejection.\n\t *\n\t * @returns {Promise} - Result of the rename operation\n\t */\n\trename () {\n\t\treturn Promise.reject ();\n\t}\n\n\t/**\n\t * Getting a key by its index is not possible in this adapter, therefore this\n\t * function always gets rejected.\n\t *\n\t * @return {Promise} - Promise Rejection\n\t */\n\tkey () {\n\t\treturn Promise.reject ();\n\t}\n\n\t/**\n\t * Return all keys stored in the space.\n\t *\n\t * @return {Promise<string[]>}  - Array of keys\n\t */\n\tkeys () {\n\t\treturn this.open ().then (() => {\n\t\t\treturn new Promise ((resolve, reject) => {\n\t\t\t\tconst transaction = this.storage.transaction (this.store, 'readwrite').objectStore (this.store);\n\t\t\t\tconst op = transaction.getAllKeys ();\n\t\t\t\top.addEventListener ('success', (event) => {resolve (event.target.result);}, false);\n\t\t\t\top.addEventListener ('error', (event) => {reject (event);}, false);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Delete a value from the space given its key\n\t *\n\t * @param  {string} key - Key of the item to delete\n\t * @return {Promise<key, value>} - Resolves to the key and value of the deleted object\n\t */\n\tremove (key) {\n\t\treturn this.get (key).then ((value) => {\n\t\t\treturn new Promise ((resolve, reject) => {\n\t\t\t\tconst transaction = this.storage.transaction (this.store, 'readwrite').objectStore (this.store);\n\t\t\t\tconst op = transaction.delete (key);\n\t\t\t\top.addEventListener ('success', () => {resolve (value);}, false);\n\t\t\t\top.addEventListener ('error', (event) => {reject (event);}, false);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Clear the entire space\n\t *\n\t * @return {Promise} - Result of the clear operation\n\t */\n\tclear () {\n\t\treturn this.open ().then (() => {\n\t\t\treturn new Promise ((resolve, reject) => {\n\t\t\t\tconst transaction = this.storage.transaction (this.store, 'readwrite').objectStore (this.store);\n\t\t\t\tconst op = transaction.clear ();\n\t\t\t\top.addEventListener ('success', () => {resolve ();}, false);\n\t\t\t\top.addEventListener ('error', (event) => {reject (event);}, false);\n\t\t\t});\n\t\t});\n\t}\n}","/**\n* ==============================\n* Remote Storage Adapter\n* ==============================\n*/\n\nimport { Request } from './../Request';\n\n/**\n * The Remote Storage Adapter provides the Space Class the ability to interact\n * with a server in order to handle data persistance. The server's implementation\n * is up to the developer but it will need to respond to this adapter's request\n * formatting. This adapter uses the Request class to perfom its tasks.\n *\n * @class\n */\nexport class RemoteStorage {\n\n\t/**\n\t * Create a new Remote Storage. This adapter requires an endpoint url where\n\t * it will make the requests. If a store is defined, the request will be made\n\t * using the store as an URL, for example, let's assume the following endpoint:\n\t *\n\t * https://example.com/api/v1/\n\t *\n\t * If no store is defined, then the requests will be made to that simple route,\n\t * with a store definition, requests will be made to:\n\t *\n\t *  https://example.com/api/v1/{myStore}/\n\t *\n\t * The key of each item in this store represents another part of the request\n\t *\n\t * https://example.com/api/v1/{key}/\n\t *\n\t * Or:\n\t *\n\t * https://example.com/api/v1/{myStore}/{key}/\n\t *\n\t * This adapter just as the IndexedDB, works with JSON objects instead of string or\n\t * numeric values.\n\t *\n\t * @constructor\n\t * @param {object} [configuration={name = '', version = '', store = '', endpoint = '', props = {}] - Configuration Object for the Adapter\n\t * @param {string} configuration.name - Name of the Space\n\t * @param {string} configuration.version - Version of the Space in Semantic versioning syntax\n\t * @param {string} configuration.store - Name of the Object Store to use\n\t * @param {string} configuration.endpoint - Endpoint URL where the requests will be made\n\t * @param {string} configuration.props - Properties object to use for the fetch requests\n\t */\n\tconstructor ({name = '', version = '', store = '', endpoint = '', props = {}}) {\n\t\tthis.name = name;\n\t\tthis.version = version;\n\t\tthis.store = store;\n\t\tthis.endpoint = `${endpoint}${store}/`;\n\t\tthis.props = props;\n\t}\n\n\t/**\n\t * Open the Storage Object\n\t *\n\t * @return {Promise<RemoteStorage>}\n\t */\n\topen () {\n\t\tif (typeof this.storage === 'undefined') {\n\t\t\tthis.storage = Request;\n\t\t}\n\t\treturn Promise.resolve (this);\n\t}\n\n\t/**\n\t * Store a key-value pair. This function sends a POST request to the server\n\t *\n\t * @param  {string} key - Key with which this value will be saved\n\t * @param  {Object} value - Value to save\n\t * @return {Promise<Response>}\n\t */\n\tset (key, value) {\n\t\treturn this.open ().then (() => {\n\t\t\treturn this.storage.post (this.endpoint + key, value, this.props);\n\t\t});\n\t}\n\n\t/**\n\t * Update a key-value pair. In difference with the set () method, the update\n\t * method will use an Object.assign () in the case of objects so no value is\n\t * lost. This function sends a PUT request to the server.\n\t *\n\t * @param  {string} key - Key with which this value will be saved\n\t * @param  {Object} value - Value to save\n\t * @return {Promise<Object>}\n\t */\n\tupdate (key, value) {\n\t\treturn this.get (key).then ((currentValue) => {\n\t\t\treturn this.storage.put (this.endpoint + key, Object.assign ({}, currentValue, value), this.props).then ((response) => {\n\t\t\t\treturn response.json ();\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves a value from storage given it's key\n\t *\n\t * @param  {string} - Key with which the value was saved\n\t * @return {Promise<Object>} - Resolves to the retreived value or its rejected\n\t * if it doesn't exist\n\t */\n\tget (key) {\n\t\treturn this.open ().then (() => {\n\t\t\treturn this.storage.json (this.endpoint + key, {}, this.props);\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves all the values in the space in a key-value JSON object\n\t *\n\t * @return {Promise<Object>} - Resolves to the retreived values\n\t */\n\tgetAll () {\n\t\treturn this.open ().then (() => {\n\t\t\treturn this.storage.json (this.endpoint, {}, this.props);\n\t\t});\n\t}\n\n\t/**\n\t * Check if a space contains a given key.\n\t *\n\t * @param  {string} key - Key to look for.\n\t * @return {Promise} Promise gets resolved if it exists and rejected if it\n\t * doesn't\n\t */\n\tcontains (key) {\n\t\treturn this.keys ().then ((keys) => {\n\t\t\tif (keys.includes (key)) {\n\t\t\t\tPromise.resolve ();\n\t\t\t} else {\n\t\t\t\treturn Promise.reject ();\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Upgrading the Storage must be done on the server side, therefore this function\n\t * always gets rejected.\n\t *\n\t * @returns {Promise}\n\t */\n\tupgrade () {\n\t\treturn Promise.reject ();\n\t}\n\n\t/**\n\t * Renaming the Storage must be done on the server side, therefore this function\n\t * always gets rejected.\n\t *\n\t * @returns {Promise}\n\t */\n\trename () {\n\t\treturn Promise.reject ();\n\t}\n\n\t/**\n\t * Getting a key by its index is not possible in this adapter, therefore this\n\t * function always gets rejected.\n\t *\n\t * @return {Promise} - Promise Rejection\n\t */\n\tkey () {\n\t\treturn Promise.reject ();\n\t}\n\n\t/**\n\t * Return all keys stored in the space. This makes a GET request to the full\n\t * endpoint (the URL of the endpoint and store name) with a keys query\n\t * parameter:\n\t *\n\t * https://example.com/api/v1/?keys=true\n \t *\n\t * Or:\n \t *\n \t * https://example.com/api/v1/{myStore}/?keys=true\n\t *\n\t * @return {Promise<string[]>} - Array of keys\n\t */\n\tkeys () {\n\t\treturn this.open ().then (() => {\n\t\t\treturn this.storage.json (this.endpoint, {keys: true}, this.props);\n\t\t});\n\t}\n\n\t/**\n\t * Delete a value from the space given it's key. This function sends a DELETE\n\t * request to the server.\n\t *\n\t * @param  {string} key - Key of the item to delete\n\t * @return {Promise<key, value>} - Resolves to the key and value of the deleted object\n\t */\n\tremove (key) {\n\t\treturn this.open ().then (() => {\n\t\t\treturn this.storage.delete (this.endpoint + key, {}, this.props).then ((response) => {\n\t\t\t\treturn Promise.resolve (key, response.json ());\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Clear the entire space. This function sends a DELETE request to the server.\n\t * The difference between a clear () and remove () operation is that the clear\n\t * operation does not uses a key in the URL where the request is made.\n\t *\n\t * @return {Promise} - Result of the clear operation\n\t */\n\tclear () {\n\t\treturn this.open ().then (() => {\n\t\t\treturn this.storage.delete (this.endpoint, {}, this.props);\n\t\t});\n\t}\n}","/**\n* ==============================\n* Space\n* ==============================\n*/\n\nimport { LocalStorage } from './SpaceAdapter/LocalStorage';\nimport { SessionStorage } from './SpaceAdapter/SessionStorage';\nimport { IndexedDB } from './SpaceAdapter/IndexedDB';\nimport { RemoteStorage } from './SpaceAdapter/RemoteStorage';\n\n/**\n * List of Adapters Available\n */\nexport const SpaceAdapter = {\n\tLocalStorage,\n\tSessionStorage,\n\tIndexedDB,\n\tRemoteStorage\n};\n\n/**\n * Space provides a simple wrapper for different Storage APIs. It aims to\n * provide data independence through storage namespaces and versioning, allowing\n * transparent data formatting and content modifications through versions.\n *\n * While this class documentation provides some information, specific details may\n * be addressed on the documentation of each adapter.\n *\n * @class\n */\nexport class Space {\n\n\t/**\n\t * Create a new Space Object. If no name and version is defined, the global LocalSpace space is used.\n\t *\n\t * @constructor\n\t * @param {SpaceAdapter} [adapter = SpaceAdapter.LocalStorage] - Space Adapter\n\t * to use. Currently LocalStorage, SessionStorage, IndexedDB and Server are\n\t * available\n\t * @param {Object} [configuration = {}] - Configuration object for the space.\n\t * This configuration may change depending on the adapter used, however all\n\t * adapters have support for a name, version and store properties.\n\t * @param {string} configuration.name - Name of the Space\n\t * @param {string} configuration.version - Version of the Space in Semantic versioning syntax\n\t * @param {string} configuration.store - Name of the Object Store to use\n\t */\n\tconstructor (adapter = SpaceAdapter.LocalStorage, configuration = {}) {\n\t\t// Assign the provided configuration to the default one\n\t\tthis._configuration = Object.assign ({}, {name: '', version: '', store: ''}, configuration);\n\n\t\t// Set up the adapter instance to use\n\t\tthis.adapter = new adapter (this._configuration);\n\n\t\t// This object stores all the callbacks the user can define for the\n\t\t// space operations\n\t\tthis.callbacks = {\n\t\t\t'create': [],\n\t\t\t'update': [],\n\t\t\t'delete': []\n\t\t};\n\n\t\t// A transformation is an object that can contain a set and get functions\n\t\t// every transformation will be applied to the retrieved value or to the\n\t\t// value before storing it.\n\t\tthis.transformations = {\n\n\t\t};\n\t}\n\n\t/**\n\t * Modify the space configuration, it will also be passed down to the adapter\n\t * using its configuration () function.\n\t *\n\t * @param  {object} - Configuration object to set up\n\t * @return {object} - Configuration object if no param was passed\n\t */\n\tconfiguration (object = null) {\n\t\tif (object !== null) {\n\t\t\tthis._configuration = Object.assign ({}, this._configuration, object);\n\t\t\tthis.adapter.configuration (object);\n\t\t} else {\n\t\t\treturn this._configuration;\n\t\t}\n\t}\n\n\t/**\n\t * Open the Storage Object to be used depending on the SpaceAdapter\n\t *\n\t * @return {Promise}\n\t */\n\topen () {\n\t\treturn this.adapter.open ().then (() => {\n\t\t\treturn Promise.resolve (this);\n\t\t});\n\t}\n\n\t/**\n\t * Store a key-value pair\n\t *\n\t * @param  {string} key - Key with which this value will be saved\n\t * @param  {Object|string|Number} - Value to save\n\t * @return {Promise<{key, value}>}\n\t */\n\tset (key, value) {\n\t\t// Apply all set transformations to the value\n\t\tfor (const id of Object.keys (this.transformations)) {\n\t\t\tif (typeof this.transformations[id].set === 'function') {\n\t\t\t\tvalue = this.transformations[id].set.call (null, key, value);\n\t\t\t}\n\t\t}\n\n\t\treturn this.adapter.set (key, value).then (({key, value}) => {\n\t\t\tfor (const callback of this.callbacks.create) {\n\t\t\t\tcallback.call (null, key, value);\n\t\t\t}\n\t\t\treturn Promise.resolve ({key, value});\n\t\t});\n\t}\n\n\t/**\n\t * Update a key-value pair. In difference with the set () method, the update\n\t * method will use an Object.assign () in the case of objects so no value is\n\t * lost.\n\t *\n\t * @param  {string} key - Key with which this value will be saved\n\t * @param  {Object|string|Number} - Value to save\n\t * @return {Promise<{key, value}>}\n\t */\n\tupdate (key, value) {\n\t\t// Apply all set transformations to the value\n\t\tfor (const id of Object.keys (this.transformations)) {\n\t\t\tif (typeof this.transformations[id].set === 'function') {\n\t\t\t\tvalue = this.transformations[id].set.call (null, key, value);\n\t\t\t}\n\t\t}\n\n\t\treturn this.adapter.update (key, value).then (({key, value}) => {\n\t\t\tfor (const callback of this.callbacks.update) {\n\t\t\t\tcallback.call (null, key, value);\n\t\t\t}\n\t\t\treturn Promise.resolve ({key, value});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves a value from storage given it's key\n\t *\n\t * @param  {string} - Key with which the value was saved\n\t * @return {Promise<Object>|Promise<string>|Promise<Number>} - Resolves to the retreived value\n\t * or its rejected if it doesn't exist.\n\t */\n\tget (key) {\n\t\treturn this.adapter.get (key).then ((value) => {\n\t\t\t// Apply all get transformations to the value\n\t\t\tfor (const id of Object.keys (this.transformations)) {\n\t\t\t\tif (typeof this.transformations[id].get === 'function') {\n\t\t\t\t\tvalue = this.transformations[id].get.call (null, key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves all the values in the space in a key-value JSON object\n\t *\n\t * @return {Promise<Object>} - Resolves to the retreived values\n\t */\n\tgetAll () {\n\t\treturn this.adapter.getAll ().then ((values) => {\n\t\t\t// Apply all get transformations to the value\n\t\t\tfor (const key of Object.keys (values)) {\n\t\t\t\tfor (const id of Object.keys (this.transformations)) {\n\t\t\t\t\tif (typeof this.transformations[id].get === 'function') {\n\t\t\t\t\t\tvalues[key] = this.transformations[id].get.call (null, key, values[key]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn values;\n\t\t});\n\t}\n\n\t/**\n\t * Iterate over every value in the space\n\t *\n\t * @param  {function (key, value)} callback - A callback function receiving the\n\t * key and value of a value. Must return a callback\n\t * @return {Promise} - Resolves when all callbacks have been resolved.\n\t */\n\teach (callback) {\n\t\treturn this.getAll ().then ((values) => {\n\t\t\tconst promises = [];\n\t\t\tfor (const i of Object.keys (values)) {\n\t\t\t\tpromises.push (callback.call (this, i, values[i]));\n\t\t\t}\n\t\t\treturn Promise.all (promises);\n\t\t});\n\t}\n\n\t/**\n\t * Check if a space contains a given key. Not all adapters may give this information\n\t *\n\t * @param  {string} key - Key to look for.\n\t * @return {Promise} - Promise gets resolved if it exists and rejected if\n\t * doesn't\n\t */\n\tcontains (key) {\n\t\treturn this.adapter.contains (key);\n\t}\n\n\t/**\n\t * Upgrade a Space Version. Not all adapters may provide this functionality\n\t *\n\t * @param oldVersion {string} - The version of the storage to be upgraded\n\t * @param newVersion {string} - The version to be upgraded to\n\t * @param callback {function} - Function to transform the old stored values to the new version's format\n\t *\n\t * @returns {Promise} - Result of the upgrade operation\n\t */\n\tupgrade (oldVersion, newVersion, callback) {\n\t\treturn this.adapter.upgrade (oldVersion, newVersion, callback).then (() => {\n\t\t\treturn Promise.resolve (this);\n\t\t});\n\t}\n\n\t/**\n\t * Rename a Space. Not all adapters may provide this functionality\n\t *\n\t * @param {string} name - New name to be used.\n\t * @returns {Promise} Result of the rename operation\n\t */\n\trename (name) {\n\t\treturn this.adapter.rename (name);\n\t}\n\n\t/**\n\t * Add a callback function to be run every time a value is created.\n\t *\n\t * @param  {function (key, value)} callback - Callback Function. Key and Value pair will be sent as parameters when run.\n\t */\n\tonCreate (callback) {\n\t\tthis.callbacks.create.push (callback);\n\t}\n\n\t/**\n\t * Add a callback function to be run every time a value is updated.\n\t *\n\t * @param  {function (key, value)} callback - Callback Function. Key and Value pair will be sent as parameters when run.\n\t */\n\tonUpdate (callback) {\n\t\tthis.callbacks.update.push (callback);\n\t}\n\n\t/**\n\t * Add a callback function to be run every time a value is deleted.\n\t *\n\t * @param  {function (key, value)} callback - Callback Function. Key and Value pair will be sent as parameters when run.\n\t */\n\tonDelete (callback) {\n\t\tthis.callbacks.delete.push (callback);\n\t}\n\n\t/**\n\t * Add a transformation function to the space.\n\t *\n\t * @param  {string} id - Unique transformation name or identifier\n\t * @param  {function (key, value)|null} get - Transformation function to apply to the content before\n\t * returning the value when using the get () function .\n\t * @param  {function (key, value)|null} set - Transformation function to apply to the content before\n\t * saving it when using the set () function befo.\n\t */\n\taddTransformation ({id, get, set}) {\n\t\tthis.transformations[id] = {\n\t\t\tid,\n\t\t\tget,\n\t\t\tset\n\t\t};\n\t}\n\n\t/**\n\t * Remove a transformation function given its id\n\t *\n\t * @param  {string} id - Name or identifier of the transformation to remove\n\t */\n\tremoveTransformation (id) {\n\t\tdelete this.transformations[id];\n\t}\n\n\t/**\n\t * Get the key that corresponds to a given index in the storage. Not all adapters may provide this functionality\n\t *\n\t * @param  {Number} index - Index to get the key from\n\t * @param  {boolean} [full = false] - Whether to return the full key name including space id or just the key name\n\t * @return {Promise<string>} - Resolves to the key's name\n\t */\n\tkey (index, full = false) {\n\t\treturn this.adapter.key (index, full);\n\t}\n\n\t/**\n\t * Return all keys stored in the space. Not all adapters may provide this functionality\n\t *\n\t * @param {boolean} [full = false] - Whether to return the full key name including space id or just the key name\n\t * @return {Promise<string[]>} - Array of keys\n\t */\n\tkeys (full = false) {\n\t\treturn this.adapter.keys (full);\n\t}\n\n\t/**\n\t * Delete a value from the space given it's key\n\t *\n\t * @param  {string} key - Key of the item to delete\n\t * @return {Promise<key, value>} - Resolves to the key and value of the deleted object\n\t */\n\tremove (key) {\n\t\treturn this.adapter.remove (key).then ((value) => {\n\t\t\t// Run the callback for deletions\n\t\t\tfor (const callback of this.callbacks.delete) {\n\t\t\t\tcallback.call (null, key, value);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Clear the entire space\n\t *\n\t * @return {Promise} - Result of the clear operation\n\t */\n\tclear () {\n\t\treturn this.adapter.clear ();\n\t}\n}","/**\n* ==============================\n* Text\n* ==============================\n*/\n\n/**\n * Provides utility functions for texts\n * @class\n */\nexport class Text {\n\n\t/**\n\t * @static capitalize - Capatalizes every word in a string\n\t *\n\t * @param  {string} text - Text string to capitalize\n\t * @return {string} - Capitalized string\n\t */\n\tstatic capitalize (text) {\n\t\treturn text.replace (/\\w\\S*/g, (txt) => {\n\t\t\treturn txt.charAt (0).toUpperCase () + txt.substr (1).toLowerCase ();\n\t\t});\n\t}\n\n\t/**\n\t * @static suffix - Gets the suffix of a string given a key\n\t *\n\t * @param  {string} key - Key part of the string\n\t * @param  {string} text - Full string to extract the suffix from\n\t * @return {string} - Suffix\n\t */\n\tstatic suffix (key, text) {\n\t\tlet suffix = '';\n\t\tlet position = text.indexOf (key);\n\t\tif (position !== -1) {\n\t\t\tposition += key.length;\n\t\t\tsuffix = text.substr (position, text.length - position);\n\t\t}\n\t\treturn suffix;\n\t}\n\n\n\t/**\n\t * @static selection - Get the currently selected text\n\t *\n\t * @return {string} - Text selection\n\t */\n\tstatic selection () {\n\t\tif (window.getSelection) {\n\t\t\treturn window.getSelection ().toString ();\n\t\t} else if (document.selection && document.selection.type != 'Control') {\n\t\t\treturn document.selection.createRange ().text;\n\t\t}\n\t}\n\n\t/**\n\t * @static prefix - Gets the prefix of a string given a key\n\t *\n\t * @param  {string} key - Key part of the string\n\t * @param  {string} text - Full string to extract the prefix from\n\t * @return {string} - Prefix\n\t */\n\tstatic prefix (key, text) {\n\t\tlet prefix = '';\n\t\tconst position = text.indexOf (key);\n\t\tif (position != -1) {\n\t\t\tprefix = text.substr (0, position);\n\t\t}\n\t\treturn prefix;\n\t}\n\n\t/**\n\t * @static friendly - Transforms a given text into a friendly URL string replacing all special characters\n\t *\n\t * @param  {string} text - The text to build the url from\n\t * @return {string} - Friendly URL\n\t */\n\tstatic friendly (text) {\n\t\tconst regex = [\n\t\t\t/[áàâãªä]/,\n\t\t\t/[ÁÀÂÃÄ]/,\n\t\t\t/[ÍÌÎÏ]/,\n\t\t\t/[íìîï]/,\n\t\t\t/[éèêë]/,\n\t\t\t/[ÉÈÊË]/,\n\t\t\t/[óòôõºö]/,\n\t\t\t/[ÓÒÔÕÖ]/,\n\t\t\t/[úùûü]/,\n\t\t\t/[ÚÙÛÜ]/,\n\t\t\t/ç/,\n\t\t\t/Ç/,\n\t\t\t/ñ/,\n\t\t\t/Ñ/,\n\t\t\t/_/,\n\t\t\t/[’‘‹›<>']/,\n\t\t\t/[“”«»„\"]/,\n\t\t\t/[(){}[\\]]/,\n\t\t\t/[?¿!¡#$%&^*´`~/°|]/,\n\t\t\t/[,.:;]/,\n\t\t\t/ /\n\t\t];\n\n\t\tconst replacements = [\n\t\t\t'a',\n\t\t\t'A',\n\t\t\t'I',\n\t\t\t'i',\n\t\t\t'e',\n\t\t\t'E',\n\t\t\t'o',\n\t\t\t'O',\n\t\t\t'u',\n\t\t\t'U',\n\t\t\t'c',\n\t\t\t'C',\n\t\t\t'n',\n\t\t\t'N',\n\t\t\t'-',\n\t\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t'-'\n\t\t];\n\n\t\tfor (const index in regex) {\n\t\t\ttext = text.replace(new RegExp(regex[index], 'g'), replacements[index]);\n\t\t}\n\n\t\treturn text;\n\t}\n}","/**\n* ==============================\n* Util\n* ==============================\n*/\n\n/**\n * Provides diverse utility functions\n * @class\n */\nexport class Util {\n\n\n\t/**\n\t * @static callAsync - Calls any function using promises to keep a standard\n\t * behavior between async and sync functions.\n\t *\n\t * @param  {funcion} callable - The function to run\n\t * @param  {Object} context - The object `this` will be mapped to\n\t * @param  {any} ...args - List of parameters to pass to the function when called\n\t * @return {Promise} - A promise that resolves to the result of the function\n\t */\n\tstatic callAsync (callable, context, ...args) {\n\t\ttry {\n\t\t\t// Call the provided function using the context and arguments given\n\t\t\tconst result = callable.apply (context, args);\n\n\t\t\t// Check if the function returned a simple value or a Promise\n\t\t\tif (result instanceof Promise) {\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn Promise.resolve (result);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn Promise.reject (e);\n\t\t}\n\t}\n\n\t/**\n\t * @static uuid - Creates a UUID. This UUIDs should not be trusted for uniqueness\n\t *\n\t * @return {string} - Generated UUID\n\t */\n\tstatic uuid () {\n\t\tif (window.crypto) {\n\t\t\treturn ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, (c) =>\n\t\t\t\t(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString (16)\n\t\t\t);\n\t\t} else {\n\t\t\tconst generate = () => Math.floor ((1 + Math.random()) * 0x10000).toString (16).substring (1);\n\t\t\treturn generate () + generate () + '-' + generate () + '-' + generate () + '-' +\n\t\t\tgenerate () + '-' + generate () + generate () + generate ();\n\t\t}\n\t}\n}","export * from './src/DOM';\nexport * from './src/FileSystem';\nexport * from './src/Form';\nexport * from './src/Platform';\nexport * from './src/Preload';\nexport * from './src/Request';\nexport * from './src/Space';\nexport * from './src/Text';\nexport * from './src/Util';","import { $_, Text, Util } from '@aegis-framework/artemis';\n/* global Prism */\n\nexport class FancyError {\n\n\tstatic init () {\n\n\t}\n\n\tstatic pop () {\n\t\tif ((window.location.protocol.indexOf ('file') === 0 || window.location.host === 'localhost') && typeof Prism !== 'undefined') {\n\t\t\tif (FancyError.queue.length > 0) {\n\t\t\t\tconst object = FancyError.queue.pop ();\n\n\t\t\t\t$_('body').prepend (`\n\t\t\t\t\t<div class='fancy-error modal modal--active' data-error='${object.id}'>\n\t\t\t\t\t\t<div class='modal__content'>\n\t\t\t\t\t\t\t<h2>${object.title}</h2>\n\t\t\t\t\t\t\t<p>${object.message}</p>\n\t\t\t\t\t\t\t<div class='padded  text--left'>\n\t\t\t\t\t\t\t\t<h3>Details</h3>\n\t\t\t\t\t\t\t\t${FancyError.render (object.props)}\n\t\t\t\t\t\t\t\t<hr class='separator--material'/>\n\t\t\t\t\t\t\t\t<h3>Need More Help?</h3>\n\t\t\t\t\t\t\t\t<div class='error-section'>\n\t\t\t\t\t\t\t\t\t<p>Remember you can always ask for more help if you need it at:</p>\n\t\t\t\t\t\t\t\t\t<p><b>Discord</b>: <a href='https://discord.gg/gWSeDTz' target='_blank'>https://discord.gg/gWSeDTz</a></p>\n\t\t\t\t\t\t\t\t\t<p><b>GitHub</b>: <a href='https://github.com/Monogatari/Monogatari/issues/' target='_blank'>https://github.com/Monogatari/Monogatari/issues/</a></p>\n\t\t\t\t\t\t\t\t\t<p><b>Twitter</b>: <a href='https://twitter.com/monogatari' target='_blank'>https://twitter.com/monogatari</a></p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button>Ok</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t`);\n\n\t\t\t\t$_(`[data-error=\"${object.id}\"] button`).click (function () {\n\t\t\t\t\t$_(`[data-error=\"${object.id}\"]`).remove ();\n\t\t\t\t\tFancyError.pop ();\n\t\t\t\t});\n\t\t\t\tPrism.highlightAll ();\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic show (title = 'Error', message = 'An error has ocurred! Please check the console so you get more insight.', props = {}) {\n\t\tif (typeof MonogatariDebug === 'object') {\n\t\t\tconst id = Util.uuid ();\n\n\t\t\tconst object = {\n\t\t\t\tid,\n\t\t\t\ttitle,\n\t\t\t\tmessage,\n\t\t\t\tprops\n\t\t\t};\n\n\n\t\t\tif ($_('[data-error]').isVisible ()) {\n\t\t\t\tFancyError.queue.unshift (object);\n\t\t\t} else {\n\t\t\t\t$_('body').prepend (`\n\t\t\t\t\t<div class='fancy-error modal modal--active' data-error='${id}'>\n\t\t\t\t\t\t<div class='modal__content'>\n\t\t\t\t\t\t\t<h2>${title}</h2>\n\t\t\t\t\t\t\t<p>${message}</p>\n\t\t\t\t\t\t\t<div class='padded  text--left'>\n\t\t\t\t\t\t\t\t<h3>Details</h3>\n\t\t\t\t\t\t\t\t${FancyError.render (props)}\n\t\t\t\t\t\t\t\t<hr class='separator--material'/>\n\t\t\t\t\t\t\t\t<h3>Need More Help?</h3>\n\t\t\t\t\t\t\t\t<div class='error-section'>\n\t\t\t\t\t\t\t\t\t<p>Remember you can always ask for more help if you need it at:</p>\n\t\t\t\t\t\t\t\t\t<p><b>Discord</b>: <a href='https://discord.gg/gWSeDTz' target='_blank'>https://discord.gg/gWSeDTz</a></p>\n\t\t\t\t\t\t\t\t\t<p><b>GitHub</b>: <a href='https://github.com/Monogatari/Monogatari/issues/' target='_blank'>https://github.com/Monogatari/Monogatari/issues/</a></p>\n\t\t\t\t\t\t\t\t\t<p><b>Twitter</b>: <a href='https://twitter.com/monogatari' target='_blank'>https://twitter.com/monogatari</a></p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button>Ok</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t`);\n\n\t\t\t\t$_(`[data-error=\"${id}\"] button`).click (function () {\n\t\t\t\t\t$_(`[data-error=\"${id}\"]`).remove ();\n\t\t\t\t\tFancyError.pop ();\n\t\t\t\t});\n\t\t\t\tPrism.highlightAll ();\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic render (props = {}) {\n\t\tlet html = '<div class=\"error-section\">';\n\t\tfor (const key of Object.keys (props)) {\n\t\t\tif (typeof props[key] === 'string' || typeof props[key] === 'number') {\n\t\t\t\thtml += `<p><b>${key}</b>: ${props[key]}</p>`;\n\t\t\t} else if (props[key] instanceof Array) {\n\t\t\t\thtml += `<p><b>${key}</b>: ${props[key].toString ().replace (/,/g, ', ')}</p>`;\n\t\t\t} else if (props[key] instanceof NodeList) {\n\t\t\t\thtml += `<p><b>${key}</b>:<br><pre>`;\n\t\t\t\tfor (const item of props[key]) {\n\t\t\t\t\thtml += `<code class='language-markup'>${item._html.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;')}</code>`;\n\t\t\t\t}\n\t\t\t\thtml += '</pre></p>';\n\t\t\t}\n\t\t}\n\t\thtml += '</div>';\n\n\t\tfor (const key of Object.keys (props)) {\n\t\t\tif (typeof props[key] === 'object' && !(props[key] instanceof Array) && !(props[key] instanceof NodeList)) {\n\t\t\t\thtml += `<hr class='separator--material'/><h3>${Text.capitalize (key)}</h3><div class='error-section'>`;\n\t\t\t\tfor (const property of Object.keys (props[key])) {\n\t\t\t\t\tif (property.indexOf ('_') === 0) {\n\t\t\t\t\t\thtml += `<p>${props[key][property]}</p>`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (typeof props[key][property] === 'string' || typeof props[key][property] === 'number') {\n\t\t\t\t\t\t\thtml += `<p><b>${property}</b>: ${props[key][property]}</p>`;\n\t\t\t\t\t\t} else if (props[key][property] instanceof Array) {\n\t\t\t\t\t\t\thtml += `<p><b>${property}</b>: ${props[key][property].toString ().replace (/,/g, ', ')}</p>`;\n\t\t\t\t\t\t} else if (props[key][property] instanceof NodeList) {\n\t\t\t\t\t\t\thtml += `<p><b>${property}</b>:<br><pre>`;\n\t\t\t\t\t\t\tfor (const item of props[key][property]) {\n\t\t\t\t\t\t\t\thtml += `<code class='language-markup'>${item._html.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;')}</code>`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thtml += '</pre></p>';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\thtml += '</div>';\n\t\t\t}\n\t\t}\n\t\treturn html;\n\t}\n\n\n}\n\nFancyError.queue = [];","import './vendor/prism.js';\nimport { FancyError } from '../core/lib/FancyError';\nimport { $_ready } from '@aegis-framework/artemis';\n\n/* global window */\n\nwindow.addEventListener('error', (event) => {\n\tconst { message, lineno, filename } = event;\n\n\t// Once the DOM is ready, a Fancy Error will be shown providing more information\n\t$_ready (() => {\n\t\tFancyError.show (\n\t\t\t'An Unknown Error Occurred',\n\t\t\tmessage,\n\t\t\t{\n\t\t\t\t'File': filename,\n\t\t\t\t'Line': lineno,\n\t\t\t\t'Help': {\n\t\t\t\t\t'_': 'This is most likely a scripting error, please check your script and JavaScript code for missing commas or incorrect syntax.',\n\t\t\t\t\t'_1': 'There may be additional information on your browser’s console. You can open your console by pressing Ctrl + Shift + I'\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n});\n"]}