!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}((function(e){"use strict";e.defineOption("fullScreen",!1,(function(t,n,i){i==e.Init&&(i=!1),!i!=!n&&(n?function(e){var t=e.getWrapperElement();e.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:t.style.width,height:t.style.height},t.style.width="",t.style.height="auto",t.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",e.refresh()}(t):function(e){var t=e.getWrapperElement();t.className=t.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var n=e.state.fullScreenRestore;t.style.width=n.width,t.style.height=n.height,window.scrollTo(n.scrollLeft,n.scrollTop),e.refresh()}(t))}))})),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}((function(e){function t(e,t,n,i){this.cm=e,this.node=t,this.options=n,this.height=i,this.cleared=!1}function n(e,t){for(var n=t.nextSibling;n;n=n.nextSibling)if(n==e.getWrapperElement())return!0;return!1}e.defineExtension("addPanel",(function(e,i){i=i||{},this.state.panels||function(e){var t=e.getWrapperElement(),n=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,i=parseInt(n.height),o=e.state.panels={setHeight:t.style.height,panels:[],wrapper:document.createElement("div")},r=e.hasFocus(),a=e.getScrollInfo();t.parentNode.insertBefore(o.wrapper,t),o.wrapper.appendChild(t),e.scrollTo(a.left,a.top),r&&e.focus();e._setSize=e.setSize,null!=i&&(e.setSize=function(t,n){if(n||(n=o.wrapper.offsetHeight),o.setHeight=n,"number"!=typeof n){var r=/^(\d+\.?\d*)px$/.exec(n);r?n=Number(r[1]):(o.wrapper.style.height=n,n=o.wrapper.offsetHeight)}var a=n-o.panels.map((function(e){return e.node.getBoundingClientRect().height})).reduce((function(e,t){return e+t}),0);e._setSize(t,a),i=n})}(this);var o=this.state.panels,r=o.wrapper,a=this.getWrapperElement(),s=i.replace instanceof t&&!i.replace.cleared;i.after instanceof t&&!i.after.cleared?r.insertBefore(e,i.before.node.nextSibling):i.before instanceof t&&!i.before.cleared?r.insertBefore(e,i.before.node):s?(r.insertBefore(e,i.replace.node),i.replace.clear(!0)):"bottom"==i.position?r.appendChild(e):"before-bottom"==i.position?r.insertBefore(e,a.nextSibling):"after-top"==i.position?r.insertBefore(e,a):r.insertBefore(e,r.firstChild);var l=i&&i.height||e.offsetHeight,c=new t(this,e,i,l);return o.panels.push(c),this.setSize(),i.stable&&n(this,e)&&this.scrollTo(null,this.getScrollInfo().top+l),c})),t.prototype.clear=function(e){if(!this.cleared){this.cleared=!0;var t=this.cm.state.panels;t.panels.splice(t.panels.indexOf(this),1),this.cm.setSize(),this.options.stable&&n(this.cm,this.node)&&this.cm.scrollTo(null,this.cm.getScrollInfo().top-this.height),t.wrapper.removeChild(this.node),0!=t.panels.length||e||function(e){var t=e.state.panels;e.state.panels=null;var n=e.getWrapperElement(),i=e.hasFocus(),o=e.getScrollInfo();t.wrapper.parentNode.replaceChild(n,t.wrapper),e.scrollTo(o.left,o.top),i&&e.focus();n.style.height=t.setHeight,e.setSize=e._setSize,e.setSize()}(this.cm)}},t.prototype.changed=function(){this.height=this.node.getBoundingClientRect().height,this.cm.setSize()}})),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}((function(e){var t={pairs:"()[]{}''\"\"",closeBefore:")]}'\":;>",triples:"",explode:"[]{}"},n=e.Pos;function i(e,n){return"pairs"==n&&"string"==typeof e?e:"object"==typeof e&&null!=e[n]?e[n]:t[n]}e.defineOption("autoCloseBrackets",!1,(function(t,n,a){a&&a!=e.Init&&(t.removeKeyMap(o),t.state.closeBrackets=null),n&&(r(i(n,"pairs")),t.state.closeBrackets=n,t.addKeyMap(o))}));var o={Backspace:function(t){var o=s(t);if(!o||t.getOption("disableInput"))return e.Pass;for(var r=i(o,"pairs"),a=t.listSelections(),l=0;l=0;l--){var f=a[l].head;t.replaceRange("",n(f.line,f.ch-1),n(f.line,f.ch+1),"+delete")}},Enter:function(t){var n=s(t),o=n&&i(n,"explode");if(!o||t.getOption("disableInput"))return e.Pass;for(var r=t.listSelections(),a=0;a1&&h.indexOf(o)>=0&&t.getRange(n(C.line,C.ch-2),C)==o+o){if(C.ch>2&&/\bstring/.test(t.getTokenTypeAt(n(C.line,C.ch-2))))return e.Pass;y="addFour"}else if(p){var w=0==C.ch?" ":t.getRange(n(C.line,C.ch-1),C);if(e.isWordChar(S)||w==o||e.isWordChar(w))return e.Pass;y="both"}else{if(!x||!(0===S.length||/\s/.test(S)||u.indexOf(S)>-1))return e.Pass;y="both"}else y=p&&f(t,C)?"both":h.indexOf(o)>=0&&t.getRange(C,n(C.line,C.ch+3))==o+o+o?"skipThree":"skip";if(d){if(d!=y)return e.Pass}else d=y}var k=m%2?a.charAt(m-1):o,M=m%2?o:a.charAt(m+1);t.operation((function(){if("skip"==d)l(t,1);else if("skipThree"==d)l(t,3);else if("surround"==d){for(var e=t.getSelections(),n=0;n0?{line:a.head.line,ch:a.head.ch+t}:{line:a.head.line-1};n.push({anchor:s,head:s})}e.setSelections(n,o)}function c(t){var i=e.cmpPos(t.anchor,t.head)>0;return{anchor:new n(t.anchor.line,t.anchor.ch+(i?-1:1)),head:new n(t.head.line,t.head.ch+(i?1:-1))}}function m(e,t){var i=e.getRange(n(t.line,t.ch-1),n(t.line,t.ch+1));return 2==i.length?i:null}function f(e,t){var i=e.getTokenAt(n(t.line,t.ch+1));return/\bstring/.test(i.type)&&i.start==t.ch&&(0==t.ch||!/\bstring/.test(e.getTokenTypeAt(t)))}r(t.pairs+"`")})),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],e):e(CodeMirror)}((function(e){e.defineOption("autoCloseTags",!1,(function(a,s,l){if(l!=e.Init&&l&&a.removeKeyMap("autoCloseTags"),s){var c={name:"autoCloseTags"};"object"==typeof s&&!1===s.whenClosing||(c["'/'"]=function(t){return function(t){return t.getOption("disableInput")?e.Pass:i(t,!0)}(t)}),"object"==typeof s&&!1===s.whenOpening||(c["'>'"]=function(i){return function(i){if(i.getOption("disableInput"))return e.Pass;for(var a=i.listSelections(),s=[],l=i.getOption("autoCloseTags"),c=0;cm.ch&&(p=p.slice(0,p.length-f.end+m.ch));var y=p.toLowerCase();if(!p||"string"==f.type&&(f.end!=m.ch||!/[\"\']/.test(f.string.charAt(f.string.length-1))||1==f.string.length)||"tag"==f.type&&h.close||f.string.indexOf("/")==m.ch-f.start-1||x&&o(x,y)>-1||r(i,d.mode.xmlCurrentContext&&d.mode.xmlCurrentContext(u)||[],p,m,!0))return e.Pass;var b="object"==typeof l&&l.emptyTags;if(b&&o(b,p)>-1)s[c]={text:"/>",newPos:e.Pos(m.line,m.ch+2)};else{var C=v&&o(v,y)>-1;s[c]={indent:C,text:">"+(C?"\n\n":"")+"",newPos:C?e.Pos(m.line+1,0):e.Pos(m.line,m.ch+1)}}}var S="object"==typeof l&&l.dontIndentOnAutoClose;for(c=a.length-1;c>=0;c--){var w=s[c];i.replaceRange(w.text,a[c].head,a[c].anchor,"+insert");var k=i.listSelections().slice(0);k[c]={head:w.newPos,anchor:w.newPos},i.setSelections(k),!S&&w.indent&&(i.indentLine(w.newPos.line,null,!0),i.indentLine(w.newPos.line+1,null,!0))}}(i)}),a.addKeyMap(c)}}));var t=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],n=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];function i(t,n){for(var i=t.listSelections(),o=[],a=n?"/":""!=t.getLine(m.line).charAt(f.end)&&(h+=">"),o[c]=h}if(t.replaceSelections(o),i=t.listSelections(),!l)for(c=0;c=0&&n[c]==i;c--)++l;o=s.to;for(c=1;c",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function o(e){return e&&e.bracketRegex||/[(){}[\]]/}function r(e,t,r){var s=e.getLineHandle(t.line),l=t.ch-1,c=r&&r.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var m=o(r),f=!c&&l>=0&&m.test(s.text.charAt(l))&&i[s.text.charAt(l)]||m.test(s.text.charAt(l+1))&&i[s.text.charAt(++l)];if(!f)return null;var d=">"==f.charAt(1)?1:-1;if(r&&r.strict&&d>0!=(l==t.ch))return null;var u=e.getTokenTypeAt(n(t.line,l+1)),h=a(e,n(t.line,l+(d>0?1:0)),d,u,r);return null==h?null:{from:n(t.line,l),to:h&&h.pos,match:h&&h.ch==f.charAt(0),forward:d>0}}function a(e,t,r,a,s){for(var l=s&&s.maxScanLineLength||1e4,c=s&&s.maxScanLines||1e3,m=[],f=o(s),d=r>0?Math.min(t.line+c,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-c),u=t.line;u!=d;u+=r){var h=e.getLine(u);if(h){var p=r>0?0:h.length-1,g=r>0?h.length:-1;if(!(h.length>l))for(u==t.line&&(p=t.ch-(r<0?1:0));p!=g;p+=r){var x=h.charAt(p);if(f.test(x)&&(void 0===a||(e.getTokenTypeAt(n(u,p+1))||"")==(a||""))){var v=i[x];if(v&&">"==v.charAt(1)==r>0)m.push(x);else{if(!m.length)return{pos:n(u,p),ch:x};m.pop()}}}}}return u-r!=(r>0?e.lastLine():e.firstLine())&&null}function s(e,i,o){for(var a=e.state.matchBrackets.maxHighlightLineLength||1e3,s=o&&o.highlightNonMatching,l=[],c=e.listSelections(),m=0;mt.lastLine())return null;var i=t.getTokenAt(e.Pos(n,1));if(/\S/.test(i.string)||(i=t.getTokenAt(e.Pos(n,i.end+1))),"keyword"!=i.type||"import"!=i.string)return null;for(var o=n,r=Math.min(t.lastLine(),n+10);o<=r;++o){var a=t.getLine(o).indexOf(";");if(-1!=a)return{startCh:i.end,end:e.Pos(o,a)}}}var o,r=n.line,a=i(r);if(!a||i(r-1)||(o=i(r-2))&&o.end.line==r-1)return null;for(var s=a.end;;){var l=i(s.line+1);if(null==l)break;s=l.end}return{from:t.clipPos(e.Pos(r,a.startCh+1)),to:s}})),e.registerHelper("fold","include",(function(t,n){function i(n){if(nt.lastLine())return null;var i=t.getTokenAt(e.Pos(n,1));return/\S/.test(i.string)||(i=t.getTokenAt(e.Pos(n,i.end+1))),"meta"==i.type&&"#include"==i.string.slice(0,8)?i.start+8:void 0}var o=n.line,r=i(o);if(null==r||null!=i(o-1))return null;for(var a=o;;){if(null==i(a+1))break;++a}return{from:e.Pos(o,r+1),to:t.clipPos(e.Pos(a))}}))})),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}((function(e){"use strict";function t(t,n,o,r){if(o&&o.call){var a=o;o=null}else a=i(t,o,"rangeFinder");"number"==typeof n&&(n=e.Pos(n,0));var s=i(t,o,"minFoldSize");function l(e){var i=a(t,n);if(!i||i.to.line-i.from.linet.firstLine();)n=e.Pos(n.line-1,0),c=l(!1);if(c&&!c.cleared&&"unfold"!==r){var m=function(e,t,n){var o=i(e,t,"widget");"function"==typeof o&&(o=o(n.from,n.to));if("string"==typeof o){var r=document.createTextNode(o);(o=document.createElement("span")).appendChild(r),o.className="CodeMirror-foldmarker"}else o&&(o=o.cloneNode(!0));return o}(t,o,c);e.on(m,"mousedown",(function(t){f.clear(),e.e_preventDefault(t)}));var f=t.markText(c.from,c.to,{replacedWith:m,clearOnEnter:i(t,o,"clearOnEnter"),__isFold:!0});f.on("clear",(function(n,i){e.signal(t,"unfold",t,n,i)})),e.signal(t,"fold",t,c.from,c.to)}}e.newFoldFunction=function(e,n){return function(i,o){t(i,o,{rangeFinder:e,widget:n})}},e.defineExtension("foldCode",(function(e,n,i){t(this,e,n,i)})),e.defineExtension("isFolded",(function(e){for(var t=this.findMarksAt(e),n=0;n=c){if(d&&a&&d.test(a.className))return;r=o(s.indicatorOpen)}}(r||a)&&e.setGutterMarker(n,s.gutter,r)}))}function a(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}function s(e){var t=e.getViewport(),n=e.state.foldGutter;n&&(e.operation((function(){r(e,t.from,t.to)})),n.from=t.from,n.to=t.to)}function l(e,n,o){var r=e.state.foldGutter;if(r){var a=r.options;if(o==a.gutter){var s=i(e,n);s?s.clear():e.foldCode(t(n,0),a)}}}function c(e){var t=e.state.foldGutter;if(t){var n=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){s(e)}),n.foldOnChangeTimeSpan||600)}}function m(e){var t=e.state.foldGutter;if(t){var n=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){var n=e.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?s(e):e.operation((function(){n.fromt.to&&(r(e,t.to,n.to),t.to=n.to)}))}),n.updateViewportTimeSpan||400)}}function f(e,t){var n=e.state.foldGutter;if(n){var i=t.line;i>=n.from&&i=e.max))return e.ch=0,e.text=e.cm.getLine(++e.line),!0}function l(e){if(!(e.line<=e.min))return e.text=e.cm.getLine(--e.line),e.ch=e.text.length,!0}function c(e){for(;;){var t=e.text.indexOf(">",e.ch);if(-1==t){if(s(e))continue;return}if(a(e,t+1)){var n=e.text.lastIndexOf("/",t),i=n>-1&&!/\S/.test(e.text.slice(n+1,t));return e.ch=t+1,i?"selfClose":"regular"}e.ch=t+1}}function m(e){for(;;){var t=e.ch?e.text.lastIndexOf("<",e.ch-1):-1;if(-1==t){if(l(e))continue;return}if(a(e,t+1)){o.lastIndex=t,e.ch=t;var n=o.exec(e.text);if(n&&n.index==t)return n}else e.ch=t}}function f(e){for(;;){o.lastIndex=e.ch;var t=o.exec(e.text);if(!t){if(s(e))continue;return}if(a(e,t.index+1))return e.ch=t.index+t[0].length,t;e.ch=t.index+1}}function d(e){for(;;){var t=e.ch?e.text.lastIndexOf(">",e.ch-1):-1;if(-1==t){if(l(e))continue;return}if(a(e,t+1)){var n=e.text.lastIndexOf("/",t),i=n>-1&&!/\S/.test(e.text.slice(n+1,t));return e.ch=t+1,i?"selfClose":"regular"}e.ch=t}}function u(e,n){for(var i=[];;){var o,r=f(e),a=e.line,s=e.ch-(r?r[0].length:0);if(!r||!(o=c(e)))return;if("selfClose"!=o)if(r[1]){for(var l=i.length-1;l>=0;--l)if(i[l]==r[2]){i.length=l;break}if(l<0&&(!n||n==r[2]))return{tag:r[2],from:t(a,s),to:t(e.line,e.ch)}}else i.push(r[2])}}function h(e,n){for(var i=[];;){var o=d(e);if(!o)return;if("selfClose"!=o){var r=e.line,a=e.ch,s=m(e);if(!s)return;if(s[1])i.push(s[2]);else{for(var l=i.length-1;l>=0;--l)if(i[l]==s[2]){i.length=l;break}if(l<0&&(!n||n==s[2]))return{tag:s[2],from:t(e.line,e.ch),to:t(r,a)}}}else m(e)}}e.registerHelper("fold","xml",(function(e,i){for(var o=new r(e,i.line,0);;){var a=f(o);if(!a||o.line!=i.line)return;var s=c(o);if(!s)return;if(!a[1]&&"selfClose"!=s){var l=t(o.line,o.ch),m=u(o,a[2]);return m&&n(m.from,l)>0?{from:l,to:m.from}:null}}})),e.findMatchingTag=function(e,i,o){var a=new r(e,i.line,i.ch,o);if(-1!=a.text.indexOf(">")||-1!=a.text.indexOf("<")){var s=c(a),l=s&&t(a.line,a.ch),f=s&&m(a);if(s&&f&&!(n(a,i)>0)){var d={from:t(a.line,a.ch),to:l,tag:f[2]};return"selfClose"==s?{open:d,close:null,at:"open"}:f[1]?{open:h(a,f[2]),close:d,at:"close"}:{open:d,close:u(a=new r(e,l.line,l.ch,o),f[2]),at:"open"}}}},e.findEnclosingTag=function(e,t,n,i){for(var o=new r(e,t.line,t.ch,n);;){var a=h(o,i);if(!a)break;var s=u(new r(e,t.line,t.ch,n),a.tag);if(s)return{open:a,close:s}}},e.scanForClosingTag=function(e,t,n,i){return u(new r(e,t.line,t.ch,i?{from:0,to:i}:null),n)}})),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),"cjs"):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],(function(t){e(t,"amd")})):e(CodeMirror,"plain")}((function(e,t){e.modeURL||(e.modeURL="../mode/%N/%N.js");var n={};function i(t,n,i){var o=e.modes[t],r=o&&o.dependencies;if(!r)return n();for(var a=[],s=0;s-1?o+t.length:o}var r=t.exec(n?e.slice(n):e);return r?r.index+n+(i?r[0].length:0):-1}return{startState:function(){return{outer:e.startState(t),innerActive:null,inner:null,startingInner:!1}},copyState:function(n){return{outer:e.copyState(t,n.outer),innerActive:n.innerActive,inner:n.innerActive&&e.copyState(n.innerActive.mode,n.inner),startingInner:n.startingInner}},token:function(o,r){if(r.innerActive){var a=r.innerActive;c=o.string;if(!a.close&&o.sol())return r.innerActive=r.inner=null,this.token(o,r);if((f=a.close&&!r.startingInner?i(c,a.close,o.pos,a.parseDelimiters):-1)==o.pos&&!a.parseDelimiters)return o.match(a.close),r.innerActive=r.inner=null,a.delimStyle&&a.delimStyle+" "+a.delimStyle+"-close";f>-1&&(o.string=c.slice(0,f));var s=a.mode.token(o,r.inner);return f>-1?o.string=c:o.pos>o.start&&(r.startingInner=!1),f==o.pos&&a.parseDelimiters&&(r.innerActive=r.inner=null),a.innerStyle&&(s=s?s+" "+a.innerStyle:a.innerStyle),s}for(var l=1/0,c=o.string,m=0;ma?t.charCoords(e,"local")[n?"top":"bottom"]:t.heightAtLine(l,"local")+(n?0:l.height)}var m=t.lastLine();if(t.display.barWidth)for(var f,d=0;dm)){for(var h=f||c(u.from,!0)*n,p=c(u.to,!1)*n;dm)&&!((f=c(o[d+1].from,!0)*n)>p+.9);)p=c((u=o[++d]).to,!1)*n;if(p!=h){var g=Math.max(p-h,3),x=i.appendChild(document.createElement("div"));x.style.cssText="position: absolute; right: 0px; width: "+Math.max(t.display.barWidth-1,2)+"px; top: "+(h+this.buttonHeight)+"px; height: "+g+"px",x.className=this.options.className,u.id&&x.setAttribute("annotation-id",u.id)}}}this.div.textContent="",this.div.appendChild(i)},t.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("changes",this.changeHandler),this.div.parentNode.removeChild(this.div)}})),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}((function(e){"use strict";function t(t,n,i){this.orientation=n,this.scroll=i,this.screen=this.total=this.size=1,this.pos=0,this.node=document.createElement("div"),this.node.className=t+"-"+n,this.inner=this.node.appendChild(document.createElement("div"));var o=this;function r(t){var n=e.wheelEventPixels(t)["horizontal"==o.orientation?"x":"y"],i=o.pos;o.moveTo(o.pos+n),o.pos!=i&&e.e_preventDefault(t)}e.on(this.inner,"mousedown",(function(t){if(1==t.which){e.e_preventDefault(t);var n="horizontal"==o.orientation?"pageX":"pageY",i=t[n],r=o.pos;e.on(document,"mousemove",s),e.on(document,"mouseup",a)}function a(){e.off(document,"mousemove",s),e.off(document,"mouseup",a)}function s(e){if(1!=e.which)return a();o.moveTo(r+(e[n]-i)*(o.total/o.size))}})),e.on(this.node,"click",(function(t){e.e_preventDefault(t);var n,i=o.inner.getBoundingClientRect();n="horizontal"==o.orientation?t.clientXi.right?1:0:t.clientYi.bottom?1:0,o.moveTo(o.pos+n*o.screen)})),e.on(this.node,"mousewheel",r),e.on(this.node,"DOMMouseScroll",r)}t.prototype.setPos=function(e,t){return e<0&&(e=0),e>this.total-this.screen&&(e=this.total-this.screen),!(!t&&e==this.pos)&&(this.pos=e,this.inner.style["horizontal"==this.orientation?"left":"top"]=e*(this.size/this.total)+"px",!0)},t.prototype.moveTo=function(e){this.setPos(e)&&this.scroll(e,this.orientation)};function n(e,n,i){this.addClass=e,this.horiz=new t(e,"horizontal",i),n(this.horiz.node),this.vert=new t(e,"vertical",i),n(this.vert.node),this.width=null}t.prototype.update=function(e,t,n){var i=this.screen!=t||this.total!=e||this.size!=n;i&&(this.screen=t,this.total=e,this.size=n);var o=this.screen*(this.size/this.total);o<10&&(this.size-=10-o,o=10),this.inner.style["horizontal"==this.orientation?"width":"height"]=o+"px",this.setPos(this.pos,i)},n.prototype.update=function(e){if(null==this.width){var t=window.getComputedStyle?window.getComputedStyle(this.horiz.node):this.horiz.node.currentStyle;t&&(this.width=parseInt(t.height))}var n=this.width||0,i=e.scrollWidth>e.clientWidth+1,o=e.scrollHeight>e.clientHeight+1;return this.vert.node.style.display=o?"block":"none",this.horiz.node.style.display=i?"block":"none",o&&(this.vert.update(e.scrollHeight,e.clientHeight,e.viewHeight-(i?n:0)),this.vert.node.style.bottom=i?n+"px":"0"),i&&(this.horiz.update(e.scrollWidth,e.clientWidth,e.viewWidth-(o?n:0)-e.barLeft),this.horiz.node.style.right=o?n+"px":"0",this.horiz.node.style.left=e.barLeft+"px"),{right:o?n:0,bottom:i?n:0}},n.prototype.setScrollTop=function(e){this.vert.setPos(e)},n.prototype.setScrollLeft=function(e){this.horiz.setPos(e)},n.prototype.clear=function(){var e=this.horiz.node.parentNode;e.removeChild(this.horiz.node),e.removeChild(this.vert.node)},e.scrollbarModel.simple=function(e,t){return new n("CodeMirror-simplescroll",e,t)},e.scrollbarModel.overlay=function(e,t){return new n("CodeMirror-overlayscroll",e,t)}})),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./matchesonscrollbar"],e):e(CodeMirror)}((function(e){"use strict";var t={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};function n(e){for(var n in this.options={},t)this.options[n]=(e&&e.hasOwnProperty(n)?e:t)[n];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}function i(e){var t=e.state.matchHighlighter;(t.active||e.hasFocus())&&r(e,t)}function o(e){var t=e.state.matchHighlighter;t.active||(t.active=!0,r(e,t))}function r(e,t){clearTimeout(t.timeout),t.timeout=setTimeout((function(){l(e)}),t.options.delay)}function a(e,t,n,i){var o=e.state.matchHighlighter;if(e.addOverlay(o.overlay=function(e,t,n){return{token:function(i){if(i.match(e)&&(!t||function(e,t){return!(e.start&&t.test(e.string.charAt(e.start-1))||e.pos!=e.string.length&&t.test(e.string.charAt(e.pos)))}(i,t)))return n;i.next(),i.skipTo(e.charAt(0))||i.skipToEnd()}}}(t,n,i)),o.options.annotateScrollbar&&e.showMatchesOnScrollbar){var r=n?new RegExp((/\w/.test(t.charAt(0))?"\\b":"")+t.replace(/[\\\[.+*?(){|^$]/g,"\\$&")+(/\w/.test(t.charAt(t.length-1))?"\\b":"")):t;o.matchesonscroll=e.showMatchesOnScrollbar(r,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function s(e){var t=e.state.matchHighlighter;t.overlay&&(e.removeOverlay(t.overlay),t.overlay=null,t.matchesonscroll&&(t.matchesonscroll.clear(),t.matchesonscroll=null))}function l(e){e.operation((function(){var t=e.state.matchHighlighter;if(s(e),e.somethingSelected()||!t.options.showToken){var n=e.getCursor("from"),i=e.getCursor("to");if(n.line==i.line&&(!t.options.wordsOnly||function(e,t,n){if(null!==e.getRange(t,n).match(/^\w+$/)){if(t.ch>0){var i={line:t.line,ch:t.ch-1};if(null===e.getRange(i,t).match(/\W/))return!1}if(n.ch=t.options.minChars&&a(e,o,!1,t.options.style)}}else{for(var r=!0===t.options.showToken?/[\w$]/:t.options.showToken,l=e.getCursor(),c=e.getLine(l.line),m=l.ch,f=m;m&&r.test(c.charAt(m-1));)--m;for(;f=this.gap.to)break;o.to.line>=this.gap.from&&this.matches.splice(t--,1)}for(var n=this.cm.getSearchCursor(this.query,e.Pos(this.gap.from,0),{caseFold:this.caseFold,multiline:this.options.multiline}),i=this.options&&this.options.maxMatches||1e3;n.findNext();){var o;if((o={from:n.from(),to:n.to()}).from.line>=this.gap.to)break;if(this.matches.splice(t++,0,o),this.matches.length>i)break}this.gap=null}},t.prototype.onChange=function(t){var i=t.from.line,o=e.changeEnd(t).line,r=o-t.to.line;if(this.gap?(this.gap.from=Math.min(n(this.gap.from,i,r),t.from.line),this.gap.to=Math.max(n(this.gap.to,i,r),t.from.line)):this.gap={from:t.from.line,to:o+1},r)for(var a=0;at.cursorCoords(n,"window").top&&((d=i).style.opacity=.4)})))};!function(e,t,n,i,o){e.openDialog(t,i,{value:n,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){f(e)},onKeyDown:o,bottom:e.options.search.bottom})}(t,u(t),c,h,(function(i,o){var r=e.keyName(i),a=t.getOption("extraKeys"),s=a&&a[r]||e.keyMap[t.getOption("keyMap")][r];"findNext"==s||"findPrev"==s||"findPersistentNext"==s||"findPersistentPrev"==s?(e.e_stop(i),l(t,n(t),o),t.execCommand(s)):"find"!=s&&"findPersistent"!=s||(e.e_stop(i),h(o,i))})),a&&c&&(l(t,s,c),m(t,i))}else r(t,u(t),"Search for:",c,(function(e){e&&!s.query&&t.operation((function(){l(t,s,e),s.posFrom=s.posTo=t.getCursor(),m(t,i)}))}))}function m(t,i,r){t.operation((function(){var a=n(t),s=o(t,a.query,i?a.posFrom:a.posTo);(s.find(i)||(s=o(t,a.query,i?e.Pos(t.lastLine()):e.Pos(t.firstLine(),0))).find(i))&&(t.setSelection(s.from(),s.to()),t.scrollIntoView({from:s.from(),to:s.to()},20),a.posFrom=s.from(),a.posTo=s.to(),r&&r(s.from(),s.to()))}))}function f(e){e.operation((function(){var t=n(e);t.lastQuery=t.query,t.query&&(t.query=t.queryText=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))}))}function d(e,t){var n=e?document.createElement(e):document.createDocumentFragment();for(var i in t)n[i]=t[i];for(var o=2;om);f++){var d=e.getLine(c++);s=null==s?d:s+"\n"+d}l*=2,t.lastIndex=n.ch;var u=t.exec(s);if(u){var h=s.slice(0,u.index).split("\n"),p=u[0].split("\n"),g=n.line+h.length-1,x=h[h.length-1].length;return{from:i(g,x),to:i(g+p.length-1,1==p.length?x+p[0].length:p[p.length-1].length),match:u}}}}function l(e,t,n){for(var i,o=0;o<=e.length;){t.lastIndex=o;var r=t.exec(e);if(!r)break;var a=r.index+r[0].length;if(a>e.length-n)break;(!i||a>i.index+i[0].length)&&(i=r),o=r.index+1}return i}function c(e,t,n){t=o(t,"g");for(var r=n.line,a=n.ch,s=e.firstLine();r>=s;r--,a=-1){var c=e.getLine(r),m=l(c,t,a<0?0:c.length-a);if(m)return{from:i(r,m.index),to:i(r,m.index+m[0].length),match:m}}}function m(e,t,n){if(!r(t))return c(e,t,n);t=o(t,"gm");for(var a,s=1,m=e.getLine(n.line).length-n.ch,f=n.line,d=e.firstLine();f>=d;){for(var u=0;u=d;u++){var h=e.getLine(f--);a=null==a?h:h+"\n"+a}s*=2;var p=l(a,t,m);if(p){var g=a.slice(0,p.index).split("\n"),x=p[0].split("\n"),v=f+g.length,y=g[g.length-1].length;return{from:i(v,y),to:i(v+x.length-1,1==x.length?y+x[0].length:x[x.length-1].length),match:p}}}}function f(e,t,n,i){if(e.length==t.length)return n;for(var o=0,r=n+Math.max(0,e.length-t.length);;){if(o==r)return o;var a=o+r>>1,s=i(e.slice(0,a)).length;if(s==n)return a;s>n?r=a:o=a+1}}function d(e,o,r,a){if(!o.length)return null;var s=a?t:n,l=s(o).split(/\r|\n\r?/);e:for(var c=r.line,m=r.ch,d=e.lastLine()+1-l.length;c<=d;c++,m=0){var u=e.getLine(c).slice(m),h=s(u);if(1==l.length){var p=h.indexOf(l[0]);if(-1==p)continue e;r=f(u,h,p,s)+m;return{from:i(c,f(u,h,p,s)+m),to:i(c,f(u,h,p+l[0].length,s)+m)}}var g=h.length-l[0].length;if(h.slice(g)==l[0]){for(var x=1;x=d;c--,m=-1){var u=e.getLine(c);m>-1&&(u=u.slice(0,m));var h=s(u);if(1==l.length){var p=h.lastIndexOf(l[0]);if(-1==p)continue e;return{from:i(c,f(u,h,p,s)),to:i(c,f(u,h,p+l[0].length,s))}}var g=l[l.length-1];if(h.slice(0,g.length)==g){var x=1;for(r=c-l.length+1;x(this.doc.getLine(n.line)||"").length&&(n.ch=0,n.line++)),0!=e.cmpPos(n,this.doc.clipPos(n))))return this.atOccurrence=!1;var o=this.matches(t,n);if(this.afterEmptyMatch=o&&0==e.cmpPos(o.from,o.to),o)return this.pos=o,this.atOccurrence=!0,this.pos.match||!0;var r=i(t?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:r,to:r},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(t,n){if(this.atOccurrence){var o=e.splitLines(t);this.doc.replaceRange(o,this.pos.from,this.pos.to,n),this.pos.to=i(this.pos.from.line+o.length-1,o[o.length-1].length+(1==o.length?this.pos.from.ch:0))}}},e.defineExtension("getSearchCursor",(function(e,t,n){return new h(this.doc,e,t,n)})),e.defineDocExtension("getSearchCursor",(function(e,t,n){return new h(this,e,t,n)})),e.defineExtension("selectMatches",(function(t,n){for(var i=[],o=this.getSearchCursor(t,this.getCursor("from"),n);o.findNext()&&!(e.cmpPos(o.to(),this.getCursor("to"))>0);)i.push({anchor:o.from(),head:o.to()});i.length&&this.setSelections(i,0)}))})),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}((function(e){"use strict";var t="CodeMirror-activeline",n="CodeMirror-activeline-background",i="CodeMirror-activeline-gutter";function o(e){for(var o=0;o-1&&t.substring(o+1,t.length);if(r)return e.findModeByExtension(r)},e.findModeByName=function(t){t=t.toLowerCase();for(var n=0;n