(function(a){if(typeof exports=="object"&&typeof module=="object"){module.exports=a()}else{if(typeof define=="function"&&define.amd){return define([],a)}else{this.CodeMirror=a()}}})(function(){var cp=/gecko\/\d/i.test(navigator.userAgent);var eL=/MSIE \d/.test(navigator.userAgent);var bK=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);var dL=eL||bK;var k=dL&&(eL?document.documentMode||6:bK[1]);var c1=/WebKit\//.test(navigator.userAgent);var dO=c1&&/Qt\/\d+\.\d+/.test(navigator.userAgent);var dd=/Chrome\//.test(navigator.userAgent);var d4=/Opera\//.test(navigator.userAgent);var aC=/Apple Computer/.test(navigator.vendor);var c8=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent);var fv=/PhantomJS/.test(navigator.userAgent);var e2=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent);var eh=e2||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent);var b8=e2||/Mac/.test(navigator.platform);var aP=/win/i.test(navigator.platform);var aZ=d4&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);if(aZ){aZ=Number(aZ[1])}if(aZ&&aZ>=15){d4=false;c1=true}var bR=b8&&(dO||d4&&(aZ==null||aZ<12.11));var ga=cp||(dL&&k>=9);var gd=false,a8=false;function H(gj,gl){if(!(this instanceof H)){return new H(gj,gl)}this.options=gl=gl?aN(gl):{};aN(e4,gl,false);cf(gl);var gp=gl.value;if(typeof gp=="string"){gp=new at(gp,gl.mode)}this.doc=gp;var gk=new H.inputStyles[gl.inputStyle](this);var go=this.display=new eJ(gj,gp,gk);go.wrapper.CodeMirror=this;ed(this);cP(this);if(gl.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(gl.autofocus&&!eh){go.input.focus()}aD(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,delayingBlurEvent:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,draggingText:false,highlight:new gh(),keySeq:null,specialChars:null};var gi=this;if(dL&&k<11){setTimeout(function(){gi.display.input.reset(true)},20)}fR(this);bk();cJ(this);this.curOp.forceUpdate=true;ec(this,gp);if((gl.autofocus&&!eh)||gi.hasFocus()){setTimeout(cw(cC,this),20)}else{aV(this)}for(var gn in bg){if(bg.hasOwnProperty(gn)){bg[gn](this,gl[gn],cd)}}d6(this);if(gl.finishInit){gl.finishInit(this)}for(var gm=0;gm<a9.length;++gm){a9[gm](this)}am(this);if(c1&&gl.lineWrapping&&getComputedStyle(go.lineDiv).textRendering=="optimizelegibility"){go.lineDiv.style.textRendering="auto"}}function eJ(gi,gk,gj){var gl=this;this.input=gj;gl.scrollbarFiller=f3("div",null,"CodeMirror-scrollbar-filler");gl.scrollbarFiller.setAttribute("cm-not-content","true");gl.gutterFiller=f3("div",null,"CodeMirror-gutter-filler");gl.gutterFiller.setAttribute("cm-not-content","true");gl.lineDiv=f3("div",null,"CodeMirror-code");gl.selectionDiv=f3("div",null,null,"position: relative; z-index: 1");gl.cursorDiv=f3("div",null,"CodeMirror-cursors");gl.measure=f3("div",null,"CodeMirror-measure");gl.lineMeasure=f3("div",null,"CodeMirror-measure");gl.lineSpace=f3("div",[gl.measure,gl.lineMeasure,gl.selectionDiv,gl.cursorDiv,gl.lineDiv],null,"position: relative; outline: none");gl.mover=f3("div",[f3("div",[gl.lineSpace],"CodeMirror-lines")],null,"position: relative");gl.sizer=f3("div",[gl.mover],"CodeMirror-sizer");gl.sizerWidth=null;gl.heightForcer=f3("div",null,null,"position: absolute; height: "+dK+"px; width: 1px;");gl.gutters=f3("div",null,"CodeMirror-gutters");gl.lineGutter=null;gl.scroller=f3("div",[gl.sizer,gl.heightForcer,gl.gutters],"CodeMirror-scroll");gl.scroller.setAttribute("tabIndex","-1");gl.wrapper=f3("div",[gl.scrollbarFiller,gl.gutterFiller,gl.scroller],"CodeMirror");if(dL&&k<8){gl.gutters.style.zIndex=-1;gl.scroller.style.paddingRight=0}if(!c1&&!(cp&&eh)){gl.scroller.draggable=true}if(gi){if(gi.appendChild){gi.appendChild(gl.wrapper)}else{gi(gl.wrapper)}}gl.viewFrom=gl.viewTo=gk.first;gl.reportedViewFrom=gl.reportedViewTo=gk.first;gl.view=[];gl.renderedView=null;gl.externalMeasured=null;gl.viewOffset=0;gl.lastWrapHeight=gl.lastWrapWidth=0;gl.updateLineNumbers=null;gl.nativeBarWidth=gl.barHeight=gl.barWidth=0;gl.scrollbarsClipped=false;gl.lineNumWidth=gl.lineNumInnerWidth=gl.lineNumChars=null;gl.alignWidgets=false;gl.cachedCharWidth=gl.cachedTextHeight=gl.cachedPaddingH=null;gl.maxLine=null;gl.maxLineLength=0;gl.maxLineChanged=false;gl.wheelDX=gl.wheelDY=gl.wheelStartX=gl.wheelStartY=null;gl.shift=false;gl.selForContextMenu=null;gl.activeTouch=null;gj.init(gl)}function bs(gi){gi.doc.mode=H.getMode(gi.options,gi.doc.modeOption);em(gi)}function em(gi){gi.doc.iter(function(gj){if(gj.stateAfter){gj.stateAfter=null}if(gj.styles){gj.styles=null}});gi.doc.frontier=gi.doc.first;eg(gi,100);gi.state.modeGen++;if(gi.curOp){ah(gi)}}function eH(gi){if(gi.options.lineWrapping){fB(gi.display.wrapper,"CodeMirror-wrap");gi.display.sizer.style.minWidth="";gi.display.sizerWidth=null}else{f(gi.display.wrapper,"CodeMirror-wrap");h(gi)}X(gi);ah(gi);ak(gi);setTimeout(function(){eZ(gi)},100)}function bf(gi){var gk=aY(gi.display),gj=gi.options.lineWrapping;var gl=gj&&Math.max(5,gi.display.scroller.clientWidth/dE(gi.display)-3);return function(gn){if(fx(gi.doc,gn)){return 0}var gm=0;if(gn.widgets){for(var go=0;go<gn.widgets.length;go++){if(gn.widgets[go].height){gm+=gn.widgets[go].height}}}if(gj){return gm+(Math.ceil(gn.text.length/gl)||1)*gk}else{return gm+gk}}}function X(gi){var gk=gi.doc,gj=bf(gi);gk.iter(function(gl){var gm=gj(gl);if(gm!=gl.height){f6(gl,gm)}})}function cP(gi){gi.display.wrapper.className=gi.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+gi.options.theme.replace(/(^|\s)\s*/g," cm-s-");ak(gi)}function dx(gi){ed(gi);ah(gi);setTimeout(function(){eF(gi)},20)}function ed(gi){var gj=gi.display.gutters,gn=gi.options.gutters;d2(gj);for(var gk=0;gk<gn.length;++gk){var gl=gn[gk];var gm=gj.appendChild(f3("div",null,"CodeMirror-gutter "+gl));if(gl=="CodeMirror-linenumbers"){gi.display.lineGutter=gm;gm.style.width=(gi.display.lineNumWidth||1)+"px"}}gj.style.display=gk?"":"none";c5(gi)}function c5(gi){var gj=gi.display.gutters.offsetWidth;gi.display.sizer.style.marginLeft=gj+"px"}function eo(gk){if(gk.height==0){return 0}var gj=gk.text.length,gi,gm=gk;while(gi=eP(gm)){var gl=gi.find(0,true);gm=gl.from.line;gj+=gl.from.ch-gl.to.ch}gm=gk;while(gi=ex(gm)){var gl=gi.find(0,true);gj-=gm.text.length-gl.from.ch;gm=gl.to.line;gj+=gm.text.length-gl.to.ch}return gj}function h(gi){var gk=gi.display,gj=gi.doc;gk.maxLine=fg(gj,gj.first);gk.maxLineLength=eo(gk.maxLine);gk.maxLineChanged=true;gj.iter(function(gm){var gl=eo(gm);if(gl>gk.maxLineLength){gk.maxLineLength=gl;gk.maxLine=gm}})}function cf(gi){var gj=di(gi.gutters,"CodeMirror-linenumbers");if(gj==-1&&gi.lineNumbers){gi.gutters=gi.gutters.concat(["CodeMirror-linenumbers"])}else{if(gj>-1&&!gi.lineNumbers){gi.gutters=gi.gutters.slice(0);gi.gutters.splice(gj,1)}}}function dB(gi){var gl=gi.display,gk=gl.gutters.offsetWidth;var gj=Math.round(gi.doc.height+bJ(gi.display));return{clientHeight:gl.scroller.clientHeight,viewHeight:gl.wrapper.clientHeight,scrollWidth:gl.scroller.scrollWidth,clientWidth:gl.scroller.clientWidth,viewWidth:gl.wrapper.clientWidth,barLeft:gi.options.fixedGutter?gk:0,docHeight:gj,scrollHeight:gj+cU(gi)+gl.barHeight,nativeBarWidth:gl.nativeBarWidth,gutterWidth:gk}}function dl(gk,gj,gi){this.cm=gi;var gl=this.vert=f3("div",[f3("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar");var gm=this.horiz=f3("div",[f3("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");gk(gl);gk(gm);bY(gl,"scroll",function(){if(gl.clientHeight){gj(gl.scrollTop,"vertical")}});bY(gm,"scroll",function(){if(gm.clientWidth){gj(gm.scrollLeft,"horizontal")}});this.checkedOverlay=false;if(dL&&k<8){this.horiz.style.minHeight=this.vert.style.minWidth="18px"}}dl.prototype=aN({update:function(gl){var gm=gl.scrollWidth>gl.clientWidth+1;var gk=gl.scrollHeight>gl.clientHeight+1;var gn=gl.nativeBarWidth;if(gk){this.vert.style.display="block";this.vert.style.bottom=gm?gn+"px":"0";var gj=gl.viewHeight-(gm?gn:0);this.vert.firstChild.style.height=Math.max(0,gl.scrollHeight-gl.clientHeight+gj)+"px"}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(gm){this.horiz.style.display="block";this.horiz.style.right=gk?gn+"px":"0";this.horiz.style.left=gl.barLeft+"px";var gi=gl.viewWidth-gl.barLeft-(gk?gn:0);this.horiz.firstChild.style.width=(gl.scrollWidth-gl.clientWidth+gi)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedOverlay&&gl.clientHeight>0){if(gn==0){this.overlayHack()}this.checkedOverlay=true}return{right:gk?gn:0,bottom:gm?gn:0}},setScrollLeft:function(gi){if(this.horiz.scrollLeft!=gi){this.horiz.scrollLeft=gi}},setScrollTop:function(gi){if(this.vert.scrollTop!=gi){this.vert.scrollTop=gi}},overlayHack:function(){var gi=b8&&!c8?"12px":"18px";this.horiz.style.minHeight=this.vert.style.minWidth=gi;var gj=this;var gk=function(gl){if(L(gl)!=gj.vert&&L(gl)!=gj.horiz){c3(gj.cm,ev)(gl)}};bY(this.vert,"mousedown",gk);bY(this.horiz,"mousedown",gk)},clear:function(){var gi=this.horiz.parentNode;gi.removeChild(this.horiz);gi.removeChild(this.vert)}},dl.prototype);function e5(){}e5.prototype=aN({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},e5.prototype);H.scrollbarModel={"native":dl,"null":e5};function aD(gi){if(gi.display.scrollbars){gi.display.scrollbars.clear();if(gi.display.scrollbars.addClass){f(gi.display.wrapper,gi.display.scrollbars.addClass)}}gi.display.scrollbars=new H.scrollbarModel[gi.options.scrollbarStyle](function(gj){gi.display.wrapper.insertBefore(gj,gi.display.scrollbarFiller);bY(gj,"mousedown",function(){if(gi.state.focused){setTimeout(function(){gi.display.input.focus()},0)}});gj.setAttribute("cm-not-content","true")},function(gk,gj){if(gj=="horizontal"){bF(gi,gk)}else{N(gi,gk)}},gi);if(gi.display.scrollbars.addClass){fB(gi.display.wrapper,gi.display.scrollbars.addClass)}}function eZ(gk,gm){if(!gm){gm=dB(gk)}var gj=gk.display.barWidth,gi=gk.display.barHeight;aU(gk,gm);for(var gl=0;gl<4&&gj!=gk.display.barWidth||gi!=gk.display.barHeight;gl++){if(gj!=gk.display.barWidth&&gk.options.lineWrapping){ba(gk)}aU(gk,dB(gk));gj=gk.display.barWidth;gi=gk.display.barHeight}}function aU(gi,gj){var gl=gi.display;var gk=gl.scrollbars.update(gj);gl.sizer.style.paddingRight=(gl.barWidth=gk.right)+"px";gl.sizer.style.paddingBottom=(gl.barHeight=gk.bottom)+"px";if(gk.right&&gk.bottom){gl.scrollbarFiller.style.display="block";gl.scrollbarFiller.style.height=gk.bottom+"px";gl.scrollbarFiller.style.width=gk.right+"px"}else{gl.scrollbarFiller.style.display=""}if(gk.bottom&&gi.options.coverGutterNextToScrollbar&&gi.options.fixedGutter){gl.gutterFiller.style.display="block";gl.gutterFiller.style.height=gk.bottom+"px";gl.gutterFiller.style.width=gj.gutterWidth+"px"}else{gl.gutterFiller.style.display=""}}function b7(gl,gp,gk){var gm=gk&&gk.top!=null?Math.max(0,gk.top):gl.scroller.scrollTop;gm=Math.floor(gm-e9(gl));var gi=gk&&gk.bottom!=null?gk.bottom:gm+gl.wrapper.clientHeight;var gn=bH(gp,gm),go=bH(gp,gi);if(gk&&gk.ensure){var gj=gk.ensure.from.line,gq=gk.ensure.to.line;if(gj<gn){gn=gj;go=bH(gp,bN(fg(gp,gj))+gl.wrapper.clientHeight)}else{if(Math.min(gq,gp.lastLine())>=go){gn=bH(gp,bN(fg(gp,gq))-gl.wrapper.clientHeight);go=gq}}}return{from:gn,to:Math.max(go,gn+1)}}function eF(gq){var go=gq.display,gp=go.view;if(!go.alignWidgets&&(!go.gutters.firstChild||!gq.options.fixedGutter)){return}var gm=dY(go)-go.scroller.scrollLeft+gq.doc.scrollLeft;var gi=go.gutters.offsetWidth,gj=gm+"px";for(var gl=0;gl<gp.length;gl++){if(!gp[gl].hidden){if(gq.options.fixedGutter&&gp[gl].gutter){gp[gl].gutter.style.left=gj}var gn=gp[gl].alignable;if(gn){for(var gk=0;gk<gn.length;gk++){gn[gk].style.left=gj}}}}if(gq.options.fixedGutter){go.gutters.style.left=(gm+gi)+"px"}}function d6(gi){if(!gi.options.lineNumbers){return false}var gn=gi.doc,gj=et(gi.options,gn.first+gn.size-1),gm=gi.display;if(gj.length!=gm.lineNumChars){var go=gm.measure.appendChild(f3("div",[f3("div",gj)],"CodeMirror-linenumber CodeMirror-gutter-elt"));var gk=go.firstChild.offsetWidth,gl=go.offsetWidth-gk;gm.lineGutter.style.width="";gm.lineNumInnerWidth=Math.max(gk,gm.lineGutter.offsetWidth-gl)+1;gm.lineNumWidth=gm.lineNumInnerWidth+gl;gm.lineNumChars=gm.lineNumInnerWidth?gj.length:-1;gm.lineGutter.style.width=gm.lineNumWidth+"px";c5(gi);return true}return false}function et(gi,gj){return String(gi.lineNumberFormatter(gj+gi.firstLineNumber))}function dY(gi){return gi.scroller.getBoundingClientRect().left-gi.sizer.getBoundingClientRect().left}function aI(gj,gi,gk){var gl=gj.display;this.viewport=gi;this.visible=b7(gl,gj.doc,gi);this.editorIsHidden=!gl.wrapper.offsetWidth;this.wrapperHeight=gl.wrapper.clientHeight;this.wrapperWidth=gl.wrapper.clientWidth;this.oldDisplayWidth=dm(gj);this.force=gk;this.dims=fe(gj);this.events=[]}aI.prototype.signal=function(gj,gi){if(fj(gj,gi)){this.events.push(arguments)}};aI.prototype.finish=function(){for(var gi=0;gi<this.events.length;gi++){aE.apply(null,this.events[gi])}};function J(gi){var gj=gi.display;if(!gj.scrollbarsClipped&&gj.scroller.offsetWidth){gj.nativeBarWidth=gj.scroller.offsetWidth-gj.scroller.clientWidth;gj.heightForcer.style.height=cU(gi)+"px";gj.sizer.style.marginBottom=-gj.nativeBarWidth+"px";gj.sizer.style.borderRightWidth=cU(gi)+"px";gj.scrollbarsClipped=true}}function B(gr,gl){var gm=gr.display,gq=gr.doc;if(gl.editorIsHidden){ey(gr);return false}if(!gl.force&&gl.visible.from>=gm.viewFrom&&gl.visible.to<=gm.viewTo&&(gm.updateLineNumbers==null||gm.updateLineNumbers>=gm.viewTo)&&gm.renderedView==gm.view&&dc(gr)==0){return false}if(d6(gr)){ey(gr);gl.dims=fe(gr)}var gk=gq.first+gq.size;var go=Math.max(gl.visible.from-gr.options.viewportMargin,gq.first);var gp=Math.min(gk,gl.visible.to+gr.options.viewportMargin);if(gm.viewFrom<go&&go-gm.viewFrom<20){go=Math.max(gq.first,gm.viewFrom)}if(gm.viewTo>gp&&gm.viewTo-gp<20){gp=Math.min(gk,gm.viewTo)}if(a8){go=aW(gr.doc,go);gp=d3(gr.doc,gp)}var gj=go!=gm.viewFrom||gp!=gm.viewTo||gm.lastWrapHeight!=gl.wrapperHeight||gm.lastWrapWidth!=gl.wrapperWidth;cS(gr,go,gp);gm.viewOffset=bN(fg(gr.doc,gm.viewFrom));gr.display.mover.style.top=gm.viewOffset+"px";var gi=dc(gr);if(!gj&&gi==0&&!gl.force&&gm.renderedView==gm.view&&(gm.updateLineNumbers==null||gm.updateLineNumbers>=gm.viewTo)){return false}var gn=dP();if(gi>4){gm.lineDiv.style.display="none"}cn(gr,gm.updateLineNumbers,gl.dims);if(gi>4){gm.lineDiv.style.display=""}gm.renderedView=gm.view;if(gn&&dP()!=gn&&gn.offsetHeight){gn.focus()}d2(gm.cursorDiv);d2(gm.selectionDiv);gm.gutters.style.height=0;if(gj){gm.lastWrapHeight=gl.wrapperHeight;gm.lastWrapWidth=gl.wrapperWidth;eg(gr,400)}gm.updateLineNumbers=null;return true}function ck(gj,gm){var gi=gm.viewport;for(var gl=true;;gl=false){if(!gl||!gj.options.lineWrapping||gm.oldDisplayWidth==dm(gj)){if(gi&&gi.top!=null){gi={top:Math.min(gj.doc.height+bJ(gj.display)-cW(gj),gi.top)}}gm.visible=b7(gj.display,gj.doc,gi);if(gm.visible.from>=gj.display.viewFrom&&gm.visible.to<=gj.display.viewTo){break}}if(!B(gj,gm)){break}ba(gj);var gk=dB(gj);bD(gj);dA(gj,gk);eZ(gj,gk)}gm.signal(gj,"update",gj);if(gj.display.viewFrom!=gj.display.reportedViewFrom||gj.display.viewTo!=gj.display.reportedViewTo){gm.signal(gj,"viewportChange",gj,gj.display.viewFrom,gj.display.viewTo);gj.display.reportedViewFrom=gj.display.viewFrom;gj.display.reportedViewTo=gj.display.viewTo}}function dU(gj,gi){var gl=new aI(gj,gi);if(B(gj,gl)){ba(gj);ck(gj,gl);var gk=dB(gj);bD(gj);dA(gj,gk);eZ(gj,gk);gl.finish()}}function dA(gi,gj){gi.display.sizer.style.minHeight=gj.docHeight+"px";var gk=gj.docHeight+gi.display.barHeight;gi.display.heightForcer.style.top=gk+"px";gi.display.gutters.style.height=Math.max(gk+cU(gi),gj.clientHeight)+"px"}function ba(gp){var gn=gp.display;var gj=gn.lineDiv.offsetTop;for(var gk=0;gk<gn.view.length;gk++){var gq=gn.view[gk],gr;if(gq.hidden){continue}if(dL&&k<8){var gm=gq.node.offsetTop+gq.node.offsetHeight;gr=gm-gj;gj=gm}else{var gl=gq.node.getBoundingClientRect();gr=gl.bottom-gl.top}var go=gq.line.height-gr;if(gr<2){gr=aY(gn)}if(go>0.001||go<-0.001){f6(gq.line,gr);cc(gq.line);if(gq.rest){for(var gi=0;gi<gq.rest.length;gi++){cc(gq.rest[gi])}}}}}function cc(gi){if(gi.widgets){for(var gj=0;gj<gi.widgets.length;++gj){gi.widgets[gj].height=gi.widgets[gj].node.offsetHeight}}}function fe(gi){var gn=gi.display,gl={},gk={};var gm=gn.gutters.clientLeft;for(var go=gn.gutters.firstChild,gj=0;go;go=go.nextSibling,++gj){gl[gi.options.gutters[gj]]=go.offsetLeft+go.clientLeft+gm;gk[gi.options.gutters[gj]]=go.clientWidth}return{fixedPos:dY(gn),gutterTotalWidth:gn.gutters.offsetWidth,gutterLeft:gl,gutterWidth:gk,wrapperWidth:gn.wrapper.clientWidth}}function cn(gt,gk,gs){var gp=gt.display,gv=gt.options.lineNumbers;var gi=gp.lineDiv,gu=gi.firstChild;function go(gx){var gw=gx.nextSibling;if(c1&&b8&&gt.display.currentWheelTarget==gx){gx.style.display="none"}else{gx.parentNode.removeChild(gx)}return gw}var gq=gp.view,gn=gp.viewFrom;for(var gl=0;gl<gq.length;gl++){var gm=gq[gl];if(gm.hidden){}else{if(!gm.node||gm.node.parentNode!=gi){var gj=aF(gt,gm,gn,gs);gi.insertBefore(gj,gu)}else{while(gu!=gm.node){gu=go(gu)}var gr=gv&&gk!=null&&gk<=gn&&gm.lineNumber;if(gm.changes){if(di(gm.changes,"gutter")>-1){gr=false}ab(gt,gm,gn,gs)}if(gr){d2(gm.lineNumber);gm.lineNumber.appendChild(document.createTextNode(et(gt.options,gn)))}gu=gm.node.nextSibling}}gn+=gm.size}while(gu){gu=go(gu)}}function ab(gi,gk,gm,gn){for(var gj=0;gj<gk.changes.length;gj++){var gl=gk.changes[gj];if(gl=="text"){fm(gi,gk)}else{if(gl=="gutter"){dg(gi,gk,gm,gn)}else{if(gl=="class"){dH(gk)}else{if(gl=="widget"){ao(gi,gk,gn)}}}}}gk.changes=null}function fI(gi){if(gi.node==gi.text){gi.node=f3("div",null,null,"position: relative");if(gi.text.parentNode){gi.text.parentNode.replaceChild(gi.node,gi.text)}gi.node.appendChild(gi.text);if(dL&&k<8){gi.node.style.zIndex=2}}return gi.node}function ew(gj){var gi=gj.bgClass?gj.bgClass+" "+(gj.line.bgClass||""):gj.line.bgClass;if(gi){gi+=" CodeMirror-linebackground"}if(gj.background){if(gi){gj.background.className=gi}else{gj.background.parentNode.removeChild(gj.background);gj.background=null}}else{if(gi){var gk=fI(gj);gj.background=gk.insertBefore(f3("div",null,gi),gk.firstChild)}}}function dW(gi,gj){var gk=gi.display.externalMeasured;if(gk&&gk.line==gj.line){gi.display.externalMeasured=null;gj.measure=gk.measure;return gk.built}return eS(gi,gj)}function fm(gi,gl){var gj=gl.text.className;var gk=dW(gi,gl);if(gl.text==gl.node){gl.node=gk.pre}gl.text.parentNode.replaceChild(gk.pre,gl.text);gl.text=gk.pre;if(gk.bgClass!=gl.bgClass||gk.textClass!=gl.textClass){gl.bgClass=gk.bgClass;gl.textClass=gk.textClass;dH(gl)}else{if(gj){gl.text.className=gj}}}function dH(gj){ew(gj);if(gj.line.wrapClass){fI(gj).className=gj.line.wrapClass}else{if(gj.node!=gj.text){gj.node.className=""}}var gi=gj.textClass?gj.textClass+" "+(gj.line.textClass||""):gj.line.textClass;gj.text.className=gi||""}function dg(gq,go,gn,gp){if(go.gutter){go.node.removeChild(go.gutter);go.gutter=null}var gl=go.line.gutterMarkers;if(gq.options.lineNumbers||gl){var gj=fI(go);var gm=go.gutter=f3("div",null,"CodeMirror-gutter-wrapper","left: "+(gq.options.fixedGutter?gp.fixedPos:-gp.gutterTotalWidth)+"px; width: "+gp.gutterTotalWidth+"px");gq.display.input.setUneditable(gm);gj.insertBefore(gm,go.text);if(go.line.gutterClass){gm.className+=" "+go.line.gutterClass}if(gq.options.lineNumbers&&(!gl||!gl["CodeMirror-linenumbers"])){go.lineNumber=gm.appendChild(f3("div",et(gq.options,gn),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+gp.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+gq.display.lineNumInnerWidth+"px"))}if(gl){for(var gk=0;gk<gq.options.gutters.length;++gk){var gi=gq.options.gutters[gk],gr=gl.hasOwnProperty(gi)&&gl[gi];if(gr){gm.appendChild(f3("div",[gr],"CodeMirror-gutter-elt","left: "+gp.gutterLeft[gi]+"px; width: "+gp.gutterWidth[gi]+"px"))}}}}}function ao(gi,gj,gm){if(gj.alignable){gj.alignable=null}for(var gl=gj.node.firstChild,gk;gl;gl=gk){var gk=gl.nextSibling;if(gl.className=="CodeMirror-linewidget"){gj.node.removeChild(gl)}}fu(gi,gj,gm)}function aF(gi,gk,gl,gm){var gj=dW(gi,gk);gk.text=gk.node=gj.pre;if(gj.bgClass){gk.bgClass=gj.bgClass}if(gj.textClass){gk.textClass=gj.textClass}dH(gk);dg(gi,gk,gl,gm);fu(gi,gk,gm);return gk.node}function fu(gi,gk,gl){f8(gi,gk.line,gk,gl,true);if(gk.rest){for(var gj=0;gj<gk.rest.length;gj++){f8(gi,gk.rest[gj],gk,gl,false)}}}function f8(gq,gr,gn,gp,gl){if(!gr.widgets){return}var gi=fI(gn);for(var gk=0,go=gr.widgets;gk<go.length;++gk){var gm=go[gk],gj=f3("div",[gm.node],"CodeMirror-linewidget");if(!gm.handleMouseEvents){gj.setAttribute("cm-ignore-events","true")}bG(gm,gj,gn,gp);gq.display.input.setUneditable(gj);if(gl&&gm.above){gi.insertBefore(gj,gn.gutter||gn.text)}else{gi.appendChild(gj)}ae(gm,"redraw")}}function bG(gl,gk,gi,gm){if(gl.noHScroll){(gi.alignable||(gi.alignable=[])).push(gk);var gj=gm.wrapperWidth;gk.style.left=gm.fixedPos+"px";if(!gl.coverGutter){gj-=gm.gutterTotalWidth;gk.style.paddingLeft=gm.gutterTotalWidth+"px"}gk.style.width=gj+"px"}if(gl.coverGutter){gk.style.zIndex=5;gk.style.position="relative";if(!gl.noHScroll){gk.style.marginLeft=-gm.gutterTotalWidth+"px"}}}var W=H.Pos=function(gi,gj){if(!(this instanceof W)){return new W(gi,gj)}this.line=gi;this.ch=gj};var cg=H.cmpPos=function(gj,gi){return gj.line-gi.line||gj.ch-gi.ch};function cj(gi){return W(gi.line,gi.ch)}function by(gj,gi){return cg(gj,gi)<0?gi:gj}function ar(gj,gi){return cg(gj,gi)<0?gj:gi}function r(gi){if(!gi.state.focused){gi.display.input.focus();cC(gi)}}function aj(gi){return gi.options.readOnly||gi.doc.cantEdit}var bn=null;function fZ(gw,gm,gk,gj,gv){var gu=gw.doc;gw.display.shift=false;if(!gj){gj=gu.sel}var gl=gw.state.pasteIncoming||gv=="paste";var gp=a1(gm),gi=null;if(gl&&gj.ranges.length>1){if(bn&&bn.join("\n")==gm){gi=gj.ranges.length%bn.length==0&&bT(bn,a1)}else{if(gp.length==gj.ranges.length){gi=bT(gp,function(gx){return[gx]})}}}for(var gn=gj.ranges.length-1;gn>=0;gn--){var go=gj.ranges[gn];var gt=go.from(),gs=go.to();if(go.empty()){if(gk&&gk>0){gt=W(gt.line,gt.ch-gk)}else{if(gw.state.overwrite&&!gl){gs=W(gs.line,Math.min(fg(gu,gs.line).text.length,gs.ch+fH(gp).length))}}}var gq=gw.curOp.updateInput;var gr={from:gt,to:gs,text:gi?gi[gn%gi.length]:gp,origin:gv||(gl?"paste":gw.state.cutIncoming?"cut":"+input")};bh(gw.doc,gr);ae(gw,"inputRead",gw,gr)}if(gm&&!gl){fW(gw,gm)}fG(gw);gw.curOp.updateInput=gq;gw.curOp.typing=true;gw.state.pasteIncoming=gw.state.cutIncoming=false}function bb(gk,gi){var gj=gk.clipboardData&&gk.clipboardData.getData("text/plain");if(gj){gk.preventDefault();cN(gi,function(){fZ(gi,gj,0,null,"paste")});return true}}function fW(gi,gm){if(!gi.options.electricChars||!gi.options.smartIndent){return}var gn=gi.doc.sel;for(var gl=gn.ranges.length-1;gl>=0;gl--){var gj=gn.ranges[gl];if(gj.head.ch>100||(gl&&gn.ranges[gl-1].head.line==gj.head.line)){continue}var go=gi.getModeAt(gj.head);var gp=false;if(go.electricChars){for(var gk=0;gk<go.electricChars.length;gk++){if(gm.indexOf(go.electricChars.charAt(gk))>-1){gp=ad(gi,gj.head.line,"smart");break}}}else{if(go.electricInput){if(go.electricInput.test(fg(gi.doc,gj.head.line).text.slice(0,gj.head.ch))){gp=ad(gi,gj.head.line,"smart")}}}if(gp){ae(gi,"electricInput",gi,gj.head.line)}}}function dk(gi){var gn=[],gk=[];for(var gl=0;gl<gi.doc.sel.ranges.length;gl++){var gj=gi.doc.sel.ranges[gl].head.line;var gm={anchor:W(gj,0),head:W(gj+1,0)};gk.push(gm);gn.push(gi.getRange(gm.anchor,gm.head))}return{text:gn,ranges:gk}}function fQ(gi){gi.setAttribute("autocorrect","off");gi.setAttribute("autocapitalize","off");gi.setAttribute("spellcheck","false")}function Y(gi){this.cm=gi;this.prevInput="";this.pollingFast=false;this.polling=new gh();this.inaccurateSelection=false;this.hasSelection=false;this.composing=null}function aX(){var gi=f3("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none");var gj=f3("div",[gi],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");if(c1){gi.style.width="1000px"}else{gi.setAttribute("wrap","off")}if(e2){gi.style.border="1px solid black"}fQ(gi);return gj}Y.prototype=aN({init:function(gk){var gj=this,gi=this.cm;var gn=this.wrapper=aX();var gl=this.textarea=gn.firstChild;gk.wrapper.insertBefore(gn,gk.wrapper.firstChild);if(e2){gl.style.width="0px"}bY(gl,"input",function(){if(dL&&k>=9&&gj.hasSelection){gj.hasSelection=null}gj.poll()});bY(gl,"paste",function(go){if(bb(go,gi)){return true}gi.state.pasteIncoming=true;gj.fastPoll()});function gm(gp){if(gi.somethingSelected()){bn=gi.getSelections();if(gj.inaccurateSelection){gj.prevInput="";gj.inaccurateSelection=false;gl.value=bn.join("\n");dM(gl)}}else{if(!gi.options.lineWiseCopyCut){return}else{var go=dk(gi);bn=go.text;if(gp.type=="cut"){gi.setSelections(go.ranges,null,Z)}else{gj.prevInput="";gl.value=go.text.join("\n");dM(gl)}}}if(gp.type=="cut"){gi.state.cutIncoming=true}}bY(gl,"cut",gm);bY(gl,"copy",gm);bY(gk.scroller,"paste",function(go){if(bc(gk,go)){return}gi.state.pasteIncoming=true;gj.focus()});bY(gk.lineSpace,"selectstart",function(go){if(!bc(gk,go)){cH(go)}});bY(gl,"compositionstart",function(){var go=gi.getCursor("from");gj.composing={start:go,range:gi.markText(go,gi.getCursor("to"),{className:"CodeMirror-composing"})}});bY(gl,"compositionend",function(){if(gj.composing){gj.poll();gj.composing.range.clear();gj.composing=null}})},prepareSelection:function(){var gj=this.cm,gn=gj.display,gm=gj.doc;var gi=fJ(gj);if(gj.options.moveInputWithCursor){var go=dV(gj,gm.sel.primary().head,"div");var gk=gn.wrapper.getBoundingClientRect(),gl=gn.lineDiv.getBoundingClientRect();gi.teTop=Math.max(0,Math.min(gn.wrapper.clientHeight-10,go.top+gl.top-gk.top));gi.teLeft=Math.max(0,Math.min(gn.wrapper.clientWidth-10,go.left+gl.left-gk.left))}return gi},showSelection:function(gk){var gi=this.cm,gj=gi.display;bS(gj.cursorDiv,gk.cursors);bS(gj.selectionDiv,gk.selection);if(gk.teTop!=null){this.wrapper.style.top=gk.teTop+"px";this.wrapper.style.left=gk.teLeft+"px"}},reset:function(gm){if(this.contextMenuPending){return}var gj,gl,gi=this.cm,go=gi.doc;if(gi.somethingSelected()){this.prevInput="";var gk=go.sel.primary();gj=db&&(gk.to().line-gk.from().line>100||(gl=gi.getSelection()).length>1000);var gn=gj?"-":gl||gi.getSelection();this.textarea.value=gn;if(gi.state.focused){dM(this.textarea)}if(dL&&k>=9){this.hasSelection=gn}}else{if(!gm){this.prevInput=this.textarea.value="";if(dL&&k>=9){this.hasSelection=null}}}this.inaccurateSelection=gj},getField:function(){return this.textarea},supportsTouch:function(){return false},focus:function(){if(this.cm.options.readOnly!="nocursor"&&(!eh||dP()!=this.textarea)){try{this.textarea.focus()}catch(gi){}}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var gi=this;if(gi.pollingFast){return}gi.polling.set(this.cm.options.pollInterval,function(){gi.poll();if(gi.cm.state.focused){gi.slowPoll()}})},fastPoll:function(){var gj=false,gi=this;gi.pollingFast=true;function gk(){var gl=gi.poll();if(!gl&&!gj){gj=true;gi.polling.set(60,gk)}else{gi.pollingFast=false;gi.slowPoll()}}gi.polling.set(20,gk)},poll:function(){var gi=this.cm,gl=this.textarea,gm=this.prevInput;if(this.contextMenuPending||!gi.state.focused||(bt(gl)&&!gm)||aj(gi)||gi.options.disableInput||gi.state.keySeq){return false}var go=gl.value;if(go==gm&&!gi.somethingSelected()){return false}if(dL&&k>=9&&this.hasSelection===go||b8&&/[\uf700-\uf7ff]/.test(go)){gi.display.input.reset();return false}if(gi.doc.sel==gi.display.selForContextMenu){var gn=go.charCodeAt(0);if(gn==8203&&!gm){gm="\u200b"}if(gn==8666){this.reset();return this.cm.execCommand("undo")}}var gp=0,gj=Math.min(gm.length,go.length);while(gp<gj&&gm.charCodeAt(gp)==go.charCodeAt(gp)){++gp}var gk=this;cN(gi,function(){fZ(gi,go.slice(gp),gm.length-gp,null,gk.composing?"*compose":null);if(go.length>1000||go.indexOf("\n")>-1){gl.value=gk.prevInput=""}else{gk.prevInput=go}if(gk.composing){gk.composing.range.clear();gk.composing.range=gi.markText(gk.composing.start,gi.getCursor("to"),{className:"CodeMirror-composing"})}});return true},ensurePolled:function(){if(this.pollingFast&&this.poll()){this.pollingFast=false}},onKeyPress:function(){if(dL&&k>=9){this.hasSelection=null}this.fastPoll()},onContextMenu:function(gn){var gs=this,gt=gs.cm,gp=gt.display,gj=gs.textarea;var gr=co(gt,gn),gi=gp.scroller.scrollTop;if(!gr||d4){return}var gm=gt.options.resetSelectionOnContextMenu;if(gm&&gt.doc.sel.contains(gr)==-1){c3(gt,bV)(gt.doc,eT(gr),Z)}var go=gj.style.cssText;gs.wrapper.style.position="absolute";gj.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(gn.clientY-5)+"px; left: "+(gn.clientX-5)+"px; z-index: 1000; background: "+(dL?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(c1){var gu=window.scrollY}gp.input.focus();if(c1){window.scrollTo(null,gu)}gp.input.reset();if(!gt.somethingSelected()){gj.value=gs.prevInput=" "}gs.contextMenuPending=true;gp.selForContextMenu=gt.doc.sel;clearTimeout(gp.detectingSelectAll);function gl(){if(gj.selectionStart!=null){var gv=gt.somethingSelected();var gw="\u200b"+(gv?gj.value:"");gj.value="\u21da";gj.value=gw;gs.prevInput=gv?"":"\u200b";gj.selectionStart=1;gj.selectionEnd=gw.length;gp.selForContextMenu=gt.doc.sel}}function gq(){gs.contextMenuPending=false;gs.wrapper.style.position="relative";gj.style.cssText=go;if(dL&&k<9){gp.scrollbars.setScrollTop(gp.scroller.scrollTop=gi)}if(gj.selectionStart!=null){if(!dL||(dL&&k<9)){gl()}var gv=0,gw=function(){if(gp.selForContextMenu==gt.doc.sel&&gj.selectionStart==0&&gj.selectionEnd>0&&gs.prevInput=="\u200b"){c3(gt,eE.selectAll)(gt)}else{if(gv++<10){gp.detectingSelectAll=setTimeout(gw,500)}else{gp.input.reset()}}};gp.detectingSelectAll=setTimeout(gw,200)}}if(dL&&k>=9){gl()}if(ga){es(gn);var gk=function(){ee(window,"mouseup",gk);setTimeout(gq,20)};bY(window,"mouseup",gk)}else{setTimeout(gq,50)}},setUneditable:fV,needsContentAttribute:false},Y.prototype);function dw(gi){this.cm=gi;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new gh();this.gracePeriod=false}dw.prototype=aN({init:function(gl){var gk=this,gi=gk.cm;var gm=gk.div=gl.lineDiv;gm.contentEditable="true";fQ(gm);bY(gm,"paste",function(gn){bb(gn,gi)});bY(gm,"compositionstart",function(gr){var gq=gr.data;gk.composing={sel:gi.doc.sel,data:gq,startData:gq};if(!gq){return}var go=gi.doc.sel.primary();var gn=gi.getLine(go.head.line);var gp=gn.indexOf(gq,Math.max(0,go.head.ch-gq.length));if(gp>-1&&gp<=go.head.ch){gk.composing.sel=eT(W(go.head.line,gp),W(go.head.line,gp+gq.length))}});bY(gm,"compositionupdate",function(gn){gk.composing.data=gn.data});bY(gm,"compositionend",function(go){var gn=gk.composing;if(!gn){return}if(go.data!=gn.startData&&!/\u200b/.test(go.data)){gn.data=go.data}setTimeout(function(){if(!gn.handled){gk.applyComposition(gn)}if(gk.composing==gn){gk.composing=null}},50)});bY(gm,"touchstart",function(){gk.forceCompositionEnd()});bY(gm,"input",function(){if(gk.composing){return}if(!gk.pollContent()){cN(gk.cm,function(){ah(gi)})}});function gj(gq){if(gi.somethingSelected()){bn=gi.getSelections();if(gq.type=="cut"){gi.replaceSelection("",null,"cut")}}else{if(!gi.options.lineWiseCopyCut){return}else{var go=dk(gi);bn=go.text;if(gq.type=="cut"){gi.operation(function(){gi.setSelections(go.ranges,0,Z);gi.replaceSelection("",null,"cut")})}}}if(gq.clipboardData&&!e2){gq.preventDefault();gq.clipboardData.clearData();gq.clipboardData.setData("text/plain",bn.join("\n"))}else{var gp=aX(),gr=gp.firstChild;gi.display.lineSpace.insertBefore(gp,gi.display.lineSpace.firstChild);gr.value=bn.join("\n");var gn=document.activeElement;dM(gr);setTimeout(function(){gi.display.lineSpace.removeChild(gp);gn.focus()},50)}}bY(gm,"copy",gj);bY(gm,"cut",gj)},prepareSelection:function(){var gi=fJ(this.cm,false);gi.focus=this.cm.state.focused;return gi},showSelection:function(gi){if(!gi||!this.cm.display.view.length){return}if(gi.focus){this.showPrimarySelection()}this.showMultipleSelections(gi)},showPrimarySelection:function(){var gm=window.getSelection(),gp=this.cm.doc.sel.primary();var gn=az(this.cm,gm.anchorNode,gm.anchorOffset);var gr=az(this.cm,gm.focusNode,gm.focusOffset);if(gn&&!gn.bad&&gr&&!gr.bad&&cg(ar(gn,gr),gp.from())==0&&cg(by(gn,gr),gp.to())==0){return}var gl=cA(this.cm,gp.from());var gq=cA(this.cm,gp.to());if(!gl&&!gq){return}var gt=this.cm.display.view;var go=gm.rangeCount&&gm.getRangeAt(0);if(!gl){gl={node:gt[0].measure.map[2],offset:0}}else{if(!gq){var gk=gt[gt.length-1].measure;var gj=gk.maps?gk.maps[gk.maps.length-1]:gk.map;gq={node:gj[gj.length-1],offset:gj[gj.length-2]-gj[gj.length-3]}}}try{var gi=cm(gl.node,gl.offset,gq.offset,gq.node)}catch(gs){}if(gi){gm.removeAllRanges();gm.addRange(gi);if(go&&gm.anchorNode==null){gm.addRange(go)}else{if(cp){this.startGracePeriod()}}}this.rememberSelection()},startGracePeriod:function(){var gi=this;clearTimeout(this.gracePeriod);this.gracePeriod=setTimeout(function(){gi.gracePeriod=false;if(gi.selectionChanged()){gi.cm.operation(function(){gi.cm.curOp.selectionChanged=true})}},20)},showMultipleSelections:function(gi){bS(this.cm.display.cursorDiv,gi.cursors);bS(this.cm.display.selectionDiv,gi.selection)},rememberSelection:function(){var gi=window.getSelection();this.lastAnchorNode=gi.anchorNode;this.lastAnchorOffset=gi.anchorOffset;this.lastFocusNode=gi.focusNode;this.lastFocusOffset=gi.focusOffset},selectionInEditor:function(){var gj=window.getSelection();if(!gj.rangeCount){return false}var gi=gj.getRangeAt(0).commonAncestorContainer;return gb(this.div,gi)},focus:function(){if(this.cm.options.readOnly!="nocursor"){this.div.focus()}},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return true},receivedFocus:function(){var gi=this;if(this.selectionInEditor()){this.pollSelection()}else{cN(this.cm,function(){gi.cm.curOp.selectionChanged=true})}function gj(){if(gi.cm.state.focused){gi.pollSelection();gi.polling.set(gi.cm.options.pollInterval,gj)}}this.polling.set(this.cm.options.pollInterval,gj)},selectionChanged:function(){var gi=window.getSelection();return gi.anchorNode!=this.lastAnchorNode||gi.anchorOffset!=this.lastAnchorOffset||gi.focusNode!=this.lastFocusNode||gi.focusOffset!=this.lastFocusOffset},pollSelection:function(){if(!this.composing&&!this.gracePeriod&&this.selectionChanged()){var gl=window.getSelection(),gi=this.cm;this.rememberSelection();var gj=az(gi,gl.anchorNode,gl.anchorOffset);var gk=az(gi,gl.focusNode,gl.focusOffset);if(gj&&gk){cN(gi,function(){bV(gi.doc,eT(gj,gk),Z);if(gj.bad||gk.bad){gi.curOp.selectionChanged=true}})}}},pollContent:function(){var gs=this.cm,gC=gs.display,gA=gs.doc.sel.primary();var gB=gA.from(),gm=gA.to();if(gB.line<gC.viewFrom||gm.line>gC.viewTo-1){return false}var gp;if(gB.line==gC.viewFrom||(gp=ds(gs,gB.line))==0){var gn=bO(gC.view[0].line);var gr=gC.view[0].node}else{var gn=bO(gC.view[gp].line);var gr=gC.view[gp-1].node.nextSibling}var gz=ds(gs,gm.line);if(gz==gC.view.length-1){var gu=gC.viewTo-1;var gx=gC.lineDiv.lastChild}else{var gu=bO(gC.view[gz+1].line)-1;var gx=gC.view[gz+1].node.previousSibling}var gD=a1(f0(gs,gr,gx,gn,gu));var gw=f5(gs.doc,W(gn,0),W(gu,fg(gs.doc,gu).text.length));while(gD.length>1&&gw.length>1){if(fH(gD)==fH(gw)){gD.pop();gw.pop();gu--}else{if(gD[0]==gw[0]){gD.shift();gw.shift();gn++}else{break}}}var gy=0,gk=0;var gt=gD[0],gj=gw[0],gi=Math.min(gt.length,gj.length);while(gy<gi&&gt.charCodeAt(gy)==gj.charCodeAt(gy)){++gy}var gq=fH(gD),gE=fH(gw);var gl=Math.min(gq.length-(gD.length==1?gy:0),gE.length-(gw.length==1?gy:0));while(gk<gl&&gq.charCodeAt(gq.length-gk-1)==gE.charCodeAt(gE.length-gk-1)){++gk}gD[gD.length-1]=gq.slice(0,gq.length-gk);gD[0]=gD[0].slice(gy);var go=W(gn,gy);var gv=W(gu,gw.length?fH(gw).length-gk:0);if(gD.length>1||gD[0]||cg(go,gv)){a2(gs.doc,gD,go,gv,"+input");return true}},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){if(!this.composing||this.composing.handled){return}this.applyComposition(this.composing);this.composing.handled=true;this.div.blur();this.div.focus()},applyComposition:function(gi){if(gi.data&&gi.data!=gi.startData){c3(this.cm,fZ)(this.cm,gi.data,0,gi.sel)}},setUneditable:function(gi){gi.setAttribute("contenteditable","false")},onKeyPress:function(gi){gi.preventDefault();c3(this.cm,fZ)(this.cm,String.fromCharCode(gi.charCode==null?gi.keyCode:gi.charCode),0)},onContextMenu:fV,resetPosition:fV,needsContentAttribute:true},dw.prototype);function cA(go,gm){var gn=fc(go,gm.line);if(!gn||gn.hidden){return null}var gq=fg(go.doc,gm.line);var gj=cu(gn,gq,gm.line);var gk=a(gq),gl="left";if(gk){var gi=aG(gk,gm.ch);gl=gi%2?"right":"left"}var gp=aL(gj.map,gm.ch,gl);gp.offset=gp.collapse=="right"?gp.end:gp.start;return gp}function eu(gj,gi){if(gi){gj.bad=true}return gj}function az(gi,gl,gn){var gm;if(gl==gi.display.lineDiv){gm=gi.display.lineDiv.childNodes[gn];if(!gm){return eu(gi.clipPos(W(gi.display.viewTo-1)),true)}gl=null;gn=0}else{for(gm=gl;;gm=gm.parentNode){if(!gm||gm==gi.display.lineDiv){return null}if(gm.parentNode&&gm.parentNode==gi.display.lineDiv){break}}}for(var gk=0;gk<gi.display.view.length;gk++){var gj=gi.display.view[gk];if(gj.node==gm){return aa(gj,gl,gn)}}}function aa(gq,gm,go){var gk=gq.text.firstChild,gl=false;if(!gm||!gb(gk,gm)){return eu(W(bO(gq.line),0),true)}if(gm==gk){gl=true;gm=gk.childNodes[go];go=0;if(!gm){var gw=gq.rest?fH(gq.rest):gq.line;return eu(W(bO(gw),gw.text.length),gl)}}var gn=gm.nodeType==3?gm:null,gu=gm;if(!gn&&gm.childNodes.length==1&&gm.firstChild.nodeType==3){gn=gm.firstChild;if(go){go=gn.nodeValue.length}}while(gu.parentNode!=gk){gu=gu.parentNode}var gj=gq.measure,gs=gj.maps;function gp(gz,gE,gB){for(var gD=-1;gD<(gs?gs.length:0);gD++){var gy=gD<0?gj.map:gs[gD];for(var gC=0;gC<gy.length;gC+=3){var gA=gy[gC+2];if(gA==gz||gA==gE){var gF=bO(gD<0?gq.line:gq.rest[gD]);var gx=gy[gC]+gB;if(gB<0||gA!=gz){gx=gy[gC+(gB?1:0)]}return W(gF,gx)}}}}var gv=gp(gn,gu,go);if(gv){return eu(gv,gl)}for(var gi=gu.nextSibling,gr=gn?gn.nodeValue.length-go:0;gi;gi=gi.nextSibling){gv=gp(gi,gi.firstChild,0);if(gv){return eu(W(gv.line,gv.ch-gr),gl)}else{gr+=gi.textContent.length}}for(var gt=gu.previousSibling,gr=go;gt;gt=gt.previousSibling){gv=gp(gt,gt.firstChild,-1);if(gv){return eu(W(gv.line,gv.ch+gr),gl)}else{gr+=gi.textContent.length}}}function f0(gp,gn,go,gk,gi){var gq="",gj=false;function gl(gr){return function(gs){return gs.id==gr}}function gm(gv){if(gv.nodeType==1){var gs=gv.getAttribute("cm-text");if(gs!=null){if(gs==""){gs=gv.textContent.replace(/\u200b/g,"")}gq+=gs;return}var gu=gv.getAttribute("cm-marker"),gr;if(gu){var gw=gp.findMarks(W(gk,0),W(gi+1,0),gl(+gu));if(gw.length&&(gr=gw[0].find())){gq+=f5(gp.doc,gr.from,gr.to).join("\n")}return}if(gv.getAttribute("contenteditable")=="false"){return}for(var gt=0;gt<gv.childNodes.length;gt++){gm(gv.childNodes[gt])}if(/^(pre|div|p)$/i.test(gv.nodeName)){gj=true}}else{if(gv.nodeType==3){var gx=gv.nodeValue;if(!gx){return}if(gj){gq+="\n";gj=false}gq+=gx}}}for(;;){gm(gn);if(gn==go){break}gn=gn.nextSibling}return gq}H.inputStyles={textarea:Y,contenteditable:dw};function f4(gi,gj){this.ranges=gi;this.primIndex=gj}f4.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(gi){if(gi==this){return true}if(gi.primIndex!=this.primIndex||gi.ranges.length!=this.ranges.length){return false}for(var gk=0;gk<this.ranges.length;gk++){var gj=this.ranges[gk],gl=gi.ranges[gk];if(cg(gj.anchor,gl.anchor)!=0||cg(gj.head,gl.head)!=0){return false}}return true},deepCopy:function(){for(var gi=[],gj=0;gj<this.ranges.length;gj++){gi[gj]=new dZ(cj(this.ranges[gj].anchor),cj(this.ranges[gj].head))}return new f4(gi,this.primIndex)},somethingSelected:function(){for(var gi=0;gi<this.ranges.length;gi++){if(!this.ranges[gi].empty()){return true}}return false},contains:function(gl,gi){if(!gi){gi=gl}for(var gk=0;gk<this.ranges.length;gk++){var gj=this.ranges[gk];if(cg(gi,gj.from())>=0&&cg(gl,gj.to())<=0){return gk}}return -1}};function dZ(gi,gj){this.anchor=gi;this.head=gj}dZ.prototype={from:function(){return ar(this.anchor,this.head)},to:function(){return by(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function cx(gi,gp){var gk=gi[gp];gi.sort(function(gs,gr){return cg(gs.from(),gr.from())});gp=di(gi,gk);for(var gm=1;gm<gi.length;gm++){var gq=gi[gm],gj=gi[gm-1];if(cg(gj.to(),gq.from())>=0){var gn=ar(gj.from(),gq.from()),go=by(gj.to(),gq.to());var gl=gj.empty()?gq.from()==gq.head:gj.from()==gj.head;if(gm<=gp){--gp}gi.splice(--gm,2,new dZ(gl?go:gn,gl?gn:go))}}return new f4(gi,gp)}function eT(gi,gj){return new f4([new dZ(gi,gj||gi)],0)}function c6(gi,gj){return Math.max(gi.first,Math.min(gj,gi.first+gi.size-1))}function fK(gj,gk){if(gk.line<gj.first){return W(gj.first,0)}var gi=gj.first+gj.size-1;if(gk.line>gi){return W(gi,fg(gj,gi).text.length)}return ft(gk,fg(gj,gk.line).text.length)}function ft(gk,gj){var gi=gk.ch;if(gi==null||gi>gj){return W(gk.line,gj)}else{if(gi<0){return W(gk.line,0)}else{return gk}}}function ca(gj,gi){return gi>=gj.first&&gi<gj.first+gj.size}function d1(gk,gl){for(var gi=[],gj=0;gj<gl.length;gj++){gi[gj]=fK(gk,gl[gj])}return gi}function fw(gn,gj,gm,gi){if(gn.cm&&gn.cm.display.shift||gn.extend){var gl=gj.anchor;if(gi){var gk=cg(gm,gl)<0;if(gk!=(cg(gi,gl)<0)){gl=gm;gm=gi}else{if(gk!=(cg(gm,gi)<0)){gm=gi}}}return new dZ(gl,gm)}else{return new dZ(gi||gm,gm)}}function fX(gl,gk,gi,gj){bV(gl,new f4([fw(gl,gl.sel.primary(),gk,gi)],0),gj)}function aw(gn,gm,gk){for(var gj=[],gl=0;gl<gn.sel.ranges.length;gl++){gj[gl]=fw(gn,gn.sel.ranges[gl],gm[gl],null)}var gi=cx(gj,gn.sel.primIndex);bV(gn,gi,gk)}function e(gm,gl,gj,gk){var gi=gm.sel.ranges.slice(0);gi[gl]=gj;bV(gm,cx(gi,gm.sel.primIndex),gk)}function F(gl,gj,gk,gi){bV(gl,eT(gj,gk),gi)}function c(gk,gi){var gj={ranges:gi.ranges,update:function(gl){this.ranges=[];for(var gm=0;gm<gl.length;gm++){this.ranges[gm]=new dZ(fK(gk,gl[gm].anchor),fK(gk,gl[gm].head))}}};aE(gk,"beforeSelectionChange",gk,gj);if(gk.cm){aE(gk.cm,"beforeSelectionChange",gk.cm,gj)}if(gj.ranges!=gi.ranges){return cx(gj.ranges,gj.ranges.length-1)}else{return gi}}function e8(gm,gl,gj){var gi=gm.history.done,gk=fH(gi);if(gk&&gk.ranges){gi[gi.length-1]=gl;eq(gm,gl,gj)}else{bV(gm,gl,gj)}}function bV(gk,gj,gi){eq(gk,gj,gi);gc(gk,gk.sel,gk.cm?gk.cm.curOp.id:NaN,gi)}function eq(gl,gk,gj){if(fj(gl,"beforeSelectionChange")||gl.cm&&fj(gl.cm,"beforeSelectionChange")){gk=c(gl,gk)}var gi=gj&&gj.bias||(cg(gk.primary().head,gl.sel.primary().head)<0?-1:1);da(gl,n(gl,gk,gi,true));if(!(gj&&gj.scroll===false)&&gl.cm){fG(gl.cm)}}function da(gj,gi){if(gi.equals(gj.sel)){return}gj.sel=gi;if(gj.cm){gj.cm.curOp.updateInput=gj.cm.curOp.selectionChanged=true;V(gj.cm)}ae(gj,"cursorActivity",gj)}function ez(gi){da(gi,n(gi,gi.sel,null,false),Z)}function n(gq,gi,gn,go){var gk;for(var gl=0;gl<gi.ranges.length;gl++){var gm=gi.ranges[gl];var gp=bW(gq,gm.anchor,gn,go);var gj=bW(gq,gm.head,gn,go);if(gk||gp!=gm.anchor||gj!=gm.head){if(!gk){gk=gi.ranges.slice(0,gl)}gk[gl]=new dZ(gp,gj)}}return gk?cx(gk,gi.primIndex):gi}function bW(gr,gq,gn,go){var gs=false,gk=gq;var gl=gn||1;gr.cantEdit=false;search:for(;;){var gt=fg(gr,gk.line);if(gt.markedSpans){for(var gm=0;gm<gt.markedSpans.length;++gm){var gi=gt.markedSpans[gm],gj=gi.marker;if((gi.from==null||(gj.inclusiveLeft?gi.from<=gk.ch:gi.from<gk.ch))&&(gi.to==null||(gj.inclusiveRight?gi.to>=gk.ch:gi.to>gk.ch))){if(go){aE(gj,"beforeCursorEnter");if(gj.explicitlyCleared){if(!gt.markedSpans){break}else{--gm;continue}}}if(!gj.atomic){continue}var gp=gj.find(gl<0?-1:1);if(cg(gp,gk)==0){gp.ch+=gl;if(gp.ch<0){if(gp.line>gr.first){gp=fK(gr,W(gp.line-1))}else{gp=null}}else{if(gp.ch>gt.text.length){if(gp.line<gr.first+gr.size-1){gp=W(gp.line+1,0)}else{gp=null}}}if(!gp){if(gs){if(!go){return bW(gr,gq,gn,true)}gr.cantEdit=true;return W(gr.first,0)}gs=true;gp=gq;gl=-gl}}gk=gp;continue search}}}return gk}}function bD(gi){gi.display.input.showSelection(gi.display.input.prepareSelection())}function fJ(gp,gi){var go=gp.doc,gq={};var gn=gq.cursors=document.createDocumentFragment();var gj=gq.selection=document.createDocumentFragment();for(var gl=0;gl<go.sel.ranges.length;gl++){if(gi===false&&gl==go.sel.primIndex){continue}var gm=go.sel.ranges[gl];var gk=gm.empty();if(gk||gp.options.showCursorWhenSelecting){A(gp,gm,gn)}if(!gk){bE(gp,gm,gj)}}return gq}function A(gi,gl,gk){var gn=dV(gi,gl.head,"div",null,null,!gi.options.singleCursorHeightPerLine);var gm=gk.appendChild(f3("div","\u00a0","CodeMirror-cursor"));gm.style.left=gn.left+"px";gm.style.top=gn.top+"px";gm.style.height=Math.max(0,gn.bottom-gn.top)*gi.options.cursorHeight+"px";if(gn.other){var gj=gk.appendChild(f3("div","\u00a0","CodeMirror-cursor CodeMirror-secondarycursor"));gj.style.display="";gj.style.left=gn.other.left+"px";gj.style.top=gn.other.top+"px";gj.style.height=(gn.other.bottom-gn.other.top)*0.85+"px"}}function bE(gm,gs,gn){var gv=gm.display,gz=gm.doc;var gi=document.createDocumentFragment();var gr=e6(gm.display),gl=gr.left;var gw=Math.max(gv.sizerWidth,dm(gm)-gv.sizer.offsetLeft)-gr.right;function gt(gD,gC,gB,gA){if(gC<0){gC=0}gC=Math.round(gC);gA=Math.round(gA);gi.appendChild(f3("div",null,"CodeMirror-selected","position: absolute; left: "+gD+"px; top: "+gC+"px; width: "+(gB==null?gw-gD:gB)+"px; height: "+(gA-gC)+"px"))}function gj(gB,gD,gG){var gC=fg(gz,gB);var gE=gC.text.length;var gH,gA;function gF(gJ,gI){return cK(gm,W(gB,gJ),"div",gC,gI)}d5(a(gC),gD||0,gG==null?gE:gG,function(gP,gO,gI){var gL=gF(gP,"left"),gM,gN,gK;if(gP==gO){gM=gL;gN=gK=gL.left}else{gM=gF(gO-1,"right");if(gI=="rtl"){var gJ=gL;gL=gM;gM=gJ}gN=gL.left;gK=gM.right}if(gD==null&&gP==0){gN=gl}if(gM.top-gL.top>3){gt(gN,gL.top,null,gL.bottom);gN=gl;if(gL.bottom<gM.top){gt(gN,gL.bottom,null,gM.top)}}if(gG==null&&gO==gE){gK=gw}if(!gH||gL.top<gH.top||gL.top==gH.top&&gL.left<gH.left){gH=gL}if(!gA||gM.bottom>gA.bottom||gM.bottom==gA.bottom&&gM.right>gA.right){gA=gM}if(gN<gl+1){gN=gl}gt(gN,gM.top,gK-gN,gM.bottom)});return{start:gH,end:gA}}var gy=gs.from(),gx=gs.to();if(gy.line==gx.line){gj(gy.line,gy.ch,gx.ch)}else{var gk=fg(gz,gy.line),gp=fg(gz,gx.line);var go=y(gk)==y(gp);var gq=gj(gy.line,gy.ch,go?gk.text.length+1:null).end;var gu=gj(gx.line,go?0:null,gx.ch).start;if(go){if(gq.top<gu.top-2){gt(gq.right,gq.top,null,gq.bottom);gt(gl,gu.top,gu.left,gu.bottom)}else{gt(gq.right,gq.top,gu.left-gq.right,gq.bottom)}}if(gq.bottom<gu.top){gt(gl,gq.bottom,null,gu.top)}}gn.appendChild(gi)}function o(gi){if(!gi.state.focused){return}var gk=gi.display;clearInterval(gk.blinker);var gj=true;gk.cursorDiv.style.visibility="";if(gi.options.cursorBlinkRate>0){gk.blinker=setInterval(function(){gk.cursorDiv.style.visibility=(gj=!gj)?"":"hidden"},gi.options.cursorBlinkRate)}else{if(gi.options.cursorBlinkRate<0){gk.cursorDiv.style.visibility="hidden"}}}function eg(gi,gj){if(gi.doc.mode.startState&&gi.doc.frontier<gi.display.viewTo){gi.state.highlight.set(gj,cw(cQ,gi))}}function cQ(gi){var gm=gi.doc;if(gm.frontier<gm.first){gm.frontier=gm.first}if(gm.frontier>=gi.display.viewTo){return}var gk=+new Date+gi.options.workTime;var gl=b4(gm.mode,dD(gi,gm.frontier));var gj=[];gm.iter(gm.frontier,Math.min(gm.first+gm.size,gi.display.viewTo+500),function(gn){if(gm.frontier>=gi.display.viewFrom){var gq=gn.styles;var gs=fA(gi,gn,gl,true);gn.styles=gs.styles;var gp=gn.styleClasses,gr=gs.classes;if(gr){gn.styleClasses=gr}else{if(gp){gn.styleClasses=null}}var gt=!gq||gq.length!=gn.styles.length||gp!=gr&&(!gp||!gr||gp.bgClass!=gr.bgClass||gp.textClass!=gr.textClass);for(var go=0;!gt&&go<gq.length;++go){gt=gq[go]!=gn.styles[go]}if(gt){gj.push(gm.frontier)}gn.stateAfter=b4(gm.mode,gl)}else{dy(gi,gn.text,gl);gn.stateAfter=gm.frontier%5==0?b4(gm.mode,gl):null}++gm.frontier;if(+new Date>gk){eg(gi,gi.options.workDelay);return true}});if(gj.length){cN(gi,function(){for(var gn=0;gn<gj.length;gn++){R(gi,gj[gn],"text")}})}}function cz(go,gi,gl){var gj,gm,gn=go.doc;var gk=gl?-1:gi-(go.doc.mode.innerMode?1000:100);for(var gr=gi;gr>gk;--gr){if(gr<=gn.first){return gn.first}var gq=fg(gn,gr-1);if(gq.stateAfter&&(!gl||gr<=gn.frontier)){return gr}var gp=bU(gq.text,null,go.options.tabSize);if(gm==null||gj>gp){gm=gr-1;gj=gp}}return gm}function dD(gi,go,gj){var gm=gi.doc,gl=gi.display;if(!gm.mode.startState){return true}var gn=cz(gi,go,gj),gk=gn>gm.first&&fg(gm,gn-1).stateAfter;if(!gk){gk=b1(gm.mode)}else{gk=b4(gm.mode,gk)}gm.iter(gn,go,function(gp){dy(gi,gp.text,gk);var gq=gn==go-1||gn%5==0||gn>=gl.viewFrom&&gn<gl.viewTo;gp.stateAfter=gq?b4(gm.mode,gk):null;++gn});if(gj){gm.frontier=gn}return gk}function e9(gi){return gi.lineSpace.offsetTop}function bJ(gi){return gi.mover.offsetHeight-gi.lineSpace.offsetHeight}function e6(gl){if(gl.cachedPaddingH){return gl.cachedPaddingH}var gk=bS(gl.measure,f3("pre","x"));var gi=window.getComputedStyle?window.getComputedStyle(gk):gk.currentStyle;var gj={left:parseInt(gi.paddingLeft),right:parseInt(gi.paddingRight)};if(!isNaN(gj.left)&&!isNaN(gj.right)){gl.cachedPaddingH=gj}return gj}function cU(gi){return dK-gi.display.nativeBarWidth}function dm(gi){return gi.display.scroller.clientWidth-cU(gi)-gi.display.barWidth}function cW(gi){return gi.display.scroller.clientHeight-cU(gi)-gi.display.barHeight}function ci(gp,gl,go){var gk=gp.options.lineWrapping;var gm=gk&&dm(gp);if(!gl.measure.heights||gk&&gl.measure.width!=gm){var gn=gl.measure.heights=[];if(gk){gl.measure.width=gm;var gr=gl.text.firstChild.getClientRects();for(var gi=0;gi<gr.length-1;gi++){var gq=gr[gi],gj=gr[gi+1];if(Math.abs(gq.bottom-gj.bottom)>2){gn.push((gq.bottom+gj.top)/2-go.top)}}}gn.push(go.bottom-go.top)}}function cu(gk,gi,gl){if(gk.line==gi){return{map:gk.measure.map,cache:gk.measure.cache}}for(var gj=0;gj<gk.rest.length;gj++){if(gk.rest[gj]==gi){return{map:gk.measure.maps[gj],cache:gk.measure.caches[gj]}}}for(var gj=0;gj<gk.rest.length;gj++){if(bO(gk.rest[gj])>gl){return{map:gk.measure.maps[gj],cache:gk.measure.caches[gj],before:true}}}}function c2(gi,gk){gk=y(gk);var gm=bO(gk);var gj=gi.display.externalMeasured=new bw(gi.doc,gk,gm);gj.lineN=gm;var gl=gj.built=eS(gi,gj);gj.text=gl.pre;bS(gi.display.lineMeasure,gl.pre);return gj}function ei(gi,gj,gl,gk){return C(gi,a5(gi,gj),gl,gk)}function fc(gi,gk){if(gk>=gi.display.viewFrom&&gk<gi.display.viewTo){return gi.display.view[ds(gi,gk)]}var gj=gi.display.externalMeasured;if(gj&&gk>=gj.lineN&&gk<gj.lineN+gj.size){return gj}}function a5(gi,gk){var gl=bO(gk);var gj=fc(gi,gl);if(gj&&!gj.text){gj=null}else{if(gj&&gj.changes){ab(gi,gj,gl,fe(gi))}}if(!gj){gj=c2(gi,gk)}var gm=cu(gj,gk,gl);return{line:gk,view:gj,rect:null,map:gm.map,cache:gm.cache,before:gm.before,hasHeights:false}}function C(gi,go,gm,gj,gl){if(go.before){gm=-1}var gk=gm+(gj||""),gn;if(go.cache.hasOwnProperty(gk)){gn=go.cache[gk]}else{if(!go.rect){go.rect=go.view.text.getBoundingClientRect()}if(!go.hasHeights){ci(gi,go.view,go.rect);go.hasHeights=true}gn=j(gi,go,gm,gj);if(!gn.bogus){go.cache[gk]=gn}}return{left:gn.left,right:gn.right,top:gl?gn.rtop:gn.top,bottom:gl?gn.rbottom:gn.bottom}}var eC={left:0,right:0,top:0,bottom:0};function aL(gj,gi,gp){var gl,gk,gn,gq;for(var go=0;go<gj.length;go+=3){var gm=gj[go],gr=gj[go+1];if(gi<gm){gk=0;gn=1;gq="left"}else{if(gi<gr){gk=gi-gm;gn=gk+1}else{if(go==gj.length-3||gi==gr&&gj[go+3]>gi){gn=gr-gm;gk=gn-1;if(gi>=gr){gq="right"}}}}if(gk!=null){gl=gj[go+2];if(gm==gr&&gp==(gl.insertLeft?"left":"right")){gq=gp}if(gp=="left"&&gk==0){while(go&&gj[go-2]==gj[go-3]&&gj[go-1].insertLeft){gl=gj[(go-=3)+2];gq="left"}}if(gp=="right"&&gk==gr-gm){while(go<gj.length-3&&gj[go+3]==gj[go+4]&&!gj[go+5].insertLeft){gl=gj[(go+=3)+2];gq="right"}}break}}return{node:gl,start:gk,end:gn,collapse:gq,coverStart:gm,coverEnd:gr}}function j(gp,gz,gs,gn){var gq=aL(gz.map,gs,gn);var gx=gq.node,gm=gq.start,gl=gq.end,gi=gq.collapse;var gj;if(gx.nodeType==3){for(var gy=0;gy<4;gy++){while(gm&&fq(gz.line.text.charAt(gq.coverStart+gm))){--gm}while(gq.coverStart+gl<gq.coverEnd&&fq(gz.line.text.charAt(gq.coverStart+gl))){++gl}if(dL&&k<9&&gm==0&&gl==gq.coverEnd-gq.coverStart){gj=gx.parentNode.getBoundingClientRect()}else{if(dL&&gp.options.lineWrapping){var gk=cm(gx,gm,gl).getClientRects();if(gk.length){gj=gk[gn=="right"?gk.length-1:0]}else{gj=eC}}else{gj=cm(gx,gm,gl).getBoundingClientRect()||eC}}if(gj.left||gj.right||gm==0){break}gl=gm;gm=gm-1;gi="right"}if(dL&&k<11){gj=eO(gp.display.measure,gj)}}else{if(gm>0){gi=gn="right"}var gk;if(gp.options.lineWrapping&&(gk=gx.getClientRects()).length>1){gj=gk[gn=="right"?gk.length-1:0]}else{gj=gx.getBoundingClientRect()}}if(dL&&k<9&&!gm&&(!gj||!gj.left&&!gj.right)){var go=gx.parentNode.getClientRects()[0];if(go){gj={left:go.left,right:go.left+dE(gp.display),top:go.top,bottom:go.bottom}}else{gj=eC}}var gv=gj.top-gz.rect.top,gt=gj.bottom-gz.rect.top;var gB=(gv+gt)/2;var gA=gz.view.measure.heights;for(var gy=0;gy<gA.length-1;gy++){if(gB<gA[gy]){break}}var gw=gy?gA[gy-1]:0,gu=gA[gy];var gr={left:(gi=="right"?gj.right:gj.left)-gz.rect.left,right:(gi=="left"?gj.left:gj.right)-gz.rect.left,top:gw,bottom:gu};if(!gj.left&&!gj.right){gr.bogus=true}if(!gp.options.singleCursorHeightPerLine){gr.rtop=gv;gr.rbottom=gt}return gr}function eO(gk,gl){if(!window.screen||screen.logicalXDPI==null||screen.logicalXDPI==screen.deviceXDPI||!aK(gk)){return gl}var gj=screen.logicalXDPI/screen.deviceXDPI;var gi=screen.logicalYDPI/screen.deviceYDPI;return{left:gl.left*gj,right:gl.right*gj,top:gl.top*gi,bottom:gl.bottom*gi}}function au(gj){if(gj.measure){gj.measure.cache={};gj.measure.heights=null;if(gj.rest){for(var gi=0;gi<gj.rest.length;gi++){gj.measure.caches[gi]={}}}}}function aO(gi){gi.display.externalMeasure=null;d2(gi.display.lineMeasure);for(var gj=0;gj<gi.display.view.length;gj++){au(gi.display.view[gj])}}function ak(gi){aO(gi);gi.display.cachedCharWidth=gi.display.cachedTextHeight=gi.display.cachedPaddingH=null;if(!gi.options.lineWrapping){gi.display.maxLineChanged=true}gi.display.lineNumChars=null}function cv(){return window.pageXOffset||(document.documentElement||document.body).scrollLeft}function ct(){return window.pageYOffset||(document.documentElement||document.body).scrollTop}function eR(go,gl,gn,gj){if(gl.widgets){for(var gk=0;gk<gl.widgets.length;++gk){if(gl.widgets[gk].above){var gq=cZ(gl.widgets[gk]);gn.top+=gq;gn.bottom+=gq}}}if(gj=="line"){return gn}if(!gj){gj="local"}var gm=bN(gl);if(gj=="local"){gm+=e9(go.display)}else{gm-=go.display.viewOffset}if(gj=="page"||gj=="window"){var gi=go.display.lineSpace.getBoundingClientRect();gm+=gi.top+(gj=="window"?0:ct());var gp=gi.left+(gj=="window"?0:cv());gn.left+=gp;gn.right+=gp}gn.top+=gm;gn.bottom+=gm;return gn}function gf(gj,gm,gk){if(gk=="div"){return gm}var go=gm.left,gn=gm.top;if(gk=="page"){go-=cv();gn-=ct()}else{if(gk=="local"||!gk){var gl=gj.display.sizer.getBoundingClientRect();go+=gl.left;gn+=gl.top}}var gi=gj.display.lineSpace.getBoundingClientRect();return{left:go-gi.left,top:gn-gi.top}}function cK(gi,gm,gl,gk,gj){if(!gk){gk=fg(gi.doc,gm.line)}return eR(gi,gk,ei(gi,gk,gm.ch,gj),gl)}function dV(gr,gq,gk,go,gt,gp){go=go||fg(gr.doc,gq.line);if(!gt){gt=a5(gr,go)}function gm(gw,gv){var gu=C(gr,gt,gw,gv?"right":"left",gp);if(gv){gu.left=gu.right}else{gu.right=gu.left}return eR(gr,go,gu,gk)}function gs(gx,gu){var gv=gn[gu],gw=gv.level%2;if(gx==dz(gv)&&gu&&gv.level<gn[gu-1].level){gv=gn[--gu];gx=ge(gv)-(gv.level%2?0:1);gw=true}else{if(gx==ge(gv)&&gu<gn.length-1&&gv.level<gn[gu+1].level){gv=gn[++gu];gx=dz(gv)-gv.level%2;gw=false}}if(gw&&gx==gv.to&&gx>gv.from){return gm(gx-1)}return gm(gx,gw)}var gn=a(go),gi=gq.ch;if(!gn){return gm(gi)}var gj=aG(gn,gi);var gl=gs(gi,gj);if(e3!=null){gl.other=gs(gi,e3)}return gl}function dI(gi,gm){var gl=0,gm=fK(gi.doc,gm);if(!gi.options.lineWrapping){gl=dE(gi.display)*gm.ch}var gj=fg(gi.doc,gm.line);var gk=bN(gj)+e9(gi.display);return{left:gl,right:gl,top:gk,bottom:gk+gj.height}}function f2(gi,gj,gk,gm){var gl=W(gi,gj);gl.xRel=gm;if(gk){gl.outside=true}return gl}function fP(gp,gm,gl){var go=gp.doc;gl+=gp.display.viewOffset;if(gl<0){return f2(go.first,0,true,-1)}var gk=bH(go,gl),gq=go.first+go.size-1;if(gk>gq){return f2(go.first+go.size-1,fg(go,gq).text.length,true,1)}if(gm<0){gm=0}var gj=fg(go,gk);for(;;){var gr=c0(gp,gj,gk,gm,gl);var gn=ex(gj);var gi=gn&&gn.find(0,true);if(gn&&(gr.ch>gi.from.ch||gr.ch==gi.from.ch&&gr.xRel>0)){gk=bO(gj=gi.to.line)}else{return gr}}}function c0(gs,gk,gv,gu,gt){var gr=gt-bN(gk);var go=false,gB=2*gs.display.wrapper.clientWidth;var gy=a5(gs,gk);function gF(gH){var gI=dV(gs,W(gv,gH),"line",gk,gy);go=true;if(gr>gI.bottom){return gI.left-gB}else{if(gr<gI.top){return gI.left+gB}else{go=false}}return gI.left}var gx=a(gk),gA=gk.text.length;var gC=cF(gk),gl=cT(gk);var gz=gF(gC),gi=go,gj=gF(gl),gn=go;if(gu>gj){return f2(gv,gl,gn,1)}for(;;){if(gx?gl==gC||gl==u(gk,gC,1):gl-gC<=1){var gw=gu<gz||gu-gz<=gj-gu?gC:gl;var gE=gu-(gw==gC?gz:gj);while(fq(gk.text.charAt(gw))){++gw}var gq=f2(gv,gw,gw==gC?gi:gn,gE<-1?-1:gE>1?1:0);return gq}var gp=Math.ceil(gA/2),gG=gC+gp;if(gx){gG=gC;for(var gD=0;gD<gp;++gD){gG=u(gk,gG,1)}}var gm=gF(gG);if(gm>gu){gl=gG;gj=gm;if(gn=go){gj+=1000}gA=gp}else{gC=gG;gz=gm;gi=go;gA-=gp}}}var aH;function aY(gk){if(gk.cachedTextHeight!=null){return gk.cachedTextHeight}if(aH==null){aH=f3("pre");for(var gj=0;gj<49;++gj){aH.appendChild(document.createTextNode("x"));aH.appendChild(f3("br"))}aH.appendChild(document.createTextNode("x"))}bS(gk.measure,aH);var gi=aH.offsetHeight/50;if(gi>3){gk.cachedTextHeight=gi}d2(gk.measure);return gi||1}function dE(gm){if(gm.cachedCharWidth!=null){return gm.cachedCharWidth}var gi=f3("span","xxxxxxxxxx");var gl=f3("pre",[gi]);bS(gm.measure,gl);var gk=gi.getBoundingClientRect(),gj=(gk.right-gk.left)/10;if(gj>2){gm.cachedCharWidth=gj}return gj||10}var bq=null;var d9=0;function cJ(gi){gi.curOp={cm:gi,viewChanged:false,startHeight:gi.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:false,id:++d9};if(bq){bq.ops.push(gi.curOp)}else{gi.curOp.ownsGroup=bq={ops:[gi.curOp],delayedCallbacks:[]}}}function cV(gl){var gk=gl.delayedCallbacks,gj=0;do{for(;gj<gk.length;gj++){gk[gj]()}for(var gi=0;gi<gl.ops.length;gi++){var gm=gl.ops[gi];if(gm.cursorActivityHandlers){while(gm.cursorActivityCalled<gm.cursorActivityHandlers.length){gm.cursorActivityHandlers[gm.cursorActivityCalled++](gm.cm)}}}}while(gj<gk.length)}function am(gi){var gl=gi.curOp,gk=gl.ownsGroup;if(!gk){return}try{cV(gk)}finally{bq=null;for(var gj=0;gj<gk.ops.length;gj++){gk.ops[gj].cm.curOp=null}cL(gk)}}function cL(gk){var gj=gk.ops;for(var gi=0;gi<gj.length;gi++){b6(gj[gi])}for(var gi=0;gi<gj.length;gi++){aq(gj[gi])}for(var gi=0;gi<gj.length;gi++){b3(gj[gi])}for(var gi=0;gi<gj.length;gi++){ap(gj[gi])}for(var gi=0;gi<gj.length;gi++){e1(gj[gi])}}function b6(gk){var gi=gk.cm,gj=gi.display;J(gi);if(gk.updateMaxLine){h(gi)}gk.mustUpdate=gk.viewChanged||gk.forceUpdate||gk.scrollTop!=null||gk.scrollToPos&&(gk.scrollToPos.from.line<gj.viewFrom||gk.scrollToPos.to.line>=gj.viewTo)||gj.maxLineChanged&&gi.options.lineWrapping;gk.update=gk.mustUpdate&&new aI(gi,gk.mustUpdate&&{top:gk.scrollTop,ensure:gk.scrollToPos},gk.forceUpdate)}function aq(gi){gi.updatedDisplay=gi.mustUpdate&&B(gi.cm,gi.update)}function b3(gk){var gi=gk.cm,gj=gi.display;if(gk.updatedDisplay){ba(gi)}gk.barMeasure=dB(gi);if(gj.maxLineChanged&&!gi.options.lineWrapping){gk.adjustWidthTo=ei(gi,gj.maxLine,gj.maxLine.text.length).left+3;gi.display.sizerWidth=gk.adjustWidthTo;gk.barMeasure.scrollWidth=Math.max(gj.scroller.clientWidth,gj.sizer.offsetLeft+gk.adjustWidthTo+cU(gi)+gi.display.barWidth);gk.maxScrollLeft=Math.max(0,gj.sizer.offsetLeft+gk.adjustWidthTo-dm(gi))}if(gk.updatedDisplay||gk.selectionChanged){gk.preparedSelection=gj.input.prepareSelection()}}function ap(gj){var gi=gj.cm;if(gj.adjustWidthTo!=null){gi.display.sizer.style.minWidth=gj.adjustWidthTo+"px";if(gj.maxScrollLeft<gi.doc.scrollLeft){bF(gi,Math.min(gi.display.scroller.scrollLeft,gj.maxScrollLeft),true)}gi.display.maxLineChanged=false}if(gj.preparedSelection){gi.display.input.showSelection(gj.preparedSelection)}if(gj.updatedDisplay){dA(gi,gj.barMeasure)}if(gj.updatedDisplay||gj.startHeight!=gi.doc.height){eZ(gi,gj.barMeasure)}if(gj.selectionChanged){o(gi)}if(gi.state.focused&&gj.updateInput){gi.display.input.reset(gj.typing)}if(gj.focus&&gj.focus==dP()){r(gj.cm)}}function e1(gp){var gi=gp.cm,gn=gi.display,gm=gi.doc;if(gp.updatedDisplay){ck(gi,gp.update)}if(gn.wheelStartX!=null&&(gp.scrollTop!=null||gp.scrollLeft!=null||gp.scrollToPos)){gn.wheelStartX=gn.wheelStartY=null}if(gp.scrollTop!=null&&(gn.scroller.scrollTop!=gp.scrollTop||gp.forceScroll)){gm.scrollTop=Math.max(0,Math.min(gn.scroller.scrollHeight-gn.scroller.clientHeight,gp.scrollTop));gn.scrollbars.setScrollTop(gm.scrollTop);gn.scroller.scrollTop=gm.scrollTop}if(gp.scrollLeft!=null&&(gn.scroller.scrollLeft!=gp.scrollLeft||gp.forceScroll)){gm.scrollLeft=Math.max(0,Math.min(gn.scroller.scrollWidth-dm(gi),gp.scrollLeft));gn.scrollbars.setScrollLeft(gm.scrollLeft);gn.scroller.scrollLeft=gm.scrollLeft;eF(gi)}if(gp.scrollToPos){var gl=D(gi,fK(gm,gp.scrollToPos.from),fK(gm,gp.scrollToPos.to),gp.scrollToPos.margin);if(gp.scrollToPos.isCursor&&gi.state.focused){d7(gi,gl)}}var gk=gp.maybeHiddenMarkers,go=gp.maybeUnhiddenMarkers;if(gk){for(var gj=0;gj<gk.length;++gj){if(!gk[gj].lines.length){aE(gk[gj],"hide")}}}if(go){for(var gj=0;gj<go.length;++gj){if(go[gj].lines.length){aE(go[gj],"unhide")}}}if(gn.wrapper.offsetHeight){gm.scrollTop=gi.display.scroller.scrollTop}if(gp.changeObjs){aE(gi,"changes",gi,gp.changeObjs)}if(gp.update){gp.update.finish()}}function cN(gi,gj){if(gi.curOp){return gj()}cJ(gi);try{return gj()}finally{am(gi)}}function c3(gi,gj){return function(){if(gi.curOp){return gj.apply(gi,arguments)}cJ(gi);try{return gj.apply(gi,arguments)}finally{am(gi)}}}function c9(gi){return function(){if(this.curOp){return gi.apply(this,arguments)}cJ(this);try{return gi.apply(this,arguments)}finally{am(this)}}}function cE(gi){return function(){var gj=this.cm;if(!gj||gj.curOp){return gi.apply(this,arguments)}cJ(gj);try{return gi.apply(this,arguments)}finally{am(gj)}}}function bw(gk,gi,gj){this.line=gi;this.rest=g(gi);this.size=this.rest?bO(fH(this.rest))-gj+1:1;this.node=this.text=null;this.hidden=fx(gk,gi)}function eW(gi,go,gn){var gm=[],gk;for(var gl=go;gl<gn;gl=gk){var gj=new bw(gi.doc,fg(gi.doc,gl),gl);gk=gl+gj.size;gm.push(gj)}return gm}function ah(gp,gn,go,gq){if(gn==null){gn=gp.doc.first}if(go==null){go=gp.doc.first+gp.doc.size}if(!gq){gq=0}var gk=gp.display;if(gq&&go<gk.viewTo&&(gk.updateLineNumbers==null||gk.updateLineNumbers>gn)){gk.updateLineNumbers=gn}gp.curOp.viewChanged=true;if(gn>=gk.viewTo){if(a8&&aW(gp.doc,gn)<gk.viewTo){ey(gp)}}else{if(go<=gk.viewFrom){if(a8&&d3(gp.doc,go+gq)>gk.viewFrom){ey(gp)}else{gk.viewFrom+=gq;gk.viewTo+=gq}}else{if(gn<=gk.viewFrom&&go>=gk.viewTo){ey(gp)}else{if(gn<=gk.viewFrom){var gm=df(gp,go,go+gq,1);if(gm){gk.view=gk.view.slice(gm.index);gk.viewFrom=gm.lineN;gk.viewTo+=gq}else{ey(gp)}}else{if(go>=gk.viewTo){var gm=df(gp,gn,gn,-1);if(gm){gk.view=gk.view.slice(0,gm.index);gk.viewTo=gm.lineN}else{ey(gp)}}else{var gl=df(gp,gn,gn,-1);var gj=df(gp,go,go+gq,1);if(gl&&gj){gk.view=gk.view.slice(0,gl.index).concat(eW(gp,gl.lineN,gj.lineN)).concat(gk.view.slice(gj.index));gk.viewTo+=gq}else{ey(gp)}}}}}}var gi=gk.externalMeasured;if(gi){if(go<gi.lineN){gi.lineN+=gq}else{if(gn<gi.lineN+gi.size){gk.externalMeasured=null}}}}function R(gj,gk,gn){gj.curOp.viewChanged=true;var go=gj.display,gm=gj.display.externalMeasured;if(gm&&gk>=gm.lineN&&gk<gm.lineN+gm.size){go.externalMeasured=null}if(gk<go.viewFrom||gk>=go.viewTo){return}var gl=go.view[ds(gj,gk)];if(gl.node==null){return}var gi=gl.changes||(gl.changes=[]);if(di(gi,gn)==-1){gi.push(gn)}}function ey(gi){gi.display.viewFrom=gi.display.viewTo=gi.doc.first;gi.display.view=[];gi.display.viewOffset=0}function ds(gi,gl){if(gl>=gi.display.viewTo){return null}gl-=gi.display.viewFrom;if(gl<0){return null}var gj=gi.display.view;for(var gk=0;gk<gj.length;gk++){gl-=gj[gk].size;if(gl<0){return gk}}}function df(gq,gk,gm,gj){var gn=ds(gq,gk),gp,go=gq.display.view;if(!a8||gm==gq.doc.first+gq.doc.size){return{index:gn,lineN:gm}}for(var gl=0,gi=gq.display.viewFrom;gl<gn;gl++){gi+=go[gl].size}if(gi!=gk){if(gj>0){if(gn==go.length-1){return null}gp=(gi+go[gn].size)-gk;gn++}else{gp=gi-gk}gk+=gp;gm+=gp}while(aW(gq.doc,gm)!=gm){if(gn==(gj<0?0:go.length-1)){return null}gm+=gj*go[gn-(gj<0?1:0)].size;gn+=gj}return{index:gn,lineN:gm}}function cS(gi,gm,gl){var gk=gi.display,gj=gk.view;if(gj.length==0||gm>=gk.viewTo||gl<=gk.viewFrom){gk.view=eW(gi,gm,gl);gk.viewFrom=gm}else{if(gk.viewFrom>gm){gk.view=eW(gi,gm,gk.viewFrom).concat(gk.view)}else{if(gk.viewFrom<gm){gk.view=gk.view.slice(ds(gi,gm))}}gk.viewFrom=gm;if(gk.viewTo<gl){gk.view=gk.view.concat(eW(gi,gk.viewTo,gl))}else{if(gk.viewTo>gl){gk.view=gk.view.slice(0,ds(gi,gl))}}}gk.viewTo=gl}function dc(gi){var gj=gi.display.view,gm=0;for(var gl=0;gl<gj.length;gl++){var gk=gj[gl];if(!gk.hidden&&(!gk.node||gk.changes)){++gm}}return gm}function fR(gj){var gn=gj.display;bY(gn.scroller,"mousedown",c3(gj,ev));if(dL&&k<11){bY(gn.scroller,"dblclick",c3(gj,function(gr){if(aR(gj,gr)){return}var gs=co(gj,gr);if(!gs||l(gj,gr)||bc(gj.display,gr)){return}cH(gr);var gq=gj.findWordAt(gs);fX(gj.doc,gq.anchor,gq.head)}))}else{bY(gn.scroller,"dblclick",function(gq){aR(gj,gq)||cH(gq)})}if(!ga){bY(gn.scroller,"contextmenu",function(gq){ay(gj,gq)})}var gp,gi={end:0};function go(){if(gn.activeTouch){gp=setTimeout(function(){gn.activeTouch=null},1000);gi=gn.activeTouch;gi.end=+new Date}}function gl(gq){if(gq.touches.length!=1){return false}var gr=gq.touches[0];return gr.radiusX<=1&&gr.radiusY<=1}function gk(gt,gq){if(gq.left==null){return true}var gs=gq.left-gt.left,gr=gq.top-gt.top;return gs*gs+gr*gr>20*20}bY(gn.scroller,"touchstart",function(gr){if(!gl(gr)){clearTimeout(gp);var gq=+new Date;gn.activeTouch={start:gq,moved:false,prev:gq-gi.end<=300?gi:null};if(gr.touches.length==1){gn.activeTouch.left=gr.touches[0].pageX;gn.activeTouch.top=gr.touches[0].pageY}}});bY(gn.scroller,"touchmove",function(){if(gn.activeTouch){gn.activeTouch.moved=true}});bY(gn.scroller,"touchend",function(gr){var gt=gn.activeTouch;if(gt&&!bc(gn,gr)&&gt.left!=null&&!gt.moved&&new Date-gt.start<300){var gs=gj.coordsChar(gn.activeTouch,"page"),gq;if(!gt.prev||gk(gt,gt.prev)){gq=new dZ(gs,gs)}else{if(!gt.prev.prev||gk(gt,gt.prev.prev)){gq=gj.findWordAt(gs)}else{gq=new dZ(W(gs.line,0),fK(gj.doc,W(gs.line+1,0)))}}gj.setSelection(gq.anchor,gq.head);gj.focus();cH(gr)}go()});bY(gn.scroller,"touchcancel",go);bY(gn.scroller,"scroll",function(){if(gn.scroller.clientHeight){N(gj,gn.scroller.scrollTop);bF(gj,gn.scroller.scrollLeft,true);aE(gj,"scroll",gj)}});bY(gn.scroller,"mousewheel",function(gq){b(gj,gq)});bY(gn.scroller,"DOMMouseScroll",function(gq){b(gj,gq)});bY(gn.wrapper,"scroll",function(){gn.wrapper.scrollTop=gn.wrapper.scrollLeft=0});gn.dragFunctions={simple:function(gq){if(!aR(gj,gq)){es(gq)}},start:function(gq){Q(gj,gq)},drop:c3(gj,bl)};var gm=gn.input.getField();bY(gm,"keyup",function(gq){bj.call(gj,gq)});bY(gm,"keydown",c3(gj,p));bY(gm,"keypress",c3(gj,cy));bY(gm,"focus",cw(cC,gj));bY(gm,"blur",cw(aV,gj))}function f1(gj,gm,gk){var gn=gk&&gk!=H.Init;if(!gm!=!gn){var gl=gj.display.dragFunctions;var gi=gm?bY:ee;gi(gj.display.scroller,"dragstart",gl.start);gi(gj.display.scroller,"dragenter",gl.simple);gi(gj.display.scroller,"dragover",gl.simple);gi(gj.display.scroller,"drop",gl.drop)}}function aT(gi){var gj=gi.display;if(gj.lastWrapHeight==gj.wrapper.clientHeight&&gj.lastWrapWidth==gj.wrapper.clientWidth){return}gj.cachedCharWidth=gj.cachedTextHeight=gj.cachedPaddingH=null;gj.scrollbarsClipped=false;gi.setSize()}function bc(gj,gi){for(var gk=L(gi);gk!=gj.wrapper;gk=gk.parentNode){if(!gk||(gk.nodeType==1&&gk.getAttribute("cm-ignore-events")=="true")||(gk.parentNode==gj.sizer&&gk!=gj.mover)){return true}}}function co(gr,gm,gj,gk){var gn=gr.display;if(!gj&&L(gm).getAttribute("cm-not-content")=="true"){return null}var gq,go,gi=gn.lineSpace.getBoundingClientRect();try{gq=gm.clientX-gi.left;go=gm.clientY-gi.top}catch(gm){return null}var gp=fP(gr,gq,go),gs;if(gk&&gp.xRel==1&&(gs=fg(gr.doc,gp.line).text).length==gp.ch){var gl=bU(gs,gs.length,gr.options.tabSize)-gs.length;gp=W(gp.line,Math.max(0,Math.round((gq-e6(gr.display).left)/dE(gr.display))-gl))}return gp}function ev(gk){var gi=this,gj=gi.display;if(gj.activeTouch&&gj.input.supportsTouch()||aR(gi,gk)){return}gj.shift=gk.shiftKey;if(bc(gj,gk)){if(!c1){gj.scroller.draggable=false;setTimeout(function(){gj.scroller.draggable=true},100)}return}if(l(gi,gk)){return}var gl=co(gi,gk);window.focus();switch(fO(gk)){case 1:if(gl){ax(gi,gk,gl)}else{if(L(gk)==gj.scroller){cH(gk)}}break;case 2:if(c1){gi.state.lastMiddleDown=+new Date}if(gl){fX(gi.doc,gl)}setTimeout(function(){gj.input.focus()},20);cH(gk);break;case 3:if(ga){ay(gi,gk)}else{al(gi)}break}}var dp,de;function ax(gj,go,gp){if(dL){setTimeout(cw(r,gj),0)}else{gj.curOp.focus=dP()}var gk=+new Date,gm;if(de&&de.time>gk-400&&cg(de.pos,gp)==0){gm="triple"}else{if(dp&&dp.time>gk-400&&cg(dp.pos,gp)==0){gm="double";de={time:gk,pos:gp}}else{gm="single";dp={time:gk,pos:gp}}}var gn=gj.doc.sel,gi=b8?go.metaKey:go.ctrlKey,gl;if(gj.options.dragDrop&&eM&&!aj(gj)&&gm=="single"&&(gl=gn.contains(gp))>-1&&(cg((gl=gn.ranges[gl]).from(),gp)<0||gp.xRel>0)&&(cg(gl.to(),gp)>0||gp.xRel<0)){a4(gj,go,gp,gi)}else{m(gj,go,gp,gm,gi)}}function a4(gk,gn,go,gj){var gm=gk.display,gl=+new Date;var gi=c3(gk,function(gp){if(c1){gm.scroller.draggable=false}gk.state.draggingText=false;ee(document,"mouseup",gi);ee(gm.scroller,"drop",gi);if(Math.abs(gn.clientX-gp.clientX)+Math.abs(gn.clientY-gp.clientY)<10){cH(gp);if(!gj&&+new Date-200<gl){fX(gk.doc,go)}if(c1||dL&&k==9){setTimeout(function(){document.body.focus();gm.input.focus()},20)}else{gm.input.focus()}}});if(c1){gm.scroller.draggable=true}gk.state.draggingText=gi;if(gm.scroller.dragDrop){gm.scroller.dragDrop()}bY(document,"mouseup",gi);bY(gm.scroller,"drop",gi)}function m(gm,gA,gl,gj,go){var gx=gm.display,gC=gm.doc;cH(gA);var gk,gB,gn=gC.sel,gi=gn.ranges;if(go&&!gA.shiftKey){gB=gC.sel.contains(gl);if(gB>-1){gk=gi[gB]}else{gk=new dZ(gl,gl)}}else{gk=gC.sel.primary();gB=gC.sel.primIndex}if(gA.altKey){gj="rect";if(!go){gk=new dZ(gl,gl)}gl=co(gm,gA,true,true);gB=-1}else{if(gj=="double"){var gy=gm.findWordAt(gl);if(gm.display.shift||gC.extend){gk=fw(gC,gk,gy.anchor,gy.head)}else{gk=gy}}else{if(gj=="triple"){var gr=new dZ(W(gl.line,0),fK(gC,W(gl.line+1,0)));if(gm.display.shift||gC.extend){gk=fw(gC,gk,gr.anchor,gr.head)}else{gk=gr}}else{gk=fw(gC,gk,gl)}}}if(!go){gB=0;bV(gC,new f4([gk],0),M);gn=gC.sel}else{if(gB==-1){gB=gi.length;bV(gC,cx(gi.concat([gk]),gB),{scroll:false,origin:"*mouse"})}else{if(gi.length>1&&gi[gB].empty()&&gj=="single"&&!gA.shiftKey){bV(gC,cx(gi.slice(0,gB).concat(gi.slice(gB+1)),0));gn=gC.sel}else{e(gC,gB,gk,M)}}}var gw=gl;function gv(gN){if(cg(gw,gN)==0){return}gw=gN;if(gj=="rect"){var gE=[],gK=gm.options.tabSize;var gD=bU(fg(gC,gl.line).text,gl.ch,gK);var gQ=bU(fg(gC,gN.line).text,gN.ch,gK);var gF=Math.min(gD,gQ),gO=Math.max(gD,gQ);for(var gR=Math.min(gl.line,gN.line),gH=Math.min(gm.lastLine(),Math.max(gl.line,gN.line));gR<=gH;gR++){var gP=fg(gC,gR).text,gG=er(gP,gF,gK);if(gF==gO){gE.push(new dZ(W(gR,gG),W(gR,gG)))}else{if(gP.length>gG){gE.push(new dZ(W(gR,gG),W(gR,er(gP,gO,gK))))}}}if(!gE.length){gE.push(new dZ(gl,gl))}bV(gC,cx(gn.ranges.slice(0,gB).concat(gE),gB),{origin:"*mouse",scroll:false});gm.scrollIntoView(gN)}else{var gL=gk;var gI=gL.anchor,gM=gN;if(gj!="single"){if(gj=="double"){var gJ=gm.findWordAt(gN)}else{var gJ=new dZ(W(gN.line,0),fK(gC,W(gN.line+1,0)))}if(cg(gJ.anchor,gI)>0){gM=gJ.head;gI=ar(gL.from(),gJ.anchor)}else{gM=gJ.anchor;gI=by(gL.to(),gJ.head)}}var gE=gn.ranges.slice(0);gE[gB]=new dZ(fK(gC,gI),gM);bV(gC,cx(gE,gB),M)}}var gt=gx.wrapper.getBoundingClientRect();var gp=0;function gz(gF){var gD=++gp;var gH=co(gm,gF,true,gj=="rect");if(!gH){return}if(cg(gH,gw)!=0){gm.curOp.focus=dP();gv(gH);var gG=b7(gx,gC);if(gH.line>=gG.to||gH.line<gG.from){setTimeout(c3(gm,function(){if(gp==gD){gz(gF)}}),150)}}else{var gE=gF.clientY<gt.top?-20:gF.clientY>gt.bottom?20:0;if(gE){setTimeout(c3(gm,function(){if(gp!=gD){return}gx.scroller.scrollTop+=gE;gz(gF)}),50)}}}function gs(gD){gp=Infinity;cH(gD);gx.input.focus();ee(document,"mousemove",gu);ee(document,"mouseup",gq);gC.history.lastSelOrigin=null}var gu=c3(gm,function(gD){if(!fO(gD)){gs(gD)}else{gz(gD)}});var gq=c3(gm,gs);bY(document,"mousemove",gu);bY(document,"mouseup",gq)}function gg(gt,gp,gr,gs,gl){try{var gj=gp.clientX,gi=gp.clientY}catch(gp){return false}if(gj>=Math.floor(gt.display.gutters.getBoundingClientRect().right)){return false}if(gs){cH(gp)}var gq=gt.display;var go=gq.lineDiv.getBoundingClientRect();if(gi>go.bottom||!fj(gt,gr)){return bM(gp)}gi-=go.top-gq.viewOffset;for(var gm=0;gm<gt.options.gutters.length;++gm){var gn=gq.gutters.childNodes[gm];if(gn&&gn.getBoundingClientRect().right>=gj){var gu=bH(gt.doc,gi);var gk=gt.options.gutters[gm];gl(gt,gr,gt,gu,gk,gp);return bM(gp)}}}function l(gi,gj){return gg(gi,gj,"gutterClick",true,ae)}var ag=0;function bl(go){var gq=this;if(aR(gq,go)||bc(gq.display,go)){return}cH(go);if(dL){ag=+new Date}var gp=co(gq,go,true),gi=go.dataTransfer.files;if(!gp||aj(gq)){return}if(gi&&gi.length&&window.FileReader&&window.File){var gk=gi.length,gr=Array(gk),gj=0;var gm=function(gu,gt){var gs=new FileReader;gs.onload=c3(gq,function(){gr[gt]=gs.result;if(++gj==gk){gp=fK(gq.doc,gp);var gv={from:gp,to:gp,text:a1(gr.join("\n")),origin:"paste"};bh(gq.doc,gv);e8(gq.doc,eT(gp,cY(gv)))}});gs.readAsText(gu)};for(var gn=0;gn<gk;++gn){gm(gi[gn],gn)}}else{if(gq.state.draggingText&&gq.doc.sel.contains(gp)>-1){gq.state.draggingText(go);setTimeout(function(){gq.display.input.focus()},20);return}try{var gr=go.dataTransfer.getData("Text");if(gr){if(gq.state.draggingText&&!(b8?go.altKey:go.ctrlKey)){var gl=gq.listSelections()}eq(gq.doc,eT(gp,gp));if(gl){for(var gn=0;gn<gl.length;++gn){a2(gq.doc,"",gl[gn].anchor,gl[gn].head,"drag")}}gq.replaceSelection(gr,"around","paste");gq.display.input.focus()}}catch(go){}}}function Q(gi,gk){if(dL&&(!gi.state.draggingText||+new Date-ag<100)){es(gk);return}if(aR(gi,gk)||bc(gi.display,gk)){return}gk.dataTransfer.setData("Text",gi.getSelection());if(gk.dataTransfer.setDragImage&&!aC){var gj=f3("img",null,null,"position: fixed; left: 0; top: 0;");gj.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";if(d4){gj.width=gj.height=1;gi.display.wrapper.appendChild(gj);gj._top=gj.offsetTop}gk.dataTransfer.setDragImage(gj,0,0);if(d4){gj.parentNode.removeChild(gj)}}}function N(gi,gj){if(Math.abs(gi.doc.scrollTop-gj)<2){return}gi.doc.scrollTop=gj;if(!cp){dU(gi,{top:gj})}if(gi.display.scroller.scrollTop!=gj){gi.display.scroller.scrollTop=gj}gi.display.scrollbars.setScrollTop(gj);if(cp){dU(gi)}eg(gi,100)}function bF(gi,gk,gj){if(gj?gk==gi.doc.scrollLeft:Math.abs(gi.doc.scrollLeft-gk)<2){return}gk=Math.min(gk,gi.display.scroller.scrollWidth-gi.display.scroller.clientWidth);gi.doc.scrollLeft=gk;eF(gi);if(gi.display.scroller.scrollLeft!=gk){gi.display.scroller.scrollLeft=gk}gi.display.scrollbars.setScrollLeft(gk)}var fn=0,ch=null;if(dL){ch=-0.53}else{if(cp){ch=15}else{if(dd){ch=-0.7}else{if(aC){ch=-1/3}}}}var cR=function(gk){var gj=gk.wheelDeltaX,gi=gk.wheelDeltaY;if(gj==null&&gk.detail&&gk.axis==gk.HORIZONTAL_AXIS){gj=gk.detail}if(gi==null&&gk.detail&&gk.axis==gk.VERTICAL_AXIS){gi=gk.detail}else{if(gi==null){gi=gk.wheelDelta}}return{x:gj,y:gi}};H.wheelEventPixels=function(gi){var gj=cR(gi);gj.x*=ch;gj.y*=ch;return gj};function b(gq,gk){var gr=cR(gk),gu=gr.x,gt=gr.y;var gm=gq.display,gp=gm.scroller;if(!(gu&&gp.scrollWidth>gp.clientWidth||gt&&gp.scrollHeight>gp.clientHeight)){return}if(gt&&b8&&c1){outer:for(var gs=gk.target,go=gm.view;gs!=gp;gs=gs.parentNode){for(var gj=0;gj<go.length;gj++){if(go[gj].node==gs){gq.display.currentWheelTarget=gs;break outer}}}}if(gu&&!cp&&!d4&&ch!=null){if(gt){N(gq,Math.max(0,Math.min(gp.scrollTop+gt*ch,gp.scrollHeight-gp.clientHeight)))}bF(gq,Math.max(0,Math.min(gp.scrollLeft+gu*ch,gp.scrollWidth-gp.clientWidth)));cH(gk);gm.wheelStartX=null;return}if(gt&&ch!=null){var gi=gt*ch;var gn=gq.doc.scrollTop,gl=gn+gm.wrapper.clientHeight;if(gi<0){gn=Math.max(0,gn+gi-50)}else{gl=Math.min(gq.doc.height,gl+gi+50)}dU(gq,{top:gn,bottom:gl})}if(fn<20){if(gm.wheelStartX==null){gm.wheelStartX=gp.scrollLeft;gm.wheelStartY=gp.scrollTop;gm.wheelDX=gu;gm.wheelDY=gt;setTimeout(function(){if(gm.wheelStartX==null){return}var gv=gp.scrollLeft-gm.wheelStartX;var gx=gp.scrollTop-gm.wheelStartY;var gw=(gx&&gm.wheelDY&&gx/gm.wheelDY)||(gv&&gm.wheelDX&&gv/gm.wheelDX);gm.wheelStartX=gm.wheelStartY=null;if(!gw){return}ch=(ch*fn+gw)/(fn+1);++fn},200)}else{gm.wheelDX+=gu;gm.wheelDY+=gt}}}function fS(gj,gm,gi){if(typeof gm=="string"){gm=eE[gm];if(!gm){return false}}gj.display.input.ensurePolled();var gl=gj.display.shift,gk=false;try{if(aj(gj)){gj.state.suppressEdits=true}if(gi){gj.display.shift=false}gk=gm(gj)!=cb}finally{gj.display.shift=gl;gj.state.suppressEdits=false}return gk}function eb(gj,gk,gm){for(var gl=0;gl<gj.state.keyMaps.length;gl++){var gi=i(gk,gj.state.keyMaps[gl],gm,gj);if(gi){return gi}}return(gj.options.extraKeys&&i(gk,gj.options.extraKeys,gm,gj))||i(gk,gj.options.keyMap,gm,gj)}var dN=new gh;function be(gj,gl,gn,gm){var gk=gj.state.keySeq;if(gk){if(eD(gl)){return"handled"}dN.set(50,function(){if(gj.state.keySeq==gk){gj.state.keySeq=null;gj.display.input.reset()}});gl=gk+" "+gl}var gi=eb(gj,gl,gm);if(gi=="multi"){gj.state.keySeq=gl}if(gi=="handled"){ae(gj,"keyHandled",gj,gl,gn)}if(gi=="handled"||gi=="multi"){cH(gn);o(gj)}if(gk&&!gi&&/\'$/.test(gl)){cH(gn);return true}return !!gi}function fk(gi,gk){var gj=fs(gk,true);if(!gj){return false}if(gk.shiftKey&&!gi.state.keySeq){return be(gi,"Shift-"+gj,gk,function(gl){return fS(gi,gl,true)})||be(gi,gj,gk,function(gl){if(typeof gl=="string"?/^go[A-Z]/.test(gl):gl.motion){return fS(gi,gl)}})}else{return be(gi,gj,gk,function(gl){return fS(gi,gl)})}}function ek(gi,gk,gj){return be(gi,"'"+gj+"'",gk,function(gl){return fS(gi,gl,true)})}var dn=null;function p(gl){var gi=this;gi.curOp.focus=dP();if(aR(gi,gl)){return}if(dL&&k<11&&gl.keyCode==27){gl.returnValue=false}var gj=gl.keyCode;gi.display.shift=gj==16||gl.shiftKey;var gk=fk(gi,gl);if(d4){dn=gk?gj:null;if(!gk&&gj==88&&!db&&(b8?gl.metaKey:gl.ctrlKey)){gi.replaceSelection("",null,"cut")}}if(gj==18&&!/\bCodeMirror-crosshair\b/.test(gi.display.lineDiv.className)){av(gi)}}function av(gj){var gk=gj.display.lineDiv;fB(gk,"CodeMirror-crosshair");function gi(gl){if(gl.keyCode==18||!gl.altKey){f(gk,"CodeMirror-crosshair");ee(document,"keyup",gi);ee(document,"mouseover",gi)}}bY(document,"keyup",gi);bY(document,"mouseover",gi)}function bj(gi){if(gi.keyCode==16){this.doc.sel.shift=false}aR(this,gi)}function cy(gm){var gi=this;if(bc(gi.display,gm)||aR(gi,gm)||gm.ctrlKey&&!gm.altKey||b8&&gm.metaKey){return}var gl=gm.keyCode,gj=gm.charCode;if(d4&&gl==dn){dn=null;cH(gm);return}if((d4&&(!gm.which||gm.which<10))&&fk(gi,gm)){return}var gk=String.fromCharCode(gj==null?gl:gj);if(ek(gi,gm,gk)){return}gi.display.input.onKeyPress(gm)}function al(gi){gi.state.delayingBlurEvent=true;setTimeout(function(){if(gi.state.delayingBlurEvent){gi.state.delayingBlurEvent=false;aV(gi)}},100)}function cC(gi){if(gi.state.delayingBlurEvent){gi.state.delayingBlurEvent=false}if(gi.options.readOnly=="nocursor"){return}if(!gi.state.focused){aE(gi,"focus",gi);gi.state.focused=true;fB(gi.display.wrapper,"CodeMirror-focused");if(!gi.curOp&&gi.display.selForContextMenu!=gi.doc.sel){gi.display.input.reset();if(c1){setTimeout(function(){gi.display.input.reset(true)},20)}}gi.display.input.receivedFocus()}o(gi)}function aV(gi){if(gi.state.delayingBlurEvent){return}if(gi.state.focused){aE(gi,"blur",gi);gi.state.focused=false;f(gi.display.wrapper,"CodeMirror-focused")}clearInterval(gi.display.blinker);setTimeout(function(){if(!gi.state.focused){gi.display.shift=false}},150)}function ay(gi,gj){if(bc(gi.display,gj)||dh(gi,gj)){return}gi.display.input.onContextMenu(gj)}function dh(gi,gj){if(!fj(gi,"gutterContextMenu")){return false}return gg(gi,gj,"gutterContextMenu",false,aE)}var cY=H.changeEnd=function(gi){if(!gi.text){return gi.to}return W(gi.from.line+gi.text.length-1,fH(gi.text).length+(gi.text.length==1?gi.from.ch:0))};function b0(gl,gk){if(cg(gl,gk.from)<0){return gl}if(cg(gl,gk.to)<=0){return cY(gk)}var gi=gl.line+gk.text.length-(gk.to.line-gk.from.line)-1,gj=gl.ch;if(gl.line==gk.to.line){gj+=cY(gk).ch-gk.to.ch}return W(gi,gj)}function fl(gl,gm){var gj=[];for(var gk=0;gk<gl.sel.ranges.length;gk++){var gi=gl.sel.ranges[gk];gj.push(new dZ(b0(gi.anchor,gm),b0(gi.head,gm)))}return cx(gj,gl.sel.primIndex)}function bv(gk,gj,gi){if(gk.line==gj.line){return W(gi.line,gk.ch-gj.ch+gi.ch)}else{return W(gi.line+(gk.line-gj.line),gk.ch)}}function af(gs,gp,gj){var gk=[];var gi=W(gs.first,0),gt=gi;for(var gm=0;gm<gp.length;gm++){var go=gp[gm];var gr=bv(go.from,gi,gt);var gq=bv(cY(go),gi,gt);gi=go.to;gt=gq;if(gj=="around"){var gn=gs.sel.ranges[gm],gl=cg(gn.head,gn.anchor)<0;gk[gm]=new dZ(gl?gq:gr,gl?gr:gq)}else{gk[gm]=new dZ(gr,gr)}}return new f4(gk,gs.sel.primIndex)}function dS(gj,gl,gk){var gi={canceled:false,from:gl.from,to:gl.to,text:gl.text,origin:gl.origin,cancel:function(){this.canceled=true}};if(gk){gi.update=function(gp,go,gn,gm){if(gp){this.from=fK(gj,gp)}if(go){this.to=fK(gj,go)}if(gn){this.text=gn}if(gm!==undefined){this.origin=gm}}}aE(gj,"beforeChange",gj,gi);if(gj.cm){aE(gj.cm,"beforeChange",gj.cm,gi)}if(gi.canceled){return null}return{from:gi.from,to:gi.to,text:gi.text,origin:gi.origin}}function bh(gl,gm,gk){if(gl.cm){if(!gl.cm.curOp){return c3(gl.cm,bh)(gl,gm,gk)}if(gl.cm.state.suppressEdits){return}}if(fj(gl,"beforeChange")||gl.cm&&fj(gl.cm,"beforeChange")){gm=dS(gl,gm,true);if(!gm){return}}var gj=gd&&!gk&&cI(gl,gm.from,gm.to);if(gj){for(var gi=gj.length-1;gi>=0;--gi){K(gl,{from:gj[gi].from,to:gj[gi].to,text:gi?[""]:gm.text})}}else{K(gl,gm)}}function K(gk,gl){if(gl.text.length==1&&gl.text[0]==""&&cg(gl.from,gl.to)==0){return}var gj=fl(gk,gl);fN(gk,gl,gj,gk.cm?gk.cm.curOp.id:NaN);ef(gk,gl,gj,el(gk,gl));var gi=[];d8(gk,function(gn,gm){if(!gm&&di(gi,gn.history)==-1){dF(gn.history,gl);gi.push(gn.history)}ef(gn,gl,null,el(gn,gl))})}function b9(gt,gr,gv){if(gt.cm&&gt.cm.state.suppressEdits){return}var gq=gt.history,gk,gm=gt.sel;var gi=gr=="undo"?gq.done:gq.undone,gu=gr=="undo"?gq.undone:gq.done;for(var gn=0;gn<gi.length;gn++){gk=gi[gn];if(gv?gk.ranges&&!gk.equals(gt.sel):!gk.ranges){break}}if(gn==gi.length){return}gq.lastOrigin=gq.lastSelOrigin=null;for(;;){gk=gi.pop();if(gk.ranges){cO(gk,gu);if(gv&&!gk.equals(gt.sel)){bV(gt,gk,{clearRedo:false});return}gm=gk}else{break}}var gp=[];cO(gm,gu);gu.push({changes:gp,generation:gq.generation});gq.generation=gk.generation||++gq.maxGeneration;var gl=fj(gt,"beforeChange")||gt.cm&&fj(gt.cm,"beforeChange");for(var gn=gk.changes.length-1;gn>=0;--gn){var gs=gk.changes[gn];gs.origin=gr;if(gl&&!dS(gt,gs,false)){gi.length=0;return}gp.push(dv(gt,gs));var gj=gn?fl(gt,gs):fH(gi);ef(gt,gs,gj,ea(gt,gs));if(!gn&&gt.cm){gt.cm.scrollIntoView({from:gs.from,to:cY(gs)})}var go=[];d8(gt,function(gx,gw){if(!gw&&di(go,gx.history)==-1){dF(gx.history,gs);go.push(gx.history)}ef(gx,gs,null,ea(gx,gs))})}}function fo(gj,gl){if(gl==0){return}gj.first+=gl;gj.sel=new f4(bT(gj.sel.ranges,function(gm){return new dZ(W(gm.anchor.line+gl,gm.anchor.ch),W(gm.head.line+gl,gm.head.ch))}),gj.sel.primIndex);if(gj.cm){ah(gj.cm,gj.first,gj.first-gl,gl);for(var gk=gj.cm.display,gi=gk.viewFrom;gi<gk.viewTo;gi++){R(gj.cm,gi,"gutter")}}}function ef(gm,gn,gl,gj){if(gm.cm&&!gm.cm.curOp){return c3(gm.cm,ef)(gm,gn,gl,gj)}if(gn.to.line<gm.first){fo(gm,gn.text.length-1-(gn.to.line-gn.from.line));return}if(gn.from.line>gm.lastLine()){return}if(gn.from.line<gm.first){var gi=gn.text.length-1-(gm.first-gn.from.line);fo(gm,gi);gn={from:W(gm.first,0),to:W(gn.to.line+gi,gn.to.ch),text:[fH(gn.text)],origin:gn.origin}}var gk=gm.lastLine();if(gn.to.line>gk){gn={from:gn.from,to:W(gk,fg(gm,gk).text.length),text:[gn.text[0]],origin:gn.origin}}gn.removed=f5(gm,gn.from,gn.to);if(!gl){gl=fl(gm,gn)}if(gm.cm){aJ(gm.cm,gn,gj)}else{fz(gm,gn,gj)}eq(gm,gl,Z)}function aJ(gt,gp,gn){var gs=gt.doc,go=gt.display,gq=gp.from,gr=gp.to;var gi=false,gm=gq.line;if(!gt.options.lineWrapping){gm=bO(y(fg(gs,gq.line)));gs.iter(gm,gr.line+1,function(gv){if(gv==go.maxLine){gi=true;return true}})}if(gs.sel.contains(gp.from,gp.to)>-1){V(gt)}fz(gs,gp,gn,bf(gt));if(!gt.options.lineWrapping){gs.iter(gm,gq.line+gp.text.length,function(gw){var gv=eo(gw);if(gv>go.maxLineLength){go.maxLine=gw;go.maxLineLength=gv;go.maxLineChanged=true;gi=false}});if(gi){gt.curOp.updateMaxLine=true}}gs.frontier=Math.min(gs.frontier,gq.line);eg(gt,400);var gu=gp.text.length-(gr.line-gq.line)-1;if(gp.full){ah(gt)}else{if(gq.line==gr.line&&gp.text.length==1&&!dT(gt.doc,gp)){R(gt,gq.line,"text")}else{ah(gt,gq.line,gr.line+1,gu)}}var gk=fj(gt,"changes"),gl=fj(gt,"change");if(gl||gk){var gj={from:gq,to:gr,text:gp.text,removed:gp.removed,origin:gp.origin};if(gl){ae(gt,"change",gt,gj)}if(gk){(gt.curOp.changeObjs||(gt.curOp.changeObjs=[])).push(gj)}}gt.display.selForContextMenu=null}function a2(gl,gk,gn,gm,gi){if(!gm){gm=gn}if(cg(gm,gn)<0){var gj=gm;gm=gn;gn=gj}if(typeof gk=="string"){gk=a1(gk)}bh(gl,{from:gn,to:gm,text:gk,origin:gi})}function d7(gj,gm){if(aR(gj,"scrollCursorIntoView")){return}var gn=gj.display,gk=gn.sizer.getBoundingClientRect(),gi=null;if(gm.top+gk.top<0){gi=true}else{if(gm.bottom+gk.top>(window.innerHeight||document.documentElement.clientHeight)){gi=false}}if(gi!=null&&!fv){var gl=f3("div","\u200b",null,"position: absolute; top: "+(gm.top-gn.viewOffset-e9(gj.display))+"px; height: "+(gm.bottom-gm.top+cU(gj)+gn.barHeight)+"px; left: "+gm.left+"px; width: 2px;");gj.display.lineSpace.appendChild(gl);gl.scrollIntoView(gi);gj.display.lineSpace.removeChild(gl)}}function D(gs,gq,gm,gl){if(gl==null){gl=0}for(var gn=0;gn<5;gn++){var go=false,gr=dV(gs,gq);var gi=!gm||gm==gq?gr:dV(gs,gm);var gk=G(gs,Math.min(gr.left,gi.left),Math.min(gr.top,gi.top)-gl,Math.max(gr.left,gi.left),Math.max(gr.bottom,gi.bottom)+gl);var gp=gs.doc.scrollTop,gj=gs.doc.scrollLeft;if(gk.scrollTop!=null){N(gs,gk.scrollTop);if(Math.abs(gs.doc.scrollTop-gp)>1){go=true}}if(gk.scrollLeft!=null){bF(gs,gk.scrollLeft);if(Math.abs(gs.doc.scrollLeft-gj)>1){go=true}}if(!go){break}}return gr}function E(gi,gk,gm,gj,gl){var gn=G(gi,gk,gm,gj,gl);if(gn.scrollTop!=null){N(gi,gn.scrollTop)}if(gn.scrollLeft!=null){bF(gi,gn.scrollLeft)}}function G(gu,gl,gt,gj,gs){var gq=gu.display,go=aY(gu.display);if(gt<0){gt=0}var gm=gu.curOp&&gu.curOp.scrollTop!=null?gu.curOp.scrollTop:gq.scroller.scrollTop;var gw=cW(gu),gy={};if(gs-gt>gw){gs=gt+gw}var gk=gu.doc.height+bJ(gq);var gi=gt<go,gp=gs>gk-go;if(gt<gm){gy.scrollTop=gi?0:gt}else{if(gs>gm+gw){var gr=Math.min(gt,(gp?gk:gs)-gw);if(gr!=gm){gy.scrollTop=gr}}}var gx=gu.curOp&&gu.curOp.scrollLeft!=null?gu.curOp.scrollLeft:gq.scroller.scrollLeft;var gv=dm(gu)-(gu.options.fixedGutter?gq.gutters.offsetWidth:0);var gn=gj-gl>gv;if(gn){gj=gl+gv}if(gl<10){gy.scrollLeft=0}else{if(gl<gx){gy.scrollLeft=Math.max(0,gl-(gn?0:10))}else{if(gj>gv+gx-3){gy.scrollLeft=gj+(gn?0:10)-gv}}}return gy}function cM(gi,gk,gj){if(gk!=null||gj!=null){fD(gi)}if(gk!=null){gi.curOp.scrollLeft=(gi.curOp.scrollLeft==null?gi.doc.scrollLeft:gi.curOp.scrollLeft)+gk}if(gj!=null){gi.curOp.scrollTop=(gi.curOp.scrollTop==null?gi.doc.scrollTop:gi.curOp.scrollTop)+gj}}function fG(gi){fD(gi);var gj=gi.getCursor(),gl=gj,gk=gj;if(!gi.options.lineWrapping){gl=gj.ch?W(gj.line,gj.ch-1):gj;gk=W(gj.line,gj.ch+1)}gi.curOp.scrollToPos={from:gl,to:gk,margin:gi.options.cursorScrollMargin,isCursor:true}}function fD(gi){var gk=gi.curOp.scrollToPos;if(gk){gi.curOp.scrollToPos=null;var gm=dI(gi,gk.from),gl=dI(gi,gk.to);var gj=G(gi,Math.min(gm.left,gl.left),Math.min(gm.top,gl.top)-gk.margin,Math.max(gm.right,gl.right),Math.max(gm.bottom,gl.bottom)+gk.margin);gi.scrollTo(gj.scrollLeft,gj.scrollTop)}}function ad(gv,gl,gu,gk){var gt=gv.doc,gj;if(gu==null){gu="add"}if(gu=="smart"){if(!gt.mode.indent){gu="prev"}else{gj=dD(gv,gl)}}var gp=gv.options.tabSize;var gw=fg(gt,gl),go=bU(gw.text,null,gp);if(gw.stateAfter){gw.stateAfter=null}var gi=gw.text.match(/^\s*/)[0],gr;if(!gk&&!/\S/.test(gw.text)){gr=0;gu="not"}else{if(gu=="smart"){gr=gt.mode.indent(gj,gw.text.slice(gi.length),gw.text);if(gr==cb||gr>150){if(!gk){return}gu="prev"}}}if(gu=="prev"){if(gl>gt.first){gr=bU(fg(gt,gl-1).text,null,gp)}else{gr=0}}else{if(gu=="add"){gr=go+gv.options.indentUnit}else{if(gu=="subtract"){gr=go-gv.options.indentUnit}else{if(typeof gu=="number"){gr=go+gu}}}}gr=Math.max(0,gr);var gs="",gq=0;if(gv.options.indentWithTabs){for(var gm=Math.floor(gr/gp);gm;--gm){gq+=gp;gs+="\t"}}if(gq<gr){gs+=cq(gr-gq)}if(gs!=gi){a2(gt,gs,W(gl,0),W(gl,gi.length),"+input");gw.stateAfter=null;return true}else{for(var gm=0;gm<gt.sel.ranges.length;gm++){var gn=gt.sel.ranges[gm];if(gn.head.line==gl&&gn.head.ch<gi.length){var gq=W(gl,gi.length);e(gt,gm,new dZ(gq,gq));break}}}}function eA(gl,gk,gi,gn){var gm=gk,gj=gk;if(typeof gk=="number"){gj=fg(gl,c6(gl,gk))}else{gm=bO(gk)}if(gm==null){return null}if(gn(gj,gm)&&gl.cm){R(gl.cm,gm,gi)}return gj}function eY(gi,go){var gj=gi.doc.sel.ranges,gm=[];for(var gl=0;gl<gj.length;gl++){var gk=go(gj[gl]);while(gm.length&&cg(gk.from,fH(gm).to)<=0){var gn=gm.pop();if(cg(gn.from,gk.from)<0){gk.from=gn.from;break}}gm.push(gk)}cN(gi,function(){for(var gp=gm.length-1;gp>=0;gp--){a2(gi.doc,"",gm[gp].from,gm[gp].to,"+delete")}fG(gi)})}function bx(gA,gm,gu,gt,go){var gr=gm.line,gs=gm.ch,gz=gu;var gj=fg(gA,gr);var gx=true;function gy(){var gB=gr+gu;if(gB<gA.first||gB>=gA.first+gA.size){return(gx=false)}gr=gB;return gj=fg(gA,gB)}function gw(gC){var gB=(go?u:ai)(gj,gs,gu,true);if(gB==null){if(!gC&&gy()){if(go){gs=(gu<0?cT:cF)(gj)}else{gs=gu<0?gj.text.length:0}}else{return(gx=false)}}else{gs=gB}return true}if(gt=="char"){gw()}else{if(gt=="column"){gw(true)}else{if(gt=="word"||gt=="group"){var gv=null,gp=gt=="group";var gi=gA.cm&&gA.cm.getHelper(gm,"wordChars");for(var gn=true;;gn=false){if(gu<0&&!gw(!gn)){break}var gk=gj.text.charAt(gs)||"\n";var gl=cB(gk,gi)?"w":gp&&gk=="\n"?"n":!gp||/\s/.test(gk)?null:"p";if(gp&&!gn&&!gl){gl="s"}if(gv&&gv!=gl){if(gu<0){gu=1;gw()}break}if(gl){gv=gl}if(gu>0&&!gw(!gn)){break}}}}}var gq=bW(gA,W(gr,gs),gz,true);if(!gx){gq.hitSide=true}return gq}function br(gq,gl,gi,gp){var go=gq.doc,gn=gl.left,gm;if(gp=="page"){var gk=Math.min(gq.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);gm=gl.top+gi*(gk-(gi<0?1.5:0.5)*aY(gq.display))}else{if(gp=="line"){gm=gi>0?gl.bottom+3:gl.top-3}}for(;;){var gj=fP(gq,gn,gm);if(!gj.outside){break}if(gi<0?gm<=0:gm>=go.height){gj.hitSide=true;break}gm+=gi*5}return gj}H.prototype={constructor:H,focus:function(){window.focus();this.display.input.focus()},setOption:function(gk,gl){var gj=this.options,gi=gj[gk];if(gj[gk]==gl&&gk!="mode"){return}gj[gk]=gl;if(bg.hasOwnProperty(gk)){c3(this,bg[gk])(this,gl,gi)}},getOption:function(gi){return this.options[gi]},getDoc:function(){return this.doc},addKeyMap:function(gj,gi){this.state.keyMaps[gi?"push":"unshift"](fY(gj))},removeKeyMap:function(gj){var gk=this.state.keyMaps;for(var gi=0;gi<gk.length;++gi){if(gk[gi]==gj||gk[gi].name==gj){gk.splice(gi,1);return true}}},addOverlay:c9(function(gi,gj){var gk=gi.token?gi:H.getMode(this.options,gi);if(gk.startState){throw new Error("Overlays may not be stateful.")}this.state.overlays.push({mode:gk,modeSpec:gi,opaque:gj&&gj.opaque});this.state.modeGen++;ah(this)}),removeOverlay:c9(function(gi){var gk=this.state.overlays;for(var gj=0;gj<gk.length;++gj){var gl=gk[gj].modeSpec;if(gl==gi||typeof gi=="string"&&gl.name==gi){gk.splice(gj,1);this.state.modeGen++;ah(this);return}}}),indentLine:c9(function(gk,gi,gj){if(typeof gi!="string"&&typeof gi!="number"){if(gi==null){gi=this.options.smartIndent?"smart":"prev"}else{gi=gi?"add":"subtract"}}if(ca(this.doc,gk)){ad(this,gk,gi,gj)}}),indentSelection:c9(function(gr){var gi=this.doc.sel.ranges,gl=-1;for(var gn=0;gn<gi.length;gn++){var go=gi[gn];if(!go.empty()){var gp=go.from(),gq=go.to();var gj=Math.max(gl,gp.line);gl=Math.min(this.lastLine(),gq.line-(gq.ch?0:1))+1;for(var gm=gj;gm<gl;++gm){ad(this,gm,gr)}var gk=this.doc.sel.ranges;if(gp.ch==0&&gi.length==gk.length&&gk[gn].from().ch>0){e(this.doc,gn,new dZ(gp,gk[gn].to()),Z)}}else{if(go.head.line>gl){ad(this,go.head.line,gr,true);gl=go.head.line;if(gn==this.doc.sel.primIndex){fG(this)}}}}}),getTokenAt:function(gj,gi){return cr(this,gj,gi)},getLineTokens:function(gj,gi){return cr(this,W(gj),gi,true)},getTokenTypeAt:function(gp){gp=fK(this.doc,gp);var gl=c7(this,fg(this.doc,gp.line));var gn=0,go=(gl.length-1)/2,gk=gp.ch;var gj;if(gk==0){gj=gl[2]}else{for(;;){var gi=(gn+go)>>1;if((gi?gl[gi*2-1]:0)>=gk){go=gi}else{if(gl[gi*2+1]<gk){gn=gi+1}else{gj=gl[gi*2+2];break}}}}var gm=gj?gj.indexOf("cm-overlay "):-1;return gm<0?gj:gm==0?null:gj.slice(0,gm-1)},getModeAt:function(gj){var gi=this.doc.mode;if(!gi.innerMode){return gi}return H.innerMode(gi,this.getTokenAt(gj).state).mode},getHelper:function(gj,gi){return this.getHelpers(gj,gi)[0]},getHelpers:function(gp,gk){var gl=[];if(!fp.hasOwnProperty(gk)){return gl}var gi=fp[gk],go=this.getModeAt(gp);if(typeof go[gk]=="string"){if(gi[go[gk]]){gl.push(gi[go[gk]])}}else{if(go[gk]){for(var gj=0;gj<go[gk].length;gj++){var gn=gi[go[gk][gj]];if(gn){gl.push(gn)}}}else{if(go.helperType&&gi[go.helperType]){gl.push(gi[go.helperType])}else{if(gi[go.name]){gl.push(gi[go.name])}}}}for(var gj=0;gj<gi._global.length;gj++){var gm=gi._global[gj];if(gm.pred(go,this)&&di(gl,gm.val)==-1){gl.push(gm.val)}}return gl},getStateAfter:function(gj,gi){var gk=this.doc;gj=c6(gk,gj==null?gk.first+gk.size-1:gj);return dD(this,gj+1,gi)},cursorCoords:function(gl,gj){var gk,gi=this.doc.sel.primary();if(gl==null){gk=gi.head}else{if(typeof gl=="object"){gk=fK(this.doc,gl)}else{gk=gl?gi.from():gi.to()}}return dV(this,gk,gj||"page")},charCoords:function(gj,gi){return cK(this,fK(this.doc,gj),gi||"page")},coordsChar:function(gi,gj){gi=gf(this,gi,gj||"page");return fP(this,gi.left,gi.top)},lineAtHeight:function(gi,gj){gi=gf(this,{top:gi,left:0},gj||"page").top;return bH(this.doc,gi+this.display.viewOffset)},heightAtLine:function(gj,gm){var gi=false,gk;if(typeof gj=="number"){var gl=this.doc.first+this.doc.size-1;if(gj<this.doc.first){gj=this.doc.first}else{if(gj>gl){gj=gl;gi=true}}gk=fg(this.doc,gj)}else{gk=gj}return eR(this,gk,{top:0,left:0},gm||"page").top+(gi?this.doc.height-bN(gk):0)},defaultTextHeight:function(){return aY(this.display)},defaultCharWidth:function(){return dE(this.display)},setGutterMarker:c9(function(gi,gj,gk){return eA(this.doc,gi,"gutter",function(gl){var gm=gl.gutterMarkers||(gl.gutterMarkers={});gm[gj]=gk;if(!gk&&eV(gm)){gl.gutterMarkers=null}return true})}),clearGutter:c9(function(gk){var gi=this,gl=gi.doc,gj=gl.first;gl.iter(function(gm){if(gm.gutterMarkers&&gm.gutterMarkers[gk]){gm.gutterMarkers[gk]=null;R(gi,gj,"gutter");if(eV(gm.gutterMarkers)){gm.gutterMarkers=null}}++gj})}),lineInfo:function(gi){if(typeof gi=="number"){if(!ca(this.doc,gi)){return null}var gj=gi;gi=fg(this.doc,gi);if(!gi){return null}}else{var gj=bO(gi);if(gj==null){return null}}return{line:gj,handle:gi,text:gi.text,gutterMarkers:gi.gutterMarkers,textClass:gi.textClass,bgClass:gi.bgClass,wrapClass:gi.wrapClass,widgets:gi.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(gn,gk,gp,gl,gr){var gm=this.display;gn=dV(this,fK(this.doc,gn));var go=gn.bottom,gj=gn.left;gk.style.position="absolute";gk.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(gk);gm.sizer.appendChild(gk);if(gl=="over"){go=gn.top}else{if(gl=="above"||gl=="near"){var gi=Math.max(gm.wrapper.clientHeight,this.doc.height),gq=Math.max(gm.sizer.clientWidth,gm.lineSpace.clientWidth);if((gl=="above"||gn.bottom+gk.offsetHeight>gi)&&gn.top>gk.offsetHeight){go=gn.top-gk.offsetHeight}else{if(gn.bottom+gk.offsetHeight<=gi){go=gn.bottom}}if(gj+gk.offsetWidth>gq){gj=gq-gk.offsetWidth}}}gk.style.top=go+"px";gk.style.left=gk.style.right="";if(gr=="right"){gj=gm.sizer.clientWidth-gk.offsetWidth;gk.style.right="0px"}else{if(gr=="left"){gj=0}else{if(gr=="middle"){gj=(gm.sizer.clientWidth-gk.offsetWidth)/2}}gk.style.left=gj+"px"}if(gp){E(this,gj,go,gj+gk.offsetWidth,go+gk.offsetHeight)}},triggerOnKeyDown:c9(p),triggerOnKeyPress:c9(cy),triggerOnKeyUp:bj,execCommand:function(gi){if(eE.hasOwnProperty(gi)){return eE[gi](this)}},triggerElectric:c9(function(gi){fW(this,gi)}),findPosH:function(go,gl,gm,gj){var gi=1;if(gl<0){gi=-1;gl=-gl}for(var gk=0,gn=fK(this.doc,go);gk<gl;++gk){gn=bx(this.doc,gn,gi,gm,gj);if(gn.hitSide){break}}return gn},moveH:c9(function(gj,gk){var gi=this;gi.extendSelectionsBy(function(gl){if(gi.display.shift||gi.doc.extend||gl.empty()){return bx(gi.doc,gl.head,gj,gk,gi.options.rtlMoveVisually)}else{return gj<0?gl.from():gl.to()}},cX)}),deleteH:c9(function(gi,gj){var gk=this.doc.sel,gl=this.doc;if(gk.somethingSelected()){gl.replaceSelection("",null,"+delete")}else{eY(this,function(gn){var gm=bx(gl,gn.head,gi,gj,false);return gi<0?{from:gm,to:gn.head}:{from:gn.head,to:gm}})}}),findPosV:function(gn,gk,go,gq){var gi=1,gm=gq;if(gk<0){gi=-1;gk=-gk}for(var gj=0,gp=fK(this.doc,gn);gj<gk;++gj){var gl=dV(this,gp,"div");if(gm==null){gm=gl.left}else{gl.left=gm}gp=br(this,gl,gi,go);if(gp.hitSide){break}}return gp},moveV:c9(function(gj,gl){var gi=this,gn=this.doc,gm=[];var go=!gi.display.shift&&!gn.extend&&gn.sel.somethingSelected();gn.extendSelectionsBy(function(gp){if(go){return gj<0?gp.from():gp.to()}var gr=dV(gi,gp.head,"div");if(gp.goalColumn!=null){gr.left=gp.goalColumn}gm.push(gr.left);var gq=br(gi,gr,gj,gl);if(gl=="page"&&gp==gn.sel.primary()){cM(gi,null,cK(gi,gq,"div").top-gr.top)}return gq},cX);if(gm.length){for(var gk=0;gk<gn.sel.ranges.length;gk++){gn.sel.ranges[gk].goalColumn=gm[gk]}}}),findWordAt:function(gp){var gn=this.doc,gl=fg(gn,gp.line).text;var go=gp.ch,gk=gp.ch;if(gl){var gm=this.getHelper(gp,"wordChars");if((gp.xRel<0||gk==gl.length)&&go){--go}else{++gk}var gj=gl.charAt(go);var gi=cB(gj,gm)?function(gq){return cB(gq,gm)}:/\s/.test(gj)?function(gq){return/\s/.test(gq)}:function(gq){return !/\s/.test(gq)&&!cB(gq)};while(go>0&&gi(gl.charAt(go-1))){--go}while(gk<gl.length&&gi(gl.charAt(gk))){++gk}}return new dZ(W(gp.line,go),W(gp.line,gk))},toggleOverwrite:function(gi){if(gi!=null&&gi==this.state.overwrite){return}if(this.state.overwrite=!this.state.overwrite){fB(this.display.cursorDiv,"CodeMirror-overwrite")}else{f(this.display.cursorDiv,"CodeMirror-overwrite")}aE(this,"overwriteToggle",this,this.state.overwrite)},hasFocus:function(){return this.display.input.getField()==dP()},scrollTo:c9(function(gi,gj){if(gi!=null||gj!=null){fD(this)}if(gi!=null){this.curOp.scrollLeft=gi}if(gj!=null){this.curOp.scrollTop=gj}}),getScrollInfo:function(){var gi=this.display.scroller;return{left:gi.scrollLeft,top:gi.scrollTop,height:gi.scrollHeight-cU(this)-this.display.barHeight,width:gi.scrollWidth-cU(this)-this.display.barWidth,clientHeight:cW(this),clientWidth:dm(this)}},scrollIntoView:c9(function(gj,gk){if(gj==null){gj={from:this.doc.sel.primary().head,to:null};if(gk==null){gk=this.options.cursorScrollMargin}}else{if(typeof gj=="number"){gj={from:W(gj,0),to:null}}else{if(gj.from==null){gj={from:gj,to:null}}}}if(!gj.to){gj.to=gj.from}gj.margin=gk||0;if(gj.from.line!=null){fD(this);this.curOp.scrollToPos=gj}else{var gi=G(this,Math.min(gj.from.left,gj.to.left),Math.min(gj.from.top,gj.to.top)-gj.margin,Math.max(gj.from.right,gj.to.right),Math.max(gj.from.bottom,gj.to.bottom)+gj.margin);this.scrollTo(gi.scrollLeft,gi.scrollTop)}}),setSize:c9(function(gl,gj){var gi=this;function gk(gn){return typeof gn=="number"||/^\d+$/.test(String(gn))?gn+"px":gn}if(gl!=null){gi.display.wrapper.style.width=gk(gl)}if(gj!=null){gi.display.wrapper.style.height=gk(gj)}if(gi.options.lineWrapping){aO(this)}var gm=gi.display.viewFrom;gi.doc.iter(gm,gi.display.viewTo,function(gn){if(gn.widgets){for(var go=0;go<gn.widgets.length;go++){if(gn.widgets[go].noHScroll){R(gi,gm,"widget");break}}}++gm});gi.curOp.forceUpdate=true;aE(gi,"refresh",this)}),operation:function(gi){return cN(this,gi)},refresh:c9(function(){var gi=this.display.cachedTextHeight;ah(this);this.curOp.forceUpdate=true;ak(this);this.scrollTo(this.doc.scrollLeft,this.doc.scrollTop);c5(this);if(gi==null||Math.abs(gi-aY(this.display))>0.5){X(this)}aE(this,"refresh",this)}),swapDoc:c9(function(gj){var gi=this.doc;gi.cm=null;ec(this,gj);ak(this);this.display.input.reset();this.scrollTo(gj.scrollLeft,gj.scrollTop);this.curOp.forceScroll=true;ae(this,"swapDoc",this,gi);return gi}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};bz(H);var e4=H.defaults={};var bg=H.optionHandlers={};function s(gi,gl,gk,gj){H.defaults[gi]=gl;if(gk){bg[gi]=gj?function(gm,go,gn){if(gn!=cd){gk(gm,go,gn)}}:gk}}var cd=H.Init={toString:function(){return"CodeMirror.Init"}};s("value","",function(gi,gj){gi.setValue(gj)},true);s("mode",null,function(gi,gj){gi.doc.modeOption=gj;bs(gi)},true);s("indentUnit",2,bs,true);s("indentWithTabs",false);s("smartIndent",true);s("tabSize",4,function(gi){em(gi);ak(gi);ah(gi)},true);s("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(gi,gk,gj){gi.state.specialChars=new RegExp(gk.source+(gk.test("\t")?"":"|\t"),"g");if(gj!=H.Init){gi.refresh()}});s("specialCharPlaceholder",fd,function(gi){gi.refresh()},true);s("electricChars",true);s("inputStyle",eh?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},true);s("rtlMoveVisually",!aP);s("wholeLineUpdateBefore",true);s("theme","default",function(gi){cP(gi);dx(gi)},true);s("keyMap","default",function(gi,gm,gj){var gk=fY(gm);var gl=gj!=H.Init&&fY(gj);if(gl&&gl.detach){gl.detach(gi,gk)}if(gk.attach){gk.attach(gi,gl||null)}});s("extraKeys",null);s("lineWrapping",false,eH,true);s("gutters",[],function(gi){cf(gi.options);dx(gi)},true);s("fixedGutter",true,function(gi,gj){gi.display.gutters.style.left=gj?dY(gi.display)+"px":"0";gi.refresh()},true);s("coverGutterNextToScrollbar",false,function(gi){eZ(gi)},true);s("scrollbarStyle","native",function(gi){aD(gi);eZ(gi);gi.display.scrollbars.setScrollTop(gi.doc.scrollTop);gi.display.scrollbars.setScrollLeft(gi.doc.scrollLeft)},true);s("lineNumbers",false,function(gi){cf(gi.options);dx(gi)},true);s("firstLineNumber",1,dx,true);s("lineNumberFormatter",function(gi){return gi},dx,true);s("showCursorWhenSelecting",false,bD,true);s("resetSelectionOnContextMenu",true);s("lineWiseCopyCut",true);s("readOnly",false,function(gi,gj){if(gj=="nocursor"){aV(gi);gi.display.input.blur();gi.display.disabled=true}else{gi.display.disabled=false;if(!gj){gi.display.input.reset()}}});s("disableInput",false,function(gi,gj){if(!gj){gi.display.input.reset()}},true);s("dragDrop",true,f1);s("cursorBlinkRate",530);s("cursorScrollMargin",0);s("cursorHeight",1,bD,true);s("singleCursorHeightPerLine",true,bD,true);s("workTime",100);s("workDelay",100);s("flattenSpans",true,em,true);s("addModeClass",false,em,true);s("pollInterval",100);s("undoDepth",200,function(gi,gj){gi.doc.history.undoDepth=gj});s("historyEventDelay",1250);s("viewportMargin",10,function(gi){gi.refresh()},true);s("maxHighlightLength",10000,em,true);s("moveInputWithCursor",true,function(gi,gj){if(!gj){gi.display.input.resetPosition()}});s("tabindex",null,function(gi,gj){gi.display.input.getField().tabIndex=gj||""});s("autofocus",null);var dt=H.modes={},aS=H.mimeModes={};H.defineMode=function(gi,gj){if(!H.defaults.mode&&gi!="null"){H.defaults.mode=gi}if(arguments.length>2){gj.dependencies=Array.prototype.slice.call(arguments,2)}dt[gi]=gj};H.defineMIME=function(gj,gi){aS[gj]=gi};H.resolveMode=function(gi){if(typeof gi=="string"&&aS.hasOwnProperty(gi)){gi=aS[gi]}else{if(gi&&typeof gi.name=="string"&&aS.hasOwnProperty(gi.name)){var gj=aS[gi.name];if(typeof gj=="string"){gj={name:gj}}gi=cl(gj,gi);gi.name=gj.name}else{if(typeof gi=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(gi)){return H.resolveMode("application/xml")}}}if(typeof gi=="string"){return{name:gi}}else{return gi||{name:"null"}}};H.getMode=function(gj,gi){var gi=H.resolveMode(gi);var gl=dt[gi.name];if(!gl){return H.getMode(gj,"text/plain")}var gm=gl(gj,gi);if(dq.hasOwnProperty(gi.name)){var gk=dq[gi.name];for(var gn in gk){if(!gk.hasOwnProperty(gn)){continue}if(gm.hasOwnProperty(gn)){gm["_"+gn]=gm[gn]}gm[gn]=gk[gn]}}gm.name=gi.name;if(gi.helperType){gm.helperType=gi.helperType}if(gi.modeProps){for(var gn in gi.modeProps){gm[gn]=gi.modeProps[gn]}}return gm};H.defineMode("null",function(){return{token:function(gi){gi.skipToEnd()}}});H.defineMIME("text/plain","null");var dq=H.modeExtensions={};H.extendMode=function(gk,gj){var gi=dq.hasOwnProperty(gk)?dq[gk]:(dq[gk]={});aN(gj,gi)};H.defineExtension=function(gi,gj){H.prototype[gi]=gj};H.defineDocExtension=function(gi,gj){at.prototype[gi]=gj};H.defineOption=s;var a9=[];H.defineInitHook=function(gi){a9.push(gi)};var fp=H.helpers={};H.registerHelper=function(gj,gi,gk){if(!fp.hasOwnProperty(gj)){fp[gj]=H[gj]={_global:[]}}fp[gj][gi]=gk};H.registerGlobalHelper=function(gk,gj,gi,gl){H.registerHelper(gk,gj,gl);fp[gk]._global.push({pred:gi,val:gl})};var b4=H.copyState=function(gl,gi){if(gi===true){return gi}if(gl.copyState){return gl.copyState(gi)}var gk={};for(var gm in gi){var gj=gi[gm];if(gj instanceof Array){gj=gj.concat([])}gk[gm]=gj}return gk};var b1=H.startState=function(gk,gj,gi){return gk.startState?gk.startState(gj,gi):true};H.innerMode=function(gk,gi){while(gk.innerMode){var gj=gk.innerMode(gi);if(!gj||gj.mode==gk){break}gi=gj.state;gk=gj.mode}return gj||{mode:gk,state:gi}};var eE=H.commands={selectAll:function(gi){gi.setSelection(W(gi.firstLine(),0),W(gi.lastLine()),Z)},singleSelection:function(gi){gi.setSelection(gi.getCursor("anchor"),gi.getCursor("head"),Z)},killLine:function(gi){eY(gi,function(gk){if(gk.empty()){var gj=fg(gi.doc,gk.head.line).text.length;if(gk.head.ch==gj&&gk.head.line<gi.lastLine()){return{from:gk.head,to:W(gk.head.line+1,0)}}else{return{from:gk.head,to:W(gk.head.line,gj)}}}else{return{from:gk.from(),to:gk.to()}}})},deleteLine:function(gi){eY(gi,function(gj){return{from:W(gj.from().line,0),to:fK(gi.doc,W(gj.to().line+1,0))}})},delLineLeft:function(gi){eY(gi,function(gj){return{from:W(gj.from().line,0),to:gj.from()}})},delWrappedLineLeft:function(gi){eY(gi,function(gj){var gl=gi.charCoords(gj.head,"div").top+5;var gk=gi.coordsChar({left:0,top:gl},"div");return{from:gk,to:gj.from()}})},delWrappedLineRight:function(gi){eY(gi,function(gj){var gl=gi.charCoords(gj.head,"div").top+5;var gk=gi.coordsChar({left:gi.display.lineDiv.offsetWidth+100,top:gl},"div");return{from:gj.from(),to:gk}})},undo:function(gi){gi.undo()},redo:function(gi){gi.redo()},undoSelection:function(gi){gi.undoSelection()},redoSelection:function(gi){gi.redoSelection()},goDocStart:function(gi){gi.extendSelection(W(gi.firstLine(),0))},goDocEnd:function(gi){gi.extendSelection(W(gi.lastLine()))},goLineStart:function(gi){gi.extendSelectionsBy(function(gj){return bu(gi,gj.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(gi){gi.extendSelectionsBy(function(gj){return dJ(gi,gj.head)},{origin:"+move",bias:1})},goLineEnd:function(gi){gi.extendSelectionsBy(function(gj){return dQ(gi,gj.head.line)},{origin:"+move",bias:-1})},goLineRight:function(gi){gi.extendSelectionsBy(function(gj){var gk=gi.charCoords(gj.head,"div").top+5;return gi.coordsChar({left:gi.display.lineDiv.offsetWidth+100,top:gk},"div")},cX)},goLineLeft:function(gi){gi.extendSelectionsBy(function(gj){var gk=gi.charCoords(gj.head,"div").top+5;return gi.coordsChar({left:0,top:gk},"div")},cX)},goLineLeftSmart:function(gi){gi.extendSelectionsBy(function(gj){var gk=gi.charCoords(gj.head,"div").top+5;var gl=gi.coordsChar({left:0,top:gk},"div");if(gl.ch<gi.getLine(gl.line).search(/\S/)){return dJ(gi,gj.head)}return gl},cX)},goLineUp:function(gi){gi.moveV(-1,"line")},goLineDown:function(gi){gi.moveV(1,"line")},goPageUp:function(gi){gi.moveV(-1,"page")},goPageDown:function(gi){gi.moveV(1,"page")},goCharLeft:function(gi){gi.moveH(-1,"char")},goCharRight:function(gi){gi.moveH(1,"char")},goColumnLeft:function(gi){gi.moveH(-1,"column")},goColumnRight:function(gi){gi.moveH(1,"column")},goWordLeft:function(gi){gi.moveH(-1,"word")},goGroupRight:function(gi){gi.moveH(1,"group")},goGroupLeft:function(gi){gi.moveH(-1,"group")},goWordRight:function(gi){gi.moveH(1,"word")},delCharBefore:function(gi){gi.deleteH(-1,"char")},delCharAfter:function(gi){gi.deleteH(1,"char")},delWordBefore:function(gi){gi.deleteH(-1,"word")},delWordAfter:function(gi){gi.deleteH(1,"word")},delGroupBefore:function(gi){gi.deleteH(-1,"group")},delGroupAfter:function(gi){gi.deleteH(1,"group")},indentAuto:function(gi){gi.indentSelection("smart")},indentMore:function(gi){gi.indentSelection("add")},indentLess:function(gi){gi.indentSelection("subtract")},insertTab:function(gi){gi.replaceSelection("\t")},insertSoftTab:function(gi){var gk=[],gj=gi.listSelections(),gn=gi.options.tabSize;for(var gm=0;gm<gj.length;gm++){var go=gj[gm].from();var gl=bU(gi.getLine(go.line),go.ch,gn);gk.push(new Array(gn-gl%gn+1).join(" "))}gi.replaceSelections(gk)},defaultTab:function(gi){if(gi.somethingSelected()){gi.indentSelection("add")}else{gi.execCommand("insertTab")}},transposeChars:function(gi){cN(gi,function(){var gl=gi.listSelections(),gk=[];for(var gm=0;gm<gl.length;gm++){var go=gl[gm].head,gj=fg(gi.doc,go.line).text;if(gj){if(go.ch==gj.length){go=new W(go.line,go.ch-1)}if(go.ch>0){go=new W(go.line,go.ch+1);gi.replaceRange(gj.charAt(go.ch-1)+gj.charAt(go.ch-2),W(go.line,go.ch-2),go,"+transpose")}else{if(go.line>gi.doc.first){var gn=fg(gi.doc,go.line-1).text;if(gn){gi.replaceRange(gj.charAt(0)+"\n"+gn.charAt(gn.length-1),W(go.line-1,gn.length-1),W(go.line,1),"+transpose")}}}}gk.push(new dZ(go,go))}gi.setSelections(gk)})},newlineAndIndent:function(gi){cN(gi,function(){var gj=gi.listSelections().length;for(var gl=0;gl<gj;gl++){var gk=gi.listSelections()[gl];gi.replaceRange("\n",gk.anchor,gk.head,"+input");gi.indentLine(gk.from().line+1,null,true);fG(gi)}})},toggleOverwrite:function(gi){gi.toggleOverwrite()}};var fb=H.keyMap={};fb.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"};fb.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"};fb.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"};fb.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]};fb["default"]=b8?fb.macDefault:fb.pcDefault;function du(gj){var gp=gj.split(/-(?!$)/),gj=gp[gp.length-1];var go,gn,gi,gm;for(var gl=0;gl<gp.length-1;gl++){var gk=gp[gl];if(/^(cmd|meta|m)$/i.test(gk)){gm=true}else{if(/^a(lt)?$/i.test(gk)){go=true}else{if(/^(c|ctrl|control)$/i.test(gk)){gn=true}else{if(/^s(hift)$/i.test(gk)){gi=true}else{throw new Error("Unrecognized modifier name: "+gk)}}}}}if(go){gj="Alt-"+gj}if(gn){gj="Ctrl-"+gj}if(gm){gj="Cmd-"+gj}if(gi){gj="Shift-"+gj}return gj}H.normalizeKeyMap=function(gp){var gj={};for(var go in gp){if(gp.hasOwnProperty(go)){var gq=gp[go];if(/^(name|fallthrough|(de|at)tach)$/.test(go)){continue}if(gq=="..."){delete gp[go];continue}var gr=bT(go.split(" "),du);for(var gn=0;gn<gr.length;gn++){var gl,gk;if(gn==gr.length-1){gk=gr.join(" ");gl=gq}else{gk=gr.slice(0,gn+1).join(" ");gl="..."}var gm=gj[gk];if(!gm){gj[gk]=gl}else{if(gm!=gl){throw new Error("Inconsistent bindings for "+gk)}}}delete gp[go]}}for(var gi in gj){gp[gi]=gj[gi]}return gp};var i=H.lookupKey=function(gl,go,gn,gk){go=fY(go);var gm=go.call?go.call(gl,gk):go[gl];if(gm===false){return"nothing"}if(gm==="..."){return"multi"}if(gm!=null&&gn(gm)){return"handled"}if(go.fallthrough){if(Object.prototype.toString.call(go.fallthrough)!="[object Array]"){return i(gl,go.fallthrough,gn,gk)}for(var gj=0;gj<go.fallthrough.length;gj++){var gi=i(gl,go.fallthrough[gj],gn,gk);if(gi){return gi}}}};var eD=H.isModifierKey=function(gj){var gi=typeof gj=="string"?gj:fh[gj.keyCode];return gi=="Ctrl"||gi=="Alt"||gi=="Shift"||gi=="Mod"};var fs=H.keyName=function(gj,gl){if(d4&&gj.keyCode==34&&gj["char"]){return false}var gk=fh[gj.keyCode],gi=gk;if(gi==null||gj.altGraphKey){return false}if(gj.altKey&&gk!="Alt"){gi="Alt-"+gi}if((bR?gj.metaKey:gj.ctrlKey)&&gk!="Ctrl"){gi="Ctrl-"+gi}if((bR?gj.ctrlKey:gj.metaKey)&&gk!="Cmd"){gi="Cmd-"+gi}if(!gl&&gj.shiftKey&&gk!="Shift"){gi="Shift-"+gi}return gi};function fY(gi){return typeof gi=="string"?fb[gi]:gi}H.fromTextArea=function(gp,gq){gq=gq?aN(gq):{};gq.value=gp.value;if(!gq.tabindex&&gp.tabIndex){gq.tabindex=gp.tabIndex}if(!gq.placeholder&&gp.placeholder){gq.placeholder=gp.placeholder}if(gq.autofocus==null){var gi=dP();gq.autofocus=gi==gp||gp.getAttribute("autofocus")!=null&&gi==document.body}function gm(){gp.value=go.getValue()}if(gp.form){bY(gp.form,"submit",gm);if(!gq.leaveSubmitMethodAlone){var gj=gp.form,gn=gj.submit;try{var gl=gj.submit=function(){gm();gj.submit=gn;gj.submit();gj.submit=gl}}catch(gk){}}}gq.finishInit=function(gr){gr.save=gm;gr.getTextArea=function(){return gp};gr.toTextArea=function(){gr.toTextArea=isNaN;gm();gp.parentNode.removeChild(gr.getWrapperElement());gp.style.display="";if(gp.form){ee(gp.form,"submit",gm);if(typeof gp.form.submit=="function"){gp.form.submit=gn}}}};gp.style.display="none";var go=H(function(gr){gp.parentNode.insertBefore(gr,gp.nextSibling)},gq);return go};var eU=H.StringStream=function(gi,gj){this.pos=this.start=0;this.string=gi;this.tabSize=gj||8;this.lastColumnPos=this.lastColumnValue=0;this.lineStart=0};eU.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(gi){var gk=this.string.charAt(this.pos);if(typeof gi=="string"){var gj=gk==gi}else{var gj=gk&&(gi.test?gi.test(gk):gi(gk))}if(gj){++this.pos;return gk}},eatWhile:function(gi){var gj=this.pos;while(this.eat(gi)){}return this.pos>gj},eatSpace:function(){var gi=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>gi},skipToEnd:function(){this.pos=this.string.length},skipTo:function(gi){var gj=this.string.indexOf(gi,this.pos);if(gj>-1){this.pos=gj;return true}},backUp:function(gi){this.pos-=gi},column:function(){if(this.lastColumnPos<this.start){this.lastColumnValue=bU(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue);this.lastColumnPos=this.start}return this.lastColumnValue-(this.lineStart?bU(this.string,this.lineStart,this.tabSize):0)},indentation:function(){return bU(this.string,null,this.tabSize)-(this.lineStart?bU(this.string,this.lineStart,this.tabSize):0)},match:function(gm,gj,gi){if(typeof gm=="string"){var gn=function(go){return gi?go.toLowerCase():go};var gl=this.string.substr(this.pos,gm.length);if(gn(gl)==gn(gm)){if(gj!==false){this.pos+=gm.length}return true}}else{var gk=this.string.slice(this.pos).match(gm);if(gk&&gk.index>0){return null}if(gk&&gj!==false){this.pos+=gk[0].length}return gk}},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(gj,gi){this.lineStart+=gj;try{return gi()}finally{this.lineStart-=gj}}};var a6=0;var P=H.TextMarker=function(gj,gi){this.lines=[];this.type=gi;this.doc=gj;this.id=++a6};bz(P);P.prototype.clear=function(){if(this.explicitlyCleared){return}var gp=this.doc.cm,gj=gp&&!gp.curOp;if(gj){cJ(gp)}if(fj(this,"clear")){var gq=this.find();if(gq){ae(this,"clear",gq.from,gq.to)}}var gk=null,gn=null;for(var gl=0;gl<this.lines.length;++gl){var gr=this.lines[gl];var go=fa(gr.markedSpans,this);if(gp&&!this.collapsed){R(gp,bO(gr),"text")}else{if(gp){if(go.to!=null){gn=bO(gr)}if(go.from!=null){gk=bO(gr)}}}gr.markedSpans=eI(gr.markedSpans,go);if(go.from==null&&this.collapsed&&!fx(this.doc,gr)&&gp){f6(gr,aY(gp.display))}}if(gp&&this.collapsed&&!gp.options.lineWrapping){for(var gl=0;gl<this.lines.length;++gl){var gi=y(this.lines[gl]),gm=eo(gi);if(gm>gp.display.maxLineLength){gp.display.maxLine=gi;gp.display.maxLineLength=gm;gp.display.maxLineChanged=true}}}if(gk!=null&&gp&&this.collapsed){ah(gp,gk,gn+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(gp){ez(gp.doc)}}if(gp){ae(gp,"markerCleared",gp,this)}if(gj){am(gp)}if(this.parent){this.parent.clear()}};P.prototype.find=function(gl,gj){if(gl==null&&this.type=="bookmark"){gl=1}var go,gn;for(var gk=0;gk<this.lines.length;++gk){var gi=this.lines[gk];var gm=fa(gi.markedSpans,this);if(gm.from!=null){go=W(gj?gi:bO(gi),gm.from);if(gl==-1){return go}}if(gm.to!=null){gn=W(gj?gi:bO(gi),gm.to);if(gl==1){return gn}}}return go&&{from:go,to:gn}};P.prototype.changed=function(){var gk=this.find(-1,true),gj=this,gi=this.doc.cm;if(!gk||!gi){return}cN(gi,function(){var gm=gk.line,gn=bO(gk.line);var gl=fc(gi,gn);if(gl){au(gl);gi.curOp.selectionChanged=gi.curOp.forceUpdate=true}gi.curOp.updateMaxLine=true;if(!fx(gj.doc,gm)&&gj.height!=null){var gp=gj.height;gj.height=null;var go=cZ(gj)-gp;if(go){f6(gm,gm.height+go)}}})};P.prototype.attachLine=function(gi){if(!this.lines.length&&this.doc.cm){var gj=this.doc.cm.curOp;if(!gj.maybeHiddenMarkers||di(gj.maybeHiddenMarkers,this)==-1){(gj.maybeUnhiddenMarkers||(gj.maybeUnhiddenMarkers=[])).push(this)}}this.lines.push(gi)};P.prototype.detachLine=function(gi){this.lines.splice(di(this.lines,gi),1);if(!this.lines.length&&this.doc.cm){var gj=this.doc.cm.curOp;(gj.maybeHiddenMarkers||(gj.maybeHiddenMarkers=[])).push(this)}};var a6=0;function eG(gq,go,gp,gs,gm){if(gs&&gs.shared){return O(gq,go,gp,gs,gm)}if(gq.cm&&!gq.cm.curOp){return c3(gq.cm,eG)(gq,go,gp,gs,gm)}var gl=new P(gq,gm),gr=cg(go,gp);if(gs){aN(gs,gl,false)}if(gr>0||gr==0&&gl.clearWhenEmpty!==false){return gl}if(gl.replacedWith){gl.collapsed=true;gl.widgetNode=f3("span",[gl.replacedWith],"CodeMirror-widget");if(!gs.handleMouseEvents){gl.widgetNode.setAttribute("cm-ignore-events","true")}if(gs.insertLeft){gl.widgetNode.insertLeft=true}}if(gl.collapsed){if(z(gq,go.line,go,gp,gl)||go.line!=gp.line&&z(gq,gp.line,go,gp,gl)){throw new Error("Inserting collapsed marker partially overlapping an existing one")}a8=true}if(gl.addToHistory){fN(gq,{from:go,to:gp,origin:"markText"},gq.sel,NaN)}var gj=go.line,gn=gq.cm,gi;gq.iter(gj,gp.line+1,function(gt){if(gn&&gl.collapsed&&!gn.options.lineWrapping&&y(gt)==gn.display.maxLine){gi=true}if(gl.collapsed&&gj!=go.line){f6(gt,0)}ce(gt,new ej(gl,gj==go.line?go.ch:null,gj==gp.line?gp.ch:null));++gj});if(gl.collapsed){gq.iter(go.line,gp.line+1,function(gt){if(fx(gq,gt)){f6(gt,0)}})}if(gl.clearOnEnter){bY(gl,"beforeCursorEnter",function(){gl.clear()})}if(gl.readOnly){gd=true;if(gq.history.done.length||gq.history.undone.length){gq.clearHistory()}}if(gl.collapsed){gl.id=++a6;gl.atomic=true}if(gn){if(gi){gn.curOp.updateMaxLine=true}if(gl.collapsed){ah(gn,go.line,gp.line+1)}else{if(gl.className||gl.title||gl.startStyle||gl.endStyle||gl.css){for(var gk=go.line;gk<=gp.line;gk++){R(gn,gk,"text")}}}if(gl.atomic){ez(gn.doc)}ae(gn,"markerAdded",gn,gl)}return gl}var x=H.SharedTextMarker=function(gk,gj){this.markers=gk;this.primary=gj;for(var gi=0;gi<gk.length;++gi){gk[gi].parent=this}};bz(x);x.prototype.clear=function(){if(this.explicitlyCleared){return}this.explicitlyCleared=true;for(var gi=0;gi<this.markers.length;++gi){this.markers[gi].clear()}ae(this,"clear")};x.prototype.find=function(gj,gi){return this.primary.find(gj,gi)};function O(gm,gp,go,gi,gk){gi=aN(gi);gi.shared=false;var gn=[eG(gm,gp,go,gi,gk)],gj=gn[0];var gl=gi.widgetNode;d8(gm,function(gr){if(gl){gi.widgetNode=gl.cloneNode(true)}gn.push(eG(gr,fK(gr,gp),fK(gr,go),gi,gk));for(var gq=0;gq<gr.linked.length;++gq){if(gr.linked[gq].isParent){return}}gj=fH(gn)});return new x(gn,gj)}function eQ(gi){return gi.findMarks(W(gi.first,0),gi.clipPos(W(gi.lastLine())),function(gj){return gj.parent})}function dG(gn,go){for(var gl=0;gl<go.length;gl++){var gj=go[gl],gp=gj.find();var gi=gn.clipPos(gp.from),gm=gn.clipPos(gp.to);if(cg(gi,gm)){var gk=eG(gn,gi,gm,gj.primary,gj.primary.type);gj.markers.push(gk);gk.parent=gj}}}function ep(gl){for(var gk=0;gk<gl.length;gk++){var gi=gl[gk],gn=[gi.primary.doc];d8(gi.primary.doc,function(go){gn.push(go)});for(var gj=0;gj<gi.markers.length;gj++){var gm=gi.markers[gj];if(di(gn,gm.doc)==-1){gm.parent=null;gi.markers.splice(gj--,1)}}}}function ej(gi,gk,gj){this.marker=gi;this.from=gk;this.to=gj}function fa(gk,gi){if(gk){for(var gj=0;gj<gk.length;++gj){var gl=gk[gj];if(gl.marker==gi){return gl}}}}function eI(gj,gk){for(var gl,gi=0;gi<gj.length;++gi){if(gj[gi]!=gk){(gl||(gl=[])).push(gj[gi])}}return gl}function ce(gi,gj){gi.markedSpans=gi.markedSpans?gi.markedSpans.concat([gj]):[gj];gj.marker.attachLine(gi)}function aQ(gj,gk,go){if(gj){for(var gm=0,gp;gm<gj.length;++gm){var gq=gj[gm],gn=gq.marker;var gi=gq.from==null||(gn.inclusiveLeft?gq.from<=gk:gq.from<gk);if(gi||gq.from==gk&&gn.type=="bookmark"&&(!go||!gq.marker.insertLeft)){var gl=gq.to==null||(gn.inclusiveRight?gq.to>=gk:gq.to>gk);(gp||(gp=[])).push(new ej(gn,gq.from,gl?null:gq.to))}}}return gp}function aB(gj,gl,go){if(gj){for(var gm=0,gp;gm<gj.length;++gm){var gq=gj[gm],gn=gq.marker;var gk=gq.to==null||(gn.inclusiveRight?gq.to>=gl:gq.to>gl);if(gk||gq.from==gl&&gn.type=="bookmark"&&(!go||gq.marker.insertLeft)){var gi=gq.from==null||(gn.inclusiveLeft?gq.from<=gl:gq.from<gl);(gp||(gp=[])).push(new ej(gn,gi?null:gq.from-gl,gq.to==null?null:gq.to-gl))}}}return gp}function el(gu,gr){if(gr.full){return null}var gq=ca(gu,gr.from.line)&&fg(gu,gr.from.line).markedSpans;var gx=ca(gu,gr.to.line)&&fg(gu,gr.to.line).markedSpans;if(!gq&&!gx){return null}var gj=gr.from.ch,gm=gr.to.ch,gp=cg(gr.from,gr.to)==0;var go=aQ(gq,gj,gp);var gw=aB(gx,gm,gp);var gv=gr.text.length==1,gk=fH(gr.text).length+(gv?gj:0);if(go){for(var gl=0;gl<go.length;++gl){var gt=go[gl];if(gt.to==null){var gy=fa(gw,gt.marker);if(!gy){gt.to=gj}else{if(gv){gt.to=gy.to==null?null:gy.to+gk}}}}}if(gw){for(var gl=0;gl<gw.length;++gl){var gt=gw[gl];if(gt.to!=null){gt.to+=gk}if(gt.from==null){var gy=fa(go,gt.marker);if(!gy){gt.from=gk;if(gv){(go||(go=[])).push(gt)}}}else{gt.from+=gk;if(gv){(go||(go=[])).push(gt)}}}}if(go){go=q(go)}if(gw&&gw!=go){gw=q(gw)}var gn=[go];if(!gv){var gs=gr.text.length-2,gi;if(gs>0&&go){for(var gl=0;gl<go.length;++gl){if(go[gl].to==null){(gi||(gi=[])).push(new ej(go[gl].marker,null,null))}}}for(var gl=0;gl<gs;++gl){gn.push(gi)}gn.push(gw)}return gn}function q(gj){for(var gi=0;gi<gj.length;++gi){var gk=gj[gi];if(gk.from!=null&&gk.from==gk.to&&gk.marker.clearWhenEmpty!==false){gj.splice(gi--,1)}}if(!gj.length){return null}return gj}function ea(gq,go){var gi=b5(gq,go);var gr=el(gq,go);if(!gi){return gr}if(!gr){return gi}for(var gl=0;gl<gi.length;++gl){var gm=gi[gl],gn=gr[gl];if(gm&&gn){spans:for(var gk=0;gk<gn.length;++gk){var gp=gn[gk];for(var gj=0;gj<gm.length;++gj){if(gm[gj].marker==gp.marker){continue spans}}gm.push(gp)}}else{if(gn){gi[gl]=gn}}}return gi}function cI(gu,gs,gt){var gm=null;gu.iter(gs.line,gt.line+1,function(gv){if(gv.markedSpans){for(var gw=0;gw<gv.markedSpans.length;++gw){var gx=gv.markedSpans[gw].marker;if(gx.readOnly&&(!gm||di(gm,gx)==-1)){(gm||(gm=[])).push(gx)}}}});if(!gm){return null}var gn=[{from:gs,to:gt}];for(var go=0;go<gm.length;++go){var gp=gm[go],gk=gp.find(0);for(var gl=0;gl<gn.length;++gl){var gj=gn[gl];if(cg(gj.to,gk.from)<0||cg(gj.from,gk.to)>0){continue}var gr=[gl,1],gi=cg(gj.from,gk.from),gq=cg(gj.to,gk.to);if(gi<0||!gp.inclusiveLeft&&!gi){gr.push({from:gj.from,to:gk.from})}if(gq>0||!gp.inclusiveRight&&!gq){gr.push({from:gk.to,to:gj.to})}gn.splice.apply(gn,gr);gl+=gr.length-1}}return gn}function f9(gi){var gk=gi.markedSpans;if(!gk){return}for(var gj=0;gj<gk.length;++gj){gk[gj].marker.detachLine(gi)}gi.markedSpans=null}function c4(gi,gk){if(!gk){return}for(var gj=0;gj<gk.length;++gj){gk[gj].marker.attachLine(gi)}gi.markedSpans=gk}function v(gi){return gi.inclusiveLeft?-1:0}function bX(gi){return gi.inclusiveRight?1:0}function dR(gl,gj){var gn=gl.lines.length-gj.lines.length;if(gn!=0){return gn}var gk=gl.find(),go=gj.find();var gi=cg(gk.from,go.from)||v(gl)-v(gj);if(gi){return -gi}var gm=cg(gk.to,go.to)||bX(gl)-bX(gj);if(gm){return gm}return gj.id-gl.id}function a7(gj,gn){var gi=a8&&gj.markedSpans,gm;if(gi){for(var gl,gk=0;gk<gi.length;++gk){gl=gi[gk];if(gl.marker.collapsed&&(gn?gl.from:gl.to)==null&&(!gm||dR(gm,gl.marker)<0)){gm=gl.marker}}}return gm}function eP(gi){return a7(gi,true)}function ex(gi){return a7(gi,false)}function z(gq,gk,go,gp,gm){var gt=fg(gq,gk);var gi=a8&&gt.markedSpans;if(gi){for(var gl=0;gl<gi.length;++gl){var gj=gi[gl];if(!gj.marker.collapsed){continue}var gs=gj.marker.find(0);var gr=cg(gs.from,go)||v(gj.marker)-v(gm);var gn=cg(gs.to,gp)||bX(gj.marker)-bX(gm);if(gr>=0&&gn<=0||gr<=0&&gn>=0){continue}if(gr<=0&&(cg(gs.to,go)>0||(gj.marker.inclusiveRight&&gm.inclusiveLeft))||gr>=0&&(cg(gs.from,gp)<0||(gj.marker.inclusiveLeft&&gm.inclusiveRight))){return true}}}}function y(gj){var gi;while(gi=eP(gj)){gj=gi.find(-1,true).line}return gj}function g(gk){var gi,gj;while(gi=ex(gk)){gk=gi.find(1,true).line;(gj||(gj=[])).push(gk)}return gj}function aW(gl,gj){var gi=fg(gl,gj),gk=y(gi);if(gi==gk){return gj}return bO(gk)}function d3(gl,gk){if(gk>gl.lastLine()){return gk}var gj=fg(gl,gk),gi;if(!fx(gl,gj)){return gk}while(gi=ex(gj)){gj=gi.find(1,true).line}return bO(gj)+1}function fx(gm,gj){var gi=a8&&gj.markedSpans;if(gi){for(var gl,gk=0;gk<gi.length;++gk){gl=gi[gk];if(!gl.marker.collapsed){continue}if(gl.from==null){return true}if(gl.marker.widgetNode){continue}if(gl.from==0&&gl.marker.inclusiveLeft&&T(gm,gj,gl)){return true}}}}function T(gn,gj,gl){if(gl.to==null){var gi=gl.marker.find(1,true);return T(gn,gi.line,fa(gi.line.markedSpans,gl.marker))}if(gl.marker.inclusiveRight&&gl.to==gj.text.length){return true}for(var gm,gk=0;gk<gj.markedSpans.length;++gk){gm=gj.markedSpans[gk];if(gm.marker.collapsed&&!gm.marker.widgetNode&&gm.from==gl.to&&(gm.to==null||gm.to!=gl.from)&&(gm.marker.inclusiveLeft||gl.marker.inclusiveRight)&&T(gn,gj,gm)){return true}}}var dC=H.LineWidget=function(gl,gk,gi){if(gi){for(var gj in gi){if(gi.hasOwnProperty(gj)){this[gj]=gi[gj]}}}this.doc=gl;this.node=gk};bz(dC);function d0(gi,gj,gk){if(bN(gj)<((gi.curOp&&gi.curOp.scrollTop)||gi.doc.scrollTop)){cM(gi,null,gk)}}dC.prototype.clear=function(){var gj=this.doc.cm,gl=this.line.widgets,gk=this.line,gn=bO(gk);if(gn==null||!gl){return}for(var gm=0;gm<gl.length;++gm){if(gl[gm]==this){gl.splice(gm--,1)}}if(!gl.length){gk.widgets=null}var gi=cZ(this);f6(gk,Math.max(0,gk.height-gi));if(gj){cN(gj,function(){d0(gj,gk,-gi);R(gj,gn,"widget")})}};dC.prototype.changed=function(){var gj=this.height,gi=this.doc.cm,gk=this.line;this.height=null;var gl=cZ(this)-gj;if(!gl){return}f6(gk,gk.height+gl);if(gi){cN(gi,function(){gi.curOp.forceUpdate=true;d0(gi,gk,gl)})}};function cZ(gk){if(gk.height!=null){return gk.height}var gi=gk.doc.cm;if(!gi){return 0}if(!gb(document.body,gk.node)){var gj="position: relative;";if(gk.coverGutter){gj+="margin-left: -"+gi.display.gutters.offsetWidth+"px;"}if(gk.noHScroll){gj+="width: "+gi.display.wrapper.clientWidth+"px;"}bS(gi.display.measure,f3("div",[gk.node],null,gj))}return gk.height=gk.node.offsetHeight}function bI(gn,gm,gk,gj){var gl=new dC(gn,gk,gj);var gi=gn.cm;if(gi&&gl.noHScroll){gi.display.alignWidgets=true}eA(gn,gm,"widget",function(gp){var gq=gp.widgets||(gp.widgets=[]);if(gl.insertAt==null){gq.push(gl)}else{gq.splice(Math.min(gq.length-1,Math.max(0,gl.insertAt)),0,gl)}gl.line=gp;if(gi&&!fx(gn,gp)){var go=bN(gp)<gn.scrollTop;f6(gp,gp.height+cZ(gl));if(go){cM(gi,null,gl.height)}gi.curOp.forceUpdate=true}return true});return gl}var f7=H.Line=function(gk,gj,gi){this.text=gk;c4(this,gj);this.height=gi?gi(this):1};bz(f7);f7.prototype.lineNo=function(){return bO(this)};function en(gj,gm,gk,gi){gj.text=gm;if(gj.stateAfter){gj.stateAfter=null}if(gj.styles){gj.styles=null}if(gj.order!=null){gj.order=null}f9(gj);c4(gj,gk);var gl=gi?gi(gj):1;if(gl!=gj.height){f6(gj,gl)}}function bC(gi){gi.parent=null;f9(gi)}function dj(gk,gj){if(gk){for(;;){var gi=gk.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!gi){break}gk=gk.slice(0,gi.index)+gk.slice(gi.index+gi[0].length);var gl=gi[1]?"bgClass":"textClass";if(gj[gl]==null){gj[gl]=gi[2]}else{if(!(new RegExp("(?:^|s)"+gi[2]+"(?:$|s)")).test(gj[gl])){gj[gl]+=" "+gi[2]}}}}return gk}function fr(gk,gj){if(gk.blankLine){return gk.blankLine(gj)}if(!gk.innerMode){return}var gi=H.innerMode(gk,gj);if(gi.mode.blankLine){return gi.mode.blankLine(gi.state)}}function eB(gn,gm,gl,gi){for(var gj=0;gj<10;gj++){if(gi){gi[0]=H.innerMode(gn,gl).mode}var gk=gn.token(gm,gl);if(gm.pos>gm.start){return gk}}throw new Error("Mode "+gn.name+" failed to advance stream.")}function cr(gr,gp,gm,gl){function gi(gu){return{start:gs.start,end:gs.pos,string:gs.current(),type:gk||null,state:gu?b4(gq.mode,gj):gj}}var gq=gr.doc,gn=gq.mode,gk;gp=fK(gq,gp);var gt=fg(gq,gp.line),gj=dD(gr,gp.line,gm);var gs=new eU(gt.text,gr.options.tabSize),go;if(gl){go=[]}while((gl||gs.pos<gp.ch)&&!gs.eol()){gs.start=gs.pos;gk=eB(gn,gs,gj);if(gl){go.push(gi(true))}}return gl?go:gi()}function w(gs,gu,gn,gj,go,gl,gm){var gk=gn.flattenSpans;if(gk==null){gk=gs.options.flattenSpans}var gq=0,gp=null;var gt=new eU(gu,gs.options.tabSize),gi;var gw=gs.options.addModeClass&&[null];if(gu==""){dj(fr(gn,gj),gl)}while(!gt.eol()){if(gt.pos>gs.options.maxHighlightLength){gk=false;if(gm){dy(gs,gu,gj,gt.pos)}gt.pos=gu.length;gi=null}else{gi=dj(eB(gn,gt,gj,gw),gl)}if(gw){var gv=gw[0].name;if(gv){gi="m-"+(gi?gv+" "+gi:gv)}}if(!gk||gp!=gi){while(gq<gt.start){gq=Math.min(gt.start,gq+50000);go(gq,gp)}gp=gi}gt.start=gt.pos}while(gq<gt.pos){var gr=Math.min(gt.pos,gq+50000);go(gr,gp);gq=gr}}function fA(gp,gr,gi,gm){var gq=[gp.state.modeGen],gl={};w(gp,gr.text,gp.doc.mode,gi,function(gs,gt){gq.push(gs,gt)},gl,gm);for(var gj=0;gj<gp.state.overlays.length;++gj){var gn=gp.state.overlays[gj],go=1,gk=0;w(gp,gr.text,gn.mode,true,function(gs,gu){var gw=go;while(gk<gs){var gt=gq[go];if(gt>gs){gq.splice(go,1,gs,gq[go+1],gt)}go+=2;gk=Math.min(gs,gt)}if(!gu){return}if(gn.opaque){gq.splice(gw,go-gw,gs,"cm-overlay "+gu);go=gw+2}else{for(;gw<go;gw+=2){var gv=gq[gw+1];gq[gw+1]=(gv?gv+" ":"")+"cm-overlay "+gu}}},gl)}return{styles:gq,classes:gl.bgClass||gl.textClass?gl:null}}function c7(gj,gk,gl){if(!gk.styles||gk.styles[0]!=gj.state.modeGen){var gi=fA(gj,gk,gk.stateAfter=dD(gj,bO(gk)));gk.styles=gi.styles;if(gi.classes){gk.styleClasses=gi.classes}else{if(gk.styleClasses){gk.styleClasses=null}}if(gl===gj.doc.frontier){gj.doc.frontier++}}return gk.styles}function dy(gi,gn,gk,gj){var gm=gi.doc.mode;var gl=new eU(gn,gi.options.tabSize);gl.start=gl.pos=gj||0;if(gn==""){fr(gm,gk)}while(!gl.eol()&&gl.pos<=gi.options.maxHighlightLength){eB(gm,gl,gk);gl.start=gl.pos}}var dX={},b2={};function eX(gk,gj){if(!gk||/^\s*$/.test(gk)){return null}var gi=gj.addModeClass?b2:dX;return gi[gk]||(gi[gk]=gk.replace(/\S+/g,"cm-$&"))}function eS(gj,gn){var go=f3("span",null,null,c1?"padding-right: .1px":null);var gl={pre:f3("pre",[go]),content:go,col:0,pos:0,cm:gj,splitSpaces:(dL||c1)&&gj.getOption("lineWrapping")};gn.measure={};for(var gm=0;gm<=(gn.rest?gn.rest.length:0);gm++){var gk=gm?gn.rest[gm-1]:gn.line,gi;gl.pos=0;gl.addToken=t;if(bP(gj.display.measure)&&(gi=a(gk))){gl.addToken=U(gl.addToken,gi)}gl.map=[];var gp=gn!=gj.display.externalMeasured&&bO(gk);bp(gk,gl,c7(gj,gk,gp));if(gk.styleClasses){if(gk.styleClasses.bgClass){gl.bgClass=fT(gk.styleClasses.bgClass,gl.bgClass||"")}if(gk.styleClasses.textClass){gl.textClass=fT(gk.styleClasses.textClass,gl.textClass||"")}}if(gl.map.length==0){gl.map.push(0,0,gl.content.appendChild(bo(gj.display.measure)))}if(gm==0){gn.measure.map=gl.map;gn.measure.cache={}}else{(gn.measure.maps||(gn.measure.maps=[])).push(gl.map);(gn.measure.caches||(gn.measure.caches=[])).push({})}}if(c1&&/\bcm-tab\b/.test(gl.content.lastChild.className)){gl.content.className="cm-tab-wrap-hack"}aE(gj,"renderLine",gj,gn.line,gl.pre);if(gl.pre.className){gl.textClass=fT(gl.pre.className,gl.textClass||"")}return gl}function fd(gj){var gi=f3("span","\u2022","cm-invalidchar");gi.title="\\u"+gj.charCodeAt(0).toString(16);gi.setAttribute("aria-label",gi.title);return gi}function t(gt,go,gy,gv,gr,gA,gn){if(!go){return}var gx=gt.splitSpaces?go.replace(/ {3,}/g,cG):go;var gi=gt.cm.state.specialChars,gj=false;if(!gi.test(go)){gt.col+=go.length;var gw=document.createTextNode(gx);gt.map.push(gt.pos,gt.pos+go.length,gw);if(dL&&k<9){gj=true}gt.pos+=go.length}else{var gw=document.createDocumentFragment(),gl=0;while(true){gi.lastIndex=gl;var gu=gi.exec(go);var gz=gu?gu.index-gl:go.length-gl;if(gz){var gq=document.createTextNode(gx.slice(gl,gl+gz));if(dL&&k<9){gw.appendChild(f3("span",[gq]))}else{gw.appendChild(gq)}gt.map.push(gt.pos,gt.pos+gz,gq);gt.col+=gz;gt.pos+=gz}if(!gu){break}gl+=gz+1;if(gu[0]=="\t"){var gs=gt.cm.options.tabSize,gp=gs-gt.col%gs;var gq=gw.appendChild(f3("span",cq(gp),"cm-tab"));gq.setAttribute("role","presentation");gq.setAttribute("cm-text","\t");gt.col+=gp}else{var gq=gt.cm.options.specialCharPlaceholder(gu[0]);gq.setAttribute("cm-text",gu[0]);if(dL&&k<9){gw.appendChild(f3("span",[gq]))}else{gw.appendChild(gq)}gt.col+=1}gt.map.push(gt.pos,gt.pos+1,gq);gt.pos++}}if(gy||gv||gr||gj||gn){var gk=gy||"";if(gv){gk+=gv}if(gr){gk+=gr}var gm=f3("span",[gw],gk,gn);if(gA){gm.title=gA}return gt.content.appendChild(gm)}gt.content.appendChild(gw)}function cG(gi){var gj=" ";for(var gk=0;gk<gi.length-2;++gk){gj+=gk%2?" ":"\u00a0"}gj+=" ";return gj}function U(gj,gi){return function(gr,gt,gk,go,gu,gs,gq){gk=gk?gk+" cm-force-border":"cm-force-border";var gl=gr.pos,gn=gl+gt.length;for(;;){for(var gp=0;gp<gi.length;gp++){var gm=gi[gp];if(gm.to>gl&&gm.from<=gl){break}}if(gm.to>=gn){return gj(gr,gt,gk,go,gu,gs,gq)}gj(gr,gt.slice(0,gm.to-gl),gk,go,null,gs,gq);go=null;gt=gt.slice(gm.to-gl);gl=gm.to}}}function ac(gj,gl,gi,gk){var gm=!gk&&gi.widgetNode;if(gm){gj.map.push(gj.pos,gj.pos+gl,gm)}if(!gk&&gj.cm.display.input.needsContentAttribute){if(!gm){gm=gj.content.appendChild(document.createElement("span"))}gm.setAttribute("cm-marker",gi.id)}if(gm){gj.cm.display.input.setUneditable(gm);gj.content.appendChild(gm)}gj.pos+=gl}function bp(gr,gy,gq){var gn=gr.markedSpans,gp=gr.text,gw=0;if(!gn){for(var gB=1;gB<gq.length;gB+=2){gy.addToken(gy,gp.slice(gw,gw=gq[gB]),eX(gq[gB+1],gy.cm.options))}return}var gC=gp.length,gm=0,gB=1,gu="",gD,gs;var gF=0,gi,gE,gv,gG,gk;for(;;){if(gF==gm){gi=gE=gv=gG=gs="";gk=null;gF=Infinity;var go=[];for(var gz=0;gz<gn.length;++gz){var gA=gn[gz],gx=gA.marker;if(gx.type=="bookmark"&&gA.from==gm&&gx.widgetNode){go.push(gx)}else{if(gA.from<=gm&&(gA.to==null||gA.to>gm||gx.collapsed&&gA.to==gm&&gA.from==gm)){if(gA.to!=null&&gA.to!=gm&&gF>gA.to){gF=gA.to;gE=""}if(gx.className){gi+=" "+gx.className}if(gx.css){gs=gx.css}if(gx.startStyle&&gA.from==gm){gv+=" "+gx.startStyle}if(gx.endStyle&&gA.to==gF){gE+=" "+gx.endStyle}if(gx.title&&!gG){gG=gx.title}if(gx.collapsed&&(!gk||dR(gk.marker,gx)<0)){gk=gA}}else{if(gA.from>gm&&gF>gA.from){gF=gA.from}}}}if(gk&&(gk.from||0)==gm){ac(gy,(gk.to==null?gC+1:gk.to)-gm,gk.marker,gk.from==null);if(gk.to==null){return}if(gk.to==gm){gk=false}}if(!gk&&go.length){for(var gz=0;gz<go.length;++gz){ac(gy,0,go[gz])}}}if(gm>=gC){break}var gt=Math.min(gC,gF);while(true){if(gu){var gj=gm+gu.length;if(!gk){var gl=gj>gt?gu.slice(0,gt-gm):gu;gy.addToken(gy,gl,gD?gD+gi:gi,gv,gm+gl.length==gF?gE:"",gG,gs)}if(gj>=gt){gu=gu.slice(gt-gm);gm=gt;break}gm=gj;gv=""}gu=gp.slice(gw,gw=gq[gB++]);gD=eX(gq[gB++],gy.cm.options)}}}function dT(gi,gj){return gj.from.ch==0&&gj.to.ch==0&&fH(gj.text)==""&&(!gi.cm||gi.cm.options.wholeLineUpdateBefore)}function fz(gv,gq,gj,gm){function gw(gy){return gj?gj[gy]:null}function gk(gy,gA,gz){en(gy,gA,gz,gm);ae(gy,"change",gy,gq)}function gi(gB,gz){for(var gA=gB,gy=[];gA<gz;++gA){gy.push(new f7(gx[gA],gw(gA),gm))}return gy}var gu=gq.from,gt=gq.to,gx=gq.text;var gr=fg(gv,gu.line),gs=fg(gv,gt.line);var gp=fH(gx),gl=gw(gx.length-1),go=gt.line-gu.line;if(gq.full){gv.insert(0,gi(0,gx.length));gv.remove(gx.length,gv.size-gx.length)}else{if(dT(gv,gq)){var gn=gi(0,gx.length-1);gk(gs,gs.text,gl);if(go){gv.remove(gu.line,go)}if(gn.length){gv.insert(gu.line,gn)}}else{if(gr==gs){if(gx.length==1){gk(gr,gr.text.slice(0,gu.ch)+gp+gr.text.slice(gt.ch),gl)}else{var gn=gi(1,gx.length-1);gn.push(new f7(gp+gr.text.slice(gt.ch),gl,gm));gk(gr,gr.text.slice(0,gu.ch)+gx[0],gw(0));gv.insert(gu.line+1,gn)}}else{if(gx.length==1){gk(gr,gr.text.slice(0,gu.ch)+gx[0]+gs.text.slice(gt.ch),gw(0));gv.remove(gu.line+1,go)}else{gk(gr,gr.text.slice(0,gu.ch)+gx[0],gw(0));gk(gs,gp+gs.text.slice(gt.ch),gl);var gn=gi(1,gx.length-1);if(go>1){gv.remove(gu.line+1,go-1)}gv.insert(gu.line+1,gn)}}}}ae(gv,"change",gv,gq)}function e0(gj){this.lines=gj;this.parent=null;for(var gk=0,gi=0;gk<gj.length;++gk){gj[gk].parent=this;gi+=gj[gk].height}this.height=gi}e0.prototype={chunkSize:function(){return this.lines.length},removeInner:function(gi,gm){for(var gk=gi,gl=gi+gm;gk<gl;++gk){var gj=this.lines[gk];this.height-=gj.height;bC(gj);ae(gj,"delete")}this.lines.splice(gi,gm)},collapse:function(gi){gi.push.apply(gi,this.lines)},insertInner:function(gj,gk,gi){this.height+=gi;this.lines=this.lines.slice(0,gj).concat(gk).concat(this.lines.slice(gj));for(var gl=0;gl<gk.length;++gl){gk[gl].parent=this}},iterN:function(gi,gl,gk){for(var gj=gi+gl;gi<gj;++gi){if(gk(this.lines[gi])){return true}}}};function fy(gl){this.children=gl;var gk=0,gi=0;for(var gj=0;gj<gl.length;++gj){var gm=gl[gj];gk+=gm.chunkSize();gi+=gm.height;gm.parent=this}this.size=gk;this.height=gi;this.parent=null}fy.prototype={chunkSize:function(){return this.size},removeInner:function(gi,gp){this.size-=gp;for(var gk=0;gk<this.children.length;++gk){var go=this.children[gk],gm=go.chunkSize();if(gi<gm){var gl=Math.min(gp,gm-gi),gn=go.height;go.removeInner(gi,gl);this.height-=gn-go.height;if(gm==gl){this.children.splice(gk--,1);go.parent=null}if((gp-=gl)==0){break}gi=0}else{gi-=gm}}if(this.size-gp<25&&(this.children.length>1||!(this.children[0] instanceof e0))){var gj=[];this.collapse(gj);this.children=[new e0(gj)];this.children[0].parent=this}},collapse:function(gi){for(var gj=0;gj<this.children.length;++gj){this.children[gj].collapse(gi)}},insertInner:function(gj,gk,gi){this.size+=gk.length;this.height+=gi;for(var gn=0;gn<this.children.length;++gn){var gp=this.children[gn],go=gp.chunkSize();if(gj<=go){gp.insertInner(gj,gk,gi);if(gp.lines&&gp.lines.length>50){while(gp.lines.length>50){var gm=gp.lines.splice(gp.lines.length-25,25);var gl=new e0(gm);gp.height-=gl.height;this.children.splice(gn+1,0,gl);gl.parent=this}this.maybeSpill()}break}gj-=go}},maybeSpill:function(){if(this.children.length<=10){return}var gl=this;do{var gj=gl.children.splice(gl.children.length-5,5);var gk=new fy(gj);if(!gl.parent){var gm=new fy(gl.children);gm.parent=gl;gl.children=[gm,gk];gl=gm}else{gl.size-=gk.size;gl.height-=gk.height;var gi=di(gl.parent.children,gl);gl.parent.children.splice(gi+1,0,gk)}gk.parent=gl.parent}while(gl.children.length>10);gl.parent.maybeSpill()},iterN:function(gi,go,gn){for(var gj=0;gj<this.children.length;++gj){var gm=this.children[gj],gl=gm.chunkSize();if(gi<gl){var gk=Math.min(go,gl-gi);if(gm.iterN(gi,gk,gn)){return true}if((go-=gk)==0){break}gi=0}else{gi-=gl}}}};var cs=0;var at=H.Doc=function(gk,gj,gi){if(!(this instanceof at)){return new at(gk,gj,gi)}if(gi==null){gi=0}fy.call(this,[new e0([new f7("",null)])]);this.first=gi;this.scrollTop=this.scrollLeft=0;this.cantEdit=false;this.cleanGeneration=1;this.frontier=gi;var gl=W(gi,0);this.sel=eT(gl);this.history=new fU(null);this.id=++cs;this.modeOption=gj;if(typeof gk=="string"){gk=a1(gk)}fz(this,{from:gl,to:gl,text:gk});bV(this,eT(gl),Z)};at.prototype=cl(fy.prototype,{constructor:at,iter:function(gk,gj,gi){if(gi){this.iterN(gk-this.first,gj-gk,gi)}else{this.iterN(this.first,this.first+this.size,gk)}},insert:function(gj,gk){var gi=0;for(var gl=0;gl<gk.length;++gl){gi+=gk[gl].height}this.insertInner(gj-this.first,gk,gi)},remove:function(gi,gj){this.removeInner(gi-this.first,gj)},getValue:function(gj){var gi=a3(this,this.first,this.first+this.size);if(gj===false){return gi}return gi.join(gj||"\n")},setValue:cE(function(gj){var gk=W(this.first,0),gi=this.first+this.size-1;bh(this,{from:gk,to:W(gi,fg(this,gi).text.length),text:a1(gj),origin:"setValue",full:true},true);bV(this,eT(gk))}),replaceRange:function(gj,gl,gk,gi){gl=fK(this,gl);gk=gk?fK(this,gk):gl;a2(this,gj,gl,gk,gi)},getRange:function(gl,gk,gj){var gi=f5(this,fK(this,gl),fK(this,gk));if(gj===false){return gi}return gi.join(gj||"\n")},getLine:function(gj){var gi=this.getLineHandle(gj);return gi&&gi.text},getLineHandle:function(gi){if(ca(this,gi)){return fg(this,gi)}},getLineNumber:function(gi){return bO(gi)},getLineHandleVisualStart:function(gi){if(typeof gi=="number"){gi=fg(this,gi)}return y(gi)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(gi){return fK(this,gi)},getCursor:function(gk){var gi=this.sel.primary(),gj;if(gk==null||gk=="head"){gj=gi.head}else{if(gk=="anchor"){gj=gi.anchor}else{if(gk=="end"||gk=="to"||gk===false){gj=gi.to()}else{gj=gi.from()}}}return gj},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:cE(function(gi,gk,gj){F(this,fK(this,typeof gi=="number"?W(gi,gk||0):gi),null,gj)}),setSelection:cE(function(gj,gk,gi){F(this,fK(this,gj),fK(this,gk||gj),gi)}),extendSelection:cE(function(gk,gi,gj){fX(this,fK(this,gk),gi&&fK(this,gi),gj)}),extendSelections:cE(function(gj,gi){aw(this,d1(this,gj,gi))}),extendSelectionsBy:cE(function(gj,gi){aw(this,bT(this.sel.ranges,gj),gi)}),setSelections:cE(function(gi,gm,gk){if(!gi.length){return}for(var gl=0,gj=[];gl<gi.length;gl++){gj[gl]=new dZ(fK(this,gi[gl].anchor),fK(this,gi[gl].head))}if(gm==null){gm=Math.min(gi.length-1,this.sel.primIndex)}bV(this,cx(gj,gm),gk)}),addSelection:cE(function(gk,gl,gj){var gi=this.sel.ranges.slice(0);gi.push(new dZ(fK(this,gk),fK(this,gl||gk)));bV(this,cx(gi,gi.length-1),gj)}),getSelection:function(gm){var gj=this.sel.ranges,gi;for(var gk=0;gk<gj.length;gk++){var gl=f5(this,gj[gk].from(),gj[gk].to());gi=gi?gi.concat(gl):gl}if(gm===false){return gi}else{return gi.join(gm||"\n")}},getSelections:function(gm){var gl=[],gi=this.sel.ranges;for(var gj=0;gj<gi.length;gj++){var gk=f5(this,gi[gj].from(),gi[gj].to());if(gm!==false){gk=gk.join(gm||"\n")}gl[gj]=gk}return gl},replaceSelection:function(gk,gm,gi){var gl=[];for(var gj=0;gj<this.sel.ranges.length;gj++){gl[gj]=gk}this.replaceSelections(gl,gm,gi||"+input")},replaceSelections:cE(function(gn,gp,gk){var gm=[],go=this.sel;for(var gl=0;gl<go.ranges.length;gl++){var gj=go.ranges[gl];gm[gl]={from:gj.from(),to:gj.to(),text:a1(gn[gl]),origin:gk}}var gi=gp&&gp!="end"&&af(this,gm,gp);for(var gl=gm.length-1;gl>=0;gl--){bh(this,gm[gl])}if(gi){e8(this,gi)}else{if(this.cm){fG(this.cm)}}}),undo:cE(function(){b9(this,"undo")}),redo:cE(function(){b9(this,"redo")}),undoSelection:cE(function(){b9(this,"undo",true)}),redoSelection:cE(function(){b9(this,"redo",true)}),setExtending:function(gi){this.extend=gi},getExtending:function(){return this.extend},historySize:function(){var gl=this.history,gi=0,gk=0;for(var gj=0;gj<gl.done.length;gj++){if(!gl.done[gj].ranges){++gi}}for(var gj=0;gj<gl.undone.length;gj++){if(!gl.undone[gj].ranges){++gk}}return{undo:gi,redo:gk}},clearHistory:function(){this.history=new fU(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(true)},changeGeneration:function(gi){if(gi){this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null}return this.history.generation},isClean:function(gi){return this.history.generation==(gi||this.cleanGeneration)},getHistory:function(){return{done:bQ(this.history.done),undone:bQ(this.history.undone)}},setHistory:function(gj){var gi=this.history=new fU(this.history.maxGeneration);gi.done=bQ(gj.done.slice(0),null,true);gi.undone=bQ(gj.undone.slice(0),null,true)},addLineClass:cE(function(gk,gj,gi){return eA(this,gk,gj=="gutter"?"gutter":"class",function(gl){var gm=gj=="text"?"textClass":gj=="background"?"bgClass":gj=="gutter"?"gutterClass":"wrapClass";if(!gl[gm]){gl[gm]=gi}else{if(S(gi).test(gl[gm])){return false}else{gl[gm]+=" "+gi}}return true})}),removeLineClass:cE(function(gk,gj,gi){return eA(this,gk,gj=="gutter"?"gutter":"class",function(gm){var gp=gj=="text"?"textClass":gj=="background"?"bgClass":gj=="gutter"?"gutterClass":"wrapClass";var go=gm[gp];if(!go){return false}else{if(gi==null){gm[gp]=null}else{var gn=go.match(S(gi));if(!gn){return false}var gl=gn.index+gn[0].length;gm[gp]=go.slice(0,gn.index)+(!gn.index||gl==go.length?"":" ")+go.slice(gl)||null}}return true})}),addLineWidget:cE(function(gk,gj,gi){return bI(this,gk,gj,gi)}),removeLineWidget:function(gi){gi.clear()},markText:function(gk,gj,gi){return eG(this,fK(this,gk),fK(this,gj),gi,"range")},setBookmark:function(gk,gi){var gj={replacedWith:gi&&(gi.nodeType==null?gi.widget:gi),insertLeft:gi&&gi.insertLeft,clearWhenEmpty:false,shared:gi&&gi.shared,handleMouseEvents:gi&&gi.handleMouseEvents};gk=fK(this,gk);return eG(this,gk,gk,gj,"bookmark")},findMarksAt:function(gm){gm=fK(this,gm);var gl=[],gj=fg(this,gm.line).markedSpans;if(gj){for(var gi=0;gi<gj.length;++gi){var gk=gj[gi];if((gk.from==null||gk.from<=gm.ch)&&(gk.to==null||gk.to>=gm.ch)){gl.push(gk.marker.parent||gk.marker)}}}return gl},findMarks:function(gm,gl,gi){gm=fK(this,gm);gl=fK(this,gl);var gj=[],gk=gm.line;this.iter(gm.line,gl.line+1,function(gn){var gp=gn.markedSpans;if(gp){for(var go=0;go<gp.length;go++){var gq=gp[go];if(!(gk==gm.line&&gm.ch>gq.to||gq.from==null&&gk!=gm.line||gk==gl.line&&gq.from>gl.ch)&&(!gi||gi(gq.marker))){gj.push(gq.marker.parent||gq.marker)}}}++gk});return gj},getAllMarks:function(){var gi=[];this.iter(function(gk){var gj=gk.markedSpans;if(gj){for(var gl=0;gl<gj.length;++gl){if(gj[gl].from!=null){gi.push(gj[gl].marker)}}}});return gi},posFromIndex:function(gj){var gi,gk=this.first;this.iter(function(gl){var gm=gl.text.length+1;if(gm>gj){gi=gj;return true}gj-=gm;++gk});return fK(this,W(gk,gi))},indexFromPos:function(gj){gj=fK(this,gj);var gi=gj.ch;if(gj.line<this.first||gj.ch<0){return 0}this.iter(this.first,gj.line,function(gk){gi+=gk.text.length+1});return gi},copy:function(gi){var gj=new at(a3(this,this.first,this.first+this.size),this.modeOption,this.first);gj.scrollTop=this.scrollTop;gj.scrollLeft=this.scrollLeft;gj.sel=this.sel;gj.extend=false;if(gi){gj.history.undoDepth=this.history.undoDepth;gj.setHistory(this.getHistory())}return gj},linkedDoc:function(gi){if(!gi){gi={}}var gl=this.first,gk=this.first+this.size;if(gi.from!=null&&gi.from>gl){gl=gi.from}if(gi.to!=null&&gi.to<gk){gk=gi.to}var gj=new at(a3(this,gl,gk),gi.mode||this.modeOption,gl);if(gi.sharedHist){gj.history=this.history}(this.linked||(this.linked=[])).push({doc:gj,sharedHist:gi.sharedHist});gj.linked=[{doc:this,isParent:true,sharedHist:gi.sharedHist}];dG(gj,eQ(this));return gj},unlinkDoc:function(gj){if(gj instanceof H){gj=gj.doc}if(this.linked){for(var gk=0;gk<this.linked.length;++gk){var gl=this.linked[gk];if(gl.doc!=gj){continue}this.linked.splice(gk,1);gj.unlinkDoc(this);ep(eQ(this));break}}if(gj.history==this.history){var gi=[gj.id];d8(gj,function(gm){gi.push(gm.id)},true);gj.history=new fU(null);gj.history.done=bQ(this.history.done,gi);gj.history.undone=bQ(this.history.undone,gi)}},iterLinkedDocs:function(gi){d8(this,gi)},getMode:function(){return this.mode},getEditor:function(){return this.cm}});at.prototype.eachLine=at.prototype.iter;var d="iter insert remove copy getEditor constructor".split(" ");for(var bL in at.prototype){if(at.prototype.hasOwnProperty(bL)&&di(d,bL)<0){H.prototype[bL]=(function(gi){return function(){return gi.apply(this.doc,arguments)}})(at.prototype[bL])}}bz(at);function d8(gl,gk,gj){function gi(gr,gp,gn){if(gr.linked){for(var go=0;go<gr.linked.length;++go){var gm=gr.linked[go];if(gm.doc==gp){continue}var gq=gn&&gm.sharedHist;if(gj&&!gq){continue}gk(gm.doc,gq);gi(gm.doc,gr,gq)}}}gi(gl,null,true)}function ec(gi,gj){if(gj.cm){throw new Error("This document is already in use.")}gi.doc=gj;gj.cm=gi;X(gi);bs(gi);if(!gi.options.lineWrapping){h(gi)}gi.options.mode=gj.modeOption;ah(gi)}function fg(gl,gn){gn-=gl.first;if(gn<0||gn>=gl.size){throw new Error("There is no line "+(gn+gl.first)+" in the document.")}for(var gi=gl;!gi.lines;){for(var gj=0;;++gj){var gm=gi.children[gj],gk=gm.chunkSize();if(gn<gk){gi=gm;break}gn-=gk}}return gi.lines[gn]}function f5(gk,gm,gi){var gj=[],gl=gm.line;gk.iter(gm.line,gi.line+1,function(gn){var go=gn.text;if(gl==gi.line){go=go.slice(0,gi.ch)}if(gl==gm.line){go=go.slice(gm.ch)}gj.push(go);++gl});return gj}function a3(gj,gl,gk){var gi=[];gj.iter(gl,gk,function(gm){gi.push(gm.text)});return gi}function f6(gj,gi){var gk=gi-gj.height;if(gk){for(var gl=gj;gl;gl=gl.parent){gl.height+=gk}}}function bO(gi){if(gi.parent==null){return null}var gm=gi.parent,gl=di(gm.lines,gi);for(var gj=gm.parent;gj;gm=gj,gj=gj.parent){for(var gk=0;;++gk){if(gj.children[gk]==gm){break}gl+=gj.children[gk].chunkSize()}}return gl+gm.first}function bH(gk,gn){var gp=gk.first;outer:do{for(var gl=0;gl<gk.children.length;++gl){var go=gk.children[gl],gm=go.height;if(gn<gm){gk=go;continue outer}gn-=gm;gp+=go.chunkSize()}return gp}while(!gk.lines);for(var gl=0;gl<gk.lines.length;++gl){var gj=gk.lines[gl],gi=gj.height;if(gn<gi){break}gn-=gi}return gp+gl}function bN(gk){gk=y(gk);var gm=0,gj=gk.parent;for(var gl=0;gl<gj.lines.length;++gl){var gi=gj.lines[gl];if(gi==gk){break}else{gm+=gi.height}}for(var gn=gj.parent;gn;gj=gn,gn=gj.parent){for(var gl=0;gl<gn.children.length;++gl){var go=gn.children[gl];if(go==gj){break}else{gm+=go.height}}}return gm}function a(gj){var gi=gj.order;if(gi==null){gi=gj.order=bi(gj.text)}return gi}function fU(gi){this.done=[];this.undone=[];this.undoDepth=Infinity;this.lastModTime=this.lastSelTime=0;this.lastOp=this.lastSelOp=null;this.lastOrigin=this.lastSelOrigin=null;this.generation=this.maxGeneration=gi||1}function dv(gi,gk){var gj={from:cj(gk.from),to:cY(gk),text:f5(gi,gk.from,gk.to)};bZ(gi,gj,gk.from.line,gk.to.line+1);d8(gi,function(gl){bZ(gl,gj,gk.from.line,gk.to.line+1)},true);return gj}function fC(gj){while(gj.length){var gi=fH(gj);if(gi.ranges){gj.pop()}else{break}}}function eN(gj,gi){if(gi){fC(gj.done);return fH(gj.done)}else{if(gj.done.length&&!fH(gj.done).ranges){return fH(gj.done)}else{if(gj.done.length>1&&!gj.done[gj.done.length-2].ranges){gj.done.pop();return fH(gj.done)}}}}function fN(go,gm,gi,gl){var gk=go.history;gk.undone.length=0;var gj=+new Date,gp;if((gk.lastOp==gl||gk.lastOrigin==gm.origin&&gm.origin&&((gm.origin.charAt(0)=="+"&&go.cm&&gk.lastModTime>gj-go.cm.options.historyEventDelay)||gm.origin.charAt(0)=="*"))&&(gp=eN(gk,gk.lastOp==gl))){var gq=fH(gp.changes);if(cg(gm.from,gm.to)==0&&cg(gm.from,gq.to)==0){gq.to=cY(gm)}else{gp.changes.push(dv(go,gm))}}else{var gn=fH(gk.done);if(!gn||!gn.ranges){cO(go.sel,gk.done)}gp={changes:[dv(go,gm)],generation:gk.generation};gk.done.push(gp);while(gk.done.length>gk.undoDepth){gk.done.shift();if(!gk.done[0].ranges){gk.done.shift()}}}gk.done.push(gi);gk.generation=++gk.maxGeneration;gk.lastModTime=gk.lastSelTime=gj;gk.lastOp=gk.lastSelOp=gl;gk.lastOrigin=gk.lastSelOrigin=gm.origin;if(!gq){aE(go,"historyAdded")}}function bB(gm,gi,gk,gl){var gj=gi.charAt(0);return gj=="*"||gj=="+"&&gk.ranges.length==gl.ranges.length&&gk.somethingSelected()==gl.somethingSelected()&&new Date-gm.history.lastSelTime<=(gm.cm?gm.cm.options.historyEventDelay:500)}function gc(gn,gl,gi,gk){var gm=gn.history,gj=gk&&gk.origin;if(gi==gm.lastSelOp||(gj&&gm.lastSelOrigin==gj&&(gm.lastModTime==gm.lastSelTime&&gm.lastOrigin==gj||bB(gn,gj,fH(gm.done),gl)))){gm.done[gm.done.length-1]=gl}else{cO(gl,gm.done)}gm.lastSelTime=+new Date;gm.lastSelOrigin=gj;gm.lastSelOp=gi;if(gk&&gk.clearRedo!==false){fC(gm.undone)}}function cO(gj,gi){var gk=fH(gi);if(!(gk&&gk.ranges&&gk.equals(gj))){gi.push(gj)}}function bZ(gj,gn,gm,gl){var gi=gn["spans_"+gj.id],gk=0;gj.iter(Math.max(gj.first,gm),Math.min(gj.first+gj.size,gl),function(go){if(go.markedSpans){(gi||(gi=gn["spans_"+gj.id]={}))[gk]=go.markedSpans}++gk})}function bm(gk){if(!gk){return null}for(var gj=0,gi;gj<gk.length;++gj){if(gk[gj].marker.explicitlyCleared){if(!gi){gi=gk.slice(0,gj)}}else{if(gi){gi.push(gk[gj])}}}return !gi?gk:gi.length?gi:null}function b5(gl,gm){var gk=gm["spans_"+gl.id];if(!gk){return null}for(var gj=0,gi=[];gj<gm.text.length;++gj){gi.push(bm(gk[gj]))}return gi}function bQ(gt,gl,gs){for(var go=0,gj=[];go<gt.length;++go){var gk=gt[go];if(gk.ranges){gj.push(gs?f4.prototype.deepCopy.call(gk):gk);continue}var gq=gk.changes,gr=[];gj.push({changes:gr});for(var gn=0;gn<gq.length;++gn){var gp=gq[gn],gm;gr.push({from:gp.from,to:gp.to,text:gp.text});if(gl){for(var gi in gp){if(gm=gi.match(/^spans_(\d+)$/)){if(di(gl,Number(gm[1]))>-1){fH(gr)[gi]=gp[gi];delete gp[gi]}}}}}}return gj}function I(gl,gk,gj,gi){if(gj<gl.line){gl.line+=gi}else{if(gk<gl.line){gl.line=gk;gl.ch=0}}}function fi(gl,gn,go,gp){for(var gk=0;gk<gl.length;++gk){var gi=gl[gk],gm=true;if(gi.ranges){if(!gi.copied){gi=gl[gk]=gi.deepCopy();gi.copied=true}for(var gj=0;gj<gi.ranges.length;gj++){I(gi.ranges[gj].anchor,gn,go,gp);I(gi.ranges[gj].head,gn,go,gp)}continue}for(var gj=0;gj<gi.changes.length;++gj){var gq=gi.changes[gj];if(go<gq.from.line){gq.from=W(gq.from.line+gp,gq.from.ch);gq.to=W(gq.to.line+gp,gq.to.ch)}else{if(gn<=gq.to.line){gm=false;break}}}if(!gm){gl.splice(0,gk+1);gk=0}}}function dF(gj,gm){var gl=gm.from.line,gk=gm.to.line,gi=gm.text.length-(gk-gl)-1;fi(gj.done,gl,gk,gi);fi(gj.undone,gl,gk,gi)}var cH=H.e_preventDefault=function(gi){if(gi.preventDefault){gi.preventDefault()}else{gi.returnValue=false}};var dr=H.e_stopPropagation=function(gi){if(gi.stopPropagation){gi.stopPropagation()}else{gi.cancelBubble=true}};function bM(gi){return gi.defaultPrevented!=null?gi.defaultPrevented:gi.returnValue==false}var es=H.e_stop=function(gi){cH(gi);dr(gi)};function L(gi){return gi.target||gi.srcElement}function fO(gj){var gi=gj.which;if(gi==null){if(gj.button&1){gi=1}else{if(gj.button&2){gi=3}else{if(gj.button&4){gi=2}}}}if(b8&&gj.ctrlKey&&gi==1){gi=3}return gi}var bY=H.on=function(gl,gj,gk){if(gl.addEventListener){gl.addEventListener(gj,gk,false)}else{if(gl.attachEvent){gl.attachEvent("on"+gj,gk)}else{var gm=gl._handlers||(gl._handlers={});var gi=gm[gj]||(gm[gj]=[]);gi.push(gk)}}};var ee=H.off=function(gm,gk,gl){if(gm.removeEventListener){gm.removeEventListener(gk,gl,false)}else{if(gm.detachEvent){gm.detachEvent("on"+gk,gl)}else{var gi=gm._handlers&&gm._handlers[gk];if(!gi){return}for(var gj=0;gj<gi.length;++gj){if(gi[gj]==gl){gi.splice(gj,1);break}}}}};var aE=H.signal=function(gm,gl){var gi=gm._handlers&&gm._handlers[gl];if(!gi){return}var gj=Array.prototype.slice.call(arguments,2);for(var gk=0;gk<gi.length;++gk){gi[gk].apply(null,gj)}};var bA=null;function ae(go,gm){var gi=go._handlers&&go._handlers[gm];if(!gi){return}var gk=Array.prototype.slice.call(arguments,2),gn;if(bq){gn=bq.delayedCallbacks}else{if(bA){gn=bA}else{gn=bA=[];setTimeout(aM,0)}}function gj(gp){return function(){gp.apply(null,gk)}}for(var gl=0;gl<gi.length;++gl){gn.push(gj(gi[gl]))}}function aM(){var gi=bA;bA=null;for(var gj=0;gj<gi.length;++gj){gi[gj]()}}function aR(gi,gk,gj){if(typeof gk=="string"){gk={type:gk,preventDefault:function(){this.defaultPrevented=true}}}aE(gi,gj||gk.type,gi,gk);return bM(gk)||gk.codemirrorIgnore}function V(gj){var gi=gj._handlers&&gj._handlers.cursorActivity;if(!gi){return}var gl=gj.curOp.cursorActivityHandlers||(gj.curOp.cursorActivityHandlers=[]);for(var gk=0;gk<gi.length;++gk){if(di(gl,gi[gk])==-1){gl.push(gi[gk])}}}function fj(gk,gj){var gi=gk._handlers&&gk._handlers[gj];return gi&&gi.length>0}function bz(gi){gi.prototype.on=function(gj,gk){bY(this,gj,gk)};gi.prototype.off=function(gj,gk){ee(this,gj,gk)}}var dK=30;var cb=H.Pass={toString:function(){return"CodeMirror.Pass"}};var Z={scroll:false},M={origin:"*mouse"},cX={origin:"+move"};function gh(){this.id=null}gh.prototype.set=function(gi,gj){clearTimeout(this.id);this.id=setTimeout(gj,gi)};var bU=H.countColumn=function(gl,gj,gn,go,gk){if(gj==null){gj=gl.search(/[^\s\u00a0]/);if(gj==-1){gj=gl.length}}for(var gm=go||0,gp=gk||0;;){var gi=gl.indexOf("\t",gm);if(gi<0||gi>=gj){return gp+(gj-gm)}gp+=gi-gm;gp+=gn-(gp%gn);gm=gi+1}};function er(gm,gl,gn){for(var go=0,gk=0;;){var gj=gm.indexOf("\t",go);if(gj==-1){gj=gm.length}var gi=gj-go;if(gj==gm.length||gk+gi>=gl){return go+Math.min(gi,gl-gk)}gk+=gj-go;gk+=gn-(gk%gn);go=gj+1;if(gk>=gl){return go}}}var a0=[""];function cq(gi){while(a0.length<=gi){a0.push(fH(a0)+" ")}return a0[gi]}function fH(gi){return gi[gi.length-1]}var dM=function(gi){gi.select()};if(e2){dM=function(gi){gi.selectionStart=0;gi.selectionEnd=gi.value.length}}else{if(dL){dM=function(gj){try{gj.select()}catch(gi){}}}}function di(gk,gi){for(var gj=0;gj<gk.length;++gj){if(gk[gj]==gi){return gj}}return -1}function bT(gl,gk){var gi=[];for(var gj=0;gj<gl.length;gj++){gi[gj]=gk(gl[gj],gj)}return gi}function fV(){}function cl(gk,gi){var gj;if(Object.create){gj=Object.create(gk)}else{fV.prototype=gk;gj=new fV()}if(gi){aN(gi,gj)}return gj}function aN(gk,gj,gi){if(!gj){gj={}}for(var gl in gk){if(gk.hasOwnProperty(gl)&&(gi!==false||!gj.hasOwnProperty(gl))){gj[gl]=gk[gl]}}return gj}function cw(gj){var gi=Array.prototype.slice.call(arguments,1);return function(){return gj.apply(null,gi)}}var bd=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;var fE=H.isWordChar=function(gi){return/\w/.test(gi)||gi>"\x80"&&(gi.toUpperCase()!=gi.toLowerCase()||bd.test(gi))};function cB(gi,gj){if(!gj){return fE(gi)}if(gj.source.indexOf("\\w")>-1&&fE(gi)){return true}return gj.test(gi)}function eV(gi){for(var gj in gi){if(gi.hasOwnProperty(gj)&&gi[gj]){return false}}return true}var eK=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function fq(gi){return gi.charCodeAt(0)>=768&&eK.test(gi)}function f3(gi,gm,gl,gk){var gn=document.createElement(gi);if(gl){gn.className=gl}if(gk){gn.style.cssText=gk}if(typeof gm=="string"){gn.appendChild(document.createTextNode(gm))}else{if(gm){for(var gj=0;gj<gm.length;++gj){gn.appendChild(gm[gj])}}}return gn}var cm;if(document.createRange){cm=function(gl,gm,gj,gi){var gk=document.createRange();gk.setEnd(gi||gl,gj);gk.setStart(gl,gm);return gk}}else{cm=function(gk,gm,gi){var gj=document.body.createTextRange();try{gj.moveToElementText(gk.parentNode)}catch(gl){return gj}gj.collapse(true);gj.moveEnd("character",gi);gj.moveStart("character",gm);return gj}}function d2(gj){for(var gi=gj.childNodes.length;gi>0;--gi){gj.removeChild(gj.firstChild)}return gj}function bS(gi,gj){return d2(gi).appendChild(gj)}var gb=H.contains=function(gi,gj){if(gj.nodeType==3){gj=gj.parentNode}if(gi.contains){return gi.contains(gj)}do{if(gj.nodeType==11){gj=gj.host}if(gj==gi){return true}}while(gj=gj.parentNode)};function dP(){return document.activeElement}if(dL&&k<11){dP=function(){try{return document.activeElement}catch(gi){return document.body}}}function S(gi){return new RegExp("(^|\\s)"+gi+"(?:$|\\s)\\s*")}var f=H.rmClass=function(gk,gi){var gl=gk.className;var gj=S(gi).exec(gl);if(gj){var gm=gl.slice(gj.index+gj[0].length);gk.className=gl.slice(0,gj.index)+(gm?gj[1]+gm:"")}};var fB=H.addClass=function(gj,gi){var gk=gj.className;if(!S(gi).test(gk)){gj.className+=(gk?" ":"")+gi}};function fT(gk,gi){var gj=gk.split(" ");for(var gl=0;gl<gj.length;gl++){if(gj[gl]&&!S(gj[gl]).test(gi)){gi+=" "+gj[gl]}}return gi}function aA(gl){if(!document.body.getElementsByClassName){return}var gk=document.body.getElementsByClassName("CodeMirror");for(var gj=0;gj<gk.length;gj++){var gi=gk[gj].CodeMirror;if(gi){gl(gi)}}}var cD=false;function bk(){if(cD){return}fF();cD=true}function fF(){var gi;bY(window,"resize",function(){if(gi==null){gi=setTimeout(function(){gi=null;aA(aT)},100)}});bY(window,"blur",function(){aA(aV)})}var eM=function(){if(dL&&k<9){return false}var gi=f3("div");return"draggable" in gi||"dragDrop" in gi}();var fM;function bo(gi){if(fM==null){var gk=f3("span","\u200b");bS(gi,f3("span",[gk,document.createTextNode("x")]));if(gi.firstChild.offsetHeight!=0){fM=gk.offsetWidth<=1&&gk.offsetHeight>2&&!(dL&&k<8)}}var gj=fM?f3("span","\u200b"):f3("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px");gj.setAttribute("cm-text","");return gj}var fL;function bP(gl){if(fL!=null){return fL}var gi=bS(gl,document.createTextNode("A\u062eA"));var gk=cm(gi,0,1).getBoundingClientRect();if(!gk||gk.left==gk.right){return false}var gj=cm(gi,1,2).getBoundingClientRect();return fL=(gj.right-gk.right<3)}var a1=H.splitLines="\n\nb".split(/\n/).length!=3?function(gn){var go=0,gi=[],gm=gn.length;while(go<=gm){var gl=gn.indexOf("\n",go);if(gl==-1){gl=gn.length}var gk=gn.slice(go,gn.charAt(gl-1)=="\r"?gl-1:gl);var gj=gk.indexOf("\r");if(gj!=-1){gi.push(gk.slice(0,gj));go+=gj+1}else{gi.push(gk);go=gl+1}}return gi}:function(gi){return gi.split(/\r\n?|\n/)};var bt=window.getSelection?function(gj){try{return gj.selectionStart!=gj.selectionEnd}catch(gi){return false}}:function(gk){try{var gi=gk.ownerDocument.selection.createRange()}catch(gj){}if(!gi||gi.parentElement()!=gk){return false}return gi.compareEndPoints("StartToEnd",gi)!=0};var db=(function(){var gi=f3("div");if("oncopy" in gi){return true}gi.setAttribute("oncopy","return;");return typeof gi.oncopy=="function"})();var e7=null;function aK(gj){if(e7!=null){return e7}var gk=bS(gj,f3("span","x"));var gl=gk.getBoundingClientRect();var gi=cm(gk,0,1).getBoundingClientRect();return e7=Math.abs(gl.left-gi.left)>1}var fh={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:";",61:"=",91:"Mod",92:"Mod",93:"Mod",107:"=",109:"-",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};H.keyNames=fh;(function(){for(var gi=0;gi<10;gi++){fh[gi+48]=fh[gi+96]=String(gi)}for(var gi=65;gi<=90;gi++){fh[gi]=String.fromCharCode(gi)}for(var gi=1;gi<=12;gi++){fh[gi+111]=fh[gi+63235]="F"+gi}})();function d5(gi,go,gn,gm){if(!gi){return gm(go,gn,"ltr")}var gl=false;for(var gk=0;gk<gi.length;++gk){var gj=gi[gk];if(gj.from<gn&&gj.to>go||go==gn&&gj.to==go){gm(Math.max(gj.from,go),Math.min(gj.to,gn),gj.level==1?"rtl":"ltr");gl=true}}if(!gl){gm(go,gn,"ltr")}}function dz(gi){return gi.level%2?gi.to:gi.from}function ge(gi){return gi.level%2?gi.from:gi.to}function cF(gj){var gi=a(gj);return gi?dz(gi[0]):0}function cT(gj){var gi=a(gj);if(!gi){return gj.text.length}return ge(fH(gi))}function bu(gj,gm){var gk=fg(gj.doc,gm);var gn=y(gk);if(gn!=gk){gm=bO(gn)}var gi=a(gn);var gl=!gi?0:gi[0].level%2?cT(gn):cF(gn);return W(gm,gl)}function dQ(gk,gn){var gj,gl=fg(gk.doc,gn);while(gj=ex(gl)){gl=gj.find(1,true).line;gn=null}var gi=a(gl);var gm=!gi?gl.text.length:gi[0].level%2?cF(gl):cT(gl);return W(gn==null?bO(gl):gn,gm)}function dJ(gj,go){var gn=bu(gj,go.line);var gk=fg(gj.doc,gn.line);var gi=a(gk);if(!gi||gi[0].level==0){var gm=Math.max(0,gk.text.search(/\S/));var gl=go.line==gn.line&&go.ch<=gm&&go.ch;return W(gn.line,gl?0:gm)}return gn}function an(gj,gk,gi){var gl=gj[0].level;if(gk==gl){return true}if(gi==gl){return false}return gk<gi}var e3;function aG(gi,gm){e3=null;for(var gj=0,gk;gj<gi.length;++gj){var gl=gi[gj];if(gl.from<gm&&gl.to>gm){return gj}if((gl.from==gm||gl.to==gm)){if(gk==null){gk=gj}else{if(an(gi,gl.level,gi[gk].level)){if(gl.from!=gl.to){e3=gk}return gj}else{if(gl.from!=gl.to){e3=gj}return gk}}}}return gk}function ff(gi,gl,gj,gk){if(!gk){return gl+gj}do{gl+=gj}while(gl>0&&fq(gi.text.charAt(gl)));return gl}function u(gi,gp,gk,gl){var gm=a(gi);if(!gm){return ai(gi,gp,gk,gl)}var go=aG(gm,gp),gj=gm[go];var gn=ff(gi,gp,gj.level%2?-gk:gk,gl);for(;;){if(gn>gj.from&&gn<gj.to){return gn}if(gn==gj.from||gn==gj.to){if(aG(gm,gn)==go){return gn}gj=gm[go+=gk];return(gk>0)==gj.level%2?gj.to:gj.from}else{gj=gm[go+=gk];if(!gj){return null}if((gk>0)==gj.level%2){gn=ff(gi,gj.to,-1,gl)}else{gn=ff(gi,gj.from,1,gl)}}}}function ai(gi,gm,gj,gk){var gl=gm+gj;if(gk){while(gl>0&&fq(gi.text.charAt(gl))){gl+=gj}}return gl<0||gl>gi.text.length?null:gl}var bi=(function(){var go="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var gm="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm";function gl(gs){if(gs<=247){return go.charAt(gs)}else{if(1424<=gs&&gs<=1524){return"R"}else{if(1536<=gs&&gs<=1773){return gm.charAt(gs-1536)}else{if(1774<=gs&&gs<=2220){return"r"}else{if(8192<=gs&&gs<=8203){return"w"}else{if(gs==8204){return"b"}else{return"L"}}}}}}}var gi=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var gr=/[stwN]/,gk=/[LRr]/,gj=/[Lb1n]/,gn=/[1n]/;var gq="L";function gp(gu,gt,gs){this.level=gu;this.from=gt;this.to=gs}return function(gC){if(!gi.test(gC)){return false}var gI=gC.length,gy=[];for(var gH=0,gu;gH<gI;++gH){gy.push(gu=gl(gC.charCodeAt(gH)))}for(var gH=0,gB=gq;gH<gI;++gH){var gu=gy[gH];if(gu=="m"){gy[gH]=gB}else{gB=gu}}for(var gH=0,gs=gq;gH<gI;++gH){var gu=gy[gH];if(gu=="1"&&gs=="r"){gy[gH]="n"}else{if(gk.test(gu)){gs=gu;if(gu=="r"){gy[gH]="R"}}}}for(var gH=1,gB=gy[0];gH<gI-1;++gH){var gu=gy[gH];if(gu=="+"&&gB=="1"&&gy[gH+1]=="1"){gy[gH]="1"}else{if(gu==","&&gB==gy[gH+1]&&(gB=="1"||gB=="n")){gy[gH]=gB}}gB=gu}for(var gH=0;gH<gI;++gH){var gu=gy[gH];if(gu==","){gy[gH]="N"}else{if(gu=="%"){for(var gv=gH+1;gv<gI&&gy[gv]=="%";++gv){}var gJ=(gH&&gy[gH-1]=="!")||(gv<gI&&gy[gv]=="1")?"1":"N";for(var gF=gH;gF<gv;++gF){gy[gF]=gJ}gH=gv-1}}}for(var gH=0,gs=gq;gH<gI;++gH){var gu=gy[gH];if(gs=="L"&&gu=="1"){gy[gH]="L"}else{if(gk.test(gu)){gs=gu}}}for(var gH=0;gH<gI;++gH){if(gr.test(gy[gH])){for(var gv=gH+1;gv<gI&&gr.test(gy[gv]);++gv){}var gz=(gH?gy[gH-1]:gq)=="L";var gt=(gv<gI?gy[gv]:gq)=="L";var gJ=gz||gt?"L":"R";for(var gF=gH;gF<gv;++gF){gy[gF]=gJ}gH=gv-1}}var gG=[],gD;for(var gH=0;gH<gI;){if(gj.test(gy[gH])){var gw=gH;for(++gH;gH<gI&&gj.test(gy[gH]);++gH){}gG.push(new gp(0,gw,gH))}else{var gx=gH,gA=gG.length;for(++gH;gH<gI&&gy[gH]!="L";++gH){}for(var gF=gx;gF<gH;){if(gn.test(gy[gF])){if(gx<gF){gG.splice(gA,0,new gp(1,gx,gF))}var gE=gF;for(++gF;gF<gH&&gn.test(gy[gF]);++gF){}gG.splice(gA,0,new gp(2,gE,gF));gx=gF}else{++gF}}if(gx<gH){gG.splice(gA,0,new gp(1,gx,gH))}}}if(gG[0].level==1&&(gD=gC.match(/^\s+/))){gG[0].from=gD[0].length;gG.unshift(new gp(0,0,gD[0].length))}if(fH(gG).level==1&&(gD=gC.match(/\s+$/))){fH(gG).to-=gD[0].length;gG.push(new gp(0,gI-gD[0].length,gI))}if(gG[0].level==2){gG.unshift(new gp(1,gG[0].to,gG[0].to))}if(gG[0].level!=fH(gG).level){gG.push(new gp(gG[0].level,gI,gI))}return gG}})();H.version="5.4.0";return H});