fuliqi
2024-08-15 02b9931c5e3a54d69d4d20a9dc6aad141fc35141
public/static/UEditorPlus/third-party/codemirror/codemirror.js
@@ -1 +1,3 @@
var CodeMirror=function(){function Ce(t,e){var L={},n=Ce.defaults;for(var r in n)n.hasOwnProperty(r)&&(L[r]=(e&&e.hasOwnProperty(r)?e:n)[r]);var m=L.document,s=m.createElement("div");s.className="CodeMirror"+(L.lineWrapping?" CodeMirror-wrap":""),s.innerHTML='<div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px;" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scroll" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter"><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative"><div style="position: absolute; width: 100%; height: 0; overflow: hidden; visibility: hidden"></div><pre class="CodeMirror-cursor">&#160;</pre><div></div></div></div></div></div></div>',t.appendChild?t.appendChild(s):t(s);var l=s.firstChild,a=l.firstChild,A=s.lastChild,z=A.firstChild,d=z.firstChild,p=d.firstChild,u=p.firstChild,g=p.nextSibling.firstChild,f=g.firstChild,o=f.nextSibling,v=o.nextSibling;Vt(),/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent)&&(a.style.width="0px"),_e||(g.draggable=!0),null!=L.tabindex&&(a.tabIndex=L.tabindex),L.gutter||L.lineNumbers||(p.style.display="none");try{Yt("x")}catch(t){throw t.message.match(/runtime/i)&&(t=new Error("A CodeMirror inside a P-style element does not work in Internet Explorer. (innerHTML bug)")),t}var i,T,E,c,h=new Fe,x=new Fe,W=new De([new Ne([new We("")])]);Ot();var y,k,C,w,M,b,N,D,S,H,I,O,R,P,U={from:{line:0,ch:0},to:{line:0,ch:0},inverted:!1},B=!1,V=0,K=0,F=0,j=0,G="",Y=Ut();ye(function(){Q(L.value||""),M=!1})();var _,q=new Re;Ke(A,"mousedown",ye(function(e){St(e.shiftKey);for(var t=Ve(e);t!=s;t=t.parentNode)if(t.parentNode==z&&t!=d)return;for(t=Ve(e);t!=s;t=t.parentNode)if(t.parentNode==u)return L.onGutterClick&&L.onGutterClick($,Qe(u.childNodes,t)+K,e),Ue(e);var i=ae(e);switch(function(t){{if(t.which)return t.which;if(1&t.button)return 1;if(2&t.button)return 3;if(4&t.button)return 2}}(e)){case 3:return void(Ge&&!we&&se(e));case 2:return void(i&&Tt(i.line,i.ch,!0))}if(!i)return void(Ve(e)==A&&Ue(e));c||nt();var n=+new Date;{if(C&&C.time>n-400&&Xe(C.pos,i))return Ue(e),setTimeout(xt,20),function(t){Lt({line:t,ch:0},{line:t,ch:Z(t).text.length})}(i.line);if(k&&k.time>n-400&&Xe(k.pos,i))return C={time:n,pos:i},Ue(e),Ht(i);k={time:n,pos:i}}var o,l=i;if(je&&!Xe(U.from,U.to)&&!$e(i,U.from)&&!$e(U.to,i)){_e&&(g.draggable=!0);var r=Ke(m,"mouseup",ye(function(t){_e&&(g.draggable=!1),w=!1,r(),Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)<10&&(Ue(t),Tt(i.line,i.ch,!0),xt())}),!0);return void(w=!0)}Ue(e),Tt(i.line,i.ch,!0);var a=Ke(m,"mousemove",ye(function(t){clearTimeout(o),Ue(t),function t(e){var n=ae(e,!0);if(n&&!Xe(n,l)){c||nt(),Lt(i,l=n),M=!1;var r=Ct();(n.line>=r.to||n.line<r.from)&&(o=setTimeout(ye(function(){t(e)}),150))}}(t)}),!0);r=Ke(m,"mouseup",ye(function(t){clearTimeout(o);var e=ae(t);e&&Lt(i,e),Ue(t),xt(),M=!0,a(),r()}),!0)})),Ke(A,"dblclick",ye(function(t){for(var e=Ve(t);e!=s;e=e.parentNode)if(e.parentNode==u)return Ue(t);var n=ae(t);if(!n)return;C={time:+new Date,pos:n},Ue(t),Ht(n)})),Ke(g,"dragstart",function(t){var e=ct();Je(e),t.dataTransfer.setDragImage(Ze,0,0),t.dataTransfer.setData("Text",e)}),Ke(g,"selectstart",Ue),Ge||Ke(A,"contextmenu",se),Ke(A,"scroll",function(){wt([]),L.fixedGutter&&(p.style.left=A.scrollLeft+"px"),L.onScroll&&L.onScroll($)}),Ke(window,"resize",function(){wt(!0)}),Ke(a,"keyup",ye(function(t){if(L.onKeyEvent&&L.onKeyEvent($,Pe(t)))return;16==t.keyCode&&(y=null)})),Ke(a,"input",pt),Ke(a,"keydown",ye(function(t){c||nt();var e=t.keyCode;Ye&&27==e&&(t.returnValue=!1);if(St(16==e||t.shiftKey),L.onKeyEvent&&L.onKeyEvent($,Pe(t)))return;var n=tt(t);window.opera&&(et=n?t.keyCode:null,!n&&(we?t.metaKey:t.ctrlKey)&&88==t.keyCode&&st(""))})),Ke(a,"keypress",ye(function(t){if(window.opera&&t.keyCode==et)return et=null,void Ue(t);if(L.onKeyEvent&&L.onKeyEvent($,Pe(t)))return;if(window.opera&&!t.which&&tt(t))return;if(L.electricChars&&T.electricChars){var e=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode);-1<T.electricChars.indexOf(e)&&setTimeout(ye(function(){It(U.to.line,"smart")}),75)}pt()})),Ke(a,"focus",nt),Ke(a,"blur",rt),Ke(A,"dragenter",Be),Ke(A,"dragover",Be),Ke(A,"drop",ye(function(t){t.preventDefault();var r=ae(t,!0),e=t.dataTransfer.files;if(!r||L.readOnly)return;if(e&&e.length&&window.FileReader&&window.File){function n(t,e){var n=new FileReader;n.onload=function(){o[e]=n.result,++l==i&&(r=Wt(r),ye(function(){var t=at(o.join(""),r,r);Lt(r,t)})())},n.readAsText(t)}for(var i=e.length,o=Array(i),l=0,a=0;a<i;++a)n(e[a],a)}else try{if(o=t.dataTransfer.getData("Text")){var s=at(o,r,r),u=U.from,f=U.to;Lt(r,s),w&&at("",u,f),xt()}}catch(t){}})),Ke(A,"paste",function(){xt(),pt()}),Ke(a,"paste",pt),Ke(a,"cut",ye(function(){st("")}));try{_=m.activeElement==a}catch(t){}function X(t){return 0<=t&&t<W.size}_?setTimeout(nt,20):rt();var $=s.CodeMirror={getValue:function(t){var e=[];return W.iter(0,W.size,function(t){e.push(t.text)}),e.join("\n")},setValue:ye(Q),getSelection:ct,replaceSelection:ye(st),focus:function(){xt(),nt(),pt()},setOption:function(t,e){var n=L[t];L[t]=e,"mode"==t||"indentUnit"==t?Ot():"readOnly"==t&&e?(rt(),a.blur()):"theme"==t?Vt():"lineWrapping"==t&&n!=e?ye(Pt)():"tabSize"==t&&ye(Bt)(),"lineNumbers"!=t&&"gutter"!=t&&"firstLineNumber"!=t&&"theme"!=t||ye(Rt)()},getOption:function(t){return L[t]},undo:ye(function(){ot(q.done,q.undone)}),redo:ye(function(){ot(q.undone,q.done)}),indentLine:ye(function(t,e){X(t)&&It(t,null==e?"smart":e?"add":"subtract")}),indentSelection:ye(function(t){if(Xe(U.from,U.to))return It(U.from.line,t);for(var e=U.to.line-(U.to.ch?0:1),n=U.from.line;n<=e;++n)It(n,t)}),historySize:function(){return{undo:q.done.length,redo:q.undone.length}},clearHistory:function(){q=new Re},matchBrackets:ye(function(){ce(!0)}),getTokenAt:ye(function(t){return Z((t=Wt(t)).line).getTokenAt(T,de(t.line),t.ch)}),getStateAfter:function(t){return de((t=Et(null==t?W.size-1:t))+1)},cursorCoords:function(t){return null==t&&(t=U.inverted),te(t?U.from:U.to)},charCoords:function(t){return te(Wt(t))},coordsChar:function(t){var e=qe(g);return Qt(t.x-e.left,t.y-e.top)},markText:ye(Ft),setBookmark:function(t){var e=new Ee((t=Wt(t)).ch);return Z(t.line).addMark(e),e},setMarker:ye(function(t,e,n){"number"==typeof t&&(t=Z(Et(t)));return t.gutterMarker={text:e,style:n},I=!0,t}),clearMarker:ye(function(t){"number"==typeof t&&(t=Z(Et(t)));t.gutterMarker=null,I=!0}),setLineClass:ye(function(t,e){return jt(t,function(t){return t.className!=e&&(t.className=e,1)})}),hideLine:ye(function(t){return Gt(t,!0)}),showLine:ye(function(t){return Gt(t,!1)}),onDeleteLine:function(t,e){if("number"==typeof t){if(!X(t))return null;t=Z(t)}return(t.handlers||(t.handlers=[])).push(e),t},lineInfo:function(t){if("number"==typeof t){if(!X(t))return null;var e=t;if(!(t=Z(t)))return null}else{if(null==(e=He(t)))return null}var n=t.gutterMarker;return{line:e,handle:t,text:t.text,markerText:n&&n.text,markerClass:n&&n.style,lineClass:t.className}},addWidget:function(t,e,n,r,i){var o=(t=Jt(Wt(t))).yBot,l=t.x;if(e.style.position="absolute",z.appendChild(e),"over"==r)o=t.y;else if("near"==r){var a=Math.max(A.offsetHeight,W.height*ee()),s=Math.max(z.clientWidth,g.clientWidth)-le();t.yBot+e.offsetHeight>a&&t.y>e.offsetHeight&&(o=t.y-e.offsetHeight),l+e.offsetWidth>s&&(l=s-e.offsetWidth)}e.style.top=o+oe()+"px",e.style.left=e.style.right="","right"==i?(l=z.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==i?l=0:"middle"==i&&(l=(z.clientWidth-e.offsetWidth)/2),e.style.left=l+le()+"px"),n&&kt(l,o,l+e.offsetWidth,o+e.offsetHeight)},lineCount:function(){return W.size},clipPos:Wt,getCursor:function(t){return null==t&&(t=U.inverted),{line:(e=t?U.from:U.to).line,ch:e.ch};var e},somethingSelected:function(){return!Xe(U.from,U.to)},setCursor:ye(function(t,e,n){null==e&&"number"==typeof t.line?Tt(t.line,t.ch,n):Tt(t,e,n)}),setSelection:ye(function(t,e,n){(n?Lt:At)(Wt(t),Wt(e||t))}),getLine:function(t){if(X(t))return Z(t).text},getLineHandle:function(t){if(X(t))return Z(t)},setLine:ye(function(t,e){X(t)&&at(e,{line:t,ch:0},{line:t,ch:Z(t).text.length})}),removeLine:ye(function(t){X(t)&&at("",{line:t,ch:0},Wt({line:t+1,ch:0}))}),replaceRange:ye(at),getRange:function(t,e){return ft(Wt(t),Wt(e))},execCommand:function(t){return be[t]($)},moveH:ye(function(t,e){var n=t<0?U.from:U.to;(y||Xe(U.from,U.to))&&(n=Nt(t,e));Tt(n.line,n.ch,!0)}),deleteH:ye(function(t,e){Xe(U.from,U.to)?t<0?at("",Nt(t,e),U.to):at("",U.from,Nt(t,e)):at("",U.from,U.to);b=!0}),moveV:ye(function(t,e){var n=0,r=Jt(U.inverted?U.from:U.to,!0);null!=Dt&&(r.x=Dt);"page"==e?n=A.clientHeight:"line"==e&&(n=ee());var i=Qt(r.x,r.y+n*t+2);Tt(i.line,i.ch,!0),Dt=r.x}),toggleOverwrite:function(){B=!B},posFromIndex:function(n){var r,i=0;return W.iter(0,W.size,function(t){var e=t.text.length+1;if(n<e)return r=n,!0;n-=e,++i}),Wt({line:i,ch:r})},indexFromPos:function(t){if(t.line<0||t.ch<0)return 0;var e=t.ch;return W.iter(0,t.line,function(t){e+=t.text.length+1}),e},operation:function(t){return ye(t)()},refresh:function(){wt(!0)},getInputField:function(){return a},getWrapperElement:function(){return s},getScrollerElement:function(){return A},getGutterElement:function(){return p}};function Z(t){return function(t,e){for(;!t.lines;)for(var n=0;;++n){var r=t.children[n],i=r.chunkSize();if(e<i){t=r;break}e-=i}return t.lines[e]}(W,t)}function J(t,e){I=!0;for(var n=e-t.height,r=t;r;r=r.parent)r.height+=n}function Q(t){var e={line:0,ch:0};it(e,{line:W.size-1,ch:Z(W.size-1).text.length},en(t),e,e),M=!0}function tt(t){var e,n,r,i=rn[t.keyCode],o=Se[L.keyMap].auto;if(null==i||t.altGraphKey)return o&&(L.keyMap=o),null;if(t.altKey&&(i="Alt-"+i),t.ctrlKey&&(i="Ctrl-"+i),t.metaKey&&(i="Cmd-"+i),t.shiftKey&&(e=Le("Shift-"+i,L.extraKeys,L.keyMap))?n=!0:e=Le(i,L.extraKeys,L.keyMap),"string"==typeof e&&(e=be.propertyIsEnumerable(e)?be[e]:null),o&&(e||"Ctrl"!=(r=rn[t.keyCode])&&"Alt"!=r&&"Shift"!=r&&"Mod"!=r)&&(L.keyMap=o),!e)return!1;if(n){var l=y;y=null,e($),y=l}else e($);return Ue(t),!0}var et=null;function nt(){L.readOnly||(c||(L.onFocus&&L.onFocus($),c=!0,-1==s.className.search(/\bCodeMirror-focused\b/)&&(s.className+=" CodeMirror-focused"),H||vt(!0)),dt(),ue())}function rt(){c&&(L.onBlur&&L.onBlur($),c=!1,s.className=s.className.replace(" CodeMirror-focused","")),clearInterval(i),setTimeout(function(){c||(y=null)},150)}function it(t,e,n,r,i){if(q){var o=[];for(W.iter(t.line,e.line+1,function(t){o.push(t.text)}),q.addChange(t.line,n.length,o);q.done.length>L.undoDepth;)q.done.shift()}lt(t,e,n,r,i)}function ot(t,e){var n=t.pop();if(n){var r=[],i=n.start+n.added;W.iter(n.start,i,function(t){r.push(t.text)}),e.push({start:n.start,added:n.old.length,old:r});var o=Wt({line:n.start+n.old.length-1,ch:function(t,e){if(!e)return t?t.length:0;if(!t)return e.length;for(var n=t.length,r=e.length;0<=n&&0<=r&&t.charAt(n)==e.charAt(r);--n,--r);return r+1}(r[r.length-1],n.old[n.old.length-1])});lt({line:n.start,ch:0},{line:i-1,ch:Z(i-1).text.length},n.old,o,o),M=!0}}function lt(t,e,n,r,i){var o=!1,l=G.length;L.lineWrapping||W.iter(t.line,e.line,function(t){if(t.text.length==l)return o=!0}),(t.line!=e.line||1<n.length)&&(I=!0);var a=e.line-t.line,s=Z(t.line),u=Z(e.line);if(0==t.ch&&0==e.ch&&""==n[n.length-1]){var f=[],c=null;t.line?(c=Z(t.line-1)).fixMarkEnds(u):u.fixMarkStarts();for(var h=0,d=n.length-1;h<d;++h)f.push(We.inheritMarks(n[h],c));a&&W.remove(t.line,a,O),f.length&&W.insert(t.line,f)}else if(s==u)if(1==n.length)s.replace(t.ch,e.ch,n[0]);else{u=s.split(e.ch,n[n.length-1]),s.replace(t.ch,null,n[0]),s.fixMarkEnds(u);for(f=[],h=1,d=n.length-1;h<d;++h)f.push(We.inheritMarks(n[h],s));f.push(u),W.insert(t.line+1,f)}else if(1==n.length)s.replace(t.ch,null,n[0]),u.replace(null,e.ch,""),s.append(u),W.remove(t.line+1,a,O);else{f=[];s.replace(t.ch,null,n[0]),u.replace(null,e.ch,n[n.length-1]),s.fixMarkEnds(u);for(h=1,d=n.length-1;h<d;++h)f.push(We.inheritMarks(n[h],s));1<a&&W.remove(t.line+1,a-1,O),W.insert(t.line+1,f)}if(L.lineWrapping){var p=A.clientWidth/ie()-3;W.iter(t.line,t.line+n.length,function(t){if(!t.hidden){var e=Math.ceil(t.text.length/p)||1;e!=t.height&&J(t,e)}})}else W.iter(t.line,h+n.length,function(t){var e=t.text;e.length>l&&(l=(G=e).length,P=null,o=!1)}),o&&(l=0,G="",P=null,W.iter(0,W.size,function(t){var e=t.text;e.length>l&&(l=e.length,G=e)}));for(var m=[],g=n.length-a-1,v=(h=0,E.length);h<v;++h){var x=E[h];x<t.line?m.push(x):x>e.line&&m.push(x+g)}var y,k,C,w=t.line+Math.min(n.length,500);y=t.line,k=w,C=de(y),W.iter(y,k,function(t){t.highlight(T,C,L.tabSize),t.stateAfter=Ae(T,C)}),m.push(w),E=m,me(100),N.push({from:t.line,to:e.line+1,diff:g});var M={from:t,to:e,text:n};if(D){for(var b=D;b.next;b=b.next);b.next=M}else D=M;function S(t){return t<=Math.min(e.line,e.line+g)?t:t+g}At(r,i,S(U.from.line),S(U.to.line)),z.style.height=W.height*ee()+2*oe()+"px"}function at(r,i,o){function e(t){if($e(t,i))return t;if(!$e(o,t))return l;var e=t.line+r.length-(o.line-i.line)-1,n=t.ch;return t.line==o.line&&(n+=r[r.length-1].length-(o.ch-(o.line==i.line?i.ch:0))),{line:e,ch:n}}var l;return i=Wt(i),o=o?Wt(o):i,ut(r=en(r),i,o,function(t){return l=t,{from:e(U.from),to:e(U.to)}}),l}function st(t,e){ut(en(t),U.from,U.to,function(t){return"end"==e?{from:t,to:t}:"start"==e?{from:U.from,to:U.from}:{from:U.from,to:t}})}function ut(t,e,n,r){var i=1==t.length?t[0].length+e.ch:t[t.length-1].length,o=r({line:e.line+t.length-1,ch:i});it(e,n,t,o.from,o.to)}function ft(t,e){var n=t.line,r=e.line;if(n==r)return Z(n).text.slice(t.ch,e.ch);var i=[Z(n).text.slice(t.ch)];return W.iter(n+1,r,function(t){i.push(t.text)}),i.push(Z(r).text.slice(0,e.ch)),i.join("\n")}function ct(){return ft(U.from,U.to)}var ht=!1;function dt(){ht||h.set(L.pollInterval,function(){ge(),gt(),c&&dt(),ve()})}function pt(){var e=!1;ht=!0,h.set(20,function t(){ge(),gt()||e?(ht=!1,dt()):(e=!0,h.set(60,t)),ve()})}var mt="";function gt(){if(H||!c||nn(a))return!1;var t=a.value;if(t==mt)return!1;y=null;for(var e=0,n=Math.min(mt.length,t.length);e<n&&mt[e]==t[e];)++e;return e<mt.length?U.from={line:U.from.line,ch:U.from.ch-(mt.length-e)}:B&&Xe(U.from,U.to)&&(U.to={line:U.to.line,ch:Math.min(Z(U.to.line).text.length,U.to.ch+(t.length-e))}),st(t.slice(e),"end"),mt=t,!0}function vt(t){Xe(U.from,U.to)?t&&(mt=a.value=""):(mt="",a.value=ct(),a.select())}function xt(){L.readOnly||a.focus()}function yt(){var t=Jt(U.inverted?U.from:U.to),e=L.lineWrapping?Math.min(t.x,g.offsetWidth):t.x;return kt(e,t.y,e,t.yBot)}function kt(t,e,n,r){var i=le(),o=oe(),l=ee();e+=o,r+=o,t+=i,n+=i;var a=A.clientHeight,s=A.scrollTop,u=!1,f=!0;e<s?(A.scrollTop=Math.max(0,e-2*l),u=!0):s+a<r&&(A.scrollTop=r+l-a,u=!0);var c=A.clientWidth,h=A.scrollLeft,d=L.fixedGutter?p.clientWidth:0;return t<h+d?(t<50&&(t=0),A.scrollLeft=Math.max(0,t-10-d),u=!0):c+h-3<n&&(A.scrollLeft=n+10-c,u=!0,n>z.clientWidth&&(f=!1)),u&&L.onScroll&&L.onScroll($),f}function Ct(){var t=ee(),e=A.scrollTop-oe(),n=Math.max(0,Math.floor(e/t)),r=Math.ceil((e+A.clientHeight)/t);return{from:Ie(W,n),to:Ie(W,r)}}function wt(t,e){if(A.clientWidth){var n=Ct();if(!(!0!==t&&0==t.length&&n.from>=K&&n.to<=F)){var r=Math.max(n.from-100,0),i=Math.min(W.size,n.to+100);K<r&&r-K<20&&(r=K),i<F&&F-i<20&&(i=Math.min(W.size,F));for(var o=!0===t?[]:function(t,e){for(var n=0,r=e.length||0;n<r;++n){for(var i=e[n],o=[],l=i.diff||0,a=0,s=t.length;a<s;++a){var u=t[a];i.to<=u.from&&i.diff?o.push({from:u.from+l,to:u.to+l,domStart:u.domStart}):i.to<=u.from||i.from>=u.to?o.push(u):(i.from>u.from&&o.push({from:u.from,to:i.from,domStart:u.domStart}),i.to<u.to&&o.push({from:i.to+l,to:u.to+l,domStart:u.domStart+(i.to-u.from)}))}t=o}return t}([{from:K,to:F,domStart:0}],t),l=0,a=0;a<o.length;++a){var s=o[a];s.from<r&&(s.domStart+=r-s.from,s.from=r),s.to>i&&(s.to=i),s.from>=s.to?o.splice(a--,1):l+=s.to-s.from}if(l!=i-r){o.sort(function(t,e){return t.domStart-e.domStart});var u=ee(),f=p.style.display;v.style.display=p.style.display="none",function(t,e,r){if(r.length){function n(t){var e=t.nextSibling;return t.parentNode.removeChild(t),e}for(var i=0,o=v.firstChild,l=0;l<r.length;++l){for(var a=r[l];a.domStart>i;)o=n(o),i++;for(var s=0,u=a.to-a.from;s<u;++s)o=o.nextSibling,i++}for(;o;)o=n(o)}else v.innerHTML="";var f=r.shift(),c=(o=v.firstChild,s=t,U.from.line),h=U.to.line,d=c<t&&t<=h,p=m.createElement("div");W.iter(t,e,function(t){var e=null,n=null;d?(e=0,h==s&&(d=!1,n=U.to.ch)):c==s&&(h==s?(e=U.from.ch,n=U.to.ch):(d=!0,e=U.from.ch)),f&&f.to==s&&(f=r.shift()),!f||f.from>s?(t.hidden?p.innerHTML="<pre></pre>":p.innerHTML=t.getHTML(e,n,!0,Y),v.insertBefore(p.firstChild,o)):o=o.nextSibling,++s})}(r,i,o),v.style.display="";var c=r!=K||i!=F||j!=A.clientHeight+u;if(c&&(j=A.clientHeight+u),F=i,V=Oe(W,K=r),d.style.top=V*u+"px",z.style.height=W.height*u+2*oe()+"px",v.childNodes.length!=F-K)throw new Error("BAD PATCH! "+JSON.stringify(o)+" size="+(F-K)+" nodes="+v.childNodes.length);if(L.lineWrapping){P=A.clientWidth;var h=v.firstChild;W.iter(K,F,function(t){if(!t.hidden){var e=Math.round(h.offsetHeight/u)||1;t.height!=e&&(J(t,e),I=!0)}h=h.nextSibling})}else null==P&&(P=Yt(G)),P>A.clientWidth?(g.style.width=P+"px",z.style.width="",z.style.width=A.scrollWidth+"px"):g.style.width=z.style.width="";return p.style.display=f,(c||I)&&Mt(),bt(),!e&&L.onUpdate&&L.onUpdate($),!0}}}else K=F=V=0}function Mt(){if(L.gutter||L.lineNumbers){var t=d.offsetHeight,e=A.clientHeight;p.style.height=(t-e<2?e:t)+"px";var i=[],o=K;W.iter(K,Math.max(F,K+1),function(t){if(t.hidden)i.push("<pre></pre>");else{var e=t.gutterMarker,n=L.lineNumbers?o+L.firstLineNumber:null;e&&e.text?n=e.text.replace("%N%",null!=n?n:""):null==n&&(n=" "),i.push(e&&e.style?'<pre class="'+e.style+'">':"<pre>",n);for(var r=1;r<t.height;++r)i.push("<br/>&#160;");i.push("</pre>")}++o}),p.style.display="none",u.innerHTML=i.join("");for(var n,r=String(W.size).length,l=u.firstChild,a=(n=l).textContent||n.innerText||n.nodeValue||"",s="";a.length+s.length<r;)s+=" ";s&&l.insertBefore(m.createTextNode(s),l.firstChild),p.style.display="",g.style.marginLeft=p.offsetWidth+"px",I=!1}}function bt(){var t=U.inverted?U.from:U.to,e=(ee(),Jt(t,!0)),n=qe(s),r=qe(v);l.style.top=e.y+r.top-n.top+"px",l.style.left=e.x+r.left-n.left+"px",Xe(U.from,U.to)?(o.style.top=e.y+"px",o.style.left=(L.lineWrapping?Math.min(e.x,g.offsetWidth):e.x)+"px",o.style.display=""):o.style.display="none"}function St(t){y=t?y||(U.inverted?U.to:U.from):null}function Lt(t,e){var n=y&&Wt(y);n&&($e(n,t)?t=n:$e(e,n)&&(e=n)),At(t,e),b=!0}function At(t,e,n,r){if((Dt=null)==n&&(n=U.from.line,r=U.to.line),!Xe(U.from,t)||!Xe(U.to,e)){if($e(e,t)){var i=e;e=t,t=i}t.line!=n&&(t=zt(t,n,U.from.ch)),e.line!=r&&(e=zt(e,r,U.to.ch)),Xe(t,e)||Xe(t,U.to)?U.inverted=!1:Xe(e,U.from)&&(U.inverted=!0),Xe(t,e)?Xe(U.from,U.to)||N.push({from:n,to:r+1}):Xe(U.from,U.to)?N.push({from:t.line,to:e.line+1}):(Xe(t,U.from)||(t.line<n?N.push({from:t.line,to:Math.min(e.line,n)+1}):N.push({from:n,to:Math.min(r,t.line)+1})),Xe(e,U.to)||(e.line<r?N.push({from:Math.max(n,t.line),to:r+1}):N.push({from:Math.max(t.line,r),to:e.line+1}))),U.from=t,U.to=e,S=!0}}function zt(o,t,l){function e(t){for(var e=o.line+t,n=1==t?W.size:-1;e!=n;){var r=Z(e);if(!r.hidden){var i=o.ch;return(l<i||i>r.text.length)&&(i=r.text.length),{line:e,ch:i}}e+=t}}return Z(o.line).hidden?o.line>=t?e(1)||e(-1):e(-1)||e(1):o}function Tt(t,e,n){var r=Wt({line:t,ch:e||0});(n?Lt:At)(r,r)}function Et(t){return Math.max(0,Math.min(t,W.size-1))}function Wt(t){if(t.line<0)return{line:0,ch:0};if(t.line>=W.size)return{line:W.size-1,ch:Z(W.size-1).text.length};var e=t.ch,n=Z(t.line).text.length;return null==e||n<e?{line:t.line,ch:n}:e<0?{line:t.line,ch:0}:t}function Nt(r,t){var e=U.inverted?U.from:U.to,i=e.line,n=e.ch,o=Z(i);function l(t){if(n==(r<0?0:o.text.length)){if(t||!function(){for(var t=i+r,e=r<0?-1:W.size;t!=e;t+=r){var n=Z(t);if(!n.hidden)return i=t,o=n,1}}())return;n=r<0?o.text.length:0}else n+=r;return 1}if("char"==t)l();else if("column"==t)l(!0);else if("word"==t)for(var a=!1;!(r<0)||l();){if(tn(o.text.charAt(n)))a=!0;else if(a){r<0&&(r=1,l());break}if(0<r&&!l())break}return{line:i,ch:n}}var Dt=null;function Ht(t){for(var e=Z(t.line).text,n=t.ch,r=t.ch;0<n&&tn(e.charAt(n-1));)--n;for(;r<e.length&&tn(e.charAt(r));)++r;Lt({line:t.line,ch:n},{line:t.line,ch:r})}function It(t,e){if("smart"==(e=e||"add"))if(T.indent)var n=de(t);else e="prev";var r,i=Z(t),o=i.indentation(L.tabSize),l=i.text.match(/^\s*/)[0];if("prev"==e?r=t?Z(t-1).indentation(L.tabSize):0:"smart"==e?r=T.indent(n,i.text.slice(l.length),i.text):"add"==e?r=o+L.indentUnit:"subtract"==e&&(r=o-L.indentUnit),(r=Math.max(0,r))-o){u="";var a=0;if(L.indentWithTabs)for(var s=Math.floor(r/L.tabSize);s;--s)a+=L.tabSize,u+="\t";for(;a<r;)++a,u+=" "}else{if(U.from.line!=t&&U.to.line!=t)return;var u=l}at(u,{line:t,ch:0},{line:t,ch:l.length})}function Ot(){T=Ce.getMode(L,L.mode),W.iter(0,W.size,function(t){t.stateAfter=null}),E=[0],me()}function Rt(){var t=L.gutter||L.lineNumbers;p.style.display=t?"":"none",t?I=!0:v.parentNode.style.marginLeft=0}function Pt(t,e){if(L.lineWrapping){s.className+=" CodeMirror-wrap";var n=A.clientWidth/ie()-3;W.iter(0,W.size,function(t){if(!t.hidden){var e=Math.ceil(t.text.length/n)||1;1!=e&&J(t,e)}}),g.style.width=z.style.width=""}else s.className=s.className.replace(" CodeMirror-wrap",""),P=null,G="",W.iter(0,W.size,function(t){1==t.height||t.hidden||J(t,1),t.text.length>G.length&&(G=t.text)});N.push({from:0,to:W.size})}function Ut(){for(var t='<span class="cm-tab">',e=0;e<L.tabSize;++e)t+=" ";return t+"</span>"}function Bt(){Y=Ut(),wt(!0)}function Vt(){A.className=A.className.replace(/\s*cm-s-\w+/g,"")+L.theme.replace(/(^|\s)\s*/g," cm-s-")}function Kt(){this.set=[]}function Ft(t,e,n){t=Wt(t),e=Wt(e);var i=new Kt;function r(t,e,n,r){Z(t).addMark(new Te(e,n,r,i.set))}if(t.line==e.line)r(t.line,t.ch,e.ch,n);else{r(t.line,t.ch,null,n);for(var o=t.line+1,l=e.line;o<l;++o)r(o,null,null,n);r(e.line,null,e.ch,n)}return N.push({from:t.line,to:e.line+1}),i}function jt(t,e){var n=t,r=t;return"number"==typeof t?r=Z(Et(t)):n=He(t),null!=n&&e(r,n)?(N.push({from:n,to:n+1}),r):null}function Gt(t,n){return jt(t,function(t,e){return t.hidden!=n&&(t.hidden=n,J(t,n?0:1),!n||U.from.line!=e&&U.to.line!=e||At(zt(U.from,U.from.line,U.from.ch),zt(U.to,U.to.line,U.to.ch)),I=!0)})}function Yt(t){return f.innerHTML="<pre><span>x</span></pre>",f.firstChild.firstChild.firstChild.nodeValue=t,f.firstChild.firstChild.offsetWidth||10}Kt.prototype.clear=ye(function(){for(var t=1/0,e=-1/0,n=0,r=this.set.length;n<r;++n){var i=this.set[n],o=i.marked;if(o&&i.parent){var l=He(i);t=Math.min(t,l),e=Math.max(e,l);for(var a=0;a<o.length;++a)o[a].set==this.set&&o.splice(a--,1)}}t!=1/0&&N.push({from:t,to:e+1})}),Kt.prototype.find=function(){for(var t,e,n=0,r=this.set.length;n<r;++n)for(var i=this.set[n],o=i.marked,l=0;l<o.length;++l){var a=o[l];if(a.set==this.set&&(null!=a.from||null!=a.to)){var s=He(i);null!=s&&(null!=a.from&&(t={line:s,ch:a.from}),null!=a.to&&(e={line:s,ch:a.to}))}}return{from:t,to:e}};var _t,qt,Xt,$t=Math.floor(16777215*Math.random()).toString(16);function Zt(t,e){var n="";if(L.lineWrapping){var r=t.text.indexOf(" ",e+2);n=Je(t.text.slice(e+1,r<0?t.text.length:r+(Ye?5:0)))}f.innerHTML="<pre>"+t.getHTML(null,null,!1,Y,e)+'<span id="CodeMirror-temp-'+$t+'">'+Je(t.text.charAt(e)||" ")+"</span>"+n+"</pre>";var i=document.getElementById("CodeMirror-temp-"+$t),o=i.offsetTop,l=i.offsetLeft;if(Ye&&e&&0==o&&0==l){var a=document.createElement("span");a.innerHTML="x",i.parentNode.insertBefore(a,i.nextSibling),o=a.offsetTop}return{top:o,left:l}}function Jt(t,e){var n,r=ee(),i=r*(Oe(W,t.line)-(e?V:0));if(0==t.ch)n=0;else{var o=Zt(Z(t.line),t.ch);n=o.left,L.lineWrapping&&(i+=Math.max(0,o.top))}return{x:n,y:i,yBot:i+r}}function Qt(t,e){e<0&&(e=0);var r=ee(),n=ie(),i=V+Math.floor(e/r),o=Ie(W,i);if(o>=W.size)return{line:W.size-1,ch:Z(W.size-1).text.length};var l=Z(o),a=l.text,s=L.lineWrapping,u=s?i-Oe(W,o):0;if(t<=0&&0==u)return{line:o,ch:0};function f(t){var e=Zt(l,t);if(s){var n=Math.round(e.top/r);return Math.max(0,e.left+(n-u)*A.clientWidth)}return e.left}for(var c,h=0,d=0,p=a.length,m=Math.min(p,Math.ceil((t+u*A.clientWidth*.9)/n));;){var g=f(m);if(!(g<=t&&m<p)){c=g,p=m;break}m=Math.min(p,Math.ceil(1.2*m))}if(c<t)return{line:o,ch:p};for((g=f(m=Math.floor(.8*p)))<t&&(h=m,d=g);;){if(p-h<=1)return{line:o,ch:t-d<c-t?h:p};var v=Math.ceil((h+p)/2),x=f(v);t<x?(p=v,c=x):(h=v,d=x)}}function te(t){var e=Jt(t,!0),n=qe(g);return{x:n.left+e.x,y:n.top+e.y,yBot:n.top+e.yBot}}function ee(){if(null==Xt){Xt="<pre>";for(var t=0;t<49;++t)Xt+="x<br/>";Xt+="x</pre>"}var e=v.clientHeight;return e==qt||(qt=e,f.innerHTML=Xt,_t=f.firstChild.offsetHeight/50||1,f.innerHTML=""),_t}var ne,re=0;function ie(){return A.clientWidth==re?ne:(re=A.clientWidth,ne=Yt("x"))}function oe(){return g.offsetTop}function le(){return g.offsetLeft}function ae(t,e){var n,r,i=qe(A,!0);try{n=t.clientX,r=t.clientY}catch(t){return null}if(!e&&(n-i.left>A.clientWidth||r-i.top>A.clientHeight))return null;var o=qe(g,!0);return Qt(n-o.left,r-o.top)}function se(t){var e=ae(t);if(e&&!window.opera){!Xe(U.from,U.to)&&!$e(e,U.from)&&$e(e,U.to)||ye(Tt)(e.line,e.ch);var n=a.style.cssText;l.style.position="absolute",a.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(t.clientY-5)+"px; left: "+(t.clientX-5)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",H=!0;var r=a.value=ct();if(xt(),a.select(),Ge){Be(t);var i=Ke(window,"mouseup",function(){i(),setTimeout(o,20)},!0)}else setTimeout(o,50)}function o(){var t=en(a.value).join("\n");t!=r&&ye(st)(t,"end"),l.style.position="relative",a.style.cssText=n,vt(!(H=!1)),dt()}}function ue(){clearInterval(i);var t=!0;o.style.visibility="",i=setInterval(function(){o.style.visibility=(t=!t)?"":"hidden"},650)}var fe={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function ce(t){var e=U.inverted?U.from:U.to,n=Z(e.line),r=e.ch-1,i=0<=r&&fe[n.text.charAt(r)]||fe[n.text.charAt(++r)];if(i){i.charAt(0);for(var h=">"==i.charAt(1),d=h?1:-1,o=n.styles,l=r+1,a=0,s=o.length;a<s;a+=2)if((l-=o[a].length)<=0){var p=o[a+1];break}var m=[n.text.charAt(r)],g=/[(){}[\]]/;for(a=e.line,s=h?Math.min(a+100,W.size):Math.max(-1,a-100);a!=s;a+=d){n=Z(a);var u=a==e.line,f=y(n,u&&h?r+1:0,u&&!h?r:n.text.length);if(f)break}p=(f=f||{pos:null,match:!1}).match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";var c=Ft({line:e.line,ch:r},{line:e.line,ch:r+1},p),v=null!=f.pos&&Ft({line:a,ch:f.pos},{line:a,ch:f.pos+1},p),x=ye(function(){c.clear(),v&&v.clear()});t?setTimeout(x,800):R=x}function y(t,e,n){if(t.text)for(var r,i=t.styles,o=h?0:t.text.length-1,l=h?0:i.length-2,a=h?i.length:-2;l!=a;l+=2*d){var s=i[l];if(null==i[l+1]||i[l+1]==p){for(var u=h?0:s.length-1,f=h?s.length:-1;u!=f;u+=d,o+=d)if(e<=o&&o<n&&g.test(r=s.charAt(u))){var c=fe[r];if(">"==c.charAt(1)==h)m.push(r);else{if(m.pop()!=c.charAt(0))return{pos:o,match:!1};if(!m.length)return{pos:o,match:!0}}}}else o+=d*s.length}}}function he(t){for(var e,n,r=t,i=t-40;i<r;--r){if(0==r)return 0;var o=Z(r-1);if(o.stateAfter)return r;var l=o.indentation(L.tabSize);(null==n||l<e)&&(n=r-1,e=l)}return n}function de(t){var e=he(t),n=e&&Z(e-1).stateAfter;return n=n?Ae(T,n):ze(T),W.iter(e,t,function(t){t.highlight(T,n,L.tabSize),t.stateAfter=Ae(T,n)}),e<t&&N.push({from:e,to:t}),t<W.size&&!Z(t).stateAfter&&E.push(t),n}function pe(){for(var r=+new Date+L.workTime,t=E.length;E.length;){if(Z(K).stateAfter)i=E.pop();else var i=K;if(!(i>=W.size)){var e=he(i),o=e&&Z(e-1).stateAfter;o=o?Ae(T,o):ze(T);var l=0,a=T.compareStates,s=!1,u=e,f=!1;if(W.iter(u,W.size,function(t){var e=t.stateAfter;if(+new Date>r)return E.push(u),me(L.workDelay),s&&N.push({from:i,to:u+1}),f=!0;var n=t.highlight(T,o,L.tabSize);if(n&&(s=!0),t.stateAfter=Ae(T,o),a){if(e&&a(e,o))return!0}else if(!1===n&&e){if(3<++l&&(!T.indent||T.indent(e,"")==T.indent(o,"")))return!0}else l=0;++u}),f)return;s&&N.push({from:i,to:u+1})}}t&&L.onHighlightComplete&&L.onHighlightComplete($)}function me(t){E.length&&x.set(t,ye(pe))}function ge(){M=b=D=null,S=!(N=[]),O=[]}function ve(){var t,e=!1;S&&(e=!yt()),N.length?t=wt(N,!0):(S&&bt(),I&&Mt()),e&&yt(),S&&(function(){if(o.getBoundingClientRect){var t=o.getBoundingClientRect();if(!Ye||t.top!=t.bottom){var e=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);(t.top<0||t.bottom>e)&&o.scrollIntoView()}}}(),ue()),c&&!H&&(!0===M||!1!==M&&S)&&vt(b),S&&L.matchBrackets&&setTimeout(ye(function(){R&&(R(),R=null),Xe(U.from,U.to)&&ce(!1)}),20);var n=D,r=O;S&&L.onCursorActivity&&L.onCursorActivity($),n&&L.onChange&&$&&L.onChange($,n);for(var i=0;i<r.length;++i)r[i]($);t&&L.onUpdate&&L.onUpdate($)}var xe=0;function ye(e){return function(){xe++||ge();try{var t=e.apply(this,arguments)}finally{--xe||ve()}return t}}for(var ke in Me)Me.propertyIsEnumerable(ke)&&!$.propertyIsEnumerable(ke)&&($[ke]=Me[ke]);return $}Ce.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:!1,tabSize:4,keyMap:"default",extraKeys:null,electricChars:!0,onKeyEvent:null,lineWrapping:!1,lineNumbers:!1,gutter:!1,fixedGutter:!1,firstLineNumber:1,readOnly:!1,onChange:null,onCursorActivity:null,onGutterClick:null,onHighlightComplete:null,onUpdate:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:!1,workTime:100,workDelay:200,pollInterval:100,undoDepth:40,tabindex:null,document:window.document};var we=/Mac/.test(navigator.platform),o=(/Win/.test(navigator.platform),{}),l={};Ce.defineMode=function(t,e){Ce.defaults.mode||"null"==t||(Ce.defaults.mode=t),o[t]=e},Ce.defineMIME=function(t,e){l[t]=e},Ce.getMode=function(t,e){if("string"==typeof e&&l.hasOwnProperty(e)&&(e=l[e]),"string"==typeof e)var n=e,r={};else if(null!=e)n=e.name,r=e;var i=o[n];return i?i(t,r||{}):(window.console&&console.warn("No mode "+n+" found, falling back to plain text."),Ce.getMode(t,"text/plain"))},Ce.listModes=function(){var t=[];for(var e in o)o.propertyIsEnumerable(e)&&t.push(e);return t},Ce.listMIMEs=function(){var t=[];for(var e in l)l.propertyIsEnumerable(e)&&t.push({mime:e,mode:l[e]});return t};var Me=Ce.extensions={};Ce.defineExtension=function(t,e){Me[t]=e};var be=Ce.commands={selectAll:function(t){t.setSelection({line:0,ch:0},{line:t.lineCount()-1})},killLine:function(t){var e=t.getCursor(!0),n=t.getCursor(!1),r=!Xe(e,n);r||t.getLine(e.line).length!=e.ch?t.replaceRange("",e,r?n:{line:e.line}):t.replaceRange("",e,{line:e.line+1,ch:0})},deleteLine:function(t){var e=t.getCursor().line;t.replaceRange("",{line:e,ch:0},{line:e})},undo:function(t){t.undo()},redo:function(t){t.redo()},goDocStart:function(t){t.setCursor(0,0,!0)},goDocEnd:function(t){t.setSelection({line:t.lineCount()-1},null,!0)},goLineStart:function(t){t.setCursor(t.getCursor().line,0,!0)},goLineStartSmart:function(t){var e=t.getCursor(),n=t.getLine(e.line),r=Math.max(0,n.search(/\S/));t.setCursor(e.line,e.ch<=r&&e.ch?0:r,!0)},goLineEnd:function(t){t.setSelection({line:t.getCursor().line},null,!0)},goLineUp:function(t){t.moveV(-1,"line")},goLineDown:function(t){t.moveV(1,"line")},goPageUp:function(t){t.moveV(-1,"page")},goPageDown:function(t){t.moveV(1,"page")},goCharLeft:function(t){t.moveH(-1,"char")},goCharRight:function(t){t.moveH(1,"char")},goColumnLeft:function(t){t.moveH(-1,"column")},goColumnRight:function(t){t.moveH(1,"column")},goWordLeft:function(t){t.moveH(-1,"word")},goWordRight:function(t){t.moveH(1,"word")},delCharLeft:function(t){t.deleteH(-1,"char")},delCharRight:function(t){t.deleteH(1,"char")},delWordLeft:function(t){t.deleteH(-1,"word")},delWordRight:function(t){t.deleteH(1,"word")},indentAuto:function(t){t.indentSelection("smart")},indentMore:function(t){t.indentSelection("add")},indentLess:function(t){t.indentSelection("subtract")},insertTab:function(t){t.replaceSelection("\t","end")},transposeChars:function(t){var e=t.getCursor(),n=t.getLine(e.line);0<e.ch&&e.ch<n.length-1&&t.replaceRange(n.charAt(e.ch)+n.charAt(e.ch-1),{line:e.line,ch:e.ch-1},{line:e.line,ch:e.ch+1})},newlineAndIndent:function(t){t.replaceSelection("\n","end"),t.indentLine(t.getCursor().line)},toggleOverwrite:function(t){t.toggleOverwrite()}},Se=Ce.keyMap={};function Le(t,e,n){function l(t,e,n){var r=e[t];if(null!=r)return r;if(null==n&&(n=e.fallthrough),null==n)return e.catchall;if("string"==typeof n)return l(t,Se[n]);for(var i=0,o=n.length;i<o;++i)if(null!=(r=l(t,Se[n[i]])))return r;return null}return e?l(t,e,n):l(t,Se[n])}function Ae(t,e){if(!0===e)return e;if(t.copyState)return t.copyState(e);var n={};for(var r in e){var i=e[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function ze(t,e,n){return!t.startState||t.startState(e,n)}function c(t,e){this.pos=this.start=0,this.string=t,this.tabSize=e||8}function Te(t,e,n,r){this.from=t,this.to=e,this.style=n,this.set=r}function Ee(t){this.from=t,this.to=t,this.line=null}function We(t,e){this.styles=e||[t,null],this.text=t,this.height=1,this.marked=this.gutterMarker=this.className=this.handlers=null,this.stateAfter=this.parent=this.hidden=null}function u(t,e,n,r){for(var i=0,o=0,l=0;o<e;i+=2){var a=n[i],s=o+a.length;0==l?(t<s&&r.push(a.slice(t-o,Math.min(a.length,e-o)),n[i+1]),t<=s&&(l=1)):1==l&&(e<s?r.push(a.slice(0,e-o),n[i+1]):r.push(a,n[i+1])),o=s}}function Ne(t){this.lines=t,this.parent=null;for(var e=0,n=t.length,r=0;e<n;++e)t[e].parent=this,r+=t[e].height;this.height=r}function De(t){for(var e=0,n=0,r=0,i=(this.children=t).length;r<i;++r){var o=t[r];e+=o.chunkSize(),n+=o.height,o.parent=this}this.size=e,this.height=n,this.parent=null}function He(t){if(null==t.parent)return null;for(var e=t.parent,n=Qe(e.lines,t),r=e.parent;r;r=(e=r).parent){var i=0;for(r.children.length;r.children[i]!=e;++i)n+=r.children[i].chunkSize()}return n}function Ie(t,e){var n=0;t:do{for(var r=0,i=t.children.length;r<i;++r){var o=t.children[r],l=o.height;if(e<l){t=o;continue t}e-=l,n+=o.chunkSize()}return n}while(!t.lines);for(r=0,i=t.lines.length;r<i;++r){var a=t.lines[r].height;if(e<a)break;e-=a}return n+r}function Oe(t,e){var n=0;t:do{for(var r=0,i=t.children.length;r<i;++r){var o=t.children[r],l=o.chunkSize();if(e<l){t=o;continue t}e-=l,n+=o.height}return n}while(!t.lines);for(r=0;r<e;++r)n+=t.lines[r].height;return n}function Re(){this.time=0,this.done=[],this.undone=[]}function e(){Be(this)}function Pe(t){return t.stop||(t.stop=e),t}function Ue(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function n(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function Be(t){Ue(t),n(t)}function Ve(t){return t.target||t.srcElement}function Ke(t,e,n,r){if("function"==typeof t.addEventListener){if(t.addEventListener(e,n,!1),r)return function(){t.removeEventListener(e,n,!1)}}else{function i(t){n(t||window.event)}if(t.attachEvent("on"+e,i),r)return function(){t.detachEvent("on"+e,i)}}}function Fe(){this.id=null}Se.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharRight",Backspace:"delCharLeft",Tab:"indentMore","Shift-Tab":"indentLess",Enter:"newlineAndIndent",Insert:"toggleOverwrite"},Se.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":"goWordLeft","Ctrl-Right":"goWordRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delWordLeft","Ctrl-Delete":"delWordRight","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll",fallthrough:"basic"},Se.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":"goWordLeft","Alt-Right":"goWordRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delWordLeft","Ctrl-Alt-Backspace":"delWordRight","Alt-Delete":"delWordRight","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll",fallthrough:["basic","emacsy"]},Se.default=we?Se.macDefault:Se.pcDefault,Se.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":"goPageUp","Shift-Ctrl-V":"goPageDown","Ctrl-D":"delCharRight","Ctrl-H":"delCharLeft","Alt-D":"delWordRight","Alt-Backspace":"delWordLeft","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},Ce.fromTextArea=function(e,t){function n(){e.value=o.getValue()}if((t=t||{}).value=e.value,!t.tabindex&&e.tabindex&&(t.tabindex=e.tabindex),e.form){var r=Ke(e.form,"submit",n,!0);if("function"==typeof e.form.submit){var i=e.form.submit;e.form.submit=function t(){n(),e.form.submit=i,e.form.submit(),e.form.submit=t}}}e.style.display="none";var o=Ce(function(t){e.parentNode.insertBefore(t,e.nextSibling)},t);return o.save=n,o.getTextArea=function(){return e},o.toTextArea=function(){n(),e.parentNode.removeChild(o.getWrapperElement()),e.style.display="",e.form&&(r(),"function"==typeof e.form.submit&&(e.form.submit=i))},o},Ce.copyState=Ae,Ce.startState=ze,c.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(t){var e=this.string.charAt(this.pos);if("string"==typeof t)var n=e==t;else n=e&&(t.test?t.test(e):t(e));if(n)return++this.pos,e},eatWhile:function(t){for(var e=this.pos;this.eat(t););return this.pos>e},eatSpace:function(){for(var t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t},skipToEnd:function(){this.pos=this.string.length},skipTo:function(t){var e=this.string.indexOf(t,this.pos);if(-1<e)return this.pos=e,!0},backUp:function(t){this.pos-=t},column:function(){return r(this.string,this.start,this.tabSize)},indentation:function(){return r(this.string,null,this.tabSize)},match:function(t,e,n){if("string"!=typeof t){var r=this.string.slice(this.pos).match(t);return r&&!1!==e&&(this.pos+=r[0].length),r}function i(t){return n?t.toLowerCase():t}if(i(this.string).indexOf(i(t),this.pos)==this.pos)return!1!==e&&(this.pos+=t.length),!0},current:function(){return this.string.slice(this.start,this.pos)}},Ce.StringStream=c,Te.prototype={attach:function(t){this.set.push(t)},detach:function(t){var e=Qe(this.set,t);-1<e&&this.set.splice(e,1)},split:function(t,e){return this.to<=t&&null!=this.to?null:new Te(this.from<t||null==this.from?null:this.from-t+e,null==this.to?null:this.to-t+e,this.style,this.set)},dup:function(){return new Te(null,null,this.style,this.set)},clipTo:function(t,e,n,r,i){null!=this.from&&this.from>=e&&(this.from=Math.max(r,this.from)+i),null!=this.to&&this.to>e&&(this.to=r<this.to?this.to+i:e),t&&r>this.from&&(r<this.to||null==this.to)&&(this.from=null),n&&(e<this.to||null==this.to)&&(e>this.from||null==this.from)&&(this.to=null)},isDead:function(){return null!=this.from&&null!=this.to&&this.from>=this.to},sameSet:function(t){return this.set==t.set}},Ee.prototype={attach:function(t){this.line=t},detach:function(t){this.line==t&&(this.line=null)},split:function(t,e){if(t<this.from)return this.from=this.to=this.from-t+e,this},isDead:function(){return this.from>this.to},clipTo:function(t,e,n,r,i){(t||e<this.from)&&(n||r>this.to)?(this.from=0,this.to=-1):this.from>e&&(this.from=this.to=Math.max(r,this.from)+i)},sameSet:function(t){return!1},find:function(){return this.line&&this.line.parent?{line:He(this.line),ch:this.from}:null},clear:function(){if(this.line){var t=Qe(this.line.marked,this);-1!=t&&this.line.marked.splice(t,1),this.line=null}}},We.inheritMarks=function(t,e){var n=new We(t),r=e&&e.marked;if(r)for(var i=0;i<r.length;++i)if(null==r[i].to&&r[i].style){var o=n.marked||(n.marked=[]),l=r[i].dup();o.push(l),l.attach(n)}return n},We.prototype={replace:function(t,e,n){var r=[],i=this.marked,o=null==e?this.text.length:e;if(u(0,t,this.styles,r),n&&r.push(n,null),u(o,this.text.length,this.styles,r),this.styles=r,this.text=this.text.slice(0,t)+n+this.text.slice(o),this.stateAfter=null,i)for(var l=n.length-(o-t),a=0,s=i[a];a<i.length;++a)s.clipTo(null==t,t||0,null==e,o,l),s.isDead()&&(s.detach(this),i.splice(a--,1))},split:function(t,e){var n=[e,null],r=this.marked;u(t,this.text.length,this.styles,n);var i=new We(e+this.text.slice(t),n);if(r)for(var o=0;o<r.length;++o){var l=r[o].split(t,e.length);l&&(i.marked||(i.marked=[]),i.marked.push(l),l.attach(i))}return i},append:function(t){var e=this.text.length,n=t.marked,r=this.marked;if(this.text+=t.text,u(0,t.text.length,t.styles,this.styles),r)for(var i=0;i<r.length;++i)null==r[i].to&&(r[i].to=e);if(n&&n.length){r||(this.marked=r=[]);t:for(i=0;i<n.length;++i){var o=n[i];if(!o.from)for(var l=0;l<r.length;++l){var a=r[l];if(a.to==e&&a.sameSet(o)){a.to=null==o.to?null:o.to+e,a.isDead()&&(a.detach(this),n.splice(i--,1));continue t}}r.push(o),o.attach(this),o.from+=e,null!=o.to&&(o.to+=e)}}},fixMarkEnds:function(t){var e=this.marked,n=t.marked;if(e)for(var r=0;r<e.length;++r){var i=e[r],o=null==i.to;if(o&&n)for(var l=0;l<n.length;++l)if(n[l].sameSet(i)){o=!1;break}o&&(i.to=this.text.length)}},fixMarkStarts:function(){var t=this.marked;if(t)for(var e=0;e<t.length;++e)null==t[e].from&&(t[e].from=0)},addMark:function(t){t.attach(this),null==this.marked&&(this.marked=[]),this.marked.push(t),this.marked.sort(function(t,e){return(t.from||0)-(e.from||0)})},highlight:function(t,e,n){var r,i=new c(this.text,n),o=this.styles,l=0,a=!1,s=o[0];for(""==this.text&&t.blankLine&&t.blankLine(e);!i.eol();){var u=t.token(i,e),f=this.text.slice(i.start,i.pos);if(i.start=i.pos,l&&o[l-1]==u?o[l-2]+=f:f&&(!a&&(o[l+1]!=u||l&&o[l-2]!=r)&&(a=!0),o[l++]=f,o[l++]=u,r=s,s=o[l]),5e3<i.pos){o[l++]=this.text.slice(i.pos),o[l++]=null;break}}return o.length!=l&&(o.length=l,a=!0),l&&o[l-2]!=r&&(a=!0),a||o.length<5&&this.text.length<10&&null},getTokenAt:function(t,e,n){for(var r=new c(this.text);r.pos<n&&!r.eol();){r.start=r.pos;var i=t.token(r,e)}return{start:r.start,end:r.pos,string:r.current(),className:i||null,state:e}},indentation:function(t){return r(this.text,null,t)},getHTML:function(t,e,n,r,i){var o=[],l=!0;function a(t,e){t&&(l&&Ye&&" "==t.charAt(0)&&(t=" "+t.slice(1)),l=!1,e?o.push('<span class="',e,'">',Je(t).replace(/\t/g,r),"</span>"):o.push(Je(t).replace(/\t/g,r)))}n&&o.push(this.className?'<pre class="'+this.className+'">':"<pre>");var s=this.styles,u=this.text,f=this.marked;t==e&&(t=null);var c=u.length;if(null!=i&&(c=Math.min(i,c)),u||null!=i)if(f||null!=t){var h=0,d=(C=0,""),p=-1,m=null;function g(){f&&(m=(p+=1)<f.length?f[p]:null)}for(g();h<c;){var v=c,x="";for(null!=t&&(h<t?v=t:(null==e||h<e)&&(x=" CodeMirror-selected",null!=e&&(v=Math.min(v,e))));m&&null!=m.to&&m.to<=h;)g();for(m&&(m.from>h?v=Math.min(v,m.from):(x+=" "+m.style,null!=m.to&&(v=Math.min(v,m.to))));;){var y=h+d.length,k=b;if(x&&(k=b?b+x:x),a(v<y?d.slice(0,v-h):d,k),v<=y){d=d.slice(v-h),h=v;break}h=y,d=s[C++],b="cm-"+s[C++]}}null!=t&&null==e&&a(" ","CodeMirror-selected")}else for(var C=0,w=0;w<c;C+=2){var M=s[C],b=s[C+1],S=M.length;c<w+S&&(M=M.slice(0,c-w)),w+=S,a(M,b&&"cm-"+b)}else a(" ",null!=t&&null==e?"CodeMirror-selected":null);return n&&o.push("</pre>"),o.join("")},cleanUp:function(){if(this.parent=null,this.marked)for(var t=0,e=this.marked.length;t<e;++t)this.marked[t].detach(this)}},Ne.prototype={chunkSize:function(){return this.lines.length},remove:function(t,e,n){for(var r=t,i=t+e;r<i;++r){var o=this.lines[r];if(this.height-=o.height,o.cleanUp(),o.handlers)for(var l=0;l<o.handlers.length;++l)n.push(o.handlers[l])}this.lines.splice(t,e)},collapse:function(t){t.splice.apply(t,[t.length,0].concat(this.lines))},insertHeight:function(t,e,n){this.height+=n,this.lines.splice.apply(this.lines,[t,0].concat(e));for(var r=0,i=e.length;r<i;++r)e[r].parent=this},iterN:function(t,e,n){for(var r=t+e;t<r;++t)if(n(this.lines[t]))return!0}},De.prototype={chunkSize:function(){return this.size},remove:function(t,e,n){this.size-=e;for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(t<o){var l=Math.min(e,o-t),a=i.height;if(i.remove(t,l,n),this.height-=a-i.height,o==l&&(this.children.splice(r--,1),i.parent=null),0==(e-=l))break;t=0}else t-=o}if(this.size-e<25){var s=[];this.collapse(s),this.children=[new Ne(s)]}},collapse:function(t){for(var e=0,n=this.children.length;e<n;++e)this.children[e].collapse(t)},insert:function(t,e){for(var n=0,r=0,i=e.length;r<i;++r)n+=e[r].height;this.insertHeight(t,e,n)},insertHeight:function(t,e,n){this.size+=e.length,this.height+=n;for(var r=0,i=this.children.length;r<i;++r){var o=this.children[r],l=o.chunkSize();if(t<=l){if(o.insertHeight(t,e,n),o.lines&&50<o.lines.length){for(;50<o.lines.length;){var a=new Ne(o.lines.splice(o.lines.length-25,25));o.height-=a.height,this.children.splice(r+1,0,a),a.parent=this}this.maybeSpill()}break}t-=l}},maybeSpill:function(){if(!(this.children.length<=10)){var t=this;do{var e=new De(t.children.splice(t.children.length-5,5));if(t.parent){t.size-=e.size,t.height-=e.height;var n=Qe(t.parent.children,t);t.parent.children.splice(n+1,0,e)}else{var r=new De(t.children);(r.parent=t).children=[r,e],t=r}e.parent=t.parent}while(10<t.children.length);t.parent.maybeSpill()}},iter:function(t,e,n){this.iterN(t,e-t,n)},iterN:function(t,e,n){for(var r=0,i=this.children.length;r<i;++r){var o=this.children[r],l=o.chunkSize();if(t<l){var a=Math.min(e,l-t);if(o.iterN(t,a,n))return!0;if(0==(e-=a))break;t=0}else t-=l}}},Re.prototype={addChange:function(t,e,n){this.undone.length=0;var r=+new Date,i=this.done[this.done.length-1];if(400<r-this.time||!i||i.start>t+e||i.start+i.added<t-i.added+i.old.length)this.done.push({start:t,added:e,old:n});else{var o=0;if(t<i.start){for(var l=i.start-t-1;0<=l;--l)i.old.unshift(n[l]);i.added+=i.start-t,i.start=t}else i.start<t&&(e+=o=t-i.start);l=i.added-o;for(var a=n.length;l<a;++l)i.old.push(n[l]);i.added<e&&(i.added=e)}this.time=r}},Ce.e_stop=Be,Ce.e_preventDefault=Ue,Ce.e_stopPropagation=n,Ce.connect=Ke,Fe.prototype={set:function(t,e){clearTimeout(this.id),this.id=setTimeout(e,t)}};var t,je=!/MSIE [1-8]\b/.test(navigator.userAgent)&&"draggable"in document.createElement("div"),Ge=/gecko\/\d{7}/i.test(navigator.userAgent),Ye=/MSIE \d/.test(navigator.userAgent),_e=/WebKit\//.test(navigator.userAgent);function r(t,e,n){null==e&&-1==(e=t.search(/[^\s\u00a0]/))&&(e=t.length);for(var r=0,i=0;r<e;++r)"\t"==t.charAt(r)?i+=n-i%n:++i;return i}function qe(t,e){for(var n,r=t.ownerDocument.body,i=0,o=0,l=!1,a=t;a;a=a.offsetParent){var s=a.offsetLeft,u=a.offsetTop;a==r?(i+=Math.abs(s),o+=Math.abs(u)):(i+=s,o+=u),e&&"fixed"==((n=a).currentStyle?n.currentStyle:window.getComputedStyle(n,null)).position&&(l=!0)}var f=e&&!l?null:r;for(a=t.parentNode;a!=f;a=a.parentNode)null!=a.scrollLeft&&(i-=a.scrollLeft,o-=a.scrollTop);return{left:i,top:o}}function Xe(t,e){return t.line==e.line&&t.ch==e.ch}function $e(t,e){return t.line<e.line||t.line==e.line&&t.ch<e.ch}(t=document.createElement("textarea")).value="foo\nbar",t.value.indexOf("\r"),null!=document.documentElement.getBoundingClientRect&&(qe=function(t,e){try{var n=t.getBoundingClientRect();n={top:n.top,left:n.left}}catch(t){n={top:0,left:0}}if(!e)if(null==window.pageYOffset){var r=document.documentElement||document.body.parentNode;null==r.scrollTop&&(r=document.body),n.top+=r.scrollTop,n.left+=r.scrollLeft}else n.top+=window.pageYOffset,n.left+=window.pageXOffset;return n});var Ze=document.createElement("pre");function Je(t){return Ze.textContent=t,Ze.innerHTML}function Qe(t,e){if(t.indexOf)return t.indexOf(e);for(var n=0,r=t.length;n<r;++n)if(t[n]==e)return n;return-1}function tn(t){return/\w/.test(t)||t.toUpperCase()!=t.toLowerCase()}"\na"==Je("a")?Je=function(t){return Ze.textContent=t,Ze.innerHTML.slice(1)}:"\t"!=Je("\t")&&(Je=function(t){return Ze.innerHTML="",Ze.appendChild(document.createTextNode(t)),Ze.innerHTML}),Ce.htmlEscape=Je;var en=3!="\n\nb".split(/\n/).length?function(t){for(var e,n=0,r=[];-1<(e=t.indexOf("\n",n));)r.push(t.slice(n,"\r"==t.charAt(e-1)?e-1:e)),n=e+1;return r.push(t.slice(n)),r}:function(t){return t.split(/\r?\n/)};Ce.splitLines=en;var nn=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(t){return!1}}:function(t){try{var e=t.ownerDocument.selection.createRange()}catch(t){}return!(!e||e.parentElement()!=t)&&0!=e.compareEndPoints("StartToEnd",e)};Ce.defineMode("null",function(){return{token:function(t){t.skipToEnd()}}}),Ce.defineMIME("text/plain","null");var rn={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};return Ce.keyNames=rn,function(){for(var t=0;t<10;t++)rn[t+48]=String(t);for(t=65;t<=90;t++)rn[t]=String.fromCharCode(t);for(t=1;t<=12;t++)rn[t+111]=rn[t+63235]="F"+t}(),Ce}();CodeMirror.defineMode("xml",function(t,e){var o,l,a,r,i=t.indentUnit,s=e.htmlMode?{autoSelfClosers:{br:!0,img:!0,hr:!0,link:!0,input:!0,meta:!0,col:!0,frame:!0,base:!0,area:!0},doNotIndent:{pre:!0},allowUnquoted:!0}:{autoSelfClosers:{},doNotIndent:{},allowUnquoted:!1},u=e.alignCDATA;function f(e,n){function t(t){return(n.tokenize=t)(e,n)}var r,i=e.next();if("<"!=i)return"&"==i?(e.eatWhile(/[^;]/),e.eat(";"),"atom"):(e.eatWhile(/[^&<]/),null);if(e.eat("!"))return e.eat("[")?e.match("CDATA[")?t(h("atom","]]>")):null:e.match("--")?t(h("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),t(function r(i){return function(t,e){for(var n;null!=(n=t.next());){if("<"==n)return e.tokenize=r(i+1),e.tokenize(t,e);if(">"==n){if(1!=i)return e.tokenize=r(i-1),e.tokenize(t,e);e.tokenize=f;break}}return"meta"}}(1))):null;if(e.eat("?"))return e.eatWhile(/[\w\._\-]/),n.tokenize=h("meta","?>"),"meta";for(l=e.eat("/")?"closeTag":"openTag",e.eatSpace(),o="";r=e.eat(/[^\s\u00a0=<>\"\'\/?]/);)o+=r;return n.tokenize=c,"tag"}function c(t,e){var n,r=t.next();return">"==r||"/"==r&&t.eat(">")?(e.tokenize=f,l=">"==r?"endTag":"selfcloseTag","tag"):"="==r?(l="equals",null):/[\'\"]/.test(r)?(e.tokenize=(n=r,function(t,e){for(;!t.eol();)if(t.next()==n){e.tokenize=c;break}return"string"}),e.tokenize(t,e)):(t.eatWhile(/[^\s\u00a0=<>\"\'\/?]/),"word")}function h(n,r){return function(t,e){for(;!t.eol();){if(t.match(r)){e.tokenize=f;break}t.next()}return n}}function n(){for(var t=arguments.length-1;0<=t;t--)a.cc.push(arguments[t])}function d(){return n.apply(null,arguments),!0}function p(t){if("openTag"==t)return a.tagName=o,d(m,(i=a.startOfLine,function(t){return"selfcloseTag"==t||"endTag"==t&&s.autoSelfClosers.hasOwnProperty(a.tagName.toLowerCase())||"endTag"==t&&(e=a.tagName,n=i,r=s.doNotIndent.hasOwnProperty(e)||a.context&&a.context.noIndent,a.context={prev:a.context,tagName:e,indent:a.indented,startOfLine:n,noIndent:r}),d();var e,n,r}));if("closeTag"!=t)return d();var e,i,n=!1;return(n=!a.context||a.context.tagName!=o)&&(r="error"),d((e=n,function(t){return e&&(r="error"),"endTag"==t?(a.context&&(a.context=a.context.prev),d()):(r="error",d(arguments.callee))}))}function m(t){return"word"==t?(r="attribute",d(m)):"equals"==t?d(g,m):"string"==t?(r="error",d(m)):n()}function g(t){return"word"==t&&s.allowUnquoted?(r="string",d()):"string"==t?d(v):n()}function v(t){return"string"==t?d(v):n()}return{startState:function(){return{tokenize:f,cc:[],indented:0,startOfLine:!0,tagName:null,context:null}},token:function(t,e){if(t.sol()&&(e.startOfLine=!0,e.indented=t.indentation()),t.eatSpace())return null;r=l=o=null;var n=e.tokenize(t,e);if(e.type=l,(n||l)&&"comment"!=n)for(a=e;;){if((e.cc.pop()||p)(l||n))break}return e.startOfLine=!1,r||n},indent:function(t,e,n){var r=t.context;if(t.tokenize!=c&&t.tokenize!=f||r&&r.noIndent)return n?n.match(/^(\s*)/)[0].length:0;if(u&&/<!\[CDATA\[/.test(e))return 0;for(r&&/^<\//.test(e)&&(r=r.prev);r&&!r.startOfLine;)r=r.prev;return r?r.indent+i:0},compareStates:function(t,e){if(t.indented!=e.indented||t.tokenize!=e.tokenize)return!1;for(var n=t.context,r=e.context;;n=n.prev,r=r.prev){if(!n||!r)return n==r;if(n.tagName!=r.tagName)return!1}},electricChars:"/"}}),CodeMirror.defineMIME("application/xml","xml"),CodeMirror.defineMIME("text/html",{name:"xml",htmlMode:!0}),CodeMirror.defineMode("javascript",function(t,e){var n,r,i,o,l,a=t.indentUnit,s=e.json,u=(n=f("keyword a"),r=f("keyword b"),i=f("keyword c"),o=f("operator"),{if:n,while:n,with:n,else:r,do:r,try:r,finally:r,return:i,break:i,continue:i,new:i,delete:i,throw:i,var:f("var"),const:f("var"),let:f("var"),function:f("function"),catch:f("catch"),for:f("for"),switch:f("switch"),case:f("case"),default:f("default"),in:o,typeof:o,instanceof:o,true:l={type:"atom",style:"atom"},false:l,null:l,undefined:l,NaN:l,Infinity:l});function f(t){return{type:t,style:"keyword"}}var c,h,d=/[+\-*&%=<>!?|]/;function p(t,e,n){return(e.tokenize=n)(t,e)}function m(t,e){for(var n,r=!1;null!=(n=t.next());){if(n==e&&!r)return;r=!r&&"\\"==n}return r}function g(t,e,n){return c=t,h=n,e}function v(t,e){var n=t.next();if('"'==n||"'"==n)return p(t,e,(r=n,function(t,e){return m(t,r)||(e.tokenize=v),g("string","string")}));if(/[\[\]{}\(\),;\:\.]/.test(n))return g(n);if("0"==n&&t.eat(/x/i))return t.eatWhile(/[\da-f]/i),g("number","number");if(/\d/.test(n))return t.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),g("number","number");if("/"==n)return t.eat("*")?p(t,e,x):t.eat("/")?(t.skipToEnd(),g("comment","comment")):e.reAllowed?(m(t,"/"),t.eatWhile(/[gimy]/),g("regexp","string")):(t.eatWhile(d),g("operator",null,t.current()));if("#"==n)return t.skipToEnd(),g("error","error");if(d.test(n))return t.eatWhile(d),g("operator",null,t.current());t.eatWhile(/[\w\$_]/);var r,i=t.current(),o=u.propertyIsEnumerable(i)&&u[i];return o&&e.kwAllowed?g(o.type,o.style,i):g("variable","variable",i)}function x(t,e){for(var n,r=!1;n=t.next();){if("/"==n&&r){e.tokenize=v;break}r="*"==n}return g("comment","comment")}var y={atom:!0,number:!0,variable:!0,string:!0,regexp:!0};function k(t,e,n,r,i,o){this.indented=t,this.column=e,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function C(t,e){for(var n=t.localVars;n;n=n.next)if(n.name==e)return 1}var w={state:null,column:null,marked:null,cc:null};function M(){for(var t=arguments.length-1;0<=t;t--)w.cc.push(arguments[t])}function b(){return M.apply(null,arguments),!0}function S(t){var e=w.state;if(e.context){w.marked="def";for(var n=e.localVars;n;n=n.next)if(n.name==t)return;e.localVars={name:t,next:e.localVars}}}var L={name:"this",next:{name:"arguments"}};function A(){w.state.context||(w.state.localVars=L),w.state.context={prev:w.state.context,vars:w.state.localVars}}function z(){w.state.localVars=w.state.context.vars,w.state.context=w.state.context.prev}function T(e,n){function t(){var t=w.state;t.lexical=new k(t.indented,w.stream.column(),e,null,t.lexical,n)}return t.lex=!0,t}function E(){var t=w.state;t.lexical.prev&&(")"==t.lexical.type&&(t.indented=t.lexical.indented),t.lexical=t.lexical.prev)}function W(e){return function(t){return t==e?b():";"==e?M():b(arguments.callee)}}function N(t){return"var"==t?b(T("vardef"),V,W(";"),E):"keyword a"==t?b(T("form"),D,N,E):"keyword b"==t?b(T("form"),N,E):"{"==t?b(T("}"),B,E):";"==t?b():"function"==t?b(_):"for"==t?b(T("form"),W("("),T(")"),F,W(")"),E,N,E):"variable"==t?b(T("stat"),O):"switch"==t?b(T("form"),D,T("}","switch"),W("{"),B,E,E):"case"==t?b(D,W(":")):"default"==t?b(W(":")):"catch"==t?b(T("form"),A,W("("),q,W(")"),N,E,z):M(T("stat"),D,W(";"),E)}function D(t){return y.hasOwnProperty(t)?b(I):"function"==t?b(_):"keyword c"==t?b(H):"("==t?b(T(")"),D,W(")"),E,I):"operator"==t?b(D):"["==t?b(T("]"),U(D,"]"),E,I):"{"==t?b(T("}"),U(P,"}"),E,I):b()}function H(t){return t.match(/[;\}\)\],]/)?M():M(D)}function I(t,e){return"operator"==t&&/\+\+|--/.test(e)?b(I):"operator"==t?b(D):";"!=t?"("==t?b(T(")"),U(D,")"),E,I):"."==t?b(R,I):"["==t?b(T("]"),D,W("]"),E,I):void 0:void 0}function O(t){return":"==t?b(E,N):M(I,W(";"),E)}function R(t){if("variable"==t)return w.marked="property",b()}function P(t){if("variable"==t&&(w.marked="property"),y.hasOwnProperty(t))return b(W(":"),D)}function U(e,n){function r(t){return","==t?b(e,r):t==n?b():b(W(n))}return function(t){return t==n?b():M(e,r)}}function B(t){return"}"==t?b():M(N,B)}function V(t,e){return"variable"==t?(S(e),b(K)):b()}function K(t,e){return"="==e?b(D,K):","==t?b(V):void 0}function F(t){return"var"==t?b(V,G):";"!=t&&"variable"==t?b(j):M(G)}function j(t,e){return"in"==e?b(D):b(I,G)}function G(t,e){return";"==t?b(Y):"in"==e?b(D):b(D,W(";"),Y)}function Y(t){")"!=t&&b(D)}function _(t,e){return"variable"==t?(S(e),b(_)):"("==t?b(T(")"),A,U(q,")"),E,N,z):void 0}function q(t,e){if("variable"==t)return S(e),b()}return E.lex=!0,{startState:function(t){return{tokenize:v,reAllowed:!0,kwAllowed:!0,cc:[],lexical:new k((t||0)-a,0,"block",!1),localVars:null,context:null,indented:0}},token:function(t,e){if(t.sol()&&(e.lexical.hasOwnProperty("align")||(e.lexical.align=!1),e.indented=t.indentation()),t.eatSpace())return null;var n=e.tokenize(t,e);return"comment"==c?n:(e.reAllowed="operator"==c||"keyword c"==c||c.match(/^[\[{}\(,;:]$/),e.kwAllowed="."!=c,function(t,e,n,r,i){var o=t.cc;for(w.state=t,w.stream=i,w.marked=null,w.cc=o,t.lexical.hasOwnProperty("align")||(t.lexical.align=!0);;){if((o.length?o.pop():s?D:N)(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return w.marked?w.marked:"variable"==n&&C(t,r)?"variable-2":e}}}(e,n,c,h,t))},indent:function(t,e){if(t.tokenize!=v)return 0;var n=e&&e.charAt(0),r=t.lexical,i=r.type,o=n==i;return"vardef"==i?r.indented+4:"form"==i&&"{"==n?r.indented:"stat"==i||"form"==i?r.indented+a:"switch"!=r.info||o?r.align?r.column+(o?0:1):r.indented+(o?0:a):r.indented+(/^(?:case|default)\b/.test(e)?a:2*a)},electricChars:":{}"}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMode("css",function(t){var i,r=t.indentUnit;function o(t,e){return i=e,t}function l(t,e){var i,n=t.next();return"@"==n?(t.eatWhile(/[\w\\\-]/),o("meta",t.current())):"/"==n&&t.eat("*")?(e.tokenize=a)(t,e):"<"==n&&t.eat("!")?(e.tokenize=s)(t,e):"="!=n?"~"!=n&&"|"!=n||!t.eat("=")?'"'==n||"'"==n?(e.tokenize=(i=n,function(t,e){for(var n,r=!1;null!=(n=t.next())&&(n!=i||r);)r=!r&&"\\"==n;return r||(e.tokenize=l),o("string","string")}),e.tokenize(t,e)):"#"==n?(t.eatWhile(/[\w\\\-]/),o("atom","hash")):"!"==n?(t.match(/^\s*\w*/),o("keyword","important")):/\d/.test(n)?(t.eatWhile(/[\w.%]/),o("number","unit")):/[,.+>*\/]/.test(n)?o(null,"select-op"):/[;{}:\[\]]/.test(n)?o(null,n):(t.eatWhile(/[\w\\\-]/),o("variable","variable")):o(null,"compare"):void o(null,"compare")}function a(t,e){for(var n,r=!1;null!=(n=t.next());){if(r&&"/"==n){e.tokenize=l;break}r="*"==n}return o("comment","comment")}function s(t,e){for(var n,r=0;null!=(n=t.next());){if(2<=r&&">"==n){e.tokenize=l;break}r="-"==n?r+1:0}return o("comment","comment")}return{startState:function(t){return{tokenize:l,baseIndent:t||0,stack:[]}},token:function(t,e){if(t.eatSpace())return null;var n=e.tokenize(t,e),r=e.stack[e.stack.length-1];return"hash"==i&&"rule"==r?n="atom":"variable"==n&&("rule"==r?n="number":r&&"@media{"!=r||(n="tag")),"rule"==r&&/^[\{\};]$/.test(i)&&e.stack.pop(),"{"==i?"@media"==r?e.stack[e.stack.length-1]="@media{":e.stack.push("{"):"}"==i?e.stack.pop():"@media"==i?e.stack.push("@media"):"{"==r&&"comment"!=i&&e.stack.push("rule"),n},indent:function(t,e){var n=t.stack.length;return/^\}/.test(e)&&(n-="rule"==t.stack[t.stack.length-1]?2:1),t.baseIndent+n*r},electricChars:"}"}}),CodeMirror.defineMIME("text/css","css"),CodeMirror.defineMode("htmlmixed",function(t,e){var r=CodeMirror.getMode(t,{name:"xml",htmlMode:!0}),i=CodeMirror.getMode(t,"javascript"),o=CodeMirror.getMode(t,"css");function n(t,e){var n=r.token(t,e.htmlState);return"tag"==n&&">"==t.current()&&e.htmlState.context&&(/^script$/i.test(e.htmlState.context.tagName)?(e.token=a,e.localState=i.startState(r.indent(e.htmlState,"")),e.mode="javascript"):/^style$/i.test(e.htmlState.context.tagName)&&(e.token=s,e.localState=o.startState(r.indent(e.htmlState,"")),e.mode="css")),n}function l(t,e,n){var r=t.current(),i=r.search(e);return-1<i&&t.backUp(r.length-i),n}function a(t,e){return t.match(/^<\/\s*script\s*>/i,!1)?(e.token=n,e.curState=null,e.mode="html",n(t,e)):l(t,/<\/\s*script\s*>/,i.token(t,e.localState))}function s(t,e){return t.match(/^<\/\s*style\s*>/i,!1)?(e.token=n,e.localState=null,e.mode="html",n(t,e)):l(t,/<\/\s*style\s*>/,o.token(t,e.localState))}return{startState:function(){return{token:n,localState:null,mode:"html",htmlState:r.startState()}},copyState:function(t){if(t.localState)var e=CodeMirror.copyState(t.token==s?o:i,t.localState);return{token:t.token,localState:e,mode:t.mode,htmlState:CodeMirror.copyState(r,t.htmlState)}},token:function(t,e){return e.token(t,e)},indent:function(t,e){return t.token==n||/^\s*<\//.test(e)?r.indent(t.htmlState,e):t.token==a?i.indent(t.localState,e):o.indent(t.localState,e)},compareStates:function(t,e){return r.compareStates(t.htmlState,e.htmlState)},electricChars:"/{}:"}}),CodeMirror.defineMIME("text/html","htmlmixed");
/*! UEditorPlus v2.0.0*/
var CodeMirror=function(){function a(f,j){function r(a){return a>=0&&a<Yb.size}function u(a){return m(Yb,a)}function A(a,b){hc=!0;for(var c=b-a.height,d=a;d;d=d.parent)d.height+=c}function B(a){var b={line:0,ch:0};ga(b,{line:Yb.size-1,ch:u(Yb.size-1).text.length},X(a),b,b),bc=!0}function M(a){var b=[];return Yb.iter(0,Yb.size,function(a){b.push(a.text)}),b.join("\n")}function N(a){function b(a){var c=pb(a,!0);if(c&&!E(c,g)){Vb||ea(),g=c,Fa(d,c),bc=!1;var e=ya();(c.line>=e.to||c.line<e.from)&&(f=setTimeout(Ab(function(){b(a)}),150))}}Ea(a.shiftKey);for(var c=w(a);c!=Fb;c=c.parentNode)if(c.parentNode==Jb&&c!=Kb)return;for(var c=w(a);c!=Fb;c=c.parentNode)if(c.parentNode==Mb)return Bb.onGutterClick&&Bb.onGutterClick(vc,J(Mb.childNodes,c)+oc,a),t(a);var d=pb(a);switch(x(a)){case 3:return void(S&&!L&&qb(a));case 2:return void(d&&Ia(d.line,d.ch,!0))}if(!d)return void(w(a)==Ib&&t(a));Vb||ea();var e=+new Date;if(_b&&_b.time>e-400&&E(_b.pos,d))return t(a),setTimeout(ua,20),Qa(d.line);if($b&&$b.time>e-400&&E($b.pos,d))return _b={time:e,pos:d},t(a),Pa(d);$b={time:e,pos:d};var f,g=d;if(R&&!E(lc.from,lc.to)&&!F(d,lc.from)&&!F(lc.to,d)){U&&(Nb.draggable=!0);var h=y(Eb,"mouseup",Ab(function(b){U&&(Nb.draggable=!1),ac=!1,h(),Math.abs(a.clientX-b.clientX)+Math.abs(a.clientY-b.clientY)<10&&(t(b),Ia(d.line,d.ch,!0),ua())}),!0);return void(ac=!0)}t(a),Ia(d.line,d.ch,!0);var i=y(Eb,"mousemove",Ab(function(a){clearTimeout(f),t(a),b(a)}),!0),h=y(Eb,"mouseup",Ab(function(a){clearTimeout(f);var b=pb(a);b&&Fa(d,b),t(a),ua(),bc=!0,i(),h()}),!0)}function V(a){for(var b=w(a);b!=Fb;b=b.parentNode)if(b.parentNode==Mb)return t(a);var c=pb(a);c&&(_b={time:+new Date,pos:c},t(a),Pa(c))}function $(a){function b(a,b){var d=new FileReader;d.onload=function(){f[b]=d.result,++g==e&&(c=Ka(c),Ab(function(){var a=la(f.join(""),c,c);Fa(c,a)})())},d.readAsText(a)}a.preventDefault();var c=pb(a,!0),d=a.dataTransfer.files;if(c&&!Bb.readOnly)if(d&&d.length&&window.FileReader&&window.File)for(var e=d.length,f=Array(e),g=0,h=0;h<e;++h)b(d[h],h);else try{var f=a.dataTransfer.getData("Text");if(f){var i=la(f,c,c),j=lc.from,k=lc.to;Fa(c,i),ac&&la("",j,k),ua()}}catch(a){}}function _(a){var b=pa();H(b),a.dataTransfer.setDragImage(W,0,0),a.dataTransfer.setData("Text",b)}function aa(a){var d,e,f=Z[a.keyCode],g=Q[Bb.keyMap].auto;if(null==f||a.altGraphKey)return g&&(Bb.keyMap=g),null;if(a.altKey&&(f="Alt-"+f),a.ctrlKey&&(f="Ctrl-"+f),a.metaKey&&(f="Cmd-"+f),a.shiftKey&&(d=b("Shift-"+f,Bb.extraKeys,Bb.keyMap))?e=!0:d=b(f,Bb.extraKeys,Bb.keyMap),"string"==typeof d&&(d=P.propertyIsEnumerable(d)?P[d]:null),!g||!d&&c(a)||(Bb.keyMap=g),!d)return!1;if(e){var h=Zb;Zb=null,d(vc),Zb=h}else d(vc);return t(a),!0}function ba(a){Vb||ea();var b=a.keyCode;if(T&&27==b&&(a.returnValue=!1),Ea(16==b||a.shiftKey),!Bb.onKeyEvent||!Bb.onKeyEvent(vc,s(a))){var c=aa(a);window.opera&&(wc=c?a.keyCode:null,!c&&(L?a.metaKey:a.ctrlKey)&&88==a.keyCode&&ma(""))}}function ca(a){if(window.opera&&a.keyCode==wc)return wc=null,void t(a);if((!Bb.onKeyEvent||!Bb.onKeyEvent(vc,s(a)))&&(!window.opera||a.which||!aa(a))){if(Bb.electricChars&&Tb.electricChars){var b=String.fromCharCode(null==a.charCode?a.keyCode:a.charCode);Tb.electricChars.indexOf(b)>-1&&setTimeout(Ab(function(){Sa(lc.to.line,"smart")}),75)}ra()}}function da(a){Bb.onKeyEvent&&Bb.onKeyEvent(vc,s(a))||16==a.keyCode&&(Zb=null)}function ea(){Bb.readOnly||(Vb||(Bb.onFocus&&Bb.onFocus(vc),Vb=!0,Fb.className.search(/\bCodeMirror-focused\b/)==-1&&(Fb.className+=" CodeMirror-focused"),gc||ta(!0)),qa(),rb())}function fa(){Vb&&(Bb.onBlur&&Bb.onBlur(vc),Vb=!1,Fb.className=Fb.className.replace(" CodeMirror-focused","")),clearInterval(Sb),setTimeout(function(){Vb||(Zb=null)},150)}function ga(a,b,c,d,e){if(tc){var f=[];for(Yb.iter(a.line,b.line+1,function(a){f.push(a.text)}),tc.addChange(a.line,c.length,f);tc.done.length>Bb.undoDepth;)tc.done.shift()}ka(a,b,c,d,e)}function ha(a,b){var c=a.pop();if(c){var d=[],e=c.start+c.added;Yb.iter(c.start,e,function(a){d.push(a.text)}),b.push({start:c.start,added:c.old.length,old:d});var f=Ka({line:c.start+c.old.length-1,ch:I(d[d.length-1],c.old[c.old.length-1])});ka({line:c.start,ch:0},{line:e-1,ch:u(e-1).text.length},c.old,f,f),bc=!0}}function ia(){ha(tc.done,tc.undone)}function ja(){ha(tc.undone,tc.done)}function ka(a,b,c,d,e){function f(a){return a<=Math.min(b.line,b.line+s)?a:a+s}var g=!1,h=rc.length;Bb.lineWrapping||Yb.iter(a.line,b.line,function(a){if(a.text.length==h)return g=!0,!0}),(a.line!=b.line||c.length>1)&&(hc=!0);var j=b.line-a.line,k=u(a.line),l=u(b.line);if(0==a.ch&&0==b.ch&&""==c[c.length-1]){var m=[],n=null;a.line?(n=u(a.line-1),n.fixMarkEnds(l)):l.fixMarkStarts();for(var o=0,p=c.length-1;o<p;++o)m.push(i.inheritMarks(c[o],n));j&&Yb.remove(a.line,j,ic),m.length&&Yb.insert(a.line,m)}else if(k==l)if(1==c.length)k.replace(a.ch,b.ch,c[0]);else{l=k.split(b.ch,c[c.length-1]),k.replace(a.ch,null,c[0]),k.fixMarkEnds(l);for(var m=[],o=1,p=c.length-1;o<p;++o)m.push(i.inheritMarks(c[o],k));m.push(l),Yb.insert(a.line+1,m)}else if(1==c.length)k.replace(a.ch,null,c[0]),l.replace(null,b.ch,""),k.append(l),Yb.remove(a.line+1,j,ic);else{var m=[];k.replace(a.ch,null,c[0]),l.replace(null,b.ch,c[c.length-1]),k.fixMarkEnds(l);for(var o=1,p=c.length-1;o<p;++o)m.push(i.inheritMarks(c[o],k));j>1&&Yb.remove(a.line+1,j-1,ic),Yb.insert(a.line+1,m)}if(Bb.lineWrapping){var q=Ib.clientWidth/mb()-3;Yb.iter(a.line,a.line+c.length,function(a){if(!a.hidden){var b=Math.ceil(a.text.length/q)||1;b!=a.height&&A(a,b)}})}else Yb.iter(a.line,o+c.length,function(a){var b=a.text;b.length>h&&(rc=b,h=b.length,kc=null,g=!1)}),g&&(h=0,rc="",kc=null,Yb.iter(0,Yb.size,function(a){var b=a.text;b.length>h&&(h=b.length,rc=b)}));for(var r=[],s=c.length-j-1,o=0,t=Ub.length;o<t;++o){var v=Ub[o];v<a.line?r.push(v):v>b.line&&r.push(v+s)}var w=a.line+Math.min(c.length,500);vb(a.line,w),r.push(w),Ub=r,xb(100),dc.push({from:a.line,to:b.line+1,diff:s});var x={from:a,to:b,text:c};if(ec){for(var y=ec;y.next;y=y.next);y.next=x}else ec=x;Ga(d,e,f(lc.from.line),f(lc.to.line)),Jb.style.height=Yb.height*lb()+2*nb()+"px"}function la(a,b,c){function d(d){if(F(d,b))return d;if(!F(c,d))return e;var f=d.line+a.length-(c.line-b.line)-1,g=d.ch;return d.line==c.line&&(g+=a[a.length-1].length-(c.ch-(c.line==b.line?b.ch:0))),{line:f,ch:g}}b=Ka(b),c=c?Ka(c):b,a=X(a);var e;return na(a,b,c,function(a){return e=a,{from:d(lc.from),to:d(lc.to)}}),e}function ma(a,b){na(X(a),lc.from,lc.to,function(a){return"end"==b?{from:a,to:a}:"start"==b?{from:lc.from,to:lc.from}:{from:lc.from,to:a}})}function na(a,b,c,d){var e=1==a.length?a[0].length+b.ch:a[a.length-1].length,f=d({line:b.line+a.length-1,ch:e});ga(b,c,a,f.from,f.to)}function oa(a,b){var c=a.line,d=b.line;if(c==d)return u(c).text.slice(a.ch,b.ch);var e=[u(c).text.slice(a.ch)];return Yb.iter(c+1,d,function(a){e.push(a.text)}),e.push(u(d).text.slice(0,b.ch)),e.join("\n")}function pa(){return oa(lc.from,lc.to)}function qa(){xc||Wb.set(Bb.pollInterval,function(){yb(),sa(),Vb&&qa(),zb()})}function ra(){function a(){yb();var c=sa();c||b?(xc=!1,qa()):(b=!0,Wb.set(60,a)),zb()}var b=!1;xc=!0,Wb.set(20,a)}function sa(){if(gc||!Vb||Y(Hb))return!1;var a=Hb.value;if(a==yc)return!1;Zb=null;for(var b=0,c=Math.min(yc.length,a.length);b<c&&yc[b]==a[b];)++b;return b<yc.length?lc.from={line:lc.from.line,ch:lc.from.ch-(yc.length-b)}:mc&&E(lc.from,lc.to)&&(lc.to={line:lc.to.line,ch:Math.min(u(lc.to.line).text.length,lc.to.ch+(a.length-b))}),ma(a.slice(b),"end"),yc=a,!0}function ta(a){E(lc.from,lc.to)?a&&(yc=Hb.value=""):(yc="",Hb.value=pa(),Hb.select())}function ua(){Bb.readOnly||Hb.focus()}function va(){if(Pb.getBoundingClientRect){var a=Pb.getBoundingClientRect();if(!T||a.top!=a.bottom){var b=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);(a.top<0||a.bottom>b)&&Pb.scrollIntoView()}}}function wa(){var a=ib(lc.inverted?lc.from:lc.to),b=Bb.lineWrapping?Math.min(a.x,Nb.offsetWidth):a.x;return xa(b,a.y,b,a.yBot)}function xa(a,b,c,d){var e=ob(),f=nb(),g=lb();b+=f,d+=f,a+=e,c+=e;var h=Ib.clientHeight,i=Ib.scrollTop,j=!1,k=!0;b<i?(Ib.scrollTop=Math.max(0,b-2*g),j=!0):d>i+h&&(Ib.scrollTop=d+g-h,j=!0);var l=Ib.clientWidth,m=Ib.scrollLeft,n=Bb.fixedGutter?Lb.clientWidth:0;return a<m+n?(a<50&&(a=0),Ib.scrollLeft=Math.max(0,a-10-n),j=!0):c>l+m-3&&(Ib.scrollLeft=c+10-l,j=!0,c>Jb.clientWidth&&(k=!1)),j&&Bb.onScroll&&Bb.onScroll(vc),k}function ya(){var a=lb(),b=Ib.scrollTop-nb(),c=Math.max(0,Math.floor(b/a)),d=Math.ceil((b+Ib.clientHeight)/a);return{from:o(Yb,c),to:o(Yb,d)}}function za(a,b){if(!Ib.clientWidth)return void(oc=pc=nc=0);var c=ya();if(!(a!==!0&&0==a.length&&c.from>=oc&&c.to<=pc)){var d=Math.max(c.from-100,0),e=Math.min(Yb.size,c.to+100);oc<d&&d-oc<20&&(d=oc),pc>e&&pc-e<20&&(e=Math.min(Yb.size,pc));for(var f=a===!0?[]:Aa([{from:oc,to:pc,domStart:0}],a),g=0,h=0;h<f.length;++h){var i=f[h];i.from<d&&(i.domStart+=d-i.from,i.from=d),i.to>e&&(i.to=e),i.from>=i.to?f.splice(h--,1):g+=i.to-i.from}if(g!=e-d){f.sort(function(a,b){return a.domStart-b.domStart});var j=lb(),k=Lb.style.display;Qb.style.display=Lb.style.display="none",Ba(d,e,f),Qb.style.display="";var l=d!=oc||e!=pc||qc!=Ib.clientHeight+j;if(l&&(qc=Ib.clientHeight+j),oc=d,pc=e,nc=p(Yb,d),Kb.style.top=nc*j+"px",Jb.style.height=Yb.height*j+2*nb()+"px",Qb.childNodes.length!=pc-oc)throw new Error("BAD PATCH! "+JSON.stringify(f)+" size="+(pc-oc)+" nodes="+Qb.childNodes.length);if(Bb.lineWrapping){kc=Ib.clientWidth;var m=Qb.firstChild;Yb.iter(oc,pc,function(a){if(!a.hidden){var b=Math.round(m.offsetHeight/j)||1;a.height!=b&&(A(a,b),hc=!0)}m=m.nextSibling})}else null==kc&&(kc=gb(rc)),kc>Ib.clientWidth?(Nb.style.width=kc+"px",Jb.style.width="",Jb.style.width=Ib.scrollWidth+"px"):Nb.style.width=Jb.style.width="";return Lb.style.display=k,(l||hc)&&Ca(),Da(),!b&&Bb.onUpdate&&Bb.onUpdate(vc),!0}}}function Aa(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,domStart:j.domStart}):e.to<=j.from||e.from>=j.to?f.push(j):(e.from>j.from&&f.push({from:j.from,to:e.from,domStart:j.domStart}),e.to<j.to&&f.push({from:e.to+g,to:j.to+g,domStart:j.domStart+(e.to-j.from)}))}a=f}return a}function Ba(a,b,c){function d(a){var b=a.nextSibling;return a.parentNode.removeChild(a),b}if(c.length){for(var e=0,f=Qb.firstChild,g=0;g<c.length;++g){for(var h=c[g];h.domStart>e;)f=d(f),e++;for(var i=0,j=h.to-h.from;i<j;++i)f=f.nextSibling,e++}for(;f;)f=d(f)}else Qb.innerHTML="";var k=c.shift(),f=Qb.firstChild,i=a,l=lc.from.line,m=lc.to.line,n=l<a&&m>=a,o=Eb.createElement("div");Yb.iter(a,b,function(a){var b=null,d=null;n?(b=0,m==i&&(n=!1,d=lc.to.ch)):l==i&&(m==i?(b=lc.from.ch,d=lc.to.ch):(n=!0,b=lc.from.ch)),k&&k.to==i&&(k=c.shift()),!k||k.from>i?(a.hidden?o.innerHTML="<pre></pre>":o.innerHTML=a.getHTML(b,d,!0,sc),Qb.insertBefore(o.firstChild,f)):f=f.nextSibling,++i})}function Ca(){if(Bb.gutter||Bb.lineNumbers){var a=Kb.offsetHeight,b=Ib.clientHeight;Lb.style.height=(a-b<2?b:a)+"px";var c=[],d=oc;Yb.iter(oc,Math.max(pc,oc+1),function(a){if(a.hidden)c.push("<pre></pre>");else{var b=a.gutterMarker,e=Bb.lineNumbers?d+Bb.firstLineNumber:null;b&&b.text?e=b.text.replace("%N%",null!=e?e:""):null==e&&(e=" "),c.push(b&&b.style?'<pre class="'+b.style+'">':"<pre>",e);for(var f=1;f<a.height;++f)c.push("<br/>&#160;");c.push("</pre>")}++d}),Lb.style.display="none",Mb.innerHTML=c.join("");for(var e=String(Yb.size).length,f=Mb.firstChild,g=D(f),h="";g.length+h.length<e;)h+=" ";h&&f.insertBefore(Eb.createTextNode(h),f.firstChild),Lb.style.display="",Nb.style.marginLeft=Lb.offsetWidth+"px",hc=!1}}function Da(){var a=lc.inverted?lc.from:lc.to,b=(lb(),ib(a,!0)),c=C(Fb),d=C(Qb);Gb.style.top=b.y+d.top-c.top+"px",Gb.style.left=b.x+d.left-c.left+"px",E(lc.from,lc.to)?(Pb.style.top=b.y+"px",Pb.style.left=(Bb.lineWrapping?Math.min(b.x,Nb.offsetWidth):b.x)+"px",Pb.style.display=""):Pb.style.display="none"}function Ea(a){Zb=a?Zb||(lc.inverted?lc.to:lc.from):null}function Fa(a,b){var c=Zb&&Ka(Zb);c&&(F(c,a)?a=c:F(b,c)&&(b=c)),Ga(a,b),cc=!0}function Ga(a,b,c,d){if(zc=null,null==c&&(c=lc.from.line,d=lc.to.line),!E(lc.from,a)||!E(lc.to,b)){if(F(b,a)){var e=b;b=a,a=e}a.line!=c&&(a=Ha(a,c,lc.from.ch)),b.line!=d&&(b=Ha(b,d,lc.to.ch)),E(a,b)?lc.inverted=!1:E(a,lc.to)?lc.inverted=!1:E(b,lc.from)&&(lc.inverted=!0),E(a,b)?E(lc.from,lc.to)||dc.push({from:c,to:d+1}):E(lc.from,lc.to)?dc.push({from:a.line,to:b.line+1}):(E(a,lc.from)||(a.line<c?dc.push({from:a.line,to:Math.min(b.line,c)+1}):dc.push({from:c,to:Math.min(d,a.line)+1})),E(b,lc.to)||(b.line<d?dc.push({from:Math.max(c,a.line),to:d+1}):dc.push({from:Math.max(a.line,d),to:b.line+1}))),lc.from=a,lc.to=b,fc=!0}}function Ha(a,b,c){function d(b){for(var d=a.line+b,e=1==b?Yb.size:-1;d!=e;){var f=u(d);if(!f.hidden){var g=a.ch;return(g>c||g>f.text.length)&&(g=f.text.length),{line:d,ch:g}}d+=b}}var e=u(a.line);return e.hidden?a.line>=b?d(1)||d(-1):d(-1)||d(1):a}function Ia(a,b,c){var d=Ka({line:a,ch:b||0});(c?Fa:Ga)(d,d)}function Ja(a){return Math.max(0,Math.min(a,Yb.size-1))}function Ka(a){if(a.line<0)return{line:0,ch:0};if(a.line>=Yb.size)return{line:Yb.size-1,ch:u(Yb.size-1).text.length};var b=a.ch,c=u(a.line).text.length;return null==b||b>c?{line:a.line,ch:c}:b<0?{line:a.line,ch:0}:a}function La(a,b){function c(){for(var b=f+a,c=a<0?-1:Yb.size;b!=c;b+=a){var d=u(b);if(!d.hidden)return f=b,h=d,!0}}function d(b){if(g==(a<0?0:h.text.length)){if(b||!c())return!1;g=a<0?h.text.length:0}else g+=a;return!0}var e=lc.inverted?lc.from:lc.to,f=e.line,g=e.ch,h=u(f);if("char"==b)d();else if("column"==b)d(!0);else if("word"==b)for(var i=!1;!(a<0)||d();){if(K(h.text.charAt(g)))i=!0;else if(i){a<0&&(a=1,d());break}if(a>0&&!d())break}return{line:f,ch:g}}function Ma(a,b){var c=a<0?lc.from:lc.to;(Zb||E(lc.from,lc.to))&&(c=La(a,b)),Ia(c.line,c.ch,!0)}function Na(a,b){E(lc.from,lc.to)?a<0?la("",La(a,b),lc.to):la("",lc.from,La(a,b)):la("",lc.from,lc.to),cc=!0}function Oa(a,b){var c=0,d=ib(lc.inverted?lc.from:lc.to,!0);null!=zc&&(d.x=zc),"page"==b?c=Ib.clientHeight:"line"==b&&(c=lb());var e=jb(d.x,d.y+c*a+2);Ia(e.line,e.ch,!0),zc=d.x}function Pa(a){for(var b=u(a.line).text,c=a.ch,d=a.ch;c>0&&K(b.charAt(c-1));)--c;for(;d<b.length&&K(b.charAt(d));)++d;Fa({line:a.line,ch:c},{line:a.line,ch:d})}function Qa(a){Fa({line:a,ch:0},{line:a,ch:u(a).text.length})}function Ra(a){if(E(lc.from,lc.to))return Sa(lc.from.line,a);for(var b=lc.to.line-(lc.to.ch?0:1),c=lc.from.line;c<=b;++c)Sa(c,a)}function Sa(a,b){if(b||(b="add"),"smart"==b)if(Tb.indent)var c=ub(a);else b="prev";var d,e=u(a),f=e.indentation(Bb.tabSize),g=e.text.match(/^\s*/)[0];"prev"==b?d=a?u(a-1).indentation(Bb.tabSize):0:"smart"==b?d=Tb.indent(c,e.text.slice(g.length),e.text):"add"==b?d=f+Bb.indentUnit:"subtract"==b&&(d=f-Bb.indentUnit),d=Math.max(0,d);var h=d-f;if(h){var i="",j=0;if(Bb.indentWithTabs)for(var k=Math.floor(d/Bb.tabSize);k;--k)j+=Bb.tabSize,i+="\t";for(;j<d;)++j,i+=" "}else{if(lc.from.line!=a&&lc.to.line!=a)return;var i=g}la(i,{line:a,ch:0},{line:a,ch:g.length})}function Ta(){Tb=a.getMode(Bb,Bb.mode),Yb.iter(0,Yb.size,function(a){a.stateAfter=null}),Ub=[0],xb()}function Ua(){var a=Bb.gutter||Bb.lineNumbers;Lb.style.display=a?"":"none",a?hc=!0:Qb.parentNode.style.marginLeft=0}function Va(a,b){if(Bb.lineWrapping){Fb.className+=" CodeMirror-wrap";var c=Ib.clientWidth/mb()-3;Yb.iter(0,Yb.size,function(a){if(!a.hidden){var b=Math.ceil(a.text.length/c)||1;1!=b&&A(a,b)}}),Nb.style.width=Jb.style.width=""}else Fb.className=Fb.className.replace(" CodeMirror-wrap",""),kc=null,rc="",Yb.iter(0,Yb.size,function(a){1==a.height||a.hidden||A(a,1),a.text.length>rc.length&&(rc=a.text)});dc.push({from:0,to:Yb.size})}function Wa(){for(var a='<span class="cm-tab">',b=0;b<Bb.tabSize;++b)a+=" ";return a+"</span>"}function Xa(){sc=Wa(),za(!0)}function Ya(){Ib.className=Ib.className.replace(/\s*cm-s-\w+/g,"")+Bb.theme.replace(/(^|\s)\s*/g," cm-s-")}function Za(){this.set=[]}function $a(a,b,c){function d(a,b,c,d){u(a).addMark(new g(b,c,d,e.set))}a=Ka(a),b=Ka(b);var e=new Za;if(a.line==b.line)d(a.line,a.ch,b.ch,c);else{d(a.line,a.ch,null,c);for(var f=a.line+1,h=b.line;f<h;++f)d(f,null,null,c);d(b.line,null,b.ch,c)}return dc.push({from:a.line,to:b.line+1}),e}function _a(a){a=Ka(a);var b=new h(a.ch);return u(a.line).addMark(b),b}function ab(a,b,c){return"number"==typeof a&&(a=u(Ja(a))),a.gutterMarker={text:b,style:c},hc=!0,a}function bb(a){"number"==typeof a&&(a=u(Ja(a))),a.gutterMarker=null,hc=!0}function cb(a,b){var c=a,d=a;return"number"==typeof a?d=u(Ja(a)):c=n(a),null==c?null:b(d,c)?(dc.push({from:c,to:c+1}),d):null}function db(a,b){return cb(a,function(a){if(a.className!=b)return a.className=b,!0})}function eb(a,b){return cb(a,function(a,c){if(a.hidden!=b)return a.hidden=b,A(a,b?0:1),!b||lc.from.line!=c&&lc.to.line!=c||Ga(Ha(lc.from,lc.from.line,lc.from.ch),Ha(lc.to,lc.to.line,lc.to.ch)),hc=!0})}function fb(a){if("number"==typeof a){if(!r(a))return null;var b=a;if(a=u(a),!a)return null}else{var b=n(a);if(null==b)return null}var c=a.gutterMarker;return{line:b,handle:a,text:a.text,markerText:c&&c.text,markerClass:c&&c.style,lineClass:a.className}}function gb(a){return Ob.innerHTML="<pre><span>x</span></pre>",Ob.firstChild.firstChild.firstChild.nodeValue=a,Ob.firstChild.firstChild.offsetWidth||10}function hb(a,b){var c="";if(Bb.lineWrapping){var d=a.text.indexOf(" ",b+2);c=H(a.text.slice(b+1,d<0?a.text.length:d+(T?5:0)))}Ob.innerHTML="<pre>"+a.getHTML(null,null,!1,sc,b)+'<span id="CodeMirror-temp-'+Ec+'">'+H(a.text.charAt(b)||" ")+"</span>"+c+"</pre>";var e=document.getElementById("CodeMirror-temp-"+Ec),f=e.offsetTop,g=e.offsetLeft;if(T&&b&&0==f&&0==g){var h=document.createElement("span");h.innerHTML="x",e.parentNode.insertBefore(h,e.nextSibling),f=h.offsetTop}return{top:f,left:g}}function ib(a,b){var c,d=lb(),e=d*(p(Yb,a.line)-(b?nc:0));if(0==a.ch)c=0;else{var f=hb(u(a.line),a.ch);c=f.left,Bb.lineWrapping&&(e+=Math.max(0,f.top))}return{x:c,y:e,yBot:e+d}}function jb(a,b){function c(a){var b=hb(h,a);if(j){var c=Math.round(b.top/d);return Math.max(0,b.left+(c-k)*Ib.clientWidth)}return b.left}b<0&&(b=0);var d=lb(),e=mb(),f=nc+Math.floor(b/d),g=o(Yb,f);if(g>=Yb.size)return{line:Yb.size-1,ch:u(Yb.size-1).text.length};var h=u(g),i=h.text,j=Bb.lineWrapping,k=j?f-p(Yb,g):0;if(a<=0&&0==k)return{line:g,ch:0};for(var l,m=0,n=0,q=i.length,r=Math.min(q,Math.ceil((a+k*Ib.clientWidth*.9)/e));;){var s=c(r);if(!(s<=a&&r<q)){l=s,q=r;break}r=Math.min(q,Math.ceil(1.2*r))}if(a>l)return{line:g,ch:q};for(r=Math.floor(.8*q),s=c(r),s<a&&(m=r,n=s);;){if(q-m<=1)return{line:g,ch:l-a>a-n?m:q};var t=Math.ceil((m+q)/2),v=c(t);v>a?(q=t,l=v):(m=t,n=v)}}function kb(a){var b=ib(a,!0),c=C(Nb);return{x:c.left+b.x,y:c.top+b.y,yBot:c.top+b.yBot}}function lb(){if(null==Cc){Cc="<pre>";for(var a=0;a<49;++a)Cc+="x<br/>";Cc+="x</pre>"}var b=Qb.clientHeight;return b==Bc?Ac:(Bc=b,Ob.innerHTML=Cc,Ac=Ob.firstChild.offsetHeight/50||1,Ob.innerHTML="",Ac)}function mb(){return Ib.clientWidth==Fc?Dc:(Fc=Ib.clientWidth,Dc=gb("x"))}function nb(){return Nb.offsetTop}function ob(){return Nb.offsetLeft}function pb(a,b){var c,d,e=C(Ib,!0);try{c=a.clientX,d=a.clientY}catch(a){return null}if(!b&&(c-e.left>Ib.clientWidth||d-e.top>Ib.clientHeight))return null;var f=C(Nb,!0);return jb(c-f.left,d-f.top)}function qb(a){function b(){var a=X(Hb.value).join("\n");a!=e&&Ab(ma)(a,"end"),Gb.style.position="relative",Hb.style.cssText=d,gc=!1,ta(!0),qa()}var c=pb(a);if(c&&!window.opera){(E(lc.from,lc.to)||F(c,lc.from)||!F(c,lc.to))&&Ab(Ia)(c.line,c.ch);var d=Hb.style.cssText;Gb.style.position="absolute",Hb.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(a.clientY-5)+"px; left: "+(a.clientX-5)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",gc=!0;var e=Hb.value=pa();if(ua(),Hb.select(),S){v(a);var f=y(window,"mouseup",function(){f(),setTimeout(b,20)},!0)}else setTimeout(b,50)}}function rb(){clearInterval(Sb);var a=!0;Pb.style.visibility="",Sb=setInterval(function(){Pb.style.visibility=(a=!a)?"":"hidden"},650)}function sb(a){function b(a,b,c){if(a.text)for(var d,e=a.styles,f=g?0:a.text.length-1,i=g?0:e.length-2,j=g?e.length:-2;i!=j;i+=2*h){var k=e[i];if(null==e[i+1]||e[i+1]==m){for(var l=g?0:k.length-1,p=g?k.length:-1;l!=p;l+=h,f+=h)if(f>=b&&f<c&&o.test(d=k.charAt(l))){var q=Gc[d];if(">"==q.charAt(1)==g)n.push(d);else{if(n.pop()!=q.charAt(0))return{pos:f,match:!1};if(!n.length)return{pos:f,match:!0}}}}else f+=h*k.length}}var c=lc.inverted?lc.from:lc.to,d=u(c.line),e=c.ch-1,f=e>=0&&Gc[d.text.charAt(e)]||Gc[d.text.charAt(++e)];if(f){for(var g=(f.charAt(0),">"==f.charAt(1)),h=g?1:-1,i=d.styles,j=e+1,k=0,l=i.length;k<l;k+=2)if((j-=i[k].length)<=0){var m=i[k+1];break}for(var n=[d.text.charAt(e)],o=/[(){}[\]]/,k=c.line,l=g?Math.min(k+100,Yb.size):Math.max(-1,k-100);k!=l;k+=h){var d=u(k),p=k==c.line,q=b(d,p&&g?e+1:0,p&&!g?e:d.text.length);if(q)break}q||(q={pos:null,match:!1});var m=q.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket",r=$a({line:c.line,ch:e},{line:c.line,ch:e+1},m),s=null!=q.pos&&$a({line:k,ch:q.pos},{line:k,ch:q.pos+1},m),t=Ab(function(){r.clear(),s&&s.clear()});a?setTimeout(t,800):jc=t}}function tb(a){for(var b,c,d=a,e=a-40;d>e;--d){if(0==d)return 0;var f=u(d-1);if(f.stateAfter)return d;var g=f.indentation(Bb.tabSize);(null==c||b>g)&&(c=d-1,b=g)}return c}function ub(a){var b=tb(a),c=b&&u(b-1).stateAfter;return c=c?d(Tb,c):e(Tb),Yb.iter(b,a,function(a){a.highlight(Tb,c,Bb.tabSize),a.stateAfter=d(Tb,c)}),b<a&&dc.push({from:b,to:a}),a<Yb.size&&!u(a).stateAfter&&Ub.push(a),c}function vb(a,b){var c=ub(a);Yb.iter(a,b,function(a){a.highlight(Tb,c,Bb.tabSize),a.stateAfter=d(Tb,c)})}function wb(){for(var a=+new Date+Bb.workTime,b=Ub.length;Ub.length;){if(u(oc).stateAfter)var c=Ub.pop();else var c=oc;if(!(c>=Yb.size)){var f=tb(c),g=f&&u(f-1).stateAfter;g=g?d(Tb,g):e(Tb);var h=0,i=Tb.compareStates,j=!1,k=f,l=!1;if(Yb.iter(k,Yb.size,function(b){var e=b.stateAfter;if(+new Date>a)return Ub.push(k),xb(Bb.workDelay),j&&dc.push({from:c,to:k+1}),l=!0;var f=b.highlight(Tb,g,Bb.tabSize);if(f&&(j=!0),b.stateAfter=d(Tb,g),i){if(e&&i(e,g))return!0}else if(f===!1&&e){if(++h>3&&(!Tb.indent||Tb.indent(e,"")==Tb.indent(g,"")))return!0}else h=0;++k}),l)return;j&&dc.push({from:c,to:k+1})}}b&&Bb.onHighlightComplete&&Bb.onHighlightComplete(vc)}function xb(a){Ub.length&&Xb.set(a,Ab(wb))}function yb(){bc=cc=ec=null,dc=[],fc=!1,ic=[]}function zb(){var a,b=!1;fc&&(b=!wa()),dc.length?a=za(dc,!0):(fc&&Da(),hc&&Ca()),b&&wa(),fc&&(va(),rb()),Vb&&!gc&&(bc===!0||bc!==!1&&fc)&&ta(cc),fc&&Bb.matchBrackets&&setTimeout(Ab(function(){jc&&(jc(),jc=null),E(lc.from,lc.to)&&sb(!1)}),20);var c=ec,d=ic;fc&&Bb.onCursorActivity&&Bb.onCursorActivity(vc),c&&Bb.onChange&&vc&&Bb.onChange(vc,c);for(var e=0;e<d.length;++e)d[e](vc);a&&Bb.onUpdate&&Bb.onUpdate(vc)}function Ab(a){return function(){Hc++||yb();try{var b=a.apply(this,arguments)}finally{--Hc||zb()}return b}}var Bb={},Cb=a.defaults;for(var Db in Cb)Cb.hasOwnProperty(Db)&&(Bb[Db]=(j&&j.hasOwnProperty(Db)?j:Cb)[Db]);var Eb=Bb.document,Fb=Eb.createElement("div");Fb.className="CodeMirror"+(Bb.lineWrapping?" CodeMirror-wrap":""),Fb.innerHTML='<div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea style="position: absolute; padding: 0; width: 1px;" wrap="off" autocorrect="off" autocapitalize="off"></textarea></div><div class="CodeMirror-scroll" tabindex="-1"><div style="position: relative"><div style="position: relative"><div class="CodeMirror-gutter"><div class="CodeMirror-gutter-text"></div></div><div class="CodeMirror-lines"><div style="position: relative"><div style="position: absolute; width: 100%; height: 0; overflow: hidden; visibility: hidden"></div><pre class="CodeMirror-cursor">&#160;</pre><div></div></div></div></div></div></div>',f.appendChild?f.appendChild(Fb):f(Fb);var Gb=Fb.firstChild,Hb=Gb.firstChild,Ib=Fb.lastChild,Jb=Ib.firstChild,Kb=Jb.firstChild,Lb=Kb.firstChild,Mb=Lb.firstChild,Nb=Lb.nextSibling.firstChild,Ob=Nb.firstChild,Pb=Ob.nextSibling,Qb=Pb.nextSibling;Ya(),/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent)&&(Hb.style.width="0px"),U||(Nb.draggable=!0),null!=Bb.tabindex&&(Hb.tabIndex=Bb.tabindex),Bb.gutter||Bb.lineNumbers||(Lb.style.display="none");try{gb("x")}catch(Rb){throw Rb.message.match(/runtime/i)&&(Rb=new Error("A CodeMirror inside a P-style element does not work in Internet Explorer. (innerHTML bug)")),Rb}var Sb,Tb,Ub,Vb,Wb=new z,Xb=new z,Yb=new l([new k([new i("")])]);Ta();var Zb,$b,_b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc={from:{line:0,ch:0},to:{line:0,ch:0},inverted:!1},mc=!1,nc=0,oc=0,pc=0,qc=0,rc="",sc=Wa();Ab(function(){B(Bb.value||""),bc=!1})();var tc=new q;y(Ib,"mousedown",Ab(N)),y(Ib,"dblclick",Ab(V)),y(Nb,"dragstart",_),y(Nb,"selectstart",t),S||y(Ib,"contextmenu",qb),y(Ib,"scroll",function(){za([]),Bb.fixedGutter&&(Lb.style.left=Ib.scrollLeft+"px"),Bb.onScroll&&Bb.onScroll(vc)}),y(window,"resize",function(){za(!0)}),y(Hb,"keyup",Ab(da)),y(Hb,"input",ra),y(Hb,"keydown",Ab(ba)),y(Hb,"keypress",Ab(ca)),y(Hb,"focus",ea),y(Hb,"blur",fa),y(Ib,"dragenter",v),y(Ib,"dragover",v),y(Ib,"drop",Ab($)),y(Ib,"paste",function(){ua(),ra()}),y(Hb,"paste",ra),y(Hb,"cut",Ab(function(){ma("")}));var uc;try{uc=Eb.activeElement==Hb}catch(Rb){}uc?setTimeout(ea,20):fa();var vc=Fb.CodeMirror={getValue:M,setValue:Ab(B),getSelection:pa,replaceSelection:Ab(ma),focus:function(){ua(),ea(),ra()},setOption:function(a,b){var c=Bb[a];Bb[a]=b,"mode"==a||"indentUnit"==a?Ta():"readOnly"==a&&b?(fa(),Hb.blur()):"theme"==a?Ya():"lineWrapping"==a&&c!=b?Ab(Va)():"tabSize"==a&&Ab(Xa)(),"lineNumbers"!=a&&"gutter"!=a&&"firstLineNumber"!=a&&"theme"!=a||Ab(Ua)()},getOption:function(a){return Bb[a]},undo:Ab(ia),redo:Ab(ja),indentLine:Ab(function(a,b){r(a)&&Sa(a,null==b?"smart":b?"add":"subtract")}),indentSelection:Ab(Ra),historySize:function(){return{undo:tc.done.length,redo:tc.undone.length}},clearHistory:function(){tc=new q},matchBrackets:Ab(function(){sb(!0)}),getTokenAt:Ab(function(a){return a=Ka(a),u(a.line).getTokenAt(Tb,ub(a.line),a.ch)}),getStateAfter:function(a){return a=Ja(null==a?Yb.size-1:a),ub(a+1)},cursorCoords:function(a){return null==a&&(a=lc.inverted),kb(a?lc.from:lc.to)},charCoords:function(a){return kb(Ka(a))},coordsChar:function(a){var b=C(Nb);return jb(a.x-b.left,a.y-b.top)},markText:Ab($a),setBookmark:_a,setMarker:Ab(ab),clearMarker:Ab(bb),setLineClass:Ab(db),hideLine:Ab(function(a){return eb(a,!0)}),showLine:Ab(function(a){return eb(a,!1)}),onDeleteLine:function(a,b){if("number"==typeof a){if(!r(a))return null;a=u(a)}return(a.handlers||(a.handlers=[])).push(b),a},lineInfo:fb,addWidget:function(a,b,c,d,e){a=ib(Ka(a));var f=a.yBot,g=a.x;if(b.style.position="absolute",Jb.appendChild(b),"over"==d)f=a.y;else if("near"==d){var h=Math.max(Ib.offsetHeight,Yb.height*lb()),i=Math.max(Jb.clientWidth,Nb.clientWidth)-ob();a.yBot+b.offsetHeight>h&&a.y>b.offsetHeight&&(f=a.y-b.offsetHeight),g+b.offsetWidth>i&&(g=i-b.offsetWidth)}b.style.top=f+nb()+"px",b.style.left=b.style.right="","right"==e?(g=Jb.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?g=0:"middle"==e&&(g=(Jb.clientWidth-b.offsetWidth)/2),b.style.left=g+ob()+"px"),c&&xa(g,f,g+b.offsetWidth,f+b.offsetHeight)},lineCount:function(){return Yb.size},clipPos:Ka,getCursor:function(a){return null==a&&(a=lc.inverted),G(a?lc.from:lc.to)},somethingSelected:function(){return!E(lc.from,lc.to)},setCursor:Ab(function(a,b,c){null==b&&"number"==typeof a.line?Ia(a.line,a.ch,c):Ia(a,b,c)}),setSelection:Ab(function(a,b,c){(c?Fa:Ga)(Ka(a),Ka(b||a))}),getLine:function(a){if(r(a))return u(a).text},getLineHandle:function(a){if(r(a))return u(a)},setLine:Ab(function(a,b){r(a)&&la(b,{line:a,ch:0},{line:a,ch:u(a).text.length})}),removeLine:Ab(function(a){r(a)&&la("",{line:a,ch:0},Ka({line:a+1,ch:0}))}),replaceRange:Ab(la),getRange:function(a,b){return oa(Ka(a),Ka(b))},execCommand:function(a){return P[a](vc)},moveH:Ab(Ma),deleteH:Ab(Na),moveV:Ab(Oa),toggleOverwrite:function(){mc=!mc},posFromIndex:function(a){var b,c=0;return Yb.iter(0,Yb.size,function(d){var e=d.text.length+1;return e>a?(b=a,!0):(a-=e,void++c)}),Ka({line:c,ch:b})},indexFromPos:function(a){if(a.line<0||a.ch<0)return 0;var b=a.ch;return Yb.iter(0,a.line,function(a){b+=a.text.length+1}),b},operation:function(a){return Ab(a)()},refresh:function(){za(!0)},getInputField:function(){return Hb},getWrapperElement:function(){return Fb},getScrollerElement:function(){return Ib},getGutterElement:function(){return Lb}},wc=null,xc=!1,yc="",zc=null;Za.prototype.clear=Ab(function(){for(var a=1/0,b=-(1/0),c=0,d=this.set.length;c<d;++c){var e=this.set[c],f=e.marked;if(f&&e.parent){var g=n(e);a=Math.min(a,g),b=Math.max(b,g);for(var h=0;h<f.length;++h)f[h].set==this.set&&f.splice(h--,1)}}a!=1/0&&dc.push({from:a,to:b+1})}),Za.prototype.find=function(){for(var a,b,c=0,d=this.set.length;c<d;++c)for(var e=this.set[c],f=e.marked,g=0;g<f.length;++g){var h=f[g];if(h.set==this.set&&(null!=h.from||null!=h.to)){var i=n(e);null!=i&&(null!=h.from&&(a={line:i,ch:h.from}),null!=h.to&&(b={line:i,ch:h.to}))}}return{from:a,to:b}};var Ac,Bc,Cc,Dc,Ec=Math.floor(16777215*Math.random()).toString(16),Fc=0,Gc={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},Hc=0;for(var Ic in O)O.propertyIsEnumerable(Ic)&&!vc.propertyIsEnumerable(Ic)&&(vc[Ic]=O[Ic]);return vc}function b(a,b,c){function d(a,b,c){var e=b[a];if(null!=e)return e;if(null==c&&(c=b.fallthrough),null==c)return b.catchall;if("string"==typeof c)return d(a,Q[c]);for(var f=0,g=c.length;f<g;++f)if(e=d(a,Q[c[f]]),null!=e)return e;return null}return b?d(a,b,c):d(a,Q[c])}function c(a){var b=Z[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function d(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function e(a,b,c){return!a.startState||a.startState(b,c)}function f(a,b){this.pos=this.start=0,this.string=a,this.tabSize=b||8}function g(a,b,c,d){this.from=a,this.to=b,this.style=c,this.set=d}function h(a){this.from=a,this.to=a,this.line=null}function i(a,b){this.styles=b||[a,null],this.text=a,this.height=1,this.marked=this.gutterMarker=this.className=this.handlers=null,this.stateAfter=this.parent=this.hidden=null}function j(a,b,c,d){for(var e=0,f=0,g=0;f<b;e+=2){var h=c[e],i=f+h.length;0==g?(i>a&&d.push(h.slice(a-f,Math.min(h.length,b-f)),c[e+1]),i>=a&&(g=1)):1==g&&(i>b?d.push(h.slice(0,b-f),c[e+1]):d.push(h,c[e+1])),f=i}}function k(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 l(a){this.children=a;for(var b=0,c=0,d=0,e=a.length;d<e;++d){var f=a[d];b+=f.chunkSize(),c+=f.height,f.parent=this}this.size=b,this.height=c,this.parent=null}function m(a,b){for(;!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 n(a){if(null==a.parent)return null;for(var b=a.parent,c=J(b.lines,a),d=b.parent;d;b=d,d=d.parent){var e=0;for(d.children.length;d.children[e]!=b;++e)c+=d.children[e].chunkSize()}return c}function o(a,b){var c=0;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);for(var d=0,e=a.lines.length;d<e;++d){var h=a.lines[d],i=h.height;if(b<i)break;b-=i}return c+d}function p(a,b){var c=0;a:do{for(var d=0,e=a.children.length;d<e;++d){var f=a.children[d],g=f.chunkSize();if(b<g){a=f;continue a}b-=g,c+=f.height}return c}while(!a.lines);for(var d=0;d<b;++d)c+=a.lines[d].height;return c}function q(){this.time=0,this.done=[],this.undone=[]}function r(){v(this)}function s(a){return a.stop||(a.stop=r),a}function t(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function u(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function v(a){t(a),u(a)}function w(a){return a.target||a.srcElement}function x(a){return a.which?a.which:1&a.button?1:2&a.button?3:4&a.button?2:void 0}function y(a,b,c,d){
if("function"==typeof a.addEventListener){if(a.addEventListener(b,c,!1),d)return function(){a.removeEventListener(b,c,!1)}}else{var e=function(a){c(a||window.event)};if(a.attachEvent("on"+b,e),d)return function(){a.detachEvent("on"+b,e)}}}function z(){this.id=null}function A(a,b,c){null==b&&(b=a.search(/[^\s\u00a0]/),b==-1&&(b=a.length));for(var d=0,e=0;d<b;++d)"\t"==a.charAt(d)?e+=c-e%c:++e;return e}function B(a){return a.currentStyle?a.currentStyle:window.getComputedStyle(a,null)}function C(a,b){for(var c=a.ownerDocument.body,d=0,e=0,f=!1,g=a;g;g=g.offsetParent){var h=g.offsetLeft,i=g.offsetTop;g==c?(d+=Math.abs(h),e+=Math.abs(i)):(d+=h,e+=i),b&&"fixed"==B(g).position&&(f=!0)}for(var j=b&&!f?null:c,g=a.parentNode;g!=j;g=g.parentNode)null!=g.scrollLeft&&(d-=g.scrollLeft,e-=g.scrollTop);return{left:d,top:e}}function D(a){return a.textContent||a.innerText||a.nodeValue||""}function E(a,b){return a.line==b.line&&a.ch==b.ch}function F(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function G(a){return{line:a.line,ch:a.ch}}function H(a){return W.textContent=a,W.innerHTML}function I(a,b){if(!b)return a?a.length:0;if(!a)return b.length;for(var c=a.length,d=b.length;c>=0&&d>=0&&a.charAt(c)==b.charAt(d);--c,--d);return d+1}function J(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 K(a){return/\w/.test(a)||a.toUpperCase()!=a.toLowerCase()}a.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:!1,tabSize:4,keyMap:"default",extraKeys:null,electricChars:!0,onKeyEvent:null,lineWrapping:!1,lineNumbers:!1,gutter:!1,fixedGutter:!1,firstLineNumber:1,readOnly:!1,onChange:null,onCursorActivity:null,onGutterClick:null,onHighlightComplete:null,onUpdate:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:!1,workTime:100,workDelay:200,pollInterval:100,undoDepth:40,tabindex:null,document:window.document};var L=/Mac/.test(navigator.platform),M=(/Win/.test(navigator.platform),{}),N={};a.defineMode=function(b,c){a.defaults.mode||"null"==b||(a.defaults.mode=b),M[b]=c},a.defineMIME=function(a,b){N[a]=b},a.getMode=function(b,c){if("string"==typeof c&&N.hasOwnProperty(c)&&(c=N[c]),"string"==typeof c)var d=c,e={};else if(null!=c)var d=c.name,e=c;var f=M[d];return f?f(b,e||{}):(window.console&&console.warn("No mode "+d+" found, falling back to plain text."),a.getMode(b,"text/plain"))},a.listModes=function(){var a=[];for(var b in M)M.propertyIsEnumerable(b)&&a.push(b);return a},a.listMIMEs=function(){var a=[];for(var b in N)N.propertyIsEnumerable(b)&&a.push({mime:b,mode:N[b]});return a};var O=a.extensions={};a.defineExtension=function(a,b){O[a]=b};var P=a.commands={selectAll:function(a){a.setSelection({line:0,ch:0},{line:a.lineCount()-1})},killLine:function(a){var b=a.getCursor(!0),c=a.getCursor(!1),d=!E(b,c);d||a.getLine(b.line).length!=b.ch?a.replaceRange("",b,d?c:{line:b.line}):a.replaceRange("",b,{line:b.line+1,ch:0})},deleteLine:function(a){var b=a.getCursor().line;a.replaceRange("",{line:b,ch:0},{line:b})},undo:function(a){a.undo()},redo:function(a){a.redo()},goDocStart:function(a){a.setCursor(0,0,!0)},goDocEnd:function(a){a.setSelection({line:a.lineCount()-1},null,!0)},goLineStart:function(a){a.setCursor(a.getCursor().line,0,!0)},goLineStartSmart:function(a){var b=a.getCursor(),c=a.getLine(b.line),d=Math.max(0,c.search(/\S/));a.setCursor(b.line,b.ch<=d&&b.ch?0:d,!0)},goLineEnd:function(a){a.setSelection({line:a.getCursor().line},null,!0)},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")},goWordRight:function(a){a.moveH(1,"word")},delCharLeft:function(a){a.deleteH(-1,"char")},delCharRight:function(a){a.deleteH(1,"char")},delWordLeft:function(a){a.deleteH(-1,"word")},delWordRight:function(a){a.deleteH(1,"word")},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")},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),{line:b.line,ch:b.ch-1},{line:b.line,ch:b.ch+1})},newlineAndIndent:function(a){a.replaceSelection("\n","end"),a.indentLine(a.getCursor().line)},toggleOverwrite:function(a){a.toggleOverwrite()}},Q=a.keyMap={};Q.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharRight",Backspace:"delCharLeft",Tab:"indentMore","Shift-Tab":"indentLess",Enter:"newlineAndIndent",Insert:"toggleOverwrite"},Q.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":"goWordLeft","Ctrl-Right":"goWordRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delWordLeft","Ctrl-Delete":"delWordRight","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll",fallthrough:"basic"},Q.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":"goWordLeft","Alt-Right":"goWordRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delWordLeft","Ctrl-Alt-Backspace":"delWordRight","Alt-Delete":"delWordRight","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll",fallthrough:["basic","emacsy"]},Q["default"]=L?Q.macDefault:Q.pcDefault,Q.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":"goPageUp","Shift-Ctrl-V":"goPageDown","Ctrl-D":"delCharRight","Ctrl-H":"delCharLeft","Alt-D":"delWordRight","Alt-Backspace":"delWordLeft","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},a.fromTextArea=function(b,c){function d(){b.value=h.getValue()}function e(){d(),b.form.submit=g,b.form.submit(),b.form.submit=e}if(c||(c={}),c.value=b.value,!c.tabindex&&b.tabindex&&(c.tabindex=b.tabindex),b.form){var f=y(b.form,"submit",d,!0);if("function"==typeof b.form.submit){var g=b.form.submit;b.form.submit=e}}b.style.display="none";var h=a(function(a){b.parentNode.insertBefore(a,b.nextSibling)},c);return h.save=d,h.getTextArea=function(){return b},h.toTextArea=function(){d(),b.parentNode.removeChild(h.getWrapperElement()),b.style.display="",b.form&&(f(),"function"==typeof b.form.submit&&(b.form.submit=g))},h},a.copyState=d,a.startState=e,f.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)},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("string"==typeof a)var c=b==a;else var c=b&&(a.test?a.test(b):a(b));if(c)return++this.pos,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){var b=this.string.indexOf(a,this.pos);if(b>-1)return this.pos=b,!0},backUp:function(a){this.pos-=a},column:function(){return A(this.string,this.start,this.tabSize)},indentation:function(){return A(this.string,null,this.tabSize)},match:function(a,b,c){function d(a){return c?a.toLowerCase():a}if("string"!=typeof a){var e=this.string.slice(this.pos).match(a);return e&&b!==!1&&(this.pos+=e[0].length),e}if(d(this.string).indexOf(d(a),this.pos)==this.pos)return b!==!1&&(this.pos+=a.length),!0},current:function(){return this.string.slice(this.start,this.pos)}},a.StringStream=f,g.prototype={attach:function(a){this.set.push(a)},detach:function(a){var b=J(this.set,a);b>-1&&this.set.splice(b,1)},split:function(a,b){if(this.to<=a&&null!=this.to)return null;var c=this.from<a||null==this.from?null:this.from-a+b,d=null==this.to?null:this.to-a+b;return new g(c,d,this.style,this.set)},dup:function(){return new g(null,null,this.style,this.set)},clipTo:function(a,b,c,d,e){null!=this.from&&this.from>=b&&(this.from=Math.max(d,this.from)+e),null!=this.to&&this.to>b&&(this.to=d<this.to?this.to+e:b),a&&d>this.from&&(d<this.to||null==this.to)&&(this.from=null),c&&(b<this.to||null==this.to)&&(b>this.from||null==this.from)&&(this.to=null)},isDead:function(){return null!=this.from&&null!=this.to&&this.from>=this.to},sameSet:function(a){return this.set==a.set}},h.prototype={attach:function(a){this.line=a},detach:function(a){this.line==a&&(this.line=null)},split:function(a,b){if(a<this.from)return this.from=this.to=this.from-a+b,this},isDead:function(){return this.from>this.to},clipTo:function(a,b,c,d,e){(a||b<this.from)&&(c||d>this.to)?(this.from=0,this.to=-1):this.from>b&&(this.from=this.to=Math.max(d,this.from)+e)},sameSet:function(a){return!1},find:function(){return this.line&&this.line.parent?{line:n(this.line),ch:this.from}:null},clear:function(){if(this.line){var a=J(this.line.marked,this);a!=-1&&this.line.marked.splice(a,1),this.line=null}}},i.inheritMarks=function(a,b){var c=new i(a),d=b&&b.marked;if(d)for(var e=0;e<d.length;++e)if(null==d[e].to&&d[e].style){var f=c.marked||(c.marked=[]),g=d[e],h=g.dup();f.push(h),h.attach(c)}return c},i.prototype={replace:function(a,b,c){var d=[],e=this.marked,f=null==b?this.text.length:b;if(j(0,a,this.styles,d),c&&d.push(c,null),j(f,this.text.length,this.styles,d),this.styles=d,this.text=this.text.slice(0,a)+c+this.text.slice(f),this.stateAfter=null,e)for(var g=c.length-(f-a),h=0,i=e[h];h<e.length;++h)i.clipTo(null==a,a||0,null==b,f,g),i.isDead()&&(i.detach(this),e.splice(h--,1))},split:function(a,b){var c=[b,null],d=this.marked;j(a,this.text.length,this.styles,c);var e=new i(b+this.text.slice(a),c);if(d)for(var f=0;f<d.length;++f){var g=d[f],h=g.split(a,b.length);h&&(e.marked||(e.marked=[]),e.marked.push(h),h.attach(e))}return e},append:function(a){var b=this.text.length,c=a.marked,d=this.marked;if(this.text+=a.text,j(0,a.text.length,a.styles,this.styles),d)for(var e=0;e<d.length;++e)null==d[e].to&&(d[e].to=b);if(c&&c.length){d||(this.marked=d=[]);a:for(var e=0;e<c.length;++e){var f=c[e];if(!f.from)for(var g=0;g<d.length;++g){var h=d[g];if(h.to==b&&h.sameSet(f)){h.to=null==f.to?null:f.to+b,h.isDead()&&(h.detach(this),c.splice(e--,1));continue a}}d.push(f),f.attach(this),f.from+=b,null!=f.to&&(f.to+=b)}}},fixMarkEnds:function(a){var b=this.marked,c=a.marked;if(b)for(var d=0;d<b.length;++d){var e=b[d],f=null==e.to;if(f&&c)for(var g=0;g<c.length;++g)if(c[g].sameSet(e)){f=!1;break}f&&(e.to=this.text.length)}},fixMarkStarts:function(){var a=this.marked;if(a)for(var b=0;b<a.length;++b)null==a[b].from&&(a[b].from=0)},addMark:function(a){a.attach(this),null==this.marked&&(this.marked=[]),this.marked.push(a),this.marked.sort(function(a,b){return(a.from||0)-(b.from||0)})},highlight:function(a,b,c){var d,e=new f(this.text,c),g=this.styles,h=0,i=!1,j=g[0];for(""==this.text&&a.blankLine&&a.blankLine(b);!e.eol();){var k=a.token(e,b),l=this.text.slice(e.start,e.pos);if(e.start=e.pos,h&&g[h-1]==k?g[h-2]+=l:l&&(!i&&(g[h+1]!=k||h&&g[h-2]!=d)&&(i=!0),g[h++]=l,g[h++]=k,d=j,j=g[h]),e.pos>5e3){g[h++]=this.text.slice(e.pos),g[h++]=null;break}}return g.length!=h&&(g.length=h,i=!0),h&&g[h-2]!=d&&(i=!0),i||g.length<5&&this.text.length<10&&null},getTokenAt:function(a,b,c){for(var d=this.text,e=new f(d);e.pos<c&&!e.eol();){e.start=e.pos;var g=a.token(e,b)}return{start:e.start,end:e.pos,string:e.current(),className:g||null,state:b}},indentation:function(a){return A(this.text,null,a)},getHTML:function(a,b,c,d,e){function f(a,b){a&&(i&&T&&" "==a.charAt(0)&&(a=" "+a.slice(1)),i=!1,b?h.push('<span class="',b,'">',H(a).replace(/\t/g,d),"</span>"):h.push(H(a).replace(/\t/g,d)))}function g(){l&&(r+=1,s=r<l.length?l[r]:null)}var h=[],i=!0;c&&h.push(this.className?'<pre class="'+this.className+'">':"<pre>");var j=this.styles,k=this.text,l=this.marked;a==b&&(a=null);var m=k.length;if(null!=e&&(m=Math.min(e,m)),k||null!=e)if(l||null!=a){var n,o=0,p=0,q="",r=-1,s=null;for(g();o<m;){var t=m,u="";for(null!=a&&(a>o?t=a:(null==b||b>o)&&(u=" CodeMirror-selected",null!=b&&(t=Math.min(t,b))));s&&null!=s.to&&s.to<=o;)g();for(s&&(s.from>o?t=Math.min(t,s.from):(u+=" "+s.style,null!=s.to&&(t=Math.min(t,s.to))));;){var v=o+q.length,w=n;if(u&&(w=n?n+u:u),f(v>t?q.slice(0,t-o):q,w),v>=t){q=q.slice(t-o),o=t;break}o=v,q=j[p++],n="cm-"+j[p++]}}null!=a&&null==b&&f(" ","CodeMirror-selected")}else for(var p=0,x=0;x<m;p+=2){var y=j[p],n=j[p+1],z=y.length;x+z>m&&(y=y.slice(0,m-x)),x+=z,f(y,n&&"cm-"+n)}else f(" ",null!=a&&null==b?"CodeMirror-selected":null);return c&&h.push("</pre>"),h.join("")},cleanUp:function(){if(this.parent=null,this.marked)for(var a=0,b=this.marked.length;a<b;++a)this.marked[a].detach(this)}},k.prototype={chunkSize:function(){return this.lines.length},remove:function(a,b,c){for(var d=a,e=a+b;d<e;++d){var f=this.lines[d];if(this.height-=f.height,f.cleanUp(),f.handlers)for(var g=0;g<f.handlers.length;++g)c.push(f.handlers[g])}this.lines.splice(a,b)},collapse:function(a){a.splice.apply(a,[a.length,0].concat(this.lines))},insertHeight:function(a,b,c){this.height+=c,this.lines.splice.apply(this.lines,[a,0].concat(b));for(var d=0,e=b.length;d<e;++d)b[d].parent=this},iterN:function(a,b,c){for(var d=a+b;a<d;++a)if(c(this.lines[a]))return!0}},l.prototype={chunkSize:function(){return this.size},remove:function(a,b,c){this.size-=b;for(var d=0;d<this.children.length;++d){var e=this.children[d],f=e.chunkSize();if(a<f){var g=Math.min(b,f-a),h=e.height;if(e.remove(a,g,c),this.height-=h-e.height,f==g&&(this.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(this.size-b<25){var i=[];this.collapse(i),this.children=[new k(i)]}},collapse:function(a){for(var b=0,c=this.children.length;b<c;++b)this.children[b].collapse(a)},insert:function(a,b){for(var c=0,d=0,e=b.length;d<e;++d)c+=b[d].height;this.insertHeight(a,b,c)},insertHeight:function(a,b,c){this.size+=b.length,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){if(f.insertHeight(a,b,c),f.lines&&f.lines.length>50){for(;f.lines.length>50;){var h=f.lines.splice(f.lines.length-25,25),i=new k(h);f.height-=i.height,this.children.splice(d+1,0,i),i.parent=this}this.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new l(b);if(a.parent){a.size-=c.size,a.height-=c.height;var d=J(a.parent.children,a);a.parent.children.splice(d+1,0,c)}else{var e=new l(a.children);e.parent=a,a.children=[e,c],a=e}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iter:function(a,b,c){this.iterN(a,b-a,c)},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){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}},q.prototype={addChange:function(a,b,c){this.undone.length=0;var d=+new Date,e=this.done[this.done.length-1];if(d-this.time>400||!e||e.start>a+b||e.start+e.added<a-e.added+e.old.length)this.done.push({start:a,added:b,old:c});else{var f=0;if(a<e.start){for(var g=e.start-a-1;g>=0;--g)e.old.unshift(c[g]);e.added+=e.start-a,e.start=a}else e.start<a&&(f=a-e.start,b+=f);for(var g=e.added-f,h=c.length;g<h;++g)e.old.push(c[g]);e.added<b&&(e.added=b)}this.time=d}},a.e_stop=v,a.e_preventDefault=t,a.e_stopPropagation=u,a.connect=y,z.prototype={set:function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)}};var R=function(){if(/MSIE [1-8]\b/.test(navigator.userAgent))return!1;var a=document.createElement("div");return"draggable"in a}(),S=/gecko\/\d{7}/i.test(navigator.userAgent),T=/MSIE \d/.test(navigator.userAgent),U=/WebKit\//.test(navigator.userAgent),V="\n";!function(){var a=document.createElement("textarea");a.value="foo\nbar",a.value.indexOf("\r")>-1&&(V="\r\n")}(),null!=document.documentElement.getBoundingClientRect&&(C=function(a,b){try{var c=a.getBoundingClientRect();c={top:c.top,left:c.left}}catch(d){c={top:0,left:0}}if(!b)if(null==window.pageYOffset){var e=document.documentElement||document.body.parentNode;null==e.scrollTop&&(e=document.body),c.top+=e.scrollTop,c.left+=e.scrollLeft}else c.top+=window.pageYOffset,c.left+=window.pageXOffset;return c});var W=document.createElement("pre");"\na"==H("a")?H=function(a){return W.textContent=a,W.innerHTML.slice(1)}:"\t"!=H("\t")&&(H=function(a){return W.innerHTML="",W.appendChild(document.createTextNode(a)),W.innerHTML}),a.htmlEscape=H;var X=3!="\n\nb".split(/\n/).length?function(a){for(var b,c=0,d=[];(b=a.indexOf("\n",c))>-1;)d.push(a.slice(c,"\r"==a.charAt(b-1)?b-1:b)),c=b+1;return d.push(a.slice(c)),d}:function(a){return a.split(/\r?\n/)};a.splitLines=X;var Y=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return!(!b||b.parentElement()!=a)&&0!=b.compareEndPoints("StartToEnd",b)};a.defineMode("null",function(){return{token:function(a){a.skipToEnd()}}}),a.defineMIME("text/plain","null");var Z={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};return a.keyNames=Z,function(){for(var a=0;a<10;a++)Z[a+48]=String(a);for(var a=65;a<=90;a++)Z[a]=String.fromCharCode(a);for(var a=1;a<=12;a++)Z[a+111]=Z[a+63235]="F"+a}(),a}();CodeMirror.defineMode("xml",function(a,b){function c(a,b){function c(c){return b.tokenize=c,c(a,b)}var e=a.next();if("<"==e){if(a.eat("!"))return a.eat("[")?a.match("CDATA[")?c(f("atom","]]>")):null:a.match("--")?c(f("comment","-->")):a.match("DOCTYPE",!0,!0)?(a.eatWhile(/[\w\._\-]/),c(g(1))):null;if(a.eat("?"))return a.eatWhile(/[\w\._\-]/),b.tokenize=f("meta","?>"),"meta";s=a.eat("/")?"closeTag":"openTag",a.eatSpace(),r="";for(var h;h=a.eat(/[^\s\u00a0=<>\"\'\/?]/);)r+=h;return b.tokenize=d,"tag"}return"&"==e?(a.eatWhile(/[^;]/),a.eat(";"),"atom"):(a.eatWhile(/[^&<]/),null)}function d(a,b){var d=a.next();return">"==d||"/"==d&&a.eat(">")?(b.tokenize=c,s=">"==d?"endTag":"selfcloseTag","tag"):"="==d?(s="equals",null):/[\'\"]/.test(d)?(b.tokenize=e(d),b.tokenize(a,b)):(a.eatWhile(/[^\s\u00a0=<>\"\'\/?]/),"word")}function e(a){return function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=d;break}return"string"}}function f(a,b){return function(d,e){for(;!d.eol();){if(d.match(b)){e.tokenize=c;break}d.next()}return a}}function g(a){return function(b,d){for(var e;null!=(e=b.next());){if("<"==e)return d.tokenize=g(a+1),d.tokenize(b,d);if(">"==e){if(1==a){d.tokenize=c;break}return d.tokenize=g(a-1),d.tokenize(b,d)}}return"meta"}}function h(){for(var a=arguments.length-1;a>=0;a--)t.cc.push(arguments[a])}function i(){return h.apply(null,arguments),!0}function j(a,b){var c=w.doNotIndent.hasOwnProperty(a)||t.context&&t.context.noIndent;t.context={prev:t.context,tagName:a,indent:t.indented,startOfLine:b,noIndent:c}}function k(){t.context&&(t.context=t.context.prev)}function l(a){if("openTag"==a)return t.tagName=r,i(o,m(t.startOfLine));if("closeTag"==a){var b=!1;return b=!t.context||t.context.tagName!=r,b&&(u="error"),i(n(b))}return i()}function m(a){return function(b){return"selfcloseTag"==b||"endTag"==b&&w.autoSelfClosers.hasOwnProperty(t.tagName.toLowerCase())?i():"endTag"==b?(j(t.tagName,a),i()):i()}}function n(a){return function(b){return a&&(u="error"),"endTag"==b?(k(),i()):(u="error",i(arguments.callee))}}function o(a){return"word"==a?(u="attribute",i(o)):"equals"==a?i(p,o):"string"==a?(u="error",i(o)):h()}function p(a){return"word"==a&&w.allowUnquoted?(u="string",i()):"string"==a?i(q):h()}function q(a){return"string"==a?i(q):h()}var r,s,t,u,v=a.indentUnit,w=b.htmlMode?{autoSelfClosers:{br:!0,img:!0,hr:!0,link:!0,input:!0,meta:!0,col:!0,frame:!0,base:!0,area:!0},doNotIndent:{pre:!0},allowUnquoted:!0}:{autoSelfClosers:{},doNotIndent:{},allowUnquoted:!1},x=b.alignCDATA;return{startState:function(){return{tokenize:c,cc:[],indented:0,startOfLine:!0,tagName:null,context:null}},token:function(a,b){if(a.sol()&&(b.startOfLine=!0,b.indented=a.indentation()),a.eatSpace())return null;u=s=r=null;var c=b.tokenize(a,b);if(b.type=s,(c||s)&&"comment"!=c)for(t=b;;){var d=b.cc.pop()||l;if(d(s||c))break}return b.startOfLine=!1,u||c},indent:function(a,b,e){var f=a.context;if(a.tokenize!=d&&a.tokenize!=c||f&&f.noIndent)return e?e.match(/^(\s*)/)[0].length:0;if(x&&/<!\[CDATA\[/.test(b))return 0;for(f&&/^<\//.test(b)&&(f=f.prev);f&&!f.startOfLine;)f=f.prev;return f?f.indent+v:0},compareStates:function(a,b){if(a.indented!=b.indented||a.tokenize!=b.tokenize)return!1;for(var c=a.context,d=b.context;;c=c.prev,d=d.prev){if(!c||!d)return c==d;if(c.tagName!=d.tagName)return!1}},electricChars:"/"}}),CodeMirror.defineMIME("application/xml","xml"),CodeMirror.defineMIME("text/html",{name:"xml",htmlMode:!0}),CodeMirror.defineMode("javascript",function(a,b){function c(a,b,c){return b.tokenize=c,c(a,b)}function d(a,b){for(var c,d=!1;null!=(c=a.next());){if(c==b&&!d)return!1;d=!d&&"\\"==c}return d}function e(a,b,c){return K=a,L=c,b}function f(a,b){var f=a.next();if('"'==f||"'"==f)return c(a,b,g(f));if(/[\[\]{}\(\),;\:\.]/.test(f))return e(f);if("0"==f&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),e("number","number");if(/\d/.test(f))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),e("number","number");if("/"==f)return a.eat("*")?c(a,b,h):a.eat("/")?(a.skipToEnd(),e("comment","comment")):b.reAllowed?(d(a,"/"),a.eatWhile(/[gimy]/),e("regexp","string")):(a.eatWhile(P),e("operator",null,a.current()));if("#"==f)return a.skipToEnd(),e("error","error");if(P.test(f))return a.eatWhile(P),e("operator",null,a.current());a.eatWhile(/[\w\$_]/);var i=a.current(),j=O.propertyIsEnumerable(i)&&O[i];return j&&b.kwAllowed?e(j.type,j.style,i):e("variable","variable",i)}function g(a){return function(b,c){return d(b,a)||(c.tokenize=f),e("string","string")}}function h(a,b){for(var c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize=f;break}d="*"==c}return e("comment","comment")}function i(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function j(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0}function k(a,b,c,d,e){var f=a.cc;for(R.state=a,R.stream=e,R.marked=null,R.cc=f,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var g=f.length?f.pop():N?u:t;if(g(c,d)){for(;f.length&&f[f.length-1].lex;)f.pop()();return R.marked?R.marked:"variable"==c&&j(a,d)?"variable-2":b}}}function l(){for(var a=arguments.length-1;a>=0;a--)R.cc.push(arguments[a])}function m(){return l.apply(null,arguments),!0}function n(a){var b=R.state;if(b.context){R.marked="def";for(var c=b.localVars;c;c=c.next)if(c.name==a)return;b.localVars={name:a,next:b.localVars}}}function o(){R.state.context||(R.state.localVars=S),R.state.context={prev:R.state.context,vars:R.state.localVars}}function p(){R.state.localVars=R.state.context.vars,R.state.context=R.state.context.prev}function q(a,b){var c=function(){var c=R.state;c.lexical=new i(c.indented,R.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function r(){var a=R.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function s(a){return function(b){return b==a?m():";"==a?l():m(arguments.callee)}}function t(a){return"var"==a?m(q("vardef"),C,s(";"),r):"keyword a"==a?m(q("form"),u,t,r):"keyword b"==a?m(q("form"),t,r):"{"==a?m(q("}"),B,r):";"==a?m():"function"==a?m(I):"for"==a?m(q("form"),s("("),q(")"),E,s(")"),r,t,r):"variable"==a?m(q("stat"),x):"switch"==a?m(q("form"),u,q("}","switch"),s("{"),B,r,r):"case"==a?m(u,s(":")):"default"==a?m(s(":")):"catch"==a?m(q("form"),o,s("("),J,s(")"),t,r,p):l(q("stat"),u,s(";"),r)}function u(a){return Q.hasOwnProperty(a)?m(w):"function"==a?m(I):"keyword c"==a?m(v):"("==a?m(q(")"),u,s(")"),r,w):"operator"==a?m(u):"["==a?m(q("]"),A(u,"]"),r,w):"{"==a?m(q("}"),A(z,"}"),r,w):m()}function v(a){return a.match(/[;\}\)\],]/)?l():l(u)}function w(a,b){if("operator"==a&&/\+\+|--/.test(b))return m(w);if("operator"==a)return m(u);if(";"!=a)return"("==a?m(q(")"),A(u,")"),r,w):"."==a?m(y,w):"["==a?m(q("]"),u,s("]"),r,w):void 0}function x(a){return":"==a?m(r,t):l(w,s(";"),r)}function y(a){if("variable"==a)return R.marked="property",m()}function z(a){if("variable"==a&&(R.marked="property"),Q.hasOwnProperty(a))return m(s(":"),u)}function A(a,b){function c(d){return","==d?m(a,c):d==b?m():m(s(b))}return function(d){return d==b?m():l(a,c)}}function B(a){return"}"==a?m():l(t,B)}function C(a,b){return"variable"==a?(n(b),m(D)):m()}function D(a,b){return"="==b?m(u,D):","==a?m(C):void 0}function E(a){return"var"==a?m(C,G):";"==a?l(G):"variable"==a?m(F):l(G)}function F(a,b){return"in"==b?m(u):m(w,G)}function G(a,b){return";"==a?m(H):"in"==b?m(u):m(u,s(";"),H)}function H(a){")"!=a&&m(u)}function I(a,b){return"variable"==a?(n(b),m(I)):"("==a?m(q(")"),o,A(J,")"),r,t,p):void 0}function J(a,b){if("variable"==a)return n(b),m()}var K,L,M=a.indentUnit,N=b.json,O=function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("operator"),f={type:"atom",style:"atom"};return{"if":b,"while":b,"with":b,"else":c,"do":c,"try":c,"finally":c,"return":d,"break":d,"continue":d,"new":d,"delete":d,"throw":d,"var":a("var"),"const":a("var"),"let":a("var"),"function":a("function"),"catch":a("catch"),"for":a("for"),"switch":a("switch"),"case":a("case"),"default":a("default"),"in":e,"typeof":e,"instanceof":e,"true":f,"false":f,"null":f,undefined:f,NaN:f,Infinity:f}}(),P=/[+\-*&%=<>!?|]/,Q={atom:!0,number:!0,variable:!0,string:!0,regexp:!0},R={state:null,column:null,marked:null,cc:null},S={name:"this",next:{name:"arguments"}};return r.lex=!0,{startState:function(a){return{tokenize:f,reAllowed:!0,kwAllowed:!0,cc:[],lexical:new i((a||0)-M,0,"block",(!1)),localVars:null,context:null,indented:0}},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation()),a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==K?c:(b.reAllowed="operator"==K||"keyword c"==K||K.match(/^[\[{}\(,;:]$/),b.kwAllowed="."!=K,k(b,c,K,L,a))},indent:function(a,b){if(a.tokenize!=f)return 0;var c=b&&b.charAt(0),d=a.lexical,e=d.type,g=c==e;return"vardef"==e?d.indented+4:"form"==e&&"{"==c?d.indented:"stat"==e||"form"==e?d.indented+M:"switch"!=d.info||g?d.align?d.column+(g?0:1):d.indented+(g?0:M):d.indented+(/^(?:case|default)\b/.test(b)?M:2*M)},electricChars:":{}"}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMode("css",function(a){function b(a,b){return g=b,a}function c(a,c){var g=a.next();return"@"==g?(a.eatWhile(/[\w\\\-]/),b("meta",a.current())):"/"==g&&a.eat("*")?(c.tokenize=d,d(a,c)):"<"==g&&a.eat("!")?(c.tokenize=e,e(a,c)):"="!=g?"~"!=g&&"|"!=g||!a.eat("=")?'"'==g||"'"==g?(c.tokenize=f(g),c.tokenize(a,c)):"#"==g?(a.eatWhile(/[\w\\\-]/),b("atom","hash")):"!"==g?(a.match(/^\s*\w*/),b("keyword","important")):/\d/.test(g)?(a.eatWhile(/[\w.%]/),b("number","unit")):/[,.+>*\/]/.test(g)?b(null,"select-op"):/[;{}:\[\]]/.test(g)?b(null,g):(a.eatWhile(/[\w\\\-]/),b("variable","variable")):b(null,"compare"):void b(null,"compare")}function d(a,d){for(var e,f=!1;null!=(e=a.next());){if(f&&"/"==e){d.tokenize=c;break}f="*"==e}return b("comment","comment")}function e(a,d){for(var e,f=0;null!=(e=a.next());){if(f>=2&&">"==e){d.tokenize=c;break}f="-"==e?f+1:0}return b("comment","comment")}function f(a){return function(d,e){for(var f,g=!1;null!=(f=d.next())&&(f!=a||g);)g=!g&&"\\"==f;return g||(e.tokenize=c),b("string","string")}}var g,h=a.indentUnit;return{startState:function(a){return{tokenize:c,baseIndent:a||0,stack:[]}},token:function(a,b){if(a.eatSpace())return null;var c=b.tokenize(a,b),d=b.stack[b.stack.length-1];return"hash"==g&&"rule"==d?c="atom":"variable"==c&&("rule"==d?c="number":d&&"@media{"!=d||(c="tag")),"rule"==d&&/^[\{\};]$/.test(g)&&b.stack.pop(),"{"==g?"@media"==d?b.stack[b.stack.length-1]="@media{":b.stack.push("{"):"}"==g?b.stack.pop():"@media"==g?b.stack.push("@media"):"{"==d&&"comment"!=g&&b.stack.push("rule"),c},indent:function(a,b){var c=a.stack.length;return/^\}/.test(b)&&(c-="rule"==a.stack[a.stack.length-1]?2:1),a.baseIndent+c*h},electricChars:"}"}}),CodeMirror.defineMIME("text/css","css"),CodeMirror.defineMode("htmlmixed",function(a,b){function c(a,b){var c=g.token(a,b.htmlState);return"tag"==c&&">"==a.current()&&b.htmlState.context&&(/^script$/i.test(b.htmlState.context.tagName)?(b.token=e,b.localState=h.startState(g.indent(b.htmlState,"")),b.mode="javascript"):/^style$/i.test(b.htmlState.context.tagName)&&(b.token=f,b.localState=i.startState(g.indent(b.htmlState,"")),b.mode="css")),c}function d(a,b,c){var d=a.current(),e=d.search(b);return e>-1&&a.backUp(d.length-e),c}function e(a,b){return a.match(/^<\/\s*script\s*>/i,!1)?(b.token=c,b.curState=null,b.mode="html",c(a,b)):d(a,/<\/\s*script\s*>/,h.token(a,b.localState))}function f(a,b){return a.match(/^<\/\s*style\s*>/i,!1)?(b.token=c,b.localState=null,b.mode="html",c(a,b)):d(a,/<\/\s*style\s*>/,i.token(a,b.localState))}var g=CodeMirror.getMode(a,{name:"xml",htmlMode:!0}),h=CodeMirror.getMode(a,"javascript"),i=CodeMirror.getMode(a,"css");return{startState:function(){var a=g.startState();return{token:c,localState:null,mode:"html",htmlState:a}},copyState:function(a){if(a.localState)var b=CodeMirror.copyState(a.token==f?i:h,a.localState);return{token:a.token,localState:b,mode:a.mode,htmlState:CodeMirror.copyState(g,a.htmlState)}},token:function(a,b){return b.token(a,b)},indent:function(a,b){return a.token==c||/^\s*<\//.test(b)?g.indent(a.htmlState,b):a.token==e?h.indent(a.localState,b):i.indent(a.localState,b)},compareStates:function(a,b){return g.compareStates(a.htmlState,b.htmlState)},electricChars:"/{}:"}}),CodeMirror.defineMIME("text/html","htmlmixed");