ace.define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"],function(n,o,h){"use strict";var l=n("./lib/oop"),d=(n("./lib/lang"),n("./lib/event_emitter").EventEmitter),$=n("./editor").Editor,p=n("./virtual_renderer").VirtualRenderer,f=n("./edit_session").EditSession,a=function(t,i,e){this.BELOW=1,this.BESIDE=0,this.$container=t,this.$theme=i,this.$splits=0,this.$editorCSS="",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(e||1),this.$cEditor=this.$editors[0],this.on("focus",function(r){this.$cEditor=r}.bind(this))};(function(){l.implement(this,d),this.$createEditor=function(){var t=document.createElement("div");t.className=this.$editorCSS,t.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(t);var i=new $(new p(t,this.$theme));return i.on("focus",function(){this._emit("focus",i)}.bind(this)),this.$editors.push(i),i.setFontSize(this.$fontSize),i},this.setSplits=function(t){var i;if(t<1)throw"The number of splits have to be > 0!";if(t!=this.$splits){if(t>this.$splits){for(;this.$splits<this.$editors.length&&this.$splits<t;)this.$container.appendChild((i=this.$editors[this.$splits]).container),i.setFontSize(this.$fontSize),this.$splits++;for(;this.$splits<t;)this.$createEditor(),this.$splits++}else for(;this.$splits>t;)this.$container.removeChild((i=this.$editors[this.$splits-1]).container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(t){return this.$editors[t]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(t){this.$editors.forEach(function(i){i.setTheme(t)})},this.setKeyboardHandler=function(t){this.$editors.forEach(function(i){i.setKeyboardHandler(t)})},this.forEach=function(t,i){this.$editors.forEach(t,i)},this.$fontSize="",this.setFontSize=function(t){this.$fontSize=t,this.forEach(function(i){i.setFontSize(t)})},this.$cloneSession=function(t){var i=new f(t.getDocument(),t.getMode()),e=t.getUndoManager();return i.setUndoManager(e),i.setTabSize(t.getTabSize()),i.setUseSoftTabs(t.getUseSoftTabs()),i.setOverwrite(t.getOverwrite()),i.setBreakpoints(t.getBreakpoints()),i.setUseWrapMode(t.getUseWrapMode()),i.setUseWorker(t.getUseWorker()),i.setWrapLimitRange(t.$wrapLimitRange.min,t.$wrapLimitRange.max),i.$foldData=t.$cloneFoldData(),i},this.setSession=function(t,i){var e;return e=null==i?this.$cEditor:this.$editors[i],this.$editors.some(function(s){return s.session===t})&&(t=this.$cloneSession(t)),e.setSession(t),t},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(t){this.$orientation!=t&&(this.$orientation=t,this.resize())},this.resize=function(){var e,t=this.$container.clientWidth,i=this.$container.clientHeight;if(this.$orientation==this.BESIDE)for(var r=t/this.$splits,s=0;s<this.$splits;s++)(e=this.$editors[s]).container.style.width=r+"px",e.container.style.top="0px",e.container.style.left=s*r+"px",e.container.style.height=i+"px",e.resize();else{var c=i/this.$splits;for(s=0;s<this.$splits;s++)(e=this.$editors[s]).container.style.width=t+"px",e.container.style.top=s*c+"px",e.container.style.left="0px",e.container.style.height=c+"px",e.resize()}}}).call(a.prototype),o.Split=a}),ace.define("ace/ext/split",["require","exports","module","ace/split"],function(n,o,h){"use strict";h.exports=n("../split")}),ace.require(["ace/ext/split"],function(n){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=n)});