cR){if(c1.hidden){var c2=cW.innerHTML=""}else{var c2=""+c1.getHTML(bj)+"
";if(c1.className){c2='"}}cW.innerHTML=c2;ah.insertBefore(cW.firstChild,cQ)}else{cQ=cQ.nextSibling}++cR})}function aC(){if(!bN.gutter&&!bN.lineNumbers){return}var cN=b2.offsetHeight,cU=ba.clientHeight;ay.style.height=(cN-cU<2?cU:cN)+"px";var cP=[],cO=cD;ck.iter(cD,Math.max(bz,cD+1),function(cW){if(cW.hidden){cP.push("")}else{var cV=cW.gutterMarker;var cY=bN.lineNumbers?cO+bN.firstLineNumber:null;if(cV&&cV.text){cY=cV.text.replace("%N%",cY!=null?cY:"")}else{if(cY==null){cY="\u00a0"}}cP.push((cV&&cV.style?'':""),cY);for(var cX=1;cX ")}cP.push("
")}++cO});ay.style.display="none";aQ.innerHTML=cP.join("");var cT=String(ck.size).length,cR=aQ.firstChild,cS=B(cR),cQ="";while(cS.length+cQ.length'}if(cK.from.ch&&cZ.y>=0){var cW=cX?bk.clientWidth-cV.x:0;cY(cZ.x,cZ.y,cW,cO)}var cR=Math.max(0,cZ.y+(cK.from.ch?cO:0));var cU=Math.min(cV.y,bk.clientHeight)-cR;if(cU>0.2*cO){cY(0,cR,0,cU)}if((!cX||!cK.from.ch)&&cV.ycP||cV>cS.text.length){cV=cS.text.length}return{line:cW,ch:cV}}cW+=cU}}var cN=cr(cR.line);if(!cN.hidden){return cR}if(cR.line>=cO){return cQ(1)||cQ(-1)}else{return cQ(-1)||cQ(1)}}function aY(cN,cP,cO){var cQ=aK({line:cN,ch:cP||0});(cO?bn:bm)(cQ,cQ)}function bL(cN){return Math.max(0,Math.min(cN,ck.size-1))}function aK(cP){if(cP.line<0){return{line:0,ch:0}}if(cP.line>=ck.size){return{line:ck.size-1,ch:cr(ck.size-1).text.length}}var cN=cP.ch,cO=cr(cP.line).text.length;if(cN==null||cN>cO){return{line:cP.line,ch:cO}}else{if(cN<0){return{line:cP.line,ch:0}}else{return cP}}}function ca(cQ,cU){var cR=cK.inverted?cK.from:cK.to,cV=cR.line,cN=cR.ch;var cT=cr(cV);function cO(){for(var cW=cV+cQ,cY=cQ<0?-1:ck.size;cW!=cY;cW+=cQ){var cX=cr(cW);if(!cX.hidden){cV=cW;cT=cX;return true}}}function cS(cW){if(cN==(cQ<0?0:cT.text.length)){if(!cW&&cO()){cN=cQ<0?cT.text.length:0}else{return false}}else{cN+=cQ}return true}if(cU=="char"){cS()}else{if(cU=="column"){cS(true)}else{if(cU=="word"){var cP=false;for(;;){if(cQ<0){if(!cS()){break}}if(Y(cT.text.charAt(cN))){cP=true}else{if(cP){if(cQ<0){cQ=1;cS()}break}}if(cQ>0){if(!cS()){break}}}}}}return{line:cV,ch:cN}}function cq(cN,cO){var cP=cN<0?cK.from:cK.to;if(b4||W(cK.from,cK.to)){cP=ca(cN,cO)}aY(cP.line,cP.ch,true)}function b8(cN,cO){if(!W(cK.from,cK.to)){bD("",cK.from,cK.to)}else{if(cN<0){bD("",ca(cN,cO),cK.to)}else{bD("",cK.from,ca(cN,cO))}}bS=true}var ch=null;function cj(cN,cO){var cQ=0,cR=cE(cK.inverted?cK.from:cK.to,true);if(ch!=null){cR.x=ch}if(cO=="page"){cQ=Math.min(ba.clientHeight,window.innerHeight||document.documentElement.clientHeight)}else{if(cO=="line"){cQ=bC()}}var cP=bv(cR.x,cR.y+cQ*cN+2);aY(cP.line,cP.ch,true);ch=cR.x}function bw(cQ){var cO=cr(cQ.line).text;var cP=cQ.ch,cN=cQ.ch;while(cP>0&&Y(cO.charAt(cP-1))){--cP}while(cNbr.length){br=cQ.text}})}ar.push({from:0,to:ck.size})}function aN(){for(var cO='',cN=0;cN"}function cI(){bj=aN();bZ(true)}function cp(){ba.className=ba.className.replace(/\s*cm-s-\w+/g,"")+bN.theme.replace(/(^|\s)\s*/g," cm-s-")}function cL(){this.set=[]}cL.prototype.clear=ai(function(){var cS=Infinity,cO=-Infinity;for(var cR=0,cU=this.set.length;cRx
";al.firstChild.firstChild.firstChild.nodeValue=cN;return al.firstChild.firstChild.offsetWidth||10}function ax(cZ,cT){if(cT<=0){return 0}var cQ=cr(cZ),cW=cQ.text;function cX(c0){al.innerHTML=""+cQ.getHTML(bj,c0)+"
";return al.firstChild.firstChild.offsetWidth}var cU=0,cS=0,cV=cW.length,cR;var cO=Math.min(cV,Math.ceil(cT/a8()));for(;;){var cP=cX(cO);if(cP<=cT&&cOcR){return cV}cO=Math.floor(cV*0.8);cP=cX(cO);if(cPcT-cS)?cU:cV}var cY=Math.ceil((cU+cV)/2),cN=cX(cY);if(cN>cT){cV=cY;cR=cN}else{cU=cY;cS=cN}}}var cl=Math.floor(Math.random()*16777215).toString(16);function bR(cP,cS){if(cS==0){return{top:0,left:0}}var cN="";if(bN.lineWrapping){var cO=cP.text.indexOf(" ",cS+2);cN=J(cP.text.slice(cS+1,cO<0?cP.text.length:cO+(C?5:0)))}al.innerHTML=""+cP.getHTML(bj,cS)+''+J(cP.text.charAt(cS)||" ")+""+cN+"
";var cR=document.getElementById("CodeMirror-temp-"+cl);var cU=cR.offsetTop,cT=cR.offsetLeft;if(C&&cU==0&&cT==0){var cQ=document.createElement("span");cQ.innerHTML="x";cR.parentNode.insertBefore(cQ,cR.nextSibling);cU=cQ.offsetTop}return{top:cU,left:cT}}function cE(cS,cQ){var cN,cO=bC(),cR=cO*(f(ck,cS.line)-(cQ?a4:0));if(cS.ch==0){cN=0}else{var cP=bR(cr(cS.line),cS.ch);cN=cP.left;if(bN.lineWrapping){cR+=Math.max(0,cP.top)}}return{x:cN,y:cR,yBot:cR+cO}}function bv(cW,cV){if(cV<0){cV=0}var cT=bC(),cR=a8(),c2=a4+Math.floor(cV/cT);var cX=R(ck,c2);if(cX>=ck.size){return{line:ck.size-1,ch:cr(ck.size-1).text.length}}var cO=cr(cX),cZ=cO.text;var c4=bN.lineWrapping,cU=c4?c2-f(ck,cX):0;if(cW<=0&&cU==0){return{line:cX,ch:0}}function c3(c6){var c7=bR(cO,c6);if(c4){var c8=Math.round(c7.top/cT);return Math.max(0,c7.left+(c8-cU)*ba.clientWidth)}return c7.left}var c1=0,c0=0,cP=cZ.length,cN;var cY=Math.min(cP,Math.ceil((cW+cU*ba.clientWidth*0.9)/cR));for(;;){var cS=c3(cY);if(cS<=cW&&cYcN){return{line:cX,ch:cP}}cY=Math.floor(cP*0.8);cS=c3(cY);if(cScW-c0)?c1:cP}}var c5=Math.ceil((c1+cP)/2),cQ=c3(c5);if(cQ>cW){cP=c5;cN=cQ}else{c1=c5;c0=cQ}}}function ag(cP){var cN=cE(cP,true),cO=ac(bk);return{x:cO.left+cN.x,y:cO.top+cN.y,yBot:cO.top+cN.yBot}}var aS,an,bH;function bC(){if(bH==null){bH="";for(var cO=0;cO<49;++cO){bH+="x
"}bH+="x"}var cN=ah.clientHeight;if(cN==an){return aS}an=cN;al.innerHTML=bH;aS=al.firstChild.offsetHeight/50||1;al.innerHTML="";return aS}var cF,bl=0;function a8(){if(ba.clientWidth==bl){return cF}bl=ba.clientWidth;return(cF=cf("x"))}function ce(){return bk.offsetTop}function aX(){return bk.offsetLeft}function aU(cR,cQ){var cP=ac(ba,true),cN,cS;try{cN=cR.clientX;cS=cR.clientY}catch(cR){return null}if(!cQ&&(cN-cP.left>ba.clientWidth||cS-cP.top>ba.clientHeight)){return null}var cO=ac(bk,true);return bv(cN-cO.left,cS-cO.top)}function aT(cO){var cS=aU(cO);if(!cS||window.opera){return}if(W(cK.from,cK.to)||T(cS,cK.from)||!T(cS,cK.to)){ai(aY)(cS.line,cS.ch)}var cR=bc.style.cssText;bK.style.position="absolute";bc.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(cO.clientY-5)+"px; left: "+(cO.clientX-5)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";a6=true;var cQ=bc.value=bP();bp();bc.select();function cN(){var cT=w(bc.value).join("\n");if(cT!=cQ){ai(bh)(cT,"end")}bK.style.position="relative";bc.style.cssText=cR;a6=false;co(true);ae()}if(H){s(cO);var cP=n(window,"mouseup",function(){cP();setTimeout(cN,20)},true)}else{setTimeout(cN,50)}}function cz(){clearInterval(cC);var cN=true;a3.style.visibility="";cC=setInterval(function(){a3.style.visibility=(cN=!cN)?"":"hidden"},650)}var be={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function b0(cT){var cN=cK.inverted?cK.from:cK.to,cV=cr(cN.line),cO=cN.ch-1;var cS=(cO>=0&&be[cV.text.charAt(cO)])||be[cV.text.charAt(++cO)];if(!cS){return}var cW=cS.charAt(0),cU=cS.charAt(1)==">",c6=cU?1:-1,c1=cV.styles;for(var c7=cO+1,c3=0,c5=c1.length;c3=de&&dd"==cU){cQ.push(dg)}else{if(cQ.pop()!=db.charAt(0)){return{pos:dd,match:false}}else{if(!cQ.length){return{pos:dd,match:true}}}}}}}}for(var c3=cN.line,c5=cU?Math.min(c3+100,ck.size):Math.max(-1,c3-100);c3!=c5;c3+=c6){var cV=cr(c3),cR=c3==cN.line;var cX=cY(cV,cR&&cU?cO+1:0,cR&&!cU?cO:cV.text.length);if(cX){break}}if(!cX){cX={pos:null,match:false}}var c4=cX.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";var c2=bs({line:cN.line,ch:cO},{line:cN.line,ch:cO+1},c4),cP=cX.pos!=null&&bs({line:c3,ch:cX.pos},{line:c3,ch:cX.pos+1},c4);var cZ=ai(function(){c2.clear();cP&&cP.clear()});if(cT){setTimeout(cZ,800)}else{bQ=cZ}}function aZ(cT){var cS,cP;for(var cO=cT,cQ=cT-40;cO>cQ;--cO){if(cO==0){return 0}var cN=cr(cO-1);if(cN.stateAfter){return cO}var cR=cN.indentation(bN.tabSize);if(cP==null||cS>cR){cP=cO-1;cS=cR}}return cP}function cg(cP){var cO=aZ(cP),cN=cO&&cr(cO-1).stateAfter;if(!cN){cN=P(bX)}else{cN=l(bX,cN)}ck.iter(cO,cP,function(cQ){cQ.highlight(bX,cN,bN.tabSize);cQ.stateAfter=l(bX,cN)});if(cO=ck.size){continue}var cO=aZ(cQ),cN=cO&&cr(cO-1).stateAfter;if(cN){cN=l(bX,cN)}else{cN=P(bX)}var cS=0,cP=bX.compareStates,cV=false,cU=cO,cR=false;ck.iter(cU,ck.size,function(cX){var cY=cX.stateAfter;if(+new Date>cT){b3.push(cU);bu(bN.workDelay);if(cV){ar.push({from:cQ,to:cU+1})}return(cR=true)}var cZ=cX.highlight(bX,cN,bN.tabSize);if(cZ){cV=true}cX.stateAfter=l(bX,cN);if(cP){if(cY&&cP(cY,cN)){return true}}else{if(cZ!==false||!cY){cS=0}else{if(++cS>3&&(!bX.indent||bX.indent(cY,"")==bX.indent(cN,""))){return true}}}++cU});if(cR){return}if(cV){ar.push({from:cQ,to:cU+1})}}if(cW&&bN.onHighlightComplete){bN.onHighlightComplete(bV)}}function bu(cN){if(!b3.length){return}am.set(cN,ai(bF))}function aE(){cb=bS=cA=null;ar=[];aG=false;cm=[]}function ao(){var cR=false,cO;if(aG){cR=!b1()}if(ar.length){cO=bZ(ar,true)}else{if(aG){cJ()}if(aJ){aC()}}if(cR){b1()}if(aG){cM();cz()}if(b5&&!a6&&(cb===true||(cb!==false&&aG))){co(bS)}if(aG&&bN.matchBrackets){setTimeout(ai(function(){if(bQ){bQ();bQ=null}if(W(cK.from,cK.to)){b0(false)}}),20)}var cN=cA,cP=cm;if(aG&&bN.onCursorActivity){bN.onCursorActivity(bV)}if(cN&&bN.onChange&&bV){bN.onChange(bV,cN)}for(var cQ=0;cQ0&&ag.ch=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.posaf},eatSpace:function(){var ae=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>ae},skipToEnd:function(){this.pos=this.string.length},skipTo:function(ae){var af=this.string.indexOf(ae,this.pos);if(af>-1){this.pos=af;return true}},backUp:function(ae){this.pos-=ae},column:function(){return k(this.string,this.start,this.tabSize)},indentation:function(){return k(this.string,null,this.tabSize)},match:function(ah,af,ae){if(typeof ah=="string"){function ai(aj){return ae?aj.toLowerCase():aj}if(ai(this.string).indexOf(ai(ah),this.pos)==this.pos){if(af!==false){this.pos+=ah.length}return true}}else{var ag=this.string.slice(this.pos).match(ah);if(ag&&af!==false){this.pos+=ag[0].length}return ag}},current:function(){return this.string.slice(this.start,this.pos)}};q.StringStream=b;function E(ah,ag,ae,af){this.from=ah;this.to=ag;this.style=ae;this.set=af}E.prototype={attach:function(ae){this.set.push(ae)},detach:function(af){var ae=m(this.set,af);if(ae>-1){this.set.splice(ae,1)}},split:function(ah,ae){if(this.to<=ah&&this.to!=null){return null}var ag=this.from=ai){this.from=Math.max(ah,this.from)+ag}if(this.to!=null&&this.to>ai){this.to=ahthis.from&&(ahthis.from||this.from==null)){this.to=null}},isDead:function(){return this.from!=null&&this.to!=null&&this.from>=this.to},sameSet:function(ae){return this.set==ae.set}};function A(ae){this.from=ae;this.to=ae;this.line=null}A.prototype={attach:function(ae){this.line=ae},detach:function(ae){if(this.line==ae){this.line=null}},split:function(af,ae){if(afthis.to},clipTo:function(af,ai,ae,ah,ag){if((af||aithis.to)){this.from=0;this.to=-1}else{if(this.from>ai){this.from=this.to=Math.max(ah,this.from)+ag}}},sameSet:function(ae){return false},find:function(){if(!this.line||!this.line.parent){return null}return{line:S(this.line),ch:this.from}},clear:function(){if(this.line){var ae=m(this.line.marked,this);if(ae!=-1){this.line.marked.splice(ae,1)}this.line=null}}};function d(af,ae){this.styles=ae||[af,null];this.text=af;this.height=1;this.marked=this.gutterMarker=this.className=this.handlers=null;this.stateAfter=this.parent=this.hidden=null}d.inheritMarks=function(ai,al){var ah=new d(ai),ae=al&&al.marked;if(ae){for(var ag=0;ag5000){ao[al++]=this.text.slice(an.pos);ao[al++]=null;break}}if(ao.length!=al){ao.length=al;ai=true}if(al&&ao[al-2]!=am){ai=true}return ai||(ao.length<5&&this.text.length<10?null:false)},getTokenAt:function(aj,ah,ag){var ae=this.text,ai=new b(ae);while(ai.pos',J(aH).replace(/\t/g,ao),"")}else{ak.push(J(aH).replace(/\t/g,ao))}}var ar=this.styles,aj=this.text,ap=this.marked;var aB=aj.length;if(au!=null){aB=Math.min(au,aB)}function ag(aG){if(!aG){return null}return"cm-"+aG.replace(/ +/g," cm-")}if(!aj&&au==null){ay(" ")}else{if(!ap||!ap.length){for(var az=0,al=0;alaB){at=at.slice(0,aB-al)}al+=av;ay(at,ag(aC))}}else{var ah=0,az=0,an="",aC,aF=0;var aE=ap[0].from||0,ax=[],aD=0;function aA(){var aG;while(aDam?an.slice(0,am-ah):an,ae);if(af>=am){an=an.slice(am-ah);ah=am;break}ah=af}an=ar[az++];aC=ag(ar[az++])}}}}return ak.join("")},cleanUp:function(){this.parent=null;if(this.marked){for(var ae=0,af=this.marked.length;aeak){am.push(ag.slice(ak-aj,Math.min(ag.length,al-aj)),ae[ai+1])}if(ah>=ak){af=1}}else{if(af==1){if(ah>al){am.push(ag.slice(0,al-aj),ae[ai+1])}else{am.push(ag,ae[ai+1])}}}aj=ah}}function Z(af){this.lines=af;this.parent=null;for(var ag=0,ah=af.length,ae=0;ag50){while(ae.lines.length>50){var ah=ae.lines.splice(ae.lines.length-25,25);var ak=new Z(ah);ae.height-=ak.height;this.children.splice(ag+1,0,ak);ak.parent=this}this.maybeSpill()}break}af-=aj}},maybeSpill:function(){if(this.children.length<=10){return}var ah=this;do{var af=ah.children.splice(ah.children.length-5,5);var ag=new g(af);if(!ah.parent){var ai=new g(ah.children);ai.parent=ah;ah.children=[ai,ag];ah=ai}else{ah.size-=ag.size;ah.height-=ag.height;var ae=m(ah.parent.children,ah);ah.parent.children.splice(ae+1,0,ag)}ag.parent=ah.parent}while(ah.children.length>10);ah.parent.maybeSpill()},iter:function(ag,af,ae){this.iterN(ag,af-ag,ae)},iterN:function(ae,al,ak){for(var af=0,ai=this.children.length;af400||!an){this.done.push([{start:ae,added:ak,old:af}])}else{if(an.start>ae+ak||an.start+an.added=0;--ah){an.old.unshift(af[ah])}an.added+=an.start-ae;an.start=ae}else{if(an.start-1){c="\r\n"}}());function k(af,ae,ah){if(ae==null){ae=af.search(/[^\s\u00a0]/);if(ae==-1){ae=af.length}}for(var ag=0,ai=0;ag=0&&ae>=0;--af,--ae){if(ah.charAt(af)!=ag.charAt(ae)){break}}return ae+1}function m(ah,ae){if(ah.indexOf){return ah.indexOf(ae)}for(var af=0,ag=ah.length;af-1){ae.push(ag.slice(ah,ag.charAt(af-1)=="\r"?af-1:af));ah=af+1}ae.push(ag.slice(ah));return ae}:function(ae){return ae.split(/\r?\n/)};q.splitLines=w;var X=window.getSelection?function(af){try{return af.selectionStart!=af.selectionEnd}catch(ae){return false}}:function(ag){try{var ae=ag.ownerDocument.selection.createRange()}catch(af){}if(!ae||ae.parentElement()!=ag){return false}return ae.compareEndPoints("StartToEnd",ae)!=0};q.defineMode("null",function(){return{token:function(ae){ae.skipToEnd()}}});q.defineMIME("text/plain","null");var L={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};q.keyNames=L;(function(){for(var ae=0;ae<10;ae++){L[ae+48]=String(ae)}for(var ae=65;ae<=90;ae++){L[ae]=String.fromCharCode(ae)}for(var ae=1;ae<=12;ae++){L[ae+111]=L[ae+63235]="F"+ae}})();return q})();