var DEFAULT_LANGUAGES=["lisp","python","ruby","perl","php","css","html","django","javascript","java","cpp","sql","smalltalk"];var ALL_LANGUAGES=(DEFAULT_LANGUAGES.join(",")+","+["1c","axapta","delphi","rib","rsl","vbscript"].join(",")).split(",");var LANGUAGE_GROUPS={"html":"html","css":"html","django":"html"};var IDENT_RE="[a-zA-Z][a-zA-Z0-9_]*";var UNDERSCORE_IDENT_RE="[a-zA-Z_][a-zA-Z0-9_]*";var NUMBER_RE="\\b\\d+(\\.\\d+)?";var C_NUMBER_RE="\\b(0x[A-Za-z0-9]+|\\d+(\\.\\d+)?)";var APOS_STRING_MODE={className:"string",begin:"'",end:"'",contains:["escape"],relevance:0};var QUOTE_STRING_MODE={className:"string",begin:"\"",end:"\"",contains:["escape"],relevance:0};var BACKSLASH_ESCAPE={className:"escape",begin:"\\\\.",end:"^",relevance:0};var C_LINE_COMMENT_MODE={className:"comment",begin:"//",end:"$",relevance:0};var C_BLOCK_COMMENT_MODE={className:"comment",begin:"/\\*",end:"\\*/"};var HASH_COMMENT_MODE={className:"comment",begin:"#",end:"$"};var C_NUMBER_MODE={className:"number",begin:C_NUMBER_RE,end:"^",relevance:0};var LANGUAGES={};var selected_languages={};function Highlighter(X,h){currentMode=function(){return V[V.length-1];};function y(e){if(!currentMode().contains){return null;}for(var D in i.modes){if(contains(currentMode().contains,i.modes[D].className)&&i.modes[D].beginRe.test(e)){return i.modes[D];}}return null;}function u(D,e){if(V[D].end&&V[D].endRe.test(e)){return 1;}if(V[D].endsWithParent){var U=u(D-1,e);return U?U+1:0;}return 0;}function S(e){if(!currentMode().illegalRe){return false;}return currentMode().illegalRe.test(e);}function r(t,k){if(!currentMode().terminators){var D=[];if(currentMode().contains){for(var o in i.modes){if(contains(currentMode().contains,i.modes[o].className)&&!contains(D,i.modes[o].begin)){D[D.length]=i.modes[o].begin;}}}var T=V.length-1;do{if(V[T].end&&!contains(D,V[T].end)){D[D.length]=V[T].end;}T--;}while(V[T+1].endsWithParent);if(currentMode().illegal){if(!contains(D,currentMode().illegal)){D[D.length]=currentMode().illegal;}}var e="("+D[0];for(var q=0;q<D.length;q++){e+="|"+D[q];}e+=")";currentMode().terminators=langRe(i,e);}t=t.substr(k);var U=currentMode().terminators.exec(t);if(!U){return [t,"",true];}if(U.index==0){return ["",U[0],false];}else{return [t.substr(0,U.index),U[0],false];}}function b(e){return e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;");}function v(q,e){if(!q.keywordGroups){for(var D in q.keywords){if(q.keywords[D] instanceof Object){q.keywordGroups=q.keywords;}else{q.keywordGroups={"keyword":q.keywords};}break;}}for(var U in q.keywordGroups){var k=q.keywordGroups[U][i.case_insensitive?e[0].toLowerCase():e[0]];if(k){return [U,k];}}return false;}function w(D){var o=currentMode();if(!o.keywords||!o.lexems){return b(D);}if(!o.lexemsRe){var e=[];for(var T in o.lexems){if(!contains(e,o.lexems[T])){e[e.length]=o.lexems[T];}}var t="("+e[0];for(var k=1;k<e.length;k++){t+="|"+e[k];}t+=")";o.lexemsRe=langRe(i,t,true);}var B="";var U=0;o.lexemsRe.lastIndex=0;var q=o.lexemsRe.exec(D);while(q){B+=b(D.substr(U,q.index-U));keyword_match=v(o,q);if(keyword_match){s+=keyword_match[1];B+="<span class=\""+keyword_match[0]+"\">"+b(q[0])+"</span>";}else{B+=b(q[0]);}U=o.lexemsRe.lastIndex;q=o.lexemsRe.exec(D);}B+=b(D.substr(U,D.length-U));return B;}function Q(k,U,D){if(D){l+=w(currentMode().buffer+k);return ;}if(S(U)){throw "Illegal";}var q=y(U);if(q){currentMode().buffer+=k;l+=w(currentMode().buffer);if(q.excludeBegin){l+=U+"<span class=\""+q.className+"\">";q.buffer="";}else{l+="<span class=\""+q.className+"\">";q.buffer=U;}V[V.length]=q;R+=currentMode().relevance!=undefined?currentMode().relevance:1;return ;}var e=u(V.length-1,U);if(e){currentMode().buffer+=k;if(currentMode().excludeEnd){l+=w(currentMode().buffer)+"</span>"+U;}else{l+=w(currentMode().buffer+U)+"</span>";}while(e>1){l+="</span>";e--;V.length--;}V.length--;currentMode().buffer="";return ;}}function G(D){var e=0;i.defaultMode.buffer="";do{var U=r(D,e);Q(U[0],U[1],U[2]);e+=U[0].length+U[1].length;}while(!U[2]);if(V.length>1){throw "Illegal";}}this.language_name=X;var i=LANGUAGES[X];var V=[i.defaultMode];var R=0;var s=0;var l="";try{G(h);this.relevance=R;this.keyword_count=s;this.result=l;}catch(N){if(N=="Illegal"){this.relevance=0;this.keyword_count=0;this.result=b(h);}else{throw N;}}}function contains(u,G){if(!u){return false;}for(var V in u){if(u[V]==G){return true;}}return false;}function blockText(u){var V="";for(var G=0;G<u.childNodes.length;G++){if(u.childNodes[G].nodeType==3){V+=u.childNodes[G].nodeValue;}else{if(u.childNodes[G].nodeName=="BR"){V+="\n";}else{throw "Complex markup";}}}return V;}function initHighlight(R){if(R.className.search(/\bno\-highlight\b/)!=-1){return ;}try{blockText(R);}catch(u){if(u=="Complex markup"){return ;}}var G=R.className.split(/\s+/);for(var V=0;V<G.length;V++){if(LANGUAGES[G[V]]){highlightLanguage(R,G[V]);return ;}}highlightAuto(R);}function highlightLanguage(R,Q){var u=new Highlighter(Q,blockText(R));var G=document.createElement("div");G.innerHTML="<pre><code class=\""+R.className+"\">"+u.result+"</code></pre>";var V=R.parentNode.parentNode;V.replaceChild(G.firstChild,R.parentNode);}function highlightAuto(R){var S=null;var i="";var s=2;var v=0;var G=blockText(R);for(var N in selected_languages){var u=new Highlighter(N,G);v=u.keyword_count+u.relevance;if(v>s){s=v;S=u;}}if(S){var V=document.createElement("div");V.innerHTML="<pre><code class=\""+S.language_name+"\">"+S.result+"</code></pre>";var Q=R.parentNode.parentNode;Q.replaceChild(V.firstChild,R.parentNode);}}function langRe(R,G,V){var u="m"+(R.case_insensitive?"i":"")+(V?"g":"");return new RegExp(G,u);}function compileRes(){for(var G in LANGUAGES){var u=LANGUAGES[G];for(var V in u.modes){if(u.modes[V].begin){u.modes[V].beginRe=langRe(u,"^"+u.modes[V].begin);}if(u.modes[V].end){u.modes[V].endRe=langRe(u,"^"+u.modes[V].end);}if(u.modes[V].illegal){u.modes[V].illegalRe=langRe(u,"^(?:"+u.modes[V].illegal+")");}u.defaultMode.illegalRe=langRe(u,"^(?:"+u.defaultMode.illegal+")");}}}function initHighlighting(){if(initHighlighting.called){return ;}initHighlighting.called=true;compileRes();if(arguments.length){for(var V=0;V<arguments.length;V++){if(LANGUAGES[arguments[V]]){selected_languages[arguments[V]]=LANGUAGES[arguments[V]];}}}else{selected_languages=LANGUAGES;}var G=document.getElementsByTagName("pre");for(var V=0;V<G.length;V++){if(G[V].firstChild&&G[V].firstChild.nodeName=="CODE"){initHighlight(G[V].firstChild);}}}function injectScripts(v){var V=document.getElementsByTagName("SCRIPT");for(var R=0;R<V.length;R++){if(V[R].src.match(/highlight\.js$/)){var Q=V[R].src.replace(/highlight\.js$/,"");break;}}if(v.length==0){v=DEFAULT_LANGUAGES;}var u={};for(var R=0;R<v.length;R++){var G=LANGUAGE_GROUPS[v[R]]?LANGUAGE_GROUPS[v[R]]:v[R];if(!u[G]){document.write("<script type=\"text/javascript\" src=\""+Q+"languages/"+G+".js\"></script>");u[G]=true;}}}function initHighlightingOnLoad(){var V=arguments;injectScripts(arguments);var G=function(){initHighlighting.apply(null,V);};if(window.addEventListener){window.addEventListener("DOMContentLoaded",G,false);window.addEventListener("load",G,false);}else{if(window.attachEvent){window.attachEvent("onload",G);}else{window.onload=G;}}}