window.PR_SHOULD_USE_CONTINUATION=true;window.PR_TAB_WIDTH=8;window.PR_normalizedHtml=window.PR=window.prettyPrintOne=window.prettyPrint=void 0;
window._pr_isIE6=function(){var a=navigator&&navigator.userAgent&&/\bMSIE 6\./.test(navigator.userAgent);
window._pr_isIE6=function(){return a};return a};(function(){var o="break continue do else for if return while ";
var F=o+"auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile ";
var x=F+"catch class delete false import new operator private protected public this throw true try ";
var q=x+"alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename typeof using virtual wchar_t where ";
var I=x+"boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ";
var aq=I+"as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ";
var H=x+"debugger eval export function get null set undefined var with Infinity NaN ";
var A="caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ";
var ad=o+"and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ";
var l=o+"alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ";
var ac=o+"case done elif esac eval fi function in local set then until ";var O=(q+aq+H+A+ad+l+ac);
var R="str";var N="kwd";var p="com";var am="typ";var aa="lit";var aj="pun";var Y="pln";
var r="tag";var X="dec";var af="src";var ap="atn";var t="atv";var al="nocode";function ar(au){return(au>="a"&&au<="z")||(au>="A"&&au<="Z")
}function Q(ax,av,au,aw){ax.unshift(au,aw||0);try{av.splice.apply(av,ax)}finally{ax.splice(0,2)
}}var ak=function(){var aw=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"];
var ax="(?:(?:(?:^|[^0-9.])\\.{1,3})|(?:(?:^|[^\\+])\\+)|(?:(?:^|[^\\-])-)";for(var au=0;
au<aw.length;++au){var av=aw[au];if(ar(av.charAt(0))){ax+="|\\b"+av}else{ax+="|"+av.replace(/([^=<>:&])/g,"\\$1")
}}ax+="|^)\\s*$";return new RegExp(ax)}();var V=/&/g;var ab=/</g;var z=/>/g;var M=/\"/g;
function G(au){return au.replace(V,"&amp;").replace(ab,"&lt;").replace(z,"&gt;").replace(M,"&quot;")
}function s(au){return au.replace(V,"&amp;").replace(ab,"&lt;").replace(z,"&gt;")
}var e=/&lt;/g;var E=/&gt;/g;var d=/&apos;/g;var j=/&quot;/g;var at=/&amp;/g;var L=/&nbsp;/g;
function u(ax){var az=ax.indexOf("&");if(az<0){return ax}for(--az;(az=ax.indexOf("&#",az+1))>=0;
){var au=ax.indexOf(";",az);if(au>=0){var aw=ax.substring(az+3,au);var ay=10;if(aw&&aw.charAt(0)==="x"){aw=aw.substring(1);
ay=16}var av=parseInt(aw,ay);if(!isNaN(av)){ax=(ax.substring(0,az)+String.fromCharCode(av)+ax.substring(au+1))
}}}return ax.replace(e,"<").replace(E,">").replace(d,"'").replace(j,'"').replace(at,"&").replace(L," ")
}function U(au){return"XMP"===au.tagName}function ao(ay,aw){switch(ay.nodeType){case 1:var av=ay.tagName.toLowerCase();
aw.push("<",av);for(var ax=0;ax<ay.attributes.length;++ax){var au=ay.attributes[ax];
if(!au.specified){continue}aw.push(" ");ao(au,aw)}aw.push(">");for(var az=ay.firstChild;
az;az=az.nextSibling){ao(az,aw)}if(ay.firstChild||!/^(?:br|link|img)$/.test(av)){aw.push("</",av,">")
}break;case 2:aw.push(ay.name.toLowerCase(),'="',G(ay.value),'"');break;case 3:case 4:aw.push(s(ay.nodeValue));
break}}var an=null;function b(ax){if(null===an){var av=document.createElement("PRE");
av.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
an=!/</.test(av.innerHTML)}if(an){var aw=ax.innerHTML;if(U(ax)){aw=s(aw)}return aw
}var au=[];for(var ay=ax.firstChild;ay;ay=ay.nextSibling){ao(ay,au)}return au.join("")
}function ai(aw){var au="                ";var av=0;return function(aA){var ay=null;
var aD=0;for(var az=0,aC=aA.length;az<aC;++az){var aB=aA.charAt(az);switch(aB){case"\t":if(!ay){ay=[]
}ay.push(aA.substring(aD,az));var ax=aw-(av%aw);av+=ax;for(;ax>=0;ax-=au.length){ay.push(au.substring(0,ax))
}aD=az+1;break;case"\n":av=0;break;default:++av}}if(!ay){return aA}ay.push(aA.substring(aD));
return ay.join("")}}var T=/(?:[^<]+|<!--[\s\S]*?-->|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g;
var w=/^<!--/;var W=/^<\[CDATA\[/;var v=/^<br\b/i;var h=/^<(\/?)([a-zA-Z]+)/;function D(aG){var aC=aG.match(T);
var aF=[];var ax=0;var au=[];if(aC){for(var aB=0,aw=aC.length;aB<aw;++aB){var aD=aC[aB];
if(aD.length>1&&aD.charAt(0)==="<"){if(w.test(aD)){continue}if(W.test(aD)){aF.push(aD.substring(9,aD.length-3));
ax+=aD.length-12}else{if(v.test(aD)){aF.push("\n");++ax}else{if(aD.indexOf(al)>=0&&ae(aD)){var av=aD.match(h)[2];
var aA=1;var az;end_tag_loop:for(az=aB+1;az<aw;++az){var aE=aC[az].match(h);if(aE&&aE[2]===av){if(aE[1]==="/"){if(--aA===0){break end_tag_loop
}}else{++aA}}}if(az<aw){au.push(ax,aC.slice(aB,az+1).join(""));aB=az}else{au.push(ax,aD)
}}else{au.push(ax,aD)}}}}else{var ay=u(aD);aF.push(ay);ax+=ay.length}}}return{source:aF.join(""),tags:au}
}function ae(au){return !!au.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)
}function P(au,aw,ay,av){if(!aw){return}var ax={source:aw,basePos:au};ay(ax);av.push.apply(av,ax.decorations)
}function k(aw,av){var au={};(function(){var aA=aw.concat(av);for(var aB=aA.length;
--aB>=0;){var aE=aA[aB];var aC=aE[3];if(aC){for(var aD=aC.length;--aD>=0;){au[aC.charAt(aD)]=aE
}}}})();var az=av.length;var ay=/\S/;var ax=function(aI){var aB=aI.source,aA=aI.basePos;
var aF=[aA,Y];var aS="";var aG=0;var aK=aB;while(aK.length){var aR;var aH=null;var aJ;
var aC=au[aK.charAt(0)];if(aC){aJ=aK.match(aC[1]);aH=aJ[0];aR=aC[0]}else{for(var aP=0;
aP<az;++aP){aC=av[aP];var aQ=aC[2];if(aQ&&!aQ.test(aS)){continue}aJ=aK.match(aC[1]);
if(aJ){aH=aJ[0];aR=aC[0];break}}if(!aH){aR=Y;aH=aK.substring(0,1)}}var aN="lang-"===aR.substring(0,5);
if(aN&&!(aJ&&aJ[1])){aN=false;aR=af}var aD=aG;aG+=aH.length;aK=aK.substring(aH.length);
if(aR!==p&&ay.test(aH)){aS=aH}if(!aN){aF.push(aA+aD,aR)}else{var aM=aJ[1];var aL=aH.indexOf(aM);
var aE=aL+aM.length;var aT=aR.substring(5);var aO=aF.length-10;P(aA+aD,aH.substring(0,aL),ax,aF);
P(aA+aD+aL,aM,y(aT,aM),aF);P(aA+aD+aE,aH.substring(aE),ax,aF)}}aI.decorations=aF};
return ax}var a=k([],[[Y,/^[^<?]+/,null],[X,/^<!\w[^>]*(?:>|$)/,null],[p,/^<!--[\s\S]*?(?:-->|$)/,null],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/,null],["lang-",/^<%([\s\S]+?)(?:%>|$)/,null],[aj,/^(?:<[%?]|[%?]>)/,null],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i,null],["lang-js",/^<script\b[^>]*>([\s\S]+?)<\/script\b[^>]*>/i,null],["lang-css",/^<style\b[^>]*>([\s\S]+?)<\/style\b[^>]*>/i,null],[r,/^<\/?\w[^<>]*>/,null]]);
var B=/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/;function ag(aw){a(aw);var ax=aw.decorations;
var au=aw.source;var ay=aw.basePos;for(var aA=0;aA<ax.length;aA+=2){if(ax[aA+1]===af){var av,az;
av=ax[aA]-ay;az=aA+2<ax.length?ax[aA+2]-ay:au.length;var aC=au.substring(av,az);var aB=aC.match(B);
if(aB){ax.splice(aA,2,av,r,av+aB[1].length,af,av+aB[1].length+(aB[2]||"").length,r)
}}}}var Z=k([[t,/^\'[^\']*(?:\'|$)/,null,"'"],[t,/^\"[^\"]*(?:\"|$)/,null,'"'],[aj,/^[<>\/=]+/,null,"<>/="]],[[r,/^[\w:\-]+/,/^</],[t,/^[\w\-]+/,/^=/],[ap,/^[\w:\-]+/,null],[Y,/^\s+/,null," \t\r\n"]]);
function K(au,ax,ay){for(var aA=0;aA<ax.length;aA+=2){var av=ax[aA+1];if(av===r){var aw,az;
aw=ax[aA]-ay;az=aA+2<ax.length?ax[aA+2]-ay:au.length;var aC=au.substring(aw,az);var aB={source:aC,basePos:aw+ay};
Z(aB);var aD=aB.decorations;Q(aD,ax,aA,2);aA+=aD.length-2}}}function n(av){var ax=[],au=[];
if(av.tripleQuotedStrings){ax.push([R,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])
}else{if(av.multiLineStrings){ax.push([R,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])
}else{ax.push([R,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])
}}if(av.hashComments){ax.push([p,/^#[^\r\n]*/,null,"#"])}if(av.cStyleComments){au.push([p,/^\/\/[^\r\n]*/,null]);
au.push([p,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(av.regexLiterals){var ay=("^/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+(?:/|$)");
au.push([R,new RegExp(ay),ak])}var aw=av.keywords.replace(/^\s+|\s+$/g,"");if(aw.length){au.push([N,new RegExp("^(?:"+aw.replace(/\s+/g,"|")+")\\b"),null])
}ax.push([Y,/^\s+/,null," \r\n\t\xA0"]);au.push([aa,/^@[a-z_$][a-z_$@0-9]*/i,null,"@"],[am,/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/,null],[Y,/^[a-z_$][a-z_$@0-9]*/i,null],[aa,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[aj,/^.[^\s\w\.$@\'\"\`\/\#]*/,null]);
return k(ax,au)}var ah=n({keywords:O,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});
function c(aH,az,aw){var aG=null;for(var aI=0;aI<az.length;aI+=2){var aJ=az[aI+1];
var aA,ax;if(aJ===ap){aA=az[aI]-aw;ax=aI+2<az.length?az[aI+2]-aw:aH.length;var aL=aH.substring(aA,ax);
if(/^on|^style$/i.test(aL)){aG=/^on/i.test(aL.substring(0,2))?"js":"css"}}else{if(aJ===t){if(aG){aA=az[aI]-aw;
ax=aI+2<az.length?az[aI+2]-aw:aH.length;var aF=aH.substring(aA,ax);var aE=aF.length;
var au=(aE>=2&&/^[\"\']/.test(aF)&&(aF.charCodeAt(0)===aF.charCodeAt(aE-1)));var aK;
var aD;var ay;if(au){aD=aA+1;ay=ax-1;aK=aF.substring(1,aF.length-1)}else{aD=aA;ay=ax;
aK=aF}var av={source:aK,basePos:aD+aw};var aC=y(aG,aK);aC(av);var aB=av.decorations;
if(au){aB.push(ay,t);Q(aB,az,aI+2,0)}else{Q(aB,az,aI,2)}}aG=null}}}}function m(ax){ag(ax);
var aw=ax.source,av=ax.decorations,au=ax.basePos;K(aw,av,au);c(aw,av,au)}function S(ay){var aF=ay.source;
var ax=ay.extractedTags;var aw=ay.decorations;var aC=[];var aA=0;var aK=null;var aD=null;
var av=0;var aJ=0;var aL=ai(window.PR_TAB_WIDTH);var aH=/([\r\n ]) /g;var az=/(^| ) /gm;
var aG=/\r\n?|\n/g;var aB=/[ \r\n]$/;var au=true;function aE(aM){if(aM>aA){if(aK&&aK!==aD){aC.push("</span>");
aK=null}if(!aK&&aD){aK=aD;aC.push('<span class="',aK,'">')}var aN=s(aL(aF.substring(aA,aM))).replace(au?az:aH,"$1&nbsp;");
au=aB.test(aN);aC.push(aN.replace(aG,"<br />"));aA=aM}}while(true){var aI;if(av<ax.length){if(aJ<aw.length){aI=ax[av]<=aw[aJ]
}else{aI=true}}else{aI=false}if(aI){aE(ax[av]);if(aK){aC.push("</span>");aK=null}aC.push(ax[av+1]);
av+=2}else{if(aJ<aw.length){aE(aw[aJ]);aD=aw[aJ+1];aJ+=2}else{break}}}aE(aF.length);
if(aK){aC.push("</span>")}ay.prettyPrintedHtml=aC.join("")}var C={};function g(aw,ax){for(var au=ax.length;
--au>=0;){var av=ax[au];if(!C.hasOwnProperty(av)){C[av]=aw}else{if("console" in window){console.warn("cannot override language handler %s",av)
}}}}function y(av,au){if(!(av&&C.hasOwnProperty(av))){av=/^\s*</.test(au)?"default-markup":"default-code"
}return C[av]}g(ah,["default-code"]);g(m,["default-markup","htm","html","mxml","xhtml","xml","xsl"]);
g(n({keywords:q,hashComments:true,cStyleComments:true}),["c","cc","cpp","cxx","cyc","m"]);
g(n({keywords:aq,hashComments:true,cStyleComments:true}),["cs"]);g(n({keywords:I,cStyleComments:true}),["java"]);
g(n({keywords:ac,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);g(n({keywords:ad,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);
g(n({keywords:A,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);
g(n({keywords:l,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);
g(n({keywords:H,cStyleComments:true,regexLiterals:true}),["js"]);function i(aw){var ay=aw.sourceCodeHtml;
var av=aw.langExtension;aw.prettyPrintedHtml=ay;try{var az=D(ay);var au=az.source;
aw.source=au;aw.basePos=0;aw.extractedTags=az.tags;y(av,au)(aw);S(aw)}catch(ax){if("console" in window){console.log(ax);
console.trace()}}}function J(aw,av){var au={sourceCodeHtml:aw,langExtension:av};i(au);
return au.prettyPrintedHtml}function f(aF){var aA=window._pr_isIE6();var aD=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")];
var av=[];for(var aC=0;aC<aD.length;++aC){for(var aB=0,ax=aD[aC].length;aB<ax;++aB){av.push(aD[aC][aB])
}}aD=null;var ay=Date;if(!ay.now){ay={now:function(){return(new Date).getTime()}}
}var az=0;var au;function aw(){var aG=(window.PR_SHOULD_USE_CONTINUATION?ay.now()+250:Infinity);
for(;az<av.length&&ay.now()<aG;az++){var aI=av[az];if(aI.className&&aI.className.indexOf("prettyprint")>=0){var aH=aI.className.match(/\blang-(\w+)\b/);
if(aH){aH=aH[1]}var aL=false;for(var aK=aI.parentNode;aK;aK=aK.parentNode){if((aK.tagName==="pre"||aK.tagName==="code"||aK.tagName==="xmp")&&aK.className&&aK.className.indexOf("prettyprint")>=0){aL=true;
break}}if(!aL){var aJ=b(aI);aJ=aJ.replace(/(?:\r\n?|\n)$/,"");au={sourceCodeHtml:aJ,langExtension:aH,sourceNode:aI};
i(au);aE()}}}if(az<av.length){setTimeout(aw,250)}else{if(aF){aF()}}}function aE(){var aN=au.prettyPrintedHtml;
if(!aN){return}var aJ=au.sourceNode;if(!U(aJ)){aJ.innerHTML=aN}else{var aG=document.createElement("PRE");
for(var aI=0;aI<aJ.attributes.length;++aI){var aO=aJ.attributes[aI];if(aO.specified){var aL=aO.name.toLowerCase();
if(aL==="class"){aG.className=aO.value}else{aG.setAttribute(aO.name,aO.value)}}}aG.innerHTML=aN;
aJ.parentNode.replaceChild(aG,aJ);aJ=aG}if(aA&&aJ.tagName==="PRE"){var aK=aJ.getElementsByTagName("br");
for(var aH=aK.length;--aH>=0;){var aM=aK[aH];aM.parentNode.replaceChild(document.createTextNode("\r"),aM)
}}}aw()}window.PR_normalizedHtml=ao;window.prettyPrintOne=J;window.prettyPrint=f;
window.PR={createSimpleLexer:k,registerLangHandler:g,sourceDecorator:n,PR_ATTRIB_NAME:ap,PR_ATTRIB_VALUE:t,PR_COMMENT:p,PR_DECLARATION:X,PR_KEYWORD:N,PR_LITERAL:aa,PR_NOCODE:al,PR_PLAIN:Y,PR_PUNCTUATION:aj,PR_SOURCE:af,PR_STRING:R,PR_TAG:r,PR_TYPE:am}
})();