(function(c,d){typeof exports==="object"&&typeof module!=="undefined"?module.exports=d():typeof define==="function"&&define.amd?define(d):(c.CodeMirror=d())}(this,(function(){var iP=navigator.userAgent;var ir=navigator.platform;var kc=/gecko\/\d/i.test(iP);var kv=/MSIE \d/.test(iP);var nf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(iP);var kj=kv||nf;var kH=kj&&(kv?document.documentMode||6:nf[1]);var mU=/WebKit\//.test(iP);var j6=mU&&/Qt\/\d+\.\d+/.test(iP);var ju=/Chrome\//.test(iP);var iL=/Opera\//.test(iP);var ob=/Apple Computer/.test(navigator.vendor);var jI=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(iP);var iq=/PhantomJS/.test(iP);var hE=/AppleWebKit/.test(iP)&&/Mobile\/\w+/.test(iP);var ie=hE||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(iP);var k9=hE||/Mac/.test(ir);var i6=/\bCrOS\b/.test(iP);var nW=/win/i.test(ir);var nE=iL&&iP.match(/Version\/(\d*\.\d*)/);if(nE){nE=Number(nE[1])}if(nE&&nE>=15){iL=false;mU=true}var mW=k9&&(j6||iL&&(nE==null||nE<12.11));var hT=kc||(kj&&kH>=9);function lO(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}var kS=function(d,c){var b=d.className;var e=lO(c).exec(b);if(e){var a=b.slice(e.index+e[0].length);d.className=b.slice(0,e.index)+(a?e[1]+a:"")}};function iN(b){for(var a=b.childNodes.length;a>0;--a){b.removeChild(b.firstChild)}return b}function mR(a,b){return iN(a).appendChild(b)}function gZ(f,b,c,d){var a=document.createElement(f);if(c){a.className=c}if(d){a.style.cssText=d}if(typeof b=="string"){a.appendChild(document.createTextNode(b))}else{if(b){for(var e=0;e=f){return h+(f-c)}h+=g-c;h+=b-(h%b);c=g+1}}function hA(){this.id=null}hA.prototype.set=function(a,b){clearTimeout(this.id);this.id=setTimeout(b,a)};function jb(a,c){for(var b=0;b=e){return a+Math.min(d,e-f)}f+=g-a;f+=b-(f%b);a=g+1;if(f>=e){return a}}}var gU=[""];function j7(a){while(gU.length<=a){gU.push(ji(gU)+" ")}return gU[a]}function ji(a){return a[a.length-1]}function mO(a,b){var d=[];for(var c=0;c"\x80"&&(a.toUpperCase()!=a.toLowerCase()||mu.test(a))}function mo(a,b){if(!b){return h0(a)}if(b.source.indexOf("\\w")>-1&&h0(a)){return true}return b.test(a)}function hS(a){for(var b in a){if(a.hasOwnProperty(b)&&a[b]){return false}}return true}var ky=/[\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 iB(a){return a.charCodeAt(0)>=768&&ky.test(a)}function iU(b,c,d){var a=this;this.input=d;a.scrollbarFiller=gZ("div",null,"CodeMirror-scrollbar-filler");a.scrollbarFiller.setAttribute("cm-not-content","true");a.gutterFiller=gZ("div",null,"CodeMirror-gutter-filler");a.gutterFiller.setAttribute("cm-not-content","true");a.lineDiv=gZ("div",null,"CodeMirror-code");a.selectionDiv=gZ("div",null,null,"position: relative; z-index: 1");a.cursorDiv=gZ("div",null,"CodeMirror-cursors");a.measure=gZ("div",null,"CodeMirror-measure");a.lineMeasure=gZ("div",null,"CodeMirror-measure");a.lineSpace=gZ("div",[a.measure,a.lineMeasure,a.selectionDiv,a.cursorDiv,a.lineDiv],null,"position: relative; outline: none");a.mover=gZ("div",[gZ("div",[a.lineSpace],"CodeMirror-lines")],null,"position: relative");a.sizer=gZ("div",[a.mover],"CodeMirror-sizer");a.sizerWidth=null;a.heightForcer=gZ("div",null,null,"position: absolute; height: "+ko+"px; width: 1px;");a.gutters=gZ("div",null,"CodeMirror-gutters");a.lineGutter=null;a.scroller=gZ("div",[a.sizer,a.heightForcer,a.gutters],"CodeMirror-scroll");a.scroller.setAttribute("tabIndex","-1");a.wrapper=gZ("div",[a.scrollbarFiller,a.gutterFiller,a.scroller],"CodeMirror");if(kj&&kH<8){a.gutters.style.zIndex=-1;a.scroller.style.paddingRight=0}if(!mU&&!(kc&&ie)){a.scroller.draggable=true}if(b){if(b.appendChild){b.appendChild(a.wrapper)}else{b(a.wrapper)}}a.viewFrom=a.viewTo=c.first;a.reportedViewFrom=a.reportedViewTo=c.first;a.view=[];a.renderedView=null;a.externalMeasured=null;a.viewOffset=0;a.lastWrapHeight=a.lastWrapWidth=0;a.updateLineNumbers=null;a.nativeBarWidth=a.barHeight=a.barWidth=0;a.scrollbarsClipped=false;a.lineNumWidth=a.lineNumInnerWidth=a.lineNumChars=null;a.alignWidgets=false;a.cachedCharWidth=a.cachedTextHeight=a.cachedPaddingH=null;a.maxLine=null;a.maxLineLength=0;a.maxLineChanged=false;a.wheelDX=a.wheelDY=a.wheelStartX=a.wheelStartY=null;a.shift=false;a.selForContextMenu=null;a.activeTouch=null;d.init(a)}function hm(c,a){a-=c.first;if(a<0||a>=c.size){throw new Error("There is no line "+(a+c.first)+" in the document.")}var f=c;while(!f.lines){for(var e=0;;++e){var b=f.children[e],d=b.chunkSize();if(a=b.first&&aa){return lA(a,hm(c,a).text.length)}return iu(b,hm(c,b.line).text.length)}function iu(b,c){var a=b.ch;if(a==null||a>c){return lA(b.line,c)}else{if(a<0){return lA(b.line,0)}else{return b}}}function lo(b,a){var d=[];for(var c=0;c=g:a.to>g);(b||(b=[])).push(new h7(d,a.from,f?null:a.to))}}}return b}function oc(h,f,c){var b;if(h){for(var e=0;e=f:a.to>f);if(g||a.from==f&&d.type=="bookmark"&&(!c||a.marker.insertLeft)){var j=a.from==null||(d.inclusiveLeft?a.from<=f:a.from0&&h){for(var l=0;l0){continue}var d=[k,1],n=kI(m.from,l.from),e=kI(m.to,l.to);if(n<0||!f.inclusiveLeft&&!n){d.push({from:m.from,to:l.from})}if(e>0||!f.inclusiveRight&&!e){d.push({from:l.to,to:m.to})}h.splice.apply(h,d);k+=d.length-1}}return h}function hV(c){var a=c.markedSpans;if(!a){return}for(var b=0;b=0&&g<=0||c<=0&&g>=0){continue}if(c<=0&&(k.marker.inclusiveRight&&h.inclusiveLeft?kI(b.to,f)>=0:kI(b.to,f)>0)||c>=0&&(k.marker.inclusiveRight&&h.inclusiveLeft?kI(b.from,e)<=0:kI(b.from,e)<0)){return true}}}}function jV(b){var a;while(a=kb(b)){b=a.find(-1,true).line}return b}function kW(b){var a,c;while(a=jy(b)){b=a.find(1,true).line;(c||(c=[])).push(b)}return c}function nJ(b,d){var a=hm(b,d),c=jV(a);if(a==c){return d}return m5(c)}function iJ(b,c){if(c>b.lastLine()){return c}var d=hm(b,c),a;if(!il(b,d)){return c}while(a=jy(d)){d=a.find(1,true).line}return m5(d)+1}function il(a,d){var e=gN&&d.markedSpans;if(e){for(var b=void 0,c=0;cb.maxLineLength){b.maxLineLength=e;b.maxLine=d}})}function iG(g,a,b,c){if(!g){return c(a,b,"ltr")}var d=false;for(var e=0;ea||a==b&&f.to==a){c(Math.max(f.from,a),Math.min(f.to,b),f.level==1?"rtl":"ltr");d=true}}if(!d){c(a,b,"ltr")}}function kT(a){return a.level%2?a.to:a.from}function hJ(a){return a.level%2?a.from:a.to}function md(b){var a=ld(b);return a?kT(a[0]):0}function lj(b){var a=ld(b);if(!a){return b.text.length}return hJ(ji(a))}function ne(d,c,b){var a=d[0].level;if(c==a){return true}if(b==a){return false}return ca){return d}if((b.from==a||b.to==a)){if(c==null){c=d}else{if(ne(e,b.level,e[c].level)){if(b.from!=b.to){hz=c}return d}else{if(b.from!=b.to){hz=d}return c}}}}return c}function hl(b,a,d,c){if(!c){return a+d}do{a+=d}while(a>0&&iB(b.text.charAt(a)));return a}function ka(f,a,g,e){var d=ld(f);if(!d){return nn(f,a,g,e)}var b=n6(d,a),h=d[b];var c=hl(f,a,h.level%2?-g:g,e);for(;;){if(c>h.from&&c0)==h.level%2?h.to:h.from}else{h=d[b+=g];if(!h){return null}if((g>0)==h.level%2){c=hl(f,h.to,-1,e)}else{c=hl(f,h.from,1,e)}}}}function nn(c,a,e,d){var b=a+e;if(d){while(b>0&&iB(c.text.charAt(b))){b+=e}}return b<0||b>c.text.length?null:b}var mc=(function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var g="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm";function h(l){if(l<=247){return e.charAt(l)}else{if(1424<=l&&l<=1524){return"R"}else{if(1536<=l&&l<=1773){return g.charAt(l-1536)}else{if(1774<=l&&l<=2220){return"r"}else{if(8192<=l&&l<=8203){return"w"}else{if(l==8204){return"b"}else{return"L"}}}}}}}var b=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var a=/[stwN]/,j=/[LRr]/,k=/[Lb1n]/,f=/[1n]/;var c="L";function d(l,m,n){this.level=l;this.from=m;this.to=n}return function(s){if(!b.test(s)){return false}var R=s.length,F=[];for(var l=0;l-1){d[e]=c.slice(0,f).concat(c.slice(f+1))}}}}}function n9(a,b){var e=h4(a,b);if(!e.length){return}var d=Array.prototype.slice.call(arguments,2);for(var c=0;c0}function nA(a){a.prototype.on=function(c,b){nY(this,c,b)};a.prototype.off=function(c,b){ih(this,c,b)}}function l7(a){if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}}function iT(a){if(a.stopPropagation){a.stopPropagation()}else{a.cancelBubble=true}}function na(a){return a.defaultPrevented!=null?a.defaultPrevented:a.returnValue==false}function jK(a){l7(a);iT(a)}function mb(a){return a.target||a.srcElement}function hi(b){var a=b.which;if(a==null){if(b.button&1){a=1}else{if(b.button&2){a=3}else{if(b.button&4){a=2}}}}if(k9&&b.ctrlKey&&a==1){a=3}return a}var kr=function(){if(kj&&kH<9){return false}var a=gZ("div");return"draggable" in a||"dragDrop" in a}();var hk;function lP(a){if(hk==null){var b=gZ("span","\u200b");mR(a,gZ("span",[b,document.createTextNode("x")]));if(a.firstChild.offsetHeight!=0){hk=b.offsetWidth<=1&&b.offsetHeight>2&&!(kj&&kH<8)}}var c=hk?gZ("span","\u200b"):gZ("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px");c.setAttribute("cm-text","");return c}var hj;function m2(b){if(hj!=null){return hj}var a=mR(b,document.createTextNode("A\u062eA"));var c=ki(a,0,1).getBoundingClientRect();var d=ki(a,1,2).getBoundingClientRect();iN(b);if(!c||c.left==c.right){return false}return hj=(d.right-c.right<3)}var hd="\n\nb".split(/\n/).length!=3?function(b){var a=0,e=[],c=b.length;while(a<=c){var d=b.indexOf("\n",a);if(d==-1){d=b.length}var f=b.slice(a,b.charAt(d-1)=="\r"?d-1:d);var g=f.indexOf("\r");if(g!=-1){e.push(f.slice(0,g));a+=g+1}else{e.push(f);a=d+1}}return e}:function(a){return a.split(/\r\n?|\n/)};var lv=window.getSelection?function(b){try{return b.selectionStart!=b.selectionEnd}catch(a){return false}}:function(b){var c;try{c=b.ownerDocument.selection.createRange()}catch(a){}if(!c||c.parentElement()!=b){return false}return c.compareEndPoints("StartToEnd",c)!=0};var jz=(function(){var a=gZ("div");if("oncopy" in a){return true}a.setAttribute("oncopy","return;");return typeof a.oncopy=="function"})();var hu=null;function n2(d){if(hu!=null){return hu}var c=mR(d,gZ("span","x"));var b=c.getBoundingClientRect();var a=ki(c,0,1).getBoundingClientRect();return hu=Math.abs(b.left-a.left)>1}var le={};var nQ={};function jE(a,b){if(arguments.length>2){b.dependencies=Array.prototype.slice.call(arguments,2)}le[a]=b}function lT(b,a){nQ[b]=a}function hP(a){if(typeof a=="string"&&nQ.hasOwnProperty(a)){a=nQ[a]}else{if(a&&typeof a.name=="string"&&nQ.hasOwnProperty(a.name)){var b=nQ[a.name];if(typeof b=="string"){b={name:b}}a=ks(b,a);a.name=b.name}else{if(typeof a=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a)){return hP("application/xml")}else{if(typeof a=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(a)){return hP("application/json")}}}}if(typeof a=="string"){return{name:a}}else{return a||{name:"null"}}}function h8(f,g){g=hP(g);var c=le[g.name];if(!c){return h8(f,"text/plain")}var b=c(f,g);if(iV.hasOwnProperty(g.name)){var e=iV[g.name];for(var a in e){if(!e.hasOwnProperty(a)){continue}if(b.hasOwnProperty(a)){b["_"+a]=b[a]}b[a]=e[a]}}b.name=g.name;if(g.helperType){b.helperType=g.helperType}if(g.modeProps){for(var d in g.modeProps){b[d]=g.modeProps[d]}}return b}var iV={};function jc(b,c){var a=iV.hasOwnProperty(b)?iV[b]:(iV[b]={});n0(c,a)}function nK(c,b){if(b===true){return b}if(c.copyState){return c.copyState(b)}var d={};for(var a in b){var e=b[a];if(e instanceof Array){e=e.concat([])}d[a]=e}return d}function hX(b,a){var c;while(b.innerMode){c=b.innerMode(a);if(!c||c.mode==b){break}a=c.state;b=c.mode}return c||{mode:b,state:a}}function nR(b,c,a){return b.startState?b.startState(c,a):true}var hU=function(a,b){this.pos=this.start=0;this.string=a;this.tabSize=b||8;this.lastColumnPos=this.lastColumnValue=0;this.lineStart=0};hU.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.posb},eatSpace:function(){var b=this;var a=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++b.pos}return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){var b=this.string.indexOf(a,this.pos);if(b>-1){this.pos=b;return true}},backUp:function(a){this.pos-=a},column:function(){if(this.lastColumnPos0){return null}if(e&&f!==false){this.pos+=e[0].length}return e}},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(b,a){this.lineStart+=b;try{return a()}finally{this.lineStart-=b}}};function ib(f,g,b,c){var d=[f.state.modeGen],e={};j2(f,g.text,f.doc.mode,b,function(k,j){return d.push(k,j)},e,c);var h=function(j){var l=f.state.overlays[j],k=1,m=0;j2(f,g.text,l.mode,true,function(r,p){var n=k;while(mr){d.splice(k,1,r,d[k+1],q)}k+=2;m=Math.min(r,q)}if(!p){return}if(l.opaque){d.splice(n,k-n,r,"overlay "+p);k=n+2}else{for(;ne.options.maxHighlightLength?nK(e.doc.mode,c):c);d.stateAfter=c;d.styles=b.styles;if(b.classes){d.styleClasses=b.classes}else{if(d.styleClasses){d.styleClasses=null}}if(a===e.doc.frontier){e.doc.frontier++}}return d.styles}function kM(e,a,g){var c=e.doc,d=e.display;if(!c.mode.startState){return true}var b=mv(e,a,g),f=b>c.first&&hm(c,b-1).stateAfter;if(!f){f=nR(c.mode)}else{f=nK(c.mode,f)}c.iter(b,a,function(h){k0(e,h.text,f);var j=b==a-1||b%5==0||b>=d.viewFrom&&bb.start){return d}}throw new Error("Mode "+a.name+" failed to advance stream.")}function j4(c,f,j,k){var d=function(n){return({start:b.start,end:b.pos,string:b.current(),type:l||null,state:n?nK(e.mode,m):m})};var e=c.doc,h=e.mode,l;f=i3(e,f);var a=hm(e,f.line),m=kM(c,f.line,j);var b=new hU(a.text,c.options.tabSize),g;if(k){g=[]}while((k||b.pose.options.maxHighlightLength){o=false;if(m){k0(e,c,p,d.pos)}d.pos=c.length;g=null}else{g=i8(jj(l,d,p,a),n)}if(a){var b=a[0].name;if(b){g="m-"+(g?b+" "+g:b)}}if(!o||j!=g){while(hj;--a){if(a<=f.first){return f.first}var c=hm(f,a-1);if(c.stateAfter&&(!h||a<=f.frontier)){return a}var d=mV(c.text,null,e.options.tabSize);if(g==null||k>d){g=a-1;k=d}}return g}function gW(b,c,a){this.text=b;mM(this,c);this.height=a?a(this):1}nA(gW);gW.prototype.lineNo=function(){return m5(this)};function hY(e,a,d,c){e.text=a;if(e.stateAfter){e.stateAfter=null}if(e.styles){e.styles=null}if(e.order!=null){e.order=null}hV(e);mM(e,d);var b=c?c(e):1;if(b!=e.height){gV(e,b)}}function nv(a){a.parent=null;hV(a)}var lE={};var nM={};function hO(b,c){if(!b||/^\s*$/.test(b)){return null}var a=c.addModeClass?nM:lE;return a[b]||(a[b]=b.replace(/\S+/g,"cm-$&"))}function j0(c,d){var e=gZ("span",null,null,mU?"padding-right: .1px":null);var f={pre:gZ("pre",[e],"CodeMirror-line"),content:e,col:0,pos:0,cm:c,trailingSpace:false,splitSpaces:(kj||mU)&&c.getOption("lineWrapping")};d.measure={};for(var g=0;g<=(d.rest?d.rest.length:0);g++){var a=g?d.rest[g-1]:d.line,h=void 0;f.pos=0;f.addToken=ke;if(m2(c.display.measure)&&(h=ld(a))){f.addToken=lF(f.addToken,h)}f.map=[];var j=d!=c.display.externalMeasured&&m5(a);lK(a,f,jG(c,a,j));if(a.styleClasses){if(a.styleClasses.bgClass){f.bgClass=g9(a.styleClasses.bgClass,f.bgClass||"")}if(a.styleClasses.textClass){f.textClass=g9(a.styleClasses.textClass,f.textClass||"")}}if(f.map.length==0){f.map.push(0,0,f.content.appendChild(lP(c.display.measure)))}if(g==0){d.measure.map=f.map;d.measure.cache={}}else{(d.measure.maps||(d.measure.maps=[])).push(f.map);(d.measure.caches||(d.measure.caches=[])).push({})}}if(mU){var b=f.content.lastChild;if(/\bcm-tab\b/.test(b.className)||(b.querySelector&&b.querySelector(".cm-tab"))){f.content.className="cm-tab-wrap-hack"}}n9(c,"renderLine",c,d.line,f.pre);if(f.pre.className){f.textClass=g9(f.pre.className,f.textClass||"")}return f}function hn(b){var a=gZ("span","\u2022","cm-invalidchar");a.title="\\u"+b.charCodeAt(0).toString(16);a.setAttribute("aria-label",a.title);return a}function ke(e,k,u,c,g,r,l){if(!k){return}var a=e.splitSpaces?ma(k,e.trailingSpace):k;var q=e.cm.state.specialChars,p=false;var b;if(!q.test(k)){e.col+=k.length;b=document.createTextNode(a);e.map.push(e.pos,e.pos+k.length,b);if(kj&&kH<9){p=true}e.pos+=k.length}else{b=document.createDocumentFragment();var n=0;while(true){q.lastIndex=n;var d=q.exec(k);var s=d?d.index-n:k.length-n;if(s){var h=document.createTextNode(a.slice(n,n+s));if(kj&&kH<9){b.appendChild(gZ("span",[h]))}else{b.appendChild(h)}e.map.push(e.pos,e.pos+s,h);e.col+=s;e.pos+=s}if(!d){break}n+=s+1;var t=void 0;if(d[0]=="\t"){var f=e.cm.options.tabSize,j=f-e.col%f;t=b.appendChild(gZ("span",j7(j),"cm-tab"));t.setAttribute("role","presentation");t.setAttribute("cm-text","\t");e.col+=j}else{if(d[0]=="\r"||d[0]=="\n"){t=b.appendChild(gZ("span",d[0]=="\r"?"\u240d":"\u2424","cm-invalidchar"));t.setAttribute("cm-text",d[0]);e.col+=1}else{t=e.cm.options.specialCharPlaceholder(d[0]);t.setAttribute("cm-text",d[0]);if(kj&&kH<9){b.appendChild(gZ("span",[t]))}else{b.appendChild(t)}e.col+=1}}e.map.push(e.pos,e.pos+1,t);e.pos++}}e.trailingSpace=a.charCodeAt(k.length-1)==32;if(u||c||g||p||l){var o=u||"";if(c){o+=c}if(g){o+=g}var m=gZ("span",[b],o,l);if(r){m.title=r}return e.content.appendChild(m)}e.content.appendChild(b)}function ma(a,b){if(a.length>1&&!/ /.test(a)){return a}var e=b,f="";for(var d=0;dm&&l.from<=m){break}}if(l.to>=k){return b(f,d,n,j,c,e,g)}b(f,d.slice(0,l.to-m),n,j,null,e,g);j=null;d=d.slice(l.to-m);m=l.to}}}function ny(e,c,b,d){var a=!d&&b.widgetNode;if(a){e.map.push(e.pos,e.pos+c,a)}if(!d&&e.cm.display.input.needsContentAttribute){if(!a){a=e.content.appendChild(document.createElement("span"))}a.setAttribute("cm-marker",b.id)}if(a){e.cm.display.input.setUneditable(a);e.content.appendChild(a)}e.pos+=c;e.trailingSpace=false}function lK(d,A,e){var o=d.markedSpans,h=d.text,C=0;if(!o){for(var l=1;lq||B.collapsed&&y.to==q&&y.from==q)){if(y.to!=null&&y.to!=q&&k>y.to){k=y.to;m=""}if(B.className){v+=" "+B.className}if(B.css){c=(c?c+";":"")+B.css}if(B.startStyle&&y.from==q){D+=" "+B.startStyle}if(B.endStyle&&y.to==k){(f||(f=[])).push(B.endStyle,y.to)}if(B.title&&!g){g=B.title}if(B.collapsed&&(!t||lW(t.marker,B)<0)){t=y}}else{if(y.from>q&&k>y.from){k=y.from}}}}if(f){for(var n=0;n=w){break}var b=Math.min(w,k);while(true){if(a){var u=q+a.length;if(!t){var r=u>b?a.slice(0,b-q):a;A.addToken(A,r,s?s+v:v,D,q+r.length==k?m:"",g,c)}if(u>=b){a=a.slice(b-q);q=b;break}q=u;D=""}a=h.slice(C,C=e[x++]);s=hO(e[x++],A.cm.options)}}}function lk(b,a,c){this.line=a;this.rest=kW(a);this.size=this.rest?m5(ji(this.rest))-c+1:1;this.node=this.text=null;this.hidden=il(b,a)}function hQ(e,a,b){var c=[],f;for(var d=a;d2){e.push((b.bottom+j.top)/2-d.top)}}}e.push(d.bottom-d.top)}}function jT(c,e,b){if(c.line==e){return{map:c.measure.map,cache:c.measure.cache}}for(var d=0;db){return{map:c.measure.maps[a],cache:c.measure.caches[a],before:true}}}}function mP(c,d){d=jV(d);var a=m5(d);var e=c.display.externalMeasured=new lk(c.doc,d,a);e.lineN=a;var b=e.built=j0(c,e);e.text=b.pre;mR(c.display.lineMeasure,b.pre);return e}function ic(b,d,a,c){return mB(b,gP(b,d),a,c)}function hp(a,b){if(b>=a.display.viewFrom&&b=c.lineN&&bk){f=b-g;j=f-1;if(k>=b){c="right"}}}}if(j!=null){h=a[e+2];if(g==b&&d==(h.insertLeft?"left":"right")){c=d}if(d=="left"&&j==0){while(e&&a[e-2]==a[e-3]&&a[e-1].insertLeft){h=a[(e-=3)+2];c="left"}}if(d=="right"&&j==b-g){while(e=0;a--){if((b=d[a]).left!=b.right){break}}}return b}function kL(g,s,d,k){var f=n3(s.map,d,k);var u=f.node,l=f.start,m=f.end,p=f.collapse;var o;if(u.nodeType==3){for(var j=0;j<4;j++){while(l&&iB(s.line.text.charAt(f.coverStart+l))){--l}while(f.coverStart+m0){p=k="right"}var n;if(g.options.lineWrapping&&(n=u.getClientRects()).length>1){o=n[k=="right"?n.length-1:0]}else{o=u.getBoundingClientRect()}}if(kj&&kH<9&&!l&&(!o||!o.left&&!o.right)){var h=u.parentNode.getClientRects()[0];if(h){o={left:h.left,right:h.left+kJ(g.display),top:h.top,bottom:h.bottom}}else{o=jk}}var a=o.top-s.rect.top,c=o.bottom-s.rect.top;var q=(a+c)/2;var r=s.view.measure.heights;var t=0;for(;tp.from){return j(n-1)}return j(n,o)}var h=ld(g),c=e.ch;if(!h){return j(c)}var m=n6(h,c);var k=b(c,m);if(hz!=null){k.other=b(c,hz)}return k}function kw(c,a){var b=0;a=i3(c.doc,a);if(!c.options.lineWrapping){b=kJ(c.display)*a.ch}var e=hm(c.doc,a.line);var d=m7(e)+hs(c.display);return{left:b,right:b,top:d,bottom:d+e.height}}function g1(c,e,d,a){var b=lA(c,e);b.xRel=a;if(d){b.outside=true}return b}function hg(d,g,h){var e=d.doc;h+=d.display.viewOffset;if(h<0){return g1(e.first,0,true,-1)}var j=nj(e,h),c=e.first+e.size-1;if(j>c){return g1(e.first+e.size-1,hm(e,c).text.length,true,1)}if(g<0){g=0}var k=hm(e,j);for(;;){var b=mX(d,k,j,g,h);var f=jy(k);var a=f&&f.find(0,true);if(f&&(b.ch>a.from.ch||b.ch==a.from.ch&&b.xRel>0)){j=m5(k=a.to.line)}else{return b}}}function mX(e,r,m,c,d){var f=d-m7(r);var k=false,y=2*e.display.wrapper.clientWidth;var B=gP(e,r);function q(C){var D=lL(e,lA(m,C),"line",r,B);k=true;if(f>D.bottom){return D.left-y}else{if(fs){return g1(m,p,l,1)}for(;;){if(a?p==x||p==ka(r,x,1):p-x<=1){var b=c0&&b1){var w=mB(e,B,b,"right");if(f<=w.bottom&&f>=w.top&&Math.abs(c-w.right)1?1:0);return g}var h=Math.ceil(z/2),j=x+h;if(a){j=x;for(var v=0;vc){p=j;s=n;if(l=k){s+=1000}z=h}else{x=j;A=n;t=k;z-=h}}}var n7;function nF(a){if(a.cachedTextHeight!=null){return a.cachedTextHeight}if(n7==null){n7=gZ("pre");for(var b=0;b<49;++b){n7.appendChild(document.createTextNode("x"));n7.appendChild(gZ("br"))}n7.appendChild(document.createTextNode("x"))}mR(a.measure,n7);var c=n7.offsetHeight/50;if(c>3){a.cachedTextHeight=c}iN(a.measure);return c||1}function kJ(a){if(a.cachedCharWidth!=null){return a.cachedCharWidth}var c=gZ("span","xxxxxxxxxx");var b=gZ("pre",[c]);mR(a.measure,b);var d=c.getBoundingClientRect(),e=(d.right-d.left)/10;if(e>2){a.cachedCharWidth=e}return e||10}function ho(g){var b=g.display,d={},e={};var c=b.gutters.clientLeft;for(var a=b.gutters.firstChild,f=0;a;a=a.nextSibling,++f){d[g.options.gutters[f]]=a.offsetLeft+a.clientLeft+c;e[g.options.gutters[f]]=a.clientWidth}return{fixedPos:lw(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:d,gutterWidth:e,wrapperWidth:b.wrapper.clientWidth}}function lw(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function mp(b){var c=nF(b.display),d=b.options.lineWrapping;var a=d&&Math.max(5,b.display.scroller.clientWidth/kJ(b.display)-3);return function(f){if(il(b.doc,f)){return 0}var g=0;if(f.widgets){for(var e=0;e=d.display.viewTo){return null}a-=d.display.viewFrom;if(a<0){return null}var c=d.display.view;for(var b=0;b=c.display.viewTo||b.to().line3){e(D,F.top,null,F.bottom);D=n;if(F.bottomz.bottom||E.bottom==z.bottom&&E.right>z.right){z=E}if(D0){b.blinker=setInterval(function(){return b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate)}else{if(a.options.cursorBlinkRate<0){b.cursorDiv.style.visibility="hidden"}}}function kh(a){if(!a.state.focused){a.display.input.focus();mm(a)}}function nk(a){a.state.delayingBlurEvent=true;setTimeout(function(){if(a.state.delayingBlurEvent){a.state.delayingBlurEvent=false;nL(a)}},100)}function mm(a,b){if(a.state.delayingBlurEvent){a.state.delayingBlurEvent=false}if(a.options.readOnly=="nocursor"){return}if(!a.state.focused){n9(a,"focus",a,b);a.state.focused=true;h6(a.display.wrapper,"CodeMirror-focused");if(!a.curOp&&a.display.selForContextMenu!=a.doc.sel){a.display.input.reset();if(mU){setTimeout(function(){return a.display.input.reset(true)},20)}}a.display.input.receivedFocus()}ku(a)}function nL(a,b){if(a.state.delayingBlurEvent){return}if(a.state.focused){n9(a,"blur",a,b);a.state.focused=false;kS(a.display.wrapper,"CodeMirror-focused")}clearInterval(a.display.blinker);setTimeout(function(){if(!a.state.focused){a.display.shift=false}},150)}function ja(a){var c=a.display,b=c.view;if(!c.alignWidgets&&(!c.gutters.firstChild||!a.options.fixedGutter)){return}var e=lw(c)-c.scroller.scrollLeft+a.doc.scrollLeft;var j=c.gutters.offsetWidth,h=e+"px";for(var f=0;f0.001||d<-0.001){gV(b.line,a);kX(b.line);if(b.rest){for(var k=0;k=d){e=nj(c,m7(hm(c,b))-g.wrapper.clientHeight);d=b}}}return{from:e,to:Math.max(d,e+1)}}function l4(a,b){if(Math.abs(a.doc.scrollTop-b)<2){return}a.doc.scrollTop=b;if(!kc){lN(a,{top:b})}if(a.display.scroller.scrollTop!=b){a.display.scroller.scrollTop=b}a.display.scrollbars.setScrollTop(b);if(kc){lN(a)}ij(a,100)}function nq(a,b,c){if(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2){return}b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth);a.doc.scrollLeft=b;ja(a);if(a.display.scroller.scrollLeft!=b){a.display.scroller.scrollLeft=b}a.display.scrollbars.setScrollLeft(b)}var iF=0;var kG=null;if(kj){kG=-0.53}else{if(kc){kG=15}else{if(ju){kG=-0.7}else{if(ob){kG=-1/3}}}}function ls(b){var c=b.wheelDeltaX,a=b.wheelDeltaY;if(c==null&&b.detail&&b.axis==b.HORIZONTAL_AXIS){c=b.detail}if(a==null&&b.detail&&b.axis==b.VERTICAL_AXIS){a=b.detail}else{if(a==null){a=b.wheelDelta}}return{x:c,y:a}}function mF(a){var b=ls(a);b.x*=kG;b.y*=kG;return b}function k8(e,l){var c=ls(l),a=c.x,b=c.y;var j=e.display,f=j.scroller;var m=f.scrollWidth>f.clientWidth;var n=f.scrollHeight>f.clientHeight;if(!(a&&m||b&&n)){return}if(b&&k9&&mU){outer:for(var d=l.target,g=j.view;d!=f;d=d.parentNode){for(var o=0;od.clientWidth+1;var e=d.scrollHeight>d.clientHeight+1;var a=d.nativeBarWidth;if(e){this.vert.style.display="block";this.vert.style.bottom=b?a+"px":"0";var f=d.viewHeight-(b?a:0);this.vert.firstChild.style.height=Math.max(0,d.scrollHeight-d.clientHeight+f)+"px"}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(b){this.horiz.style.display="block";this.horiz.style.right=e?a+"px":"0";this.horiz.style.left=d.barLeft+"px";var c=d.viewWidth-d.barLeft-(e?a:0);this.horiz.firstChild.style.width=(d.scrollWidth-d.clientWidth+c)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedZeroWidth&&d.clientHeight>0){if(a==0){this.zeroWidthHack()}this.checkedZeroWidth=true}return{right:e?a:0,bottom:b?a:0}},setScrollLeft:function(a){if(this.horiz.scrollLeft!=a){this.horiz.scrollLeft=a}if(this.disableHoriz){this.enableZeroWidthBar(this.horiz,this.disableHoriz)}},setScrollTop:function(a){if(this.vert.scrollTop!=a){this.vert.scrollTop=a}if(this.disableVert){this.enableZeroWidthBar(this.vert,this.disableVert)}},zeroWidthHack:function(){var a=k9&&!jI?"12px":"18px";this.horiz.style.height=this.vert.style.width=a;this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none";this.disableHoriz=new hA;this.disableVert=new hA},enableZeroWidthBar:function(c,a){c.style.pointerEvents="auto";function b(){var d=c.getBoundingClientRect();var e=document.elementFromPoint(d.left+1,d.bottom-1);if(e!=c){c.style.pointerEvents="none"}else{a.set(1000,b)}}a.set(1000,b)},clear:function(){var a=this.horiz.parentNode;a.removeChild(this.horiz);a.removeChild(this.vert)}},i7.prototype);function hy(){}hy.prototype=n0({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},hy.prototype);function hK(c,a){if(!a){a=kR(c)}var d=c.display.barWidth,e=c.display.barHeight;nN(c,a);for(var b=0;b<4&&d!=c.display.barWidth||e!=c.display.barHeight;b++){if(d!=c.display.barWidth&&c.options.lineWrapping){i(c)}nN(c,kR(c));d=c.display.barWidth;e=c.display.barHeight}}function nN(b,d){var a=b.display;var c=a.scrollbars.update(d);a.sizer.style.paddingRight=(a.barWidth=c.right)+"px";a.sizer.style.paddingBottom=(a.barHeight=c.bottom)+"px";a.heightForcer.style.borderBottom=c.bottom+"px solid transparent";if(c.right&&c.bottom){a.scrollbarFiller.style.display="block";a.scrollbarFiller.style.height=c.bottom+"px";a.scrollbarFiller.style.width=c.right+"px"}else{a.scrollbarFiller.style.display=""}if(c.bottom&&b.options.coverGutterNextToScrollbar&&b.options.fixedGutter){a.gutterFiller.style.display="block";a.gutterFiller.style.height=c.bottom+"px";a.gutterFiller.style.width=d.gutterWidth+"px"}else{a.gutterFiller.style.display=""}}var lX={"native":i7,"null":hy};function oa(a){if(a.display.scrollbars){a.display.scrollbars.clear();if(a.display.scrollbars.addClass){kS(a.display.wrapper,a.display.scrollbars.addClass)}}a.display.scrollbars=new lX[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller);nY(b,"mousedown",function(){if(a.state.focused){setTimeout(function(){return a.display.input.focus()},0)}});b.setAttribute("cm-not-content","true")},function(b,c){if(c=="horizontal"){nq(a,b)}else{l4(a,b)}},a);if(a.display.scrollbars.addClass){h6(a.display.wrapper,a.display.scrollbars.addClass)}}function iD(f,b){if(nT(f,"scrollCursorIntoView")){return}var a=f.display,e=a.sizer.getBoundingClientRect(),d=null;if(b.top+e.top<0){d=true}else{if(b.bottom+e.top>(window.innerHeight||document.documentElement.clientHeight)){d=false}}if(d!=null&&!iq){var c=gZ("div","\u200b",null,("position: absolute;\n top: "+(b.top-a.viewOffset-hs(f.display))+"px;\n height: "+(b.bottom-b.top+lh(f)+a.barHeight)+"px;\n left: "+(b.left)+"px; width: 2px;"));f.display.lineSpace.appendChild(c);c.scrollIntoView(d);f.display.lineSpace.removeChild(c)}}function mx(a,d,h,j){if(j==null){j=0}var b;for(var g=0;g<5;g++){var f=false;b=lL(a,d);var c=!h||h==d?b:lL(a,h);var k=mn(a,Math.min(b.left,c.left),Math.min(b.top,c.top)-j,Math.max(b.left,c.left),Math.max(b.bottom,c.bottom)+j);var e=a.doc.scrollTop,l=a.doc.scrollLeft;if(k.scrollTop!=null){l4(a,k.scrollTop);if(Math.abs(a.doc.scrollTop-e)>1){f=true}}if(k.scrollLeft!=null){nq(a,k.scrollLeft);if(Math.abs(a.doc.scrollLeft-l)>1){f=true}}if(!f){break}}return b}function mt(d,e,b,f,c){var a=mn(d,e,b,f,c);if(a.scrollTop!=null){l4(d,a.scrollTop)}if(a.scrollLeft!=null){nq(d,a.scrollLeft)}}function mn(d,o,e,q,f){var j=d.display,l=nF(d.display);if(e<0){e=0}var n=d.curOp&&d.curOp.scrollTop!=null?d.curOp.scrollTop:j.scroller.scrollTop;var b=m8(d),r={};if(f-e>b){f=e+b}var p=d.doc.height+ni(j);var h=ep-l;if(en+b){var g=Math.min(e,(k?p:f)-b);if(g!=n){r.scrollTop=g}}}var a=d.curOp&&d.curOp.scrollLeft!=null?d.curOp.scrollLeft:j.scroller.scrollLeft;var c=i4(d)-(d.options.fixedGutter?j.gutters.offsetWidth:0);var m=q-o>c;if(m){q=o+c}if(o<10){r.scrollLeft=0}else{if(oc+a-3){r.scrollLeft=q+(m?0:10)-c}}}return r}function lM(a,b,c){if(b!=null||c!=null){h2(a)}if(b!=null){a.curOp.scrollLeft=(a.curOp.scrollLeft==null?a.doc.scrollLeft:a.curOp.scrollLeft)+b}if(c!=null){a.curOp.scrollTop=(a.curOp.scrollTop==null?a.doc.scrollTop:a.curOp.scrollTop)+c}}function jl(b){h2(b);var d=b.getCursor(),a=d,c=d;if(!b.options.lineWrapping){a=d.ch?lA(d.line,d.ch-1):d;c=lA(d.line,d.ch+1)}b.curOp.scrollToPos={from:a,to:c,margin:b.options.cursorScrollMargin,isCursor:true}}function h2(c){var d=c.curOp.scrollToPos;if(d){c.curOp.scrollToPos=null;var a=kw(c,d.from),b=kw(c,d.to);var e=mn(c,Math.min(a.left,b.left),Math.min(a.top,b.top)-d.margin,Math.max(a.right,b.right),Math.max(a.bottom,b.bottom)+d.margin);c.scrollTo(e.scrollLeft,e.scrollTop)}}var iv=0;function lY(a){a.curOp={cm:a,viewChanged:false,startHeight:a.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:++iv};js(a.curOp)}function ng(a){var b=a.curOp;nX(b,function(c){for(var d=0;d=c.viewTo)||c.maxLineChanged&&a.options.lineWrapping;b.update=b.mustUpdate&&new n4(a,b.mustUpdate&&{top:b.scrollTop,ensure:b.scrollToPos},b.forceUpdate)}function m6(a){a.updatedDisplay=a.mustUpdate&&mC(a.cm,a.update)}function nP(b){var a=b.cm,c=a.display;if(b.updatedDisplay){i(a)}b.barMeasure=kR(a);if(c.maxLineChanged&&!a.options.lineWrapping){b.adjustWidthTo=ic(a,c.maxLine,c.maxLine.text.length).left+3;a.display.sizerWidth=b.adjustWidthTo;b.barMeasure.scrollWidth=Math.max(c.scroller.clientWidth,c.sizer.offsetLeft+b.adjustWidthTo+lh(a)+a.display.barWidth);b.maxScrollLeft=Math.max(0,c.sizer.offsetLeft+b.adjustWidthTo-i4(a))}if(b.updatedDisplay||b.selectionChanged){b.preparedSelection=c.input.prepareSelection(b.focus)}}function m9(b){var a=b.cm;if(b.adjustWidthTo!=null){a.display.sizer.style.minWidth=b.adjustWidthTo+"px";if(b.maxScrollLefte)){h.updateLineNumbers=e}c.curOp.viewChanged=true;if(e>=h.viewTo){if(gN&&nJ(c.doc,e)h.viewFrom){jw(c)}else{h.viewFrom+=b;h.viewTo+=b}}else{if(e<=h.viewFrom&&d>=h.viewTo){jw(c)}else{if(e<=h.viewFrom){var f=jq(c,d,d+b,1);if(f){h.view=h.view.slice(f.index);h.viewFrom=f.lineN;h.viewTo+=b}else{jw(c)}}else{if(d>=h.viewTo){var k=jq(c,e,e,-1);if(k){h.view=h.view.slice(0,k.index);h.viewTo=k.lineN}else{jw(c)}}else{var g=jq(c,e,e,-1);var j=jq(c,d,d+b,1);if(g&&j){h.view=h.view.slice(0,g.index).concat(hQ(c,g.lineN,j.lineN)).concat(h.view.slice(j.index));h.viewTo+=b}else{jw(c)}}}}}}var a=h.externalMeasured;if(a){if(d=c.lineN&&f=a.viewTo){return}var e=a.view[iR(g,f)];if(e.node==null){return}var d=e.changes||(e.changes=[]);if(jb(d,b)==-1){d.push(b)}}function jw(a){a.display.viewFrom=a.display.viewTo=a.doc.first;a.display.view=[];a.display.viewOffset=0}function jq(a,g,e,h){var d=iR(a,g),b,c=a.display.view;if(!gN||e==a.doc.first+a.doc.size){return{index:d,lineN:e}}var j=a.display.viewFrom;for(var f=0;f0){if(d==c.length-1){return null}b=(j+c[d].size)-g;d++}else{b=j-g}g+=b;e+=b}while(nJ(a.doc,e)!=e){if(d==(h<0?0:c.length-1)){return null}e+=h*c[d-(h<0?1:0)].size;d+=h}return{index:d,lineN:e}}function lm(c,a,b){var d=c.display,e=d.view;if(e.length==0||a>=d.viewTo||b<=d.viewFrom){d.view=hQ(c,a,b);d.viewFrom=a}else{if(d.viewFrom>a){d.view=hQ(c,a,d.viewFrom).concat(d.view)}else{if(d.viewFromb){d.view=d.view.slice(0,iR(c,b))}}}d.viewTo=b}function jv(e){var d=e.display.view,a=0;for(var b=0;b=c.display.viewTo){return}var d=+new Date+c.options.workTime;var b=nK(a.mode,kM(c,a.frontier));var e=[];a.iter(a.frontier,Math.min(a.first+a.size,c.display.viewTo+500),function(h){if(a.frontier>=c.display.viewFrom){var n=h.styles,j=h.text.length>c.options.maxHighlightLength;var l=ib(c,h,j?nK(a.mode,b):b,true);h.styles=l.styles;var f=h.styleClasses,m=l.classes;if(m){h.styleClasses=m}else{if(f){h.styleClasses=null}}var k=!n||n.length!=h.styles.length||f!=m&&(!f||!m||f.bgClass!=m.bgClass||f.textClass!=m.textClass);for(var g=0;!k&&gd){ij(c,c.options.workDelay);return true}});if(e.length){lI(c,function(){for(var f=0;f=g.viewFrom&&h.visible.to<=g.viewTo&&(g.updateLineNumbers==null||g.updateLineNumbers>=g.viewTo)&&g.renderedView==g.view&&jv(b)==0){return false}if(iE(b)){jw(b);h.dims=ho(b)}var j=c.first+c.size;var e=Math.max(h.visible.from-b.options.viewportMargin,c.first);var d=Math.min(j,h.visible.to+b.options.viewportMargin);if(g.viewFromd&&g.viewTo-d<20){d=Math.min(j,g.viewTo)}if(gN){e=nJ(b.doc,e);d=iJ(b.doc,d)}var k=e!=g.viewFrom||d!=g.viewTo||g.lastWrapHeight!=h.wrapperHeight||g.lastWrapWidth!=h.wrapperWidth;lm(b,e,d);g.viewOffset=m7(hm(b.doc,g.viewFrom));b.display.mover.style.top=g.viewOffset+"px";var a=jv(b);if(!k&&a==0&&!h.force&&g.renderedView==g.view&&(g.updateLineNumbers==null||g.updateLineNumbers>=g.viewTo)){return false}var f=j3();if(a>4){g.lineDiv.style.display="none"}km(b,g.updateLineNumbers,h.dims);if(a>4){g.lineDiv.style.display=""}g.renderedView=g.view;if(f&&j3()!=f&&f.offsetHeight){f.focus()}iN(g.cursorDiv);iN(g.selectionDiv);g.gutters.style.height=g.sizer.style.minHeight=0;if(k){g.lastWrapHeight=h.wrapperHeight;g.lastWrapWidth=h.wrapperWidth;ij(b,400)}g.updateLineNumbers=null;return true}function kt(e,a){var c=a.viewport;for(var b=true;;b=false){if(!b||!e.options.lineWrapping||a.oldDisplayWidth==i4(e)){if(c&&c.top!=null){c={top:Math.min(e.doc.height+ni(e.display)-m8(e),c.top)}}a.visible=lc(e.display,e.doc,c);if(a.visible.from>=e.display.viewFrom&&a.visible.to<=e.display.viewTo){break}}if(!mC(e,a)){break}i(e);var d=kR(e);nu(e);hK(e,d);kV(e,d)}a.signal(e,"update",e);if(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo){a.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo);e.display.reportedViewFrom=e.display.viewFrom;e.display.reportedViewTo=e.display.viewTo}}function lN(d,b){var a=new n4(d,b);if(mC(d,a)){i(d);kt(d,a);var c=kR(d);nu(d);hK(d,c);kV(d,c);a.finish()}}function km(c,m,d){var g=c.display,a=c.options.lineNumbers;var o=g.lineDiv,b=o.firstChild;function h(p){var q=p.nextSibling;if(mU&&k9&&c.display.currentWheelTarget==p){p.style.display="none"}else{p.parentNode.removeChild(p)}return q}var f=g.view,j=g.viewFrom;for(var l=0;l-1){e=false}nC(c,k,j,d)}if(e){iN(k.lineNumber);k.lineNumber.appendChild(document.createTextNode(jF(c.options,j)))}b=k.node.nextSibling}}j+=k.size}while(b){b=h(b)}}function jO(a){var b=a.display.gutters.offsetWidth;a.display.sizer.style.marginLeft=b+"px"}function kV(a,b){a.display.sizer.style.minHeight=b.docHeight+"px";a.display.heightForcer.style.top=b.docHeight+"px";a.display.gutters.style.height=(b.docHeight+a.display.barHeight+lh(a))+"px"}function io(f){var e=f.display.gutters,a=f.options.gutters;iN(e);var d=0;for(;d-1&&!a.lineNumbers){a.gutters=a.gutters.slice(0);a.gutters.splice(b,1)}}}function g0(a,b){this.ranges=a;this.primIndex=b}g0.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(e){var a=this;if(e==this){return true}if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length){return false}for(var c=0;c=0&&kI(a,d.to())<=0){return c}}return -1}};function lz(a,b){this.anchor=a;this.head=b}lz.prototype={from:function(){return m3(this.anchor,this.head)},to:function(){return nD(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function mA(j,b){var g=j[b];j.sort(function(l,k){return kI(l.from(),k.from())});b=jb(j,g);for(var e=1;e=0){var d=m3(h.from(),a.from()),c=nD(h.to(),a.to());var f=h.empty()?a.from()==a.head:h.from()==h.head;if(e<=b){--b}j.splice(--e,2,new lz(f?c:d,f?d:c))}}return new g0(j,b)}function j1(a,b){return new g0([new lz(a,b||a)],0)}function m1(a){if(!a.text){return a.to}return lA(a.from.line+a.text.length-1,ji(a.text).length+(a.text.length==1?a.from.ch:0))}function nS(b,c){if(kI(b,c.from)<0){return b}if(kI(b,c.to)<=0){return m1(c)}var a=b.line+c.text.length-(c.to.line-c.from.line)-1,d=b.ch;if(b.line==c.to.line){d+=m1(c).ch-c.to.ch}return lA(a,d)}function iK(b,a){var d=[];for(var c=0;c1){r.remove(a.line+1,c-1)}r.insert(a.line+1,l)}}}}nw(r,"change",r,f)}function iA(b,c,d){function a(j,e,g){if(j.linked){for(var f=0;f1&&!b.done[b.done.length-2].ranges){b.done.pop();return ji(b.done)}}}}function iX(d,f,a,g){var h=d.history;h.undone.length=0;var j=+new Date,c;var b;if((h.lastOp==g||h.lastOrigin==f.origin&&f.origin&&((f.origin.charAt(0)=="+"&&d.cm&&h.lastModTime>j-d.cm.options.historyEventDelay)||f.origin.charAt(0)=="*"))&&(c=kl(h,h.lastOp==g))){b=ji(c.changes);if(kI(f.from,f.to)==0&&kI(f.from,b.to)==0){b.to=m1(f)}else{c.changes.push(k6(d,f))}}else{var e=ji(h.done);if(!e||!e.ranges){lx(d.sel,h.done)}c={changes:[k6(d,f)],generation:h.generation};h.done.push(c);while(h.done.length>h.undoDepth){h.done.shift();if(!h.done[0].ranges){h.done.shift()}}}h.done.push(a);h.generation=++h.maxGeneration;h.lastModTime=h.lastSelTime=j;h.lastOp=h.lastSelOp=g;h.lastOrigin=h.lastSelOrigin=f.origin;if(!b){n9(d,"historyAdded")}}function nx(a,c,d,b){var e=c.charAt(0);return e=="*"||e=="+"&&d.ranges.length==b.ranges.length&&d.somethingSelected()==b.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}function hN(a,d,c,e){var b=a.history,f=e&&e.origin;if(c==b.lastSelOp||(f&&b.lastSelOrigin==f&&(b.lastModTime==b.lastSelTime&&b.lastOrigin==f||nx(a,f,ji(b.done),d)))){b.done[b.done.length-1]=d}else{lx(d,b.done)}b.lastSelTime=+new Date;b.lastSelOrigin=f;b.lastSelOp=c;if(e&&e.clearRedo!==false){h3(b.undone)}}function lx(c,a){var b=ji(a);if(!(b&&b.ranges&&b.equals(c))){a.push(c)}}function nU(f,a,b,d){var c=a["spans_"+f.id],e=0;f.iter(Math.max(f.first,b),Math.min(f.first+f.size,d),function(g){if(g.markedSpans){(c||(c=a["spans_"+f.id]={}))[e]=g.markedSpans}++e})}function l3(a){if(!a){return null}var c;for(var b=0;b-1){ji(c)[m]=e[m];delete e[m]}}}}}}return l}function im(a,f,b,d){if(a.cm&&a.cm.display.shift||a.extend){var c=f.anchor;if(d){var e=kI(b,c)<0;if(e!=(kI(d,c)<0)){c=b;b=d}else{if(e!=(kI(b,d)<0)){b=d}}}return new lz(c,b)}else{return new lz(d||b,b)}}function g5(b,c,a,d){mL(b,new g0([im(b,b.sel.primary(),c,a)],0),d)}function mN(a,b,d){var e=[];for(var c=0;c=d.ch:m.to>d.ch))){if(f){n9(l,"beforeCursorEnter");if(l.explicitlyCleared){if(!a.markedSpans){break}else{--h;continue}}}if(!l.atomic){continue}if(j){var e=l.find(k<0?1:-1),c=void 0;if(k<0?l.inclusiveRight:l.inclusiveLeft){e=hF(b,e,-k,e&&e.line==d.line?a:null)}if(e&&e.line==d.line&&(c=kI(e,j))&&(k<0?c<0:c>0)){return iS(b,e,d,k,f)}}var g=l.find(k<0?-1:1);if(k<0?l.inclusiveLeft:l.inclusiveRight){g=hF(b,g,k,g.line==d.line?a:null)}return g?iS(b,g,d,k,f):null}}}return d}function mJ(b,a,e,g,d){var f=g||1;var c=iS(b,a,e,f,d)||(!d&&iS(b,a,e,f,true))||iS(b,a,e,-f,d)||(!d&&iS(b,a,e,-f,true));if(!c){b.cantEdit=true;return lA(b.first,0)}return c}function hF(c,b,d,a){if(d<0&&b.ch==0){if(b.line>c.first){return i3(c,lA(b.line-1))}else{return null}}else{if(d>0&&b.ch==(a||hm(c,b.line)).text.length){if(b.line=0;--e){mf(b,{from:d[e].from,to:d[e].to,text:e?[""]:a.text})}}else{mf(b,a)}}function mf(c,b){if(b.text.length==1&&b.text[0]==""&&kI(b.from,b.to)==0){return}var d=iK(c,b);iX(c,b,d,c.cm?c.cm.curOp.id:NaN);ik(c,b,d,h5(c,b));var a=[];iA(c,function(e,f){if(!f&&jb(a,e.history)==-1){kF(e.history,b);a.push(e.history)}ik(e,b,null,h5(e,b))})}function k5(c,d,a){if(c.cm&&c.cm.state.suppressEdits&&!a){return}var e=c.history,n,l=c.sel;var o=d=="undo"?e.done:e.undone,b=d=="undo"?e.undone:e.done;var h=0;for(;h=0;--k){var j=g(k);if(j){return j.v}}}function iC(d,b){if(b==0){return}d.first+=b;d.sel=new g0(mO(d.sel.ranges,function(e){return new lz(lA(e.anchor.line+b,e.anchor.ch),lA(e.head.line+b,e.head.ch))}),d.sel.primIndex);if(d.cm){np(d.cm,d.first,d.first-b,b);for(var c=d.cm.display,a=c.viewFrom;ab.lastLine()){return}if(a.from.linee){a={from:a.from,to:lA(e,hm(b,e).text.length),text:[a.text[0]],origin:a.origin}}a.removed=gY(b,a.from,a.to);if(!d){d=iK(b,a)}if(b.cm){n5(b.cm,a,f)}else{id(b,a,f)}jN(b,d,ln)}function n5(b,g,j){var c=b.doc,h=b.display,f=g.from,d=g.to;var e=false,k=f.line;if(!b.options.lineWrapping){k=m5(jV(hm(c,f.line)));c.iter(k,d.line+1,function(o){if(o==h.maxLine){e=true;return true}})}if(c.sel.contains(g.from,g.to)>-1){lD(b)}id(c,g,j,mp(b));if(!b.options.lineWrapping){c.iter(k,f.line+g.text.length,function(o){var p=hZ(o);if(p>h.maxLineLength){h.maxLine=o;h.maxLineLength=p;h.maxLineChanged=true;e=false}});if(e){b.curOp.updateMaxLine=true}}c.frontier=Math.min(c.frontier,f.line);ij(b,400);var a=g.text.length-(d.line-f.line)-1;if(g.full){np(b)}else{if(f.line==d.line&&g.text.length==1&&!lR(b.doc,g)){lS(b,f.line,"text")}else{np(b,f.line,d.line+1,a)}}var m=iI(b,"changes"),l=iI(b,"change");if(l||m){var n={from:f,to:d,text:g.text,removed:g.removed,origin:g.origin};if(l){nw(b,"change",b,n)}if(m){(b.curOp.changeObjs||(b.curOp.changeObjs=[])).push(n)}}b.display.selForContextMenu=null}function gT(d,e,a,b,c){if(!b){b=a}if(kI(b,a)<0){var f=b;b=a;a=f}if(typeof e=="string"){e=d.splitLines(e)}mi(d,{from:a,to:b,text:e,origin:c})}function ml(b,c,d,a){if(d1||!(this.children[0] instanceof hH))){var a=[];this.collapse(a);this.children=[new hH(a)];this.children[0].parent=this}},collapse:function(c){var a=this;for(var b=0;b50){var h=k.lines.length%25+25;for(var c=h;c10);c.parent.maybeSpill()},iterN:function(g,h,a){var b=this;for(var f=0;fc.display.maxLineLength){c.display.maxLine=m;c.display.maxLineLength=f;c.display.maxLineChanged=true}}}if(j!=null&&c&&this.collapsed){np(c,j,e+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(c){jt(c.doc)}}if(c){nw(c,"markerCleared",c,this)}if(k){ng(c)}if(this.parent){this.parent.clear()}};lV.prototype.find=function(d,f){var h=this;if(d==null&&this.type=="bookmark"){d=1}var a,b;for(var e=0;e0||b==0&&h.clearWhenEmpty!==false){return h}if(h.replacedWith){h.collapsed=true;h.widgetNode=gZ("span",[h.replacedWith],"CodeMirror-widget");if(!a.handleMouseEvents){h.widgetNode.setAttribute("cm-ignore-events","true")}if(a.insertLeft){h.widgetNode.insertLeft=true}}if(h.collapsed){if(jS(c,e.line,e,d,h)||e.line!=d.line&&jS(c,d.line,e,d,h)){throw new Error("Inserting collapsed marker partially overlapping an existing one")}lf()}if(h.addToHistory){iX(c,{from:e,to:d,origin:"markText"},c.sel,NaN)}var k=e.line,f=c.cm,l;c.iter(k,d.line+1,function(m){if(f&&h.collapsed&&!f.options.lineWrapping&&jV(m)==f.display.maxLine){l=true}if(h.collapsed&&k!=e.line){gV(m,0)}kP(m,new h7(h,k==e.line?e.ch:null,k==d.line?d.ch:null));++k});if(h.collapsed){c.iter(e.line,d.line+1,function(m){if(il(c,m)){gV(m,0)}})}if(h.clearOnEnter){nY(h,"beforeCursorEnter",function(){return h.clear()})}if(h.readOnly){ia();if(c.history.done.length||c.history.undone.length){c.clearHistory()}}if(h.collapsed){h.id=++gQ;h.atomic=true}if(f){if(l){f.curOp.updateMaxLine=true}if(h.collapsed){np(f,e.line,d.line+1)}else{if(h.className||h.title||h.startStyle||h.endStyle||h.css){for(var j=e.line;j<=d.line;j++){lS(f,j,"text")}}}if(h.atomic){jt(f.doc)}nw(f,"markerAdded",f,h)}return h}function jZ(b,c){var a=this;this.markers=b;this.primary=c;for(var d=0;d=0;h--){mi(e,c[h])}if(k){ht(this,k)}else{if(this.cm){jl(this.cm)}}}),undo:mg(function(){k5(this,"undo")}),redo:mg(function(){k5(this,"redo")}),undoSelection:mg(function(){k5(this,"undo",true)}),redoSelection:mg(function(){k5(this,"redo",true)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){var b=this.history,e=0,c=0;for(var d=0;d=a.ch)){b.push(c.marker.parent||c.marker)}}}return b},findMarks:function(a,c,e){a=i3(this,a);c=i3(this,c);var d=[],b=a.line;this.iter(a.line,c.line+1,function(h){var f=h.markedSpans;if(f){for(var g=0;g=j.to||j.from==null&&b!=a.line||j.from!=null&&b==c.line&&j.from>=c.ch)&&(!e||e(j.marker))){d.push(j.marker.parent||j.marker)}}}++b});return d},getAllMarks:function(){var a=[];this.iter(function(c){var d=c.markedSpans;if(d){for(var b=0;bb){d=b;return true}b-=e;++a});return i3(this,lA(a,d))},indexFromPos:function(b){b=i3(this,b);var a=b.ch;if(b.linea){a=b.from}if(b.to!=null&&b.to-1){b.state.draggingText(d);setTimeout(function(){return b.display.input.focus()},20);return}try{var m=d.dataTransfer.getData("Text");if(m){var g;if(b.state.draggingText&&!b.state.draggingText.copy){g=b.listSelections()}jN(b.doc,j1(c,c));if(g){for(var j=0;j=0;h--){gT(g.doc,"",c[h].from,c[h].to,"+delete")}jl(g)})}var jg={selectAll:nh,singleSelection:function(a){return a.setSelection(a.getCursor("anchor"),a.getCursor("head"),ln)},killLine:function(a){return hL(a,function(b){if(b.empty()){var c=hm(a.doc,b.head.line).text.length;if(b.head.ch==c&&b.head.line0){b=new lA(b.line,b.ch+1);a.replaceRange(g.charAt(b.ch-1)+g.charAt(b.ch-2),lA(b.line,b.ch-2),b,"+transpose")}else{if(b.line>a.doc.first){var c=hm(a.doc,b.line-1).text;if(c){b=new lA(b.line,1);a.replaceRange(g.charAt(0)+a.doc.lineSeparator()+c.charAt(c.length-1),lA(b.line-1,c.length-1),b,"+transpose")}}}}f.push(new lz(b,b))}a.setSelections(f)})},newlineAndIndent:function(a){return lI(a,function(){var d=a.listSelections();for(var c=d.length-1;c>=0;c--){a.replaceRange(a.doc.lineSeparator(),d[c].anchor,d[c].head,"+input")}d=a.listSelections();for(var b=0;bg-400&&kI(jr.pos,a)==0){d="triple"}else{if(i1&&i1.time>g-400&&kI(i1.pos,a)==0){d="double";jr={time:g,pos:a}}else{d="single";i1={time:g,pos:a}}}var c=h.doc.sel,f=k9?b.metaKey:b.ctrlKey,e;if(h.options.dragDrop&&kr&&!h.isReadOnly()&&d=="single"&&(e=c.contains(a))>-1&&(kI((e=c.ranges[e]).from(),a)<0||a.xRel>0)&&(kI(e.to(),a)>0||a.xRel<0)){gR(h,b,a,f)}else{kB(h,b,a,d,f)}}function gR(f,b,a,g){var c=f.display,e=+new Date;var d=mQ(f,function(h){if(mU){c.scroller.draggable=false}f.state.draggingText=false;ih(document,"mouseup",d);ih(c.scroller,"drop",d);if(Math.abs(b.clientX-h.clientX)+Math.abs(b.clientY-h.clientY)<10){l7(h);if(!g&&+new Date-200-1){o=q[s]}else{o=new lz(n,n)}}else{o=r.sel.primary();s=r.sel.primIndex}if(i6?t.shiftKey&&t.metaKey:t.altKey){p="rect";if(!k){o=new lz(n,n)}n=kg(m,t,true,true);s=-1}else{if(p=="double"){var v=m.findWordAt(n);if(m.display.shift||r.extend){o=im(r,o,v.anchor,v.head)}else{o=v}}else{if(p=="triple"){var g=new lz(lA(n.line,0),i3(r,lA(n.line+1,0)));if(m.display.shift||r.extend){o=im(r,o,g.anchor,g.head)}else{o=g}}else{o=im(r,o,n)}}}if(!k){s=0;mL(r,new g0([o],0),l9);l=r.sel}else{if(s==-1){s=q.length;mL(r,mA(q.concat([o]),s),{scroll:false,origin:"*mouse"})}else{if(q.length>1&&q[s].empty()&&p=="single"&&!t.shiftKey){mL(r,mA(q.slice(0,s).concat(q.slice(s+1)),0),{scroll:false,origin:"*mouse"});l=r.sel}else{k2(r,s,o,l9)}}}var b=n;function c(B){if(kI(b,B)==0){return}b=B;if(p=="rect"){var J=[],E=m.options.tabSize;var K=mV(hm(r,n.line).text,n.ch,E);var x=mV(hm(r,B.line).text,B.ch,E);var I=Math.min(K,x),z=Math.max(K,x);for(var w=Math.min(n.line,B.line),G=Math.min(m.lastLine(),Math.max(n.line,B.line));w<=G;w++){var y=hm(r,w).text,H=jM(y,I,E);if(I==z){J.push(new lz(lA(w,H),lA(w,H)))}else{if(y.length>H){J.push(new lz(lA(w,H),lA(w,jM(y,z,E))))}}}if(!J.length){J.push(new lz(n,n))}mL(r,mA(l.ranges.slice(0,s).concat(J),s),{origin:"*mouse",scroll:false});m.scrollIntoView(B)}else{var D=o;var F=D.anchor,C=B;if(p!="single"){var A;if(p=="double"){A=m.findWordAt(B)}else{A=new lz(lA(B.line,0),i3(r,lA(B.line+1,0)))}if(kI(A.anchor,F)>0){C=A.head;F=m3(D.from(),A.anchor)}else{C=A.anchor;F=nD(D.to(),A.head)}}var L=l.ranges.slice(0);L[s]=new lz(i3(r,F),C);mL(r,mA(L,s),l9)}}var e=a.wrapper.getBoundingClientRect();var j=0;function u(x){var z=++j;var A=kg(m,x,true,p=="rect");if(!A){return}if(kI(A,b)!=0){m.curOp.focus=j3();c(A);var w=lc(a,r);if(A.line>=w.to||A.linee.bottom?20:0;if(y){setTimeout(mQ(m,function(){if(j!=z){return}a.scroller.scrollTop+=y;u(x)}),50)}}}function f(w){m.state.selectingText=false;j=Infinity;l7(w);a.input.focus();ih(document,"mousemove",d);ih(document,"mouseup",h);r.history.lastSelOrigin=null}var d=mQ(m,function(w){if(!hi(w)){f(w)}else{u(w)}});var h=mQ(m,f);m.state.selectingText=h;nY(document,"mousemove",d);nY(document,"mouseup",h)}function hC(b,f,d,c){var l,m;try{l=f.clientX;m=f.clientY}catch(f){return false}if(l>=Math.floor(b.display.gutters.getBoundingClientRect().right)){return false}if(c){l7(f)}var e=b.display;var g=e.lineDiv.getBoundingClientRect();if(m>g.bottom||!iI(b,d)){return na(f)}m-=g.top-e.viewOffset;for(var j=0;j=l){var a=nj(b.doc,m);var k=b.options.gutters[j];n9(b,d,b,a,k,f);return na(f)}}}function kE(a,b){return hC(a,b,"gutterClick",true)}function mI(a,b){if(my(a.display,b)||jh(a,b)){return}if(nT(a,b,"contextmenu")){return}a.display.input.onContextMenu(b)}function jh(a,b){if(!iI(a,"gutterContextMenu")){return false}return hC(a,b,"gutterContextMenu",false)}function lC(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-");nm(a)}var kQ={toString:function(){return"CodeMirror.Init"}};var hB={};var mk={};function i0(a){var b=a.optionHandlers;function c(g,d,e,f){a.defaults[g]=d;if(e){b[g]=f?function(h,j,k){if(k!=kQ){e(h,j,k)}}:e}}a.defineOption=c;a.Init=kQ;c("value","",function(e,d){return e.setValue(d)},true);c("mode",null,function(e,d){e.doc.modeOption=d;ly(e)},true);c("indentUnit",2,ly,true);c("indentWithTabs",false);c("smartIndent",true);c("tabSize",4,function(d){h1(d);nm(d);np(d)},true);c("lineSeparator",null,function(h,e){h.doc.lineSep=e;if(!e){return}var f=[],d=h.doc.first;h.doc.iter(function(l){for(var j=0;;){var k=l.text.indexOf(e,j);if(k==-1){break}j=k+e.length;f.push(lA(d,k))}d++});for(var g=f.length-1;g>=0;g--){gT(h.doc,e,f[g],lA(f[g].line,f[g].ch+e.length))}});c("specialChars",/[\u0000-\u001f\u007f\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(f,d,e){f.state.specialChars=new RegExp(d.source+(d.test("\t")?"":"|\t"),"g");if(e!=kQ){f.refresh()}});c("specialCharPlaceholder",hn,function(d){return d.refresh()},true);c("electricChars",true);c("inputStyle",ie?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},true);c("spellcheck",false,function(e,d){return e.getInputField().spellcheck=d},true);c("rtlMoveVisually",!nW);c("wholeLineUpdateBefore",true);c("theme","default",function(d){lC(d);k1(d)},true);c("keyMap","default",function(h,d,g){var f=g6(d);var e=g!=kQ&&g6(g);if(e&&e.detach){e.detach(h,f)}if(f.attach){f.attach(h,e||null)}});c("extraKeys",null);c("lineWrapping",false,i2,true);c("gutters",[],function(d){kK(d.options);k1(d)},true);c("fixedGutter",true,function(e,d){e.display.gutters.style.left=d?lw(e.display)+"px":"0";e.refresh()},true);c("coverGutterNextToScrollbar",false,function(d){return hK(d)},true);c("scrollbarStyle","native",function(d){oa(d);hK(d);d.display.scrollbars.setScrollTop(d.doc.scrollTop);d.display.scrollbars.setScrollLeft(d.doc.scrollLeft)},true);c("lineNumbers",false,function(d){kK(d.options);k1(d)},true);c("firstLineNumber",1,k1,true);c("lineNumberFormatter",function(d){return d},k1,true);c("showCursorWhenSelecting",false,nu,true);c("resetSelectionOnContextMenu",true);c("lineWiseCopyCut",true);c("readOnly",false,function(e,d){if(d=="nocursor"){nL(e);e.display.input.blur();e.display.disabled=true}else{e.display.disabled=false}e.display.input.readOnlyChanged(d)});c("disableInput",false,function(e,d){if(!d){e.display.input.reset()}},true);c("dragDrop",true,g2);c("allowDropFileTypes",null);c("cursorBlinkRate",530);c("cursorScrollMargin",0);c("cursorHeight",1,nu,true);c("singleCursorHeightPerLine",true,nu,true);c("workTime",100);c("workDelay",100);c("flattenSpans",true,h1,true);c("addModeClass",false,h1,true);c("pollInterval",100);c("undoDepth",200,function(e,d){return e.doc.history.undoDepth=d});c("historyEventDelay",1250);c("viewportMargin",10,function(d){return d.refresh()},true);c("maxHighlightLength",10000,h1,true);c("moveInputWithCursor",true,function(e,d){if(!d){e.display.input.resetPosition()}});c("tabindex",null,function(e,d){return e.display.input.getField().tabIndex=d||""});c("autofocus",null)}function k1(a){io(a);np(a);setTimeout(function(){return ja(a)},20)}function g2(f,b,e){var a=e&&e!=kQ;if(!b!=!a){var d=f.display.dragFunctions;var c=b?nY:ih;c(f.display.scroller,"dragstart",d.start);c(f.display.scroller,"dragenter",d.enter);c(f.display.scroller,"dragover",d.over);c(f.display.scroller,"dragleave",d.leave);c(f.display.scroller,"drop",d.drop)}}function i2(a){if(a.options.lineWrapping){h6(a.display.wrapper,"CodeMirror-wrap");a.display.sizer.style.minWidth="";a.display.sizerWidth=null}else{kS(a.display.wrapper,"CodeMirror-wrap");kY(a)}lr(a);np(a);nm(a);setTimeout(function(){return hK(a)},100)}function hx(g,e){var h=this;if(!(this instanceof hx)){return new hx(g,e)}this.options=e=e?n0(e):{};n0(hB,e,false);kK(e);var a=e.value;if(typeof a=="string"){a=new mT(a,e.mode,null,e.lineSeparator)}this.doc=a;var f=new hx.inputStyles[e.inputStyle](this);var b=this.display=new iU(g,a,f);b.wrapper.CodeMirror=this;io(this);lC(this);if(e.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(e.autofocus&&!ie){b.input.focus()}oa(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,delayingBlurEvent:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,selectingText:false,draggingText:false,highlight:new hA(),keySeq:null,specialChars:null};if(kj&&kH<11){setTimeout(function(){return h.display.input.reset(true)},20)}hf(this);l8();lY(this);this.curOp.forceUpdate=true;ip(this,a);if((e.autofocus&&!ie)||this.hasFocus()){setTimeout(mD(mm,this),20)}else{nL(this)}for(var c in mk){if(mk.hasOwnProperty(c)){mk[c](h,e[c],kQ)}}iE(this);if(e.finishInit){e.finishInit(this)}for(var d=0;d20*20}nY(c.scroller,"touchstart",function(j){if(!nT(h,j)&&!e(j)){c.input.ensurePolled();clearTimeout(a);var k=+new Date;c.activeTouch={start:k,moved:false,prev:k-f.end<=300?f:null};if(j.touches.length==1){c.activeTouch.left=j.touches[0].pageX;c.activeTouch.top=j.touches[0].pageY}}});nY(c.scroller,"touchmove",function(){if(c.activeTouch){c.activeTouch.moved=true}});nY(c.scroller,"touchend",function(l){var j=c.activeTouch;if(j&&!my(c,l)&&j.left!=null&&!j.moved&&new Date-j.start<300){var k=h.coordsChar(c.activeTouch,"page"),m;if(!j.prev||g(j,j.prev)){m=new lz(k,k)}else{if(!j.prev.prev||g(j,j.prev.prev)){m=h.findWordAt(k)}else{m=new lz(lA(k.line,0),i3(h.doc,lA(k.line+1,0)))}}h.setSelection(m.anchor,m.head);h.focus();l7(l)}b()});nY(c.scroller,"touchcancel",b);nY(c.scroller,"scroll",function(){if(c.scroller.clientHeight){l4(h,c.scroller.scrollTop);nq(h,c.scroller.scrollLeft,true);n9(h,"scroll",h)}});nY(c.scroller,"mousewheel",function(j){return k8(h,j)});nY(c.scroller,"DOMMouseScroll",function(j){return k8(h,j)});nY(c.wrapper,"scroll",function(){return c.wrapper.scrollTop=c.wrapper.scrollLeft=0});c.dragFunctions={enter:function(j){if(!nT(h,j)){jK(j)}},over:function(j){if(!nT(h,j)){hD(h,j);jK(j)}},start:function(j){return l0(h,j)},drop:mQ(h,l5),leave:function(j){if(!nT(h,j)){jx(h)}}};var d=c.input.getField();nY(d,"keyup",function(j){return me.call(h,j)});nY(d,"keydown",mQ(h,kp));nY(d,"keypress",mQ(h,mw));nY(d,"focus",function(j){return mm(h,j)});nY(d,"blur",function(j){return nL(h,j)})}var a9=[];hx.defineInitHook=function(a){return a9.push(a)};function nz(r,l,a,n){var b=r.doc,o;if(a==null){a="add"}if(a=="smart"){if(!b.mode.indent){a="prev"}else{o=kM(r,l)}}var g=r.options.tabSize;var q=hm(b,l),h=mV(q.text,null,g);if(q.stateAfter){q.stateAfter=null}var p=q.text.match(/^\s*/)[0],d;if(!n&&!/\S/.test(q.text)){d=0;a="not"}else{if(a=="smart"){d=b.mode.indent(o,q.text.slice(p.length),q.text);if(d==kU||d>150){if(!n){return}a="prev"}}}if(a=="prev"){if(l>b.first){d=mV(hm(b,l-1).text,null,g)}else{d=0}}else{if(a=="add"){d=h+r.options.indentUnit}else{if(a=="subtract"){d=h-r.options.indentUnit}else{if(typeof a=="number"){d=h+a}}}}d=Math.max(0,d);var c="",e=0;if(r.options.indentWithTabs){for(var k=Math.floor(d/g);k;--k){e+=g;c+="\t"}}if(e1){if(lZ&&lZ.text.join("\n")==k){if(n.ranges.length%lZ.text.length==0){p=[];for(var j=0;j=0;o--){var q=n.ranges[o];var d=q.from(),e=q.to();if(q.empty()){if(m&&m>0){d=lA(d.line,d.ch-m)}else{if(a.state.overwrite&&!l){e=lA(e.line,Math.min(hm(c,e.line).text.length,e.ch+ji(h).length))}else{if(lZ&&lZ.lineWise&&lZ.text.join("\n")==k){d=e=lA(d.line,0)}}}}g=a.curOp.updateInput;var f={from:d,to:e,text:p?p[o%p.length]:h,origin:b||(l?"paste":a.state.cutIncoming?"cut":"+input")};mi(a.doc,f);nw(a,"inputRead",a,f)}if(k&&!l){g7(a,k)}jl(a);a.curOp.updateInput=g;a.curOp.typing=true;a.state.pasteIncoming=a.state.cutIncoming=false}function mz(b,a){var c=b.clipboardData&&b.clipboardData.getData("Text");if(c){b.preventDefault();if(!a.isReadOnly()&&!a.options.disableInput){lI(a,function(){return g4(a,c,0,null,"paste")})}return true}}function g7(g,d){if(!g.options.electricChars||!g.options.smartIndent){return}var c=g.doc.sel;for(var e=c.ranges.length-1;e>=0;e--){var a=c.ranges[e];if(a.head.ch>100||(e&&c.ranges[e-1].head.line==a.head.line)){continue}var b=g.getModeAt(a.head);var h=false;if(b.electricChars){for(var f=0;f-1){h=nz(g,a.head.line,"smart");break}}}else{if(b.electricInput){if(b.electricInput.test(hm(g.doc,a.head.line).text.slice(0,a.head.ch))){h=nz(g,a.head.line,"smart")}}}if(h){nw(g,"electricInput",g,a.head.line)}}}function jf(f){var a=[],d=[];for(var c=0;c0){k2(h.doc,j,new lz(g,m[j].to()),ln)}}else{if(d.head.line>l){nz(h,d.head.line,e,true);l=d.head.line;if(j==h.doc.sel.primIndex){jl(h)}}}}}),getTokenAt:function(d,e){return j4(this,d,e)},getLineTokens:function(d,e){return j4(this,lA(d),e,true)},getTokenTypeAt:function(j){j=i3(this.doc,j);var e=jG(this,hm(this.doc,j.line));var l=0,k=(e.length-1)/2,f=j.ch;var g;if(f==0){g=e[2]}else{for(;;){var h=(l+k)>>1;if((h?e[h*2-1]:0)>=f){k=h}else{if(e[h*2+1]e){g=e;h=true}}f=hm(this.doc,g)}else{f=g}return j8(this,f,{top:0,left:0},j||"page",d).top+(h?this.doc.height-m7(f):0)},defaultTextHeight:function(){return nF(this.display)},defaultCharWidth:function(){return kJ(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(h,l,f,k,d){var j=this.display;h=lL(this,i3(this.doc,h));var g=h.bottom,m=h.left;l.style.position="absolute";l.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(l);j.sizer.appendChild(l);if(k=="over"){g=h.top}else{if(k=="above"||k=="near"){var n=Math.max(j.wrapper.clientHeight,this.doc.height),e=Math.max(j.sizer.clientWidth,j.lineSpace.clientWidth);if((k=="above"||h.bottom+l.offsetHeight>n)&&h.top>l.offsetHeight){g=h.top-l.offsetHeight}else{if(h.bottom+l.offsetHeight<=n){g=h.bottom}}if(m+l.offsetWidth>e){m=e-l.offsetWidth}}}l.style.top=g+"px";l.style.left=l.style.right="";if(d=="right"){m=j.sizer.clientWidth-l.offsetWidth;l.style.right="0px"}else{if(d=="left"){m=0}else{if(d=="middle"){m=(j.sizer.clientWidth-l.offsetWidth)/2}}l.style.left=m+"px"}if(f){mt(this,m,g,m+l.offsetWidth,g+l.offsetHeight)}},triggerOnKeyDown:jC(kp),triggerOnKeyPress:jC(mw),triggerOnKeyUp:me,execCommand:function(d){if(jg.hasOwnProperty(d)){return jg[d].call(null,this)}},triggerElectric:jC(function(d){g7(this,d)}),findPosH:function(j,e,d,g){var k=this;var h=1;if(e<0){h=-1;e=-e}var l=i3(this.doc,j);for(var f=0;f0&&h(e.charAt(k-1))){--k}while(f0.5){lr(this)}n9(this,"refresh",this)}),swapDoc:jC(function(d){var e=this.doc;e.cm=null;ip(this,d);nm(this);this.display.input.reset();this.scrollTo(d.scrollLeft,d.scrollTop);this.curOp.forceScroll=true;nw(this,"swapDoc",this,e);return e}),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}};nA(a);a.registerHelper=function(e,f,d){if(!b.hasOwnProperty(e)){b[e]=a[e]={_global:[]}}b[e][f]=d};a.registerGlobalHelper=function(e,f,g,d){a.registerHelper(e,f,d);b[e]._global.push({pred:g,val:d})}};function lg(r,m,d,e,k){var g=m.line,f=m.ch,s=d;var p=hm(r,g);function a(){var t=g+d;if(t=r.first+r.size){return false}g=t;return p=hm(r,t)}function b(t){var u=(k?ka:nn)(p,f,d,true);if(u==null){if(!t&&a()){if(k){f=(d<0?lj:md)(p)}else{f=d<0?p.text.length:0}}else{return false}}else{f=u}return true}if(e=="char"){b()}else{if(e=="column"){b(true)}else{if(e=="word"||e=="group"){var c=null,j=e=="group";var q=r.cm&&r.cm.getHelper(m,"wordChars");for(var l=true;;l=false){if(d<0&&!b(!l)){break}var o=p.text.charAt(f)||"\n";var n=mo(o,q)?"w":j&&o=="\n"?"n":!j||/\s/.test(o)?null:"p";if(j&&!l&&!n){n="s"}if(c&&c!=n){if(d<0){d=1;b()}break}if(n){c=n}if(d>0&&!b(!l)){break}}}}}var h=mJ(r,lA(g,f),m,s,true);if(!kI(m,h)){h.hitSide=true}return h}function lB(b,g,k,c){var d=b.doc,e=g.left,f;if(c=="page"){var h=Math.min(b.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);var a=Math.max(h-0.5*nF(b.display),3);f=(k>0?g.bottom:g.top)+k*a}else{if(c=="line"){f=k>0?g.bottom+3:g.top-3}}var j;for(;;){j=hg(b,e,f);if(!j.outside){break}if(k<0?f<=0:f>=d.height){j.hitSide=true;break}f+=k*5}return j}function k7(a){this.cm=a;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new hA();this.composing=null;this.gracePeriod=false;this.readDOMTimeout=null}k7.prototype=n0({init:function(d){var a=this;var e=this,c=e.cm;var b=e.div=d.lineDiv;hh(b,c.options.spellcheck);nY(b,"paste",function(g){if(nT(c,g)||mz(g,c)){return}if(kH<=11){setTimeout(mQ(c,function(){if(!e.pollContent()){np(c)}}),20)}});nY(b,"compositionstart",function(g){a.composing={data:g.data}});nY(b,"compositionupdate",function(g){if(!a.composing){a.composing={data:g.data}}});nY(b,"compositionend",function(g){if(a.composing){if(g.data!=a.composing.data){a.readFromDOMSoon()}a.composing=null}});nY(b,"touchstart",function(){return e.forceCompositionEnd()});nY(b,"input",function(){if(!a.composing){a.readFromDOMSoon()}});function f(k){if(nT(c,k)){return}if(c.somethingSelected()){jJ({lineWise:false,text:c.getSelections()});if(k.type=="cut"){c.replaceSelection("",null,"cut")}}else{if(!c.options.lineWiseCopyCut){return}else{var g=jf(c);jJ({lineWise:true,text:g.text});if(k.type=="cut"){c.operation(function(){c.setSelections(g.ranges,0,ln);c.replaceSelection("",null,"cut")})}}}if(k.clipboardData){k.clipboardData.clearData();var l=lZ.text.join("\n");k.clipboardData.setData("Text",l);if(k.clipboardData.getData("Text")==l){k.preventDefault();return}}var m=nG(),j=m.firstChild;c.display.lineSpace.insertBefore(m,c.display.lineSpace.firstChild);j.value=lZ.text.join("\n");var h=document.activeElement;kf(j);setTimeout(function(){c.display.lineSpace.removeChild(m);h.focus();if(h==b){e.showPrimarySelection()}},50)}nY(b,"copy",f);nY(b,"cut",f)},prepareSelection:function(){var a=i9(this.cm,false);a.focus=this.cm.state.focused;return a},showSelection:function(b,a){if(!b||!this.cm.display.view.length){return}if(b.focus||a){this.showPrimarySelection()}this.showMultipleSelections(b)},showPrimarySelection:function(){var k=window.getSelection(),g=this.cm.doc.sel.primary();var j=mG(this.cm,k.anchorNode,k.anchorOffset);var e=mG(this.cm,k.focusNode,k.focusOffset);if(j&&!j.bad&&e&&!e.bad&&kI(m3(j,e),g.from())==0&&kI(nD(j,e),g.to())==0){return}var l=mq(this.cm,g.from());var f=mq(this.cm,g.to());if(!l&&!f){return}var b=this.cm.display.view;var h=k.rangeCount&&k.getRangeAt(0);if(!l){l={node:b[0].measure.map[2],offset:0}}else{if(!f){var m=b[b.length-1].measure;var a=m.maps?m.maps[m.maps.length-1]:m.map;f={node:a[a.length-1],offset:a[a.length-2]-a[a.length-3]}}}var d;try{d=ki(l.node,l.offset,f.offset,f.node)}catch(c){}if(d){if(!kc&&this.cm.state.focused){k.collapse(l.node,l.offset);if(!d.collapsed){k.removeAllRanges();k.addRange(d)}}else{k.removeAllRanges();k.addRange(d)}if(h&&k.anchorNode==null){k.addRange(h)}else{if(kc){this.startGracePeriod()}}}this.rememberSelection()},startGracePeriod:function(){var a=this;clearTimeout(this.gracePeriod);this.gracePeriod=setTimeout(function(){a.gracePeriod=false;if(a.selectionChanged()){a.cm.operation(function(){return a.cm.curOp.selectionChanged=true})}},20)},showMultipleSelections:function(a){mR(this.cm.display.cursorDiv,a.cursors);mR(this.cm.display.selectionDiv,a.selection)},rememberSelection:function(){var a=window.getSelection();this.lastAnchorNode=a.anchorNode;this.lastAnchorOffset=a.anchorOffset;this.lastFocusNode=a.focusNode;this.lastFocusOffset=a.focusOffset},selectionInEditor:function(){var b=window.getSelection();if(!b.rangeCount){return false}var a=b.getRangeAt(0).commonAncestorContainer;return hR(this.div,a)},focus:function(){if(this.cm.options.readOnly!="nocursor"){if(!this.selectionInEditor()){this.showSelection(this.prepareSelection(),true)}this.div.focus()}},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return true},receivedFocus:function(){var a=this;if(this.selectionInEditor()){this.pollSelection()}else{lI(this.cm,function(){return a.cm.curOp.selectionChanged=true})}function b(){if(a.cm.state.focused){a.pollSelection();a.polling.set(a.cm.options.pollInterval,b)}}this.polling.set(this.cm.options.pollInterval,b)},selectionChanged:function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},pollSelection:function(){if(!this.composing&&this.readDOMTimeout==null&&!this.gracePeriod&&this.selectionChanged()){var b=window.getSelection(),a=this.cm;this.rememberSelection();var d=mG(a,b.anchorNode,b.anchorOffset);var c=mG(a,b.focusNode,b.focusOffset);if(d&&c){lI(a,function(){mL(a.doc,j1(d,c),ln);if(d.bad||c.bad){a.curOp.selectionChanged=true}})}}},pollContent:function(){if(this.readDOMTimeout!=null){clearTimeout(this.readDOMTimeout);this.readDOMTimeout=null}var f=this.cm,t=f.display,v=f.doc.sel.primary();var u=v.from(),m=v.to();if(u.ch==0&&u.line>f.firstLine()){u=lA(u.line-1,hm(f.doc,u.line-1).length)}if(m.ch==hm(f.doc,m.line).text.length&&m.linet.viewTo-1){return false}var j,l,g;if(u.line==t.viewFrom||(j=iR(f,u.line))==0){l=m5(t.view[0].line);g=t.view[0].node}else{l=m5(t.view[j].line);g=t.view[j-1].node.nextSibling}var w=iR(f,m.line);var d,a;if(w==t.view.length-1){d=t.viewTo-1;a=t.lineDiv.lastChild}else{d=m5(t.view[w+1].line)-1;a=t.view[w+1].node.previousSibling}if(!g){return false}var s=f.doc.splitLines(g3(f,g,a,l,d));var b=gY(f.doc,lA(l,0),lA(d,hm(f.doc,d).text.length));while(s.length>1&&b.length>1){if(ji(s)==ji(b)){s.pop();b.pop();d--}else{if(s[0]==b[0]){s.shift();b.shift();l++}else{break}}}var x=0,o=0;var e=s[0],p=b[0],q=Math.min(e.length,p.length);while(x1||s[0]||kI(k,c)){gT(f.doc,s,k,c,"+input");return true}},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){if(!this.composing){return}this.composing=null;if(!this.pollContent()){np(this.cm)}this.div.blur();this.div.focus()},readFromDOMSoon:function(){var a=this;if(this.readDOMTimeout!=null){return}this.readDOMTimeout=setTimeout(function(){a.readDOMTimeout=null;if(a.composing){return}if(a.cm.isReadOnly()||!a.pollContent()){lI(a.cm,function(){return np(a.cm)})}},80)},setUneditable:function(a){a.contentEditable="false"},onKeyPress:function(a){a.preventDefault();if(!this.cm.isReadOnly()){mQ(this.cm,g4)(this.cm,String.fromCharCode(a.charCode==null?a.keyCode:a.charCode),0)}},readOnlyChanged:function(a){this.div.contentEditable=String(a!="nocursor")},onContextMenu:g8,resetPosition:g8,needsContentAttribute:true},k7.prototype);function mq(d,f){var e=hp(d,f.line);if(!e||e.hidden){return null}var b=hm(d.doc,f.line);var j=jT(e,b,f.line);var h=ld(b),g="left";if(h){var a=n6(h,f.ch);g=a%2?"right":"left"}var c=n3(j.map,f.ch,g);c.offset=c.collapse=="right"?c.end:c.start;return c}function jH(b,a){if(a){b.bad=true}return b}function g3(c,e,d,h,k){var a="",j=false,b=c.doc.lineSeparator();function g(l){return function(m){return m.id==l}}function f(o){if(o.nodeType==1){var r=o.getAttribute("cm-text");if(r!=null){if(r==""){a+=o.textContent.replace(/\u200b/g,"")}else{a+=r}return}var p=o.getAttribute("cm-marker"),l;if(p){var n=c.findMarks(lA(h,0),lA(k+1,0),g(+p));if(n.length&&(l=n[0].find())){a+=gY(c.doc,l.from,l.to).join(b)}return}if(o.getAttribute("contenteditable")=="false"){return}for(var q=0;q=9&&a.hasSelection){a.hasSelection=null}g.poll()});nY(d,"paste",function(h){if(nT(e,h)||mz(h,e)){return}e.state.pasteIncoming=true;g.fastPoll()});function c(j){if(nT(e,j)){return}if(e.somethingSelected()){jJ({lineWise:false,text:e.getSelections()});if(g.inaccurateSelection){g.prevInput="";g.inaccurateSelection=false;d.value=lZ.text.join("\n");kf(d)}}else{if(!e.options.lineWiseCopyCut){return}else{var h=jf(e);jJ({lineWise:true,text:h.text});if(j.type=="cut"){e.setSelections(h.ranges,null,ln)}else{g.prevInput="";d.value=h.text.join("\n");kf(d)}}}if(j.type=="cut"){e.state.cutIncoming=true}}nY(d,"cut",c);nY(d,"copy",c);nY(f.scroller,"paste",function(h){if(my(f,h)||nT(e,h)){return}e.state.pasteIncoming=true;g.focus()});nY(f.lineSpace,"selectstart",function(h){if(!my(f,h)){l7(h)}});nY(d,"compositionstart",function(){var h=e.getCursor("from");if(g.composing){g.composing.range.clear()}g.composing={start:h,range:e.markText(h,e.getCursor("to"),{className:"CodeMirror-composing"})}});nY(d,"compositionend",function(){if(g.composing){g.poll();g.composing.range.clear();g.composing=null}})},prepareSelection:function(){var g=this.cm,b=g.display,c=g.doc;var e=i9(g);if(g.options.moveInputWithCursor){var a=lL(g,c.sel.primary().head,"div");var f=b.wrapper.getBoundingClientRect(),d=b.lineDiv.getBoundingClientRect();e.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,a.top+d.top-f.top));e.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,a.left+d.left-f.left))}return e},showSelection:function(b){var a=this.cm,c=a.display;mR(c.cursorDiv,b.cursors);mR(c.selectionDiv,b.selection);if(b.teTop!=null){this.wrapper.style.top=b.teTop+"px";this.wrapper.style.left=b.teLeft+"px"}},reset:function(e){if(this.contextMenuPending){return}var g,f,d=this.cm,b=d.doc;if(d.somethingSelected()){this.prevInput="";var a=b.sel.primary();g=jz&&(a.to().line-a.from().line>100||(f=d.getSelection()).length>1000);var c=g?"-":f||d.getSelection();this.textarea.value=c;if(d.state.focused){kf(this.textarea)}if(kj&&kH>=9){this.hasSelection=c}}else{if(!e){this.prevInput=this.textarea.value="";if(kj&&kH>=9){this.hasSelection=null}}}this.inaccurateSelection=g},getField:function(){return this.textarea},supportsTouch:function(){return false},focus:function(){if(this.cm.options.readOnly!="nocursor"&&(!ie||j3()!=this.textarea)){try{this.textarea.focus()}catch(a){}}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var a=this;if(this.pollingFast){return}this.polling.set(this.cm.options.pollInterval,function(){a.poll();if(a.cm.state.focused){a.slowPoll()}})},fastPoll:function(){var c=false,a=this;a.pollingFast=true;function b(){var d=a.poll();if(!d&&!c){c=true;a.polling.set(60,b)}else{a.pollingFast=false;a.slowPoll()}}a.polling.set(20,b)},poll:function(){var a=this;var f=this.cm,g=this.textarea,e=this.prevInput;if(this.contextMenuPending||!f.state.focused||(lv(g)&&!e&&!this.composing)||f.isReadOnly()||f.options.disableInput||f.state.keySeq){return false}var c=g.value;if(c==e&&!f.somethingSelected()){return false}if(kj&&kH>=9&&this.hasSelection===c||k9&&/[\uf700-\uf7ff]/.test(c)){f.display.input.reset();return false}if(f.doc.sel==f.display.selForContextMenu){var d=c.charCodeAt(0);if(d==8203&&!e){e="\u200b"}if(d==8666){this.reset();return this.cm.execCommand("undo")}}var b=0,h=Math.min(e.length,c.length);while(b1000||c.indexOf("\n")>-1){g.value=a.prevInput=""}else{a.prevInput=c}if(a.composing){a.composing.range.clear();a.composing.range=f.markText(a.composing.start,f.getCursor("to"),{className:"CodeMirror-composing"})}});return true},ensurePolled:function(){if(this.pollingFast&&this.poll()){this.pollingFast=false}},onKeyPress:function(){if(kj&&kH>=9){this.hasSelection=null}this.fastPoll()},onContextMenu:function(l){var e=this,d=e.cm,j=d.display,p=e.textarea;var f=kg(d,l),g=j.scroller.scrollTop;if(!f||iL){return}var m=d.options.resetSelectionOnContextMenu;if(m&&d.doc.sel.contains(f)==-1){mQ(d,mL)(d.doc,j1(f),ln)}var k=p.style.cssText,a=e.wrapper.style.cssText;e.wrapper.style.cssText="position: absolute";var b=e.wrapper.getBoundingClientRect();p.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(l.clientY-b.top-5)+"px; left: "+(l.clientX-b.left-5)+"px;\n z-index: 1000; background: "+(kj?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var c;if(mU){c=window.scrollY}j.input.focus();if(mU){window.scrollTo(null,c)}j.input.reset();if(!d.somethingSelected()){p.value=e.prevInput=" "}e.contextMenuPending=true;j.selForContextMenu=d.doc.sel;clearTimeout(j.detectingSelectAll);function n(){if(p.selectionStart!=null){var r=d.somethingSelected();var q="\u200b"+(r?p.value:"");p.value="\u21da";p.value=q;e.prevInput=r?"":"\u200b";p.selectionStart=1;p.selectionEnd=q.length;j.selForContextMenu=d.doc.sel}}function h(){e.contextMenuPending=false;e.wrapper.style.cssText=a;p.style.cssText=k;if(kj&&kH<9){j.scrollbars.setScrollTop(j.scroller.scrollTop=g)}if(p.selectionStart!=null){if(!kj||(kj&&kH<9)){n()}var r=0,q=function(){if(j.selForContextMenu==d.doc.sel&&p.selectionStart==0&&p.selectionEnd>0&&e.prevInput=="\u200b"){mQ(d,nh)(d)}else{if(r++<10){j.detectingSelectAll=setTimeout(q,500)}else{j.input.reset()}}};j.detectingSelectAll=setTimeout(q,200)}}if(kj&&kH>=9){n()}if(hT){jK(l);var o=function(){ih(window,"mouseup",o);setTimeout(h,20)};nY(window,"mouseup",o)}else{setTimeout(h,50)}},readOnlyChanged:function(a){if(!a){this.reset()}},setUneditable:g8,needsContentAttribute:false},lt.prototype);function je(c,b){b=b?n0(b):{};b.value=c.value;if(!b.tabindex&&c.tabIndex){b.tabindex=c.tabIndex}if(!b.placeholder&&c.placeholder){b.placeholder=c.placeholder}if(b.autofocus==null){var a=j3();b.autofocus=a==c||c.getAttribute("autofocus")!=null&&a==document.body}function f(){c.value=d.getValue()}var e;if(c.form){nY(c.form,"submit",f);if(!b.leaveSubmitMethodAlone){var j=c.form;e=j.submit;try{var g=j.submit=function(){f();j.submit=e;j.submit();j.submit=g}}catch(h){}}}b.finishInit=function(k){k.save=f;k.getTextArea=function(){return c};k.toTextArea=function(){k.toTextArea=isNaN;f();c.parentNode.removeChild(k.getWrapperElement());c.style.display="";if(c.form){ih(c.form,"submit",f);if(typeof c.form.submit=="function"){c.form.submit=e}}}};c.style.display="none";var d=hx(function(k){return c.parentNode.insertBefore(k,c.nextSibling)},b);return d}function iZ(a){a.off=ih;a.on=nY;a.wheelEventPixels=mF;a.Doc=mT;a.splitLines=hd;a.countColumn=mV;a.findColumn=jM;a.isWordChar=h0;a.Pass=kU;a.signal=n9;a.Line=gW;a.changeEnd=m1;a.scrollbarModel=lX;a.Pos=lA;a.cmpPos=kI;a.modes=le;a.mimeModes=nQ;a.resolveMode=hP;a.getMode=h8;a.modeExtensions=iV;a.extendMode=jc;a.copyState=nK;a.startState=nR;a.innerMode=hX;a.commands=jg;a.keyMap=hq;a.keyName=iw;a.isModifierKey=jm;a.lookupKey=kN;a.normalizeKeyMap=l2;a.StringStream=hU;a.SharedTextMarker=jZ;a.TextMarker=lV;a.LineWidget=kO;a.e_preventDefault=l7;a.e_stopPropagation=iT;a.e_stop=jK;a.addClass=h6;a.contains=hR;a.rmClass=kS;a.keyNames=iQ}i0(hx);jX(hx);var k4="iter insert remove copy getEditor constructor".split(" ");for(var nd in mT.prototype){if(mT.prototype.hasOwnProperty(nd)&&jb(k4,nd)<0){hx.prototype[nd]=(function(a){return function(){return a.apply(this.doc,arguments)}})(mT.prototype[nd])}}nA(mT);hx.inputStyles={textarea:lt,contenteditable:k7};hx.defineMode=function(a){if(!hx.defaults.mode&&a!="null"){hx.defaults.mode=a}jE.apply(this,arguments)};hx.defineMIME=lT;hx.defineMode("null",function(){return({token:function(a){return a.skipToEnd()}})});hx.defineMIME("text/plain","null");hx.defineExtension=function(a,b){hx.prototype[a]=b};hx.defineDocExtension=function(a,b){mT.prototype[a]=b};hx.fromTextArea=je;iZ(hx);hx.version="5.21.0";return hx})));