http://git-wip-us.apache.org/repos/asf/knox/blob/e8ba712c/gateway-applications/src/main/resources/applications/admin-ui/app/scripts.c50bb762c438ae0f8842.bundle.js
----------------------------------------------------------------------
diff --git 
a/gateway-applications/src/main/resources/applications/admin-ui/app/scripts.c50bb762c438ae0f8842.bundle.js
 
b/gateway-applications/src/main/resources/applications/admin-ui/app/scripts.c50bb762c438ae0f8842.bundle.js
new file mode 100644
index 0000000..ef64c42
--- /dev/null
+++ 
b/gateway-applications/src/main/resources/applications/admin-ui/app/scripts.c50bb762c438ae0f8842.bundle.js
@@ -0,0 +1 @@
+(function(){var e=function(){return this}();if(!e&&"undefined"!=typeof 
window&&(e=window),"undefined"==typeof requirejs){var 
t=function(e,i,n){"string"==typeof 
e?(2==arguments.length&&(n=i),t.modules[e]||(t.payloads[e]=n,t.modules[e]=null)):t.original?t.original.apply(this,arguments):(console.error("dropping
 module because define wasn't a 
string."),console.trace())};t.modules={},t.payloads={};var 
i=function(e,t,i){if("string"==typeof t){var s=o(e,t);if(void 0!=s)return 
i&&i(),s}else if("[object Array]"===Object.prototype.toString.call(t)){for(var 
r=[],a=0,l=t.length;a<l;++a){var h=o(e,t[a]);if(void 
0==h&&n.original)return;r.push(h)}return 
i&&i.apply(null,r)||!0}},n=function(e,t){var s=i("",e,t);return void 
0==s&&n.original?n.original.apply(this,arguments):s},s=function(e,t){if(-1!==t.indexOf("!")){var
 i=t.split("!");return 
s(e,i[0])+"!"+s(e,i[1])}if("."==t.charAt(0))for(t=e.split("/").slice(0,-1).join("/")+"/"+t;-1!==t.indexOf(".")&&n!=t;){var
 n=t;t=t.replace(/\/\.\//,"/").replace(/
 [^\/]+\/\.\.\//,"")}return t},o=function(e,n){n=s(e,n);var 
o=t.modules[n];if(!o){if("function"==typeof(o=t.payloads[n])){var 
r={},a={id:n,uri:"",exports:r,packaged:!0},l=o(function(e,t){return 
i(n,e,t)},r,a);t.modules[n]=r=l||a.exports,delete 
t.payloads[n]}o=t.modules[n]=r||o}return o};!function(i){var 
s=e;s.define&&s.define.packaged||(t.original=s.define,s.define=t,s.define.packaged=!0),s.require&&s.require.packaged||(n.original=s.require,s.require=n,s.require.packaged=!0)}()}})(),define("ace/lib/regexp",["require","exports","module"],function(e,t,i){"use
 strict";var 
n={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},s=void
 0===n.exec.call(/()??/,"")[1],o=function(){var e=/^/g;return 
n.test.call(e,""),!e.lastIndex}();o&&s||(RegExp.prototype.exec=function(e){var 
t,i,r=n.exec.apply(this,arguments);if("string"==typeof 
e&&r){if(!s&&r.length>1&&function(e,t,i){if(Array.prototype.indexOf)ret
 urn e.indexOf("",void 0);for(var n=0;n<e.length;n++)if(""===e[n])return 
n;return-1}(r)>-1&&(i=RegExp(this.source,n.replace.call(function(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}(this),"g","")),n.replace.call(e.slice(r.index),i,function(){for(var
 e=1;e<arguments.length-2;e++)void 0===arguments[e]&&(r[e]=void 
0)})),this._xregexp&&this._xregexp.captureNames)for(var 
a=1;a<r.length;a++)(t=this._xregexp.captureNames[a-1])&&(r[t]=r[a]);!o&&this.global&&!r[0].length&&this.lastIndex>r.index&&this.lastIndex--}return
 r},o||(RegExp.prototype.test=function(e){var t=n.exec.call(this,e);return 
t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,i){function
 n(){}function s(e){try{return 
Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(e){}}function 
o(e){return(e=+e)!=e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Ma
 
th.abs(e))),e}Function.prototype.bind||(Function.prototype.bind=function(e){var 
t=this;if("function"!=typeof t)throw new TypeError("Function.prototype.bind 
called on incompatible "+t);var i=f.call(arguments,1),s=function(){if(this 
instanceof s){var n=t.apply(this,i.concat(f.call(arguments)));return 
Object(n)===n?n:this}return t.apply(e,i.concat(f.call(arguments)))};return 
t.prototype&&(n.prototype=t.prototype,s.prototype=new 
n,n.prototype=null),s});var 
r,a,l,h,c,u=Function.prototype.call,d=Array.prototype,g=Object.prototype,f=d.slice,m=u.bind(g.toString),p=u.bind(g.hasOwnProperty);if((c=p(g,"__defineGetter__"))&&(r=u.bind(g.__defineGetter__),a=u.bind(g.__defineSetter__),l=u.bind(g.__lookupGetter__),h=u.bind(g.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function
 e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var 
t,i=[];if(i.splice.apply(i,e(20)),i.splice.apply(i,e(26)),t=i.length,i.splice(5,0,"XXX"),t+1==i.length)return!0}()){var
 A=Array.prototype.splice;Array.prototyp
 e.splice=function(e,t){return arguments.length?A.apply(this,[void 
0===e?0:e,void 0===t?this.length-e:t].concat(f.call(arguments,2))):[]}}else 
Array.prototype.splice=function(e,t){var i=this.length;e>0?e>i&&(e=i):void 
0==e?e=0:e<0&&(e=Math.max(i+e,0)),e+t<i||(t=i-e);var 
n=this.slice(e,e+t),s=f.call(arguments,2),o=s.length;if(e===i)o&&this.push.apply(this,s);else{var
 r=Math.min(t,i-e),a=e+r,l=a+o-r,h=i-a,c=i-r;if(l<a)for(var 
u=0;u<h;++u)this[l+u]=this[a+u];else 
if(l>a)for(u=h;u--;)this[l+u]=this[a+u];if(o&&e===c)this.length=c,this.push.apply(this,s);else
 for(this.length=c+o,u=0;u<o;++u)this[e+u]=s[u]}return 
n};Array.isArray||(Array.isArray=function(e){return"[object Array]"==m(e)});var 
C,F=Object("a"),w="a"!=F[0]||!(0 in 
F);if(Array.prototype.forEach||(Array.prototype.forEach=function(e){var 
t=L(this),i=w&&"[object 
String]"==m(this)?this.split(""):t,n=arguments[1],s=-1,o=i.length>>>0;if("[object
 Function]"!=m(e))throw new TypeError;for(;++s<o;)s in 
i&&e.call(n,i[s],s,t)}),Array.protot
 ype.map||(Array.prototype.map=function(e){var t=L(this),i=w&&"[object 
String]"==m(this)?this.split(""):t,n=i.length>>>0,s=Array(n),o=arguments[1];if("[object
 Function]"!=m(e))throw new TypeError(e+" is not a function");for(var 
r=0;r<n;r++)r in i&&(s[r]=e.call(o,i[r],r,t));return 
s}),Array.prototype.filter||(Array.prototype.filter=function(e){var 
t,i=L(this),n=w&&"[object 
String]"==m(this)?this.split(""):i,s=n.length>>>0,o=[],r=arguments[1];if("[object
 Function]"!=m(e))throw new TypeError(e+" is not a function");for(var 
a=0;a<s;a++)a in n&&e.call(r,t=n[a],a,i)&&o.push(t);return 
o}),Array.prototype.every||(Array.prototype.every=function(e){var 
t=L(this),i=w&&"[object 
String]"==m(this)?this.split(""):t,n=i.length>>>0,s=arguments[1];if("[object 
Function]"!=m(e))throw new TypeError(e+" is not a function");for(var 
o=0;o<n;o++)if(o in 
i&&!e.call(s,i[o],o,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var
 t=L(this),i=w&&"[object String]"==m(this)?this.split("
 "):t,n=i.length>>>0,s=arguments[1];if("[object Function]"!=m(e))throw new 
TypeError(e+" is not a function");for(var o=0;o<n;o++)if(o in 
i&&e.call(s,i[o],o,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var
 t=L(this),i=w&&"[object 
String]"==m(this)?this.split(""):t,n=i.length>>>0;if("[object 
Function]"!=m(e))throw new TypeError(e+" is not a 
function");if(!n&&1==arguments.length)throw new TypeError("reduce of empty 
array with no initial value");var 
s,o=0;if(arguments.length>=2)s=arguments[1];else for(;;){if(o in 
i){s=i[o++];break}if(++o>=n)throw new TypeError("reduce of empty array with no 
initial value")}for(;o<n;o++)o in i&&(s=e.call(void 0,s,i[o],o,t));return 
s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var 
t=L(this),i=w&&"[object 
String]"==m(this)?this.split(""):t,n=i.length>>>0;if("[object 
Function]"!=m(e))throw new TypeError(e+" is not a 
function");if(!n&&1==arguments.length)throw new TypeError("reduceRight of empt
 y array with no initial value");var 
s,o=n-1;if(arguments.length>=2)s=arguments[1];else for(;;){if(o in 
i){s=i[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with 
no initial value")}do{o in this&&(s=e.call(void 
0,s,i[o],o,t))}while(o--);return 
s}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var
 t=w&&"[object 
String]"==m(this)?this.split(""):L(this),i=t.length>>>0;if(!i)return-1;var 
n=0;for(arguments.length>1&&(n=o(arguments[1])),n=n>=0?n:Math.max(0,i+n);n<i;n++)if(n
 in t&&t[n]===e)return 
n;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(e){var
 t=w&&"[object 
String]"==m(this)?this.split(""):L(this),i=t.length>>>0;if(!i)return-1;var 
n=i-1;for(arguments.length>1&&(n=Math.min(n,o(arguments[1]))),n=n>=0?n:i-Math.abs(n);n>=0;n--)if(n
 in t&&e===t[n])return 
n;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return 
e.__proto__||(e.constructor?e.construc
 
tor.prototype:g)}),Object.getOwnPropertyDescriptor||(Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof
 e&&"function"!=typeof e||null===e)throw new 
TypeError("Object.getOwnPropertyDescriptor called on a non-object: 
"+e);if(p(e,t)){var i;if(i={enumerable:!0,configurable:!0},c){var 
n=e.__proto__;e.__proto__=g;var s=l(e,t),o=h(e,t);if(e.__proto__=n,s||o)return 
s&&(i.get=s),o&&(i.set=o),i}return 
i.value=e[t],i}}),Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return
 
Object.keys(e)}),Object.create||(C=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var
 e={};for(var t in e)e[t]=null;return 
e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var
 i;if(null===e)i=C();else{if("object"!=typeof e)throw new TypeError("typeof 
prototype["+typeof e+"] != 'object'");var n=function(){};n.prototype=e,(i=new 
n).__proto__=e}return voi
 d 0!==t&&Object.defineProperties(i,t),i}),Object.defineProperty){var 
v=s({}),E="undefined"==typeof 
document||s(document.createElement("div"));if(!v||!E)var 
b=Object.defineProperty}Object.defineProperty&&!b||(Object.defineProperty=function(e,t,i){if("object"!=typeof
 e&&"function"!=typeof e||null===e)throw new TypeError("Object.defineProperty 
called on non-object: "+e);if("object"!=typeof i&&"function"!=typeof 
i||null===i)throw new TypeError("Property description must be an object: 
"+i);if(b)try{return 
b.call(Object,e,t,i)}catch(e){}if(p(i,"value"))if(c&&(l(e,t)||h(e,t))){var 
n=e.__proto__;e.__proto__=g,delete e[t],e[t]=i.value,e.__proto__=n}else 
e[t]=i.value;else{if(!c)throw new TypeError("getters & setters can not be 
defined on this javascript 
engine");p(i,"get")&&r(e,t,i.get),p(i,"set")&&a(e,t,i.set)}return 
e}),Object.defineProperties||(Object.defineProperties=function(e,t){for(var i 
in t)p(t,i)&&Object.defineProperty(e,i,t[i]);return 
e}),Object.seal||(Object.seal=function(e){retur
 n e}),Object.freeze||(Object.freeze=function(e){return 
e});try{Object.freeze(function(){})}catch(e){Object.freeze=function(e){return 
function(t){return"function"==typeof 
t?t:e(t)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(e){return
 
e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw
 new TypeError;for(var t="";p(e,t);)t+="?";e[t]=!0;var i=p(e,t);return delete 
e[t],i}),!Object.keys){var 
$=!0,y=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],B=y.length;for(var
 D in{toString:null})$=!1;Object.keys=function(e){if("object"!=typeof 
e&&"function"!=typeof e||null===e)throw new TypeError("Object.keys called on a 
non-object");var t=[];for(var i in e)p(e,i)&&t.push(i);if($)for(var 
n=0,s=B;n<s;n++){var o=y[n];p(e,o)&&t.push(o)}return t}}Date.now||(Date.now=
 function(){return(new Date).getTime()});var S="\t\n\v\f\r 
\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||S.trim()){S="["+S+"]";var
 k=new RegExp("^"+S+S+"*"),x=new 
RegExp(S+S+"*$");String.prototype.trim=function(){return 
String(this).replace(k,"").replace(x,"")}}var L=function(e){if(null==e)throw 
new TypeError("can't convert "+e+" to object");return 
Object(e)}}),define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,i){"use
 
strict";e("./regexp"),e("./es5-shim")}),define("ace/lib/dom",["require","exports","module"],function(e,t,i){"use
 strict";t.getDocumentHead=function(e){return 
e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return
 
document.createElementNS?document.createElementNS(t||"http://www.w3.org/1999/xhtml",e):document.createElement(e)},t.hasCssClass=function(e,t
 
){return-1!==(e.className+"").split(/\s+/g).indexOf(t)},t.addCssClass=function(e,i){t.hasCssClass(e,i)||(e.className+="
 "+i)},t.removeCssClass=function(e,t){for(var 
i=e.className.split(/\s+/g);;){var 
n=i.indexOf(t);if(-1==n)break;i.splice(n,1)}e.className=i.join(" 
")},t.toggleCssClass=function(e,t){for(var 
i=e.className.split(/\s+/g),n=!0;;){var 
s=i.indexOf(t);if(-1==s)break;n=!1,i.splice(s,1)}return 
n&&i.push(t),e.className=i.join(" 
"),n},t.setCssClass=function(e,i,n){n?t.addCssClass(e,i):t.removeCssClass(e,i)},t.hasCssString=function(e,t){var
 
i,n=0;if((t=t||document).createStyleSheet&&(i=t.styleSheets)){for(;n<i.length;)if(i[n++].owningElement.id===e)return!0}else
 
if(i=t.getElementsByTagName("style"))for(;n<i.length;)if(i[n++].id===e)return!0;return!1},t.importCssString=function(e,i,n){if(n=n||document,i&&t.hasCssString(i,n))return
 null;var s;i&&(e+="\n/*# sourceURL=ace/css/"+i+" 
*/"),n.createStyleSheet?((s=n.createStyleSheet()).cssText=e,i&&(s.owningElement.id=i)):((s=t.createEle
 
ment("style")).appendChild(n.createTextNode(e)),i&&(s.id=i),t.getDocumentHead(n).appendChild(s))},t.importCssStylsheet=function(e,i){if(i.createStyleSheet)i.createStyleSheet(e);else{var
 
n=t.createElement("link");n.rel="stylesheet",n.href=e,t.getDocumentHead(i).appendChild(n)}},t.getInnerWidth=function(e){return
 
parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return
 
parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight},t.scrollbarWidth=function(e){var
 
i=t.createElement("ace_inner");i.style.width="100%",i.style.minWidth="0px",i.style.height="200px",i.style.display="block";var
 
n=t.createElement("ace_outer"),s=n.style;s.position="absolute",s.left="-10000px",s.overflow="hidden",s.width="200px",s.minWidth="0px",s.height="150px",s.display="block",n.appendChild(i);var
 o=e.documentElement;o.appendChild(n);var 
r=i.offsetWidth;s.overflow="scroll";var a
 =i.offsetWidth;return 
r==a&&(a=n.clientWidth),o.removeChild(n),r-a},"undefined"!=typeof 
document?(void 0!==window.pageYOffset?(t.getPageScrollTop=function(){return 
window.pageYOffset},t.getPageScrollLeft=function(){return 
window.pageXOffset}):(t.getPageScrollTop=function(){return 
document.body.scrollTop},t.getPageScrollLeft=function(){return 
document.body.scrollLeft}),t.computedStyle=window.getComputedStyle?function(e,t){return
 
t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:function(e,t){return
 t?e.currentStyle[t]:e.currentStyle},t.setInnerHtml=function(e,t){var 
i=e.cloneNode(!1);return 
i.innerHTML=t,e.parentNode.replaceChild(i,e),i},"textContent"in 
document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return
 
e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return
 e.innerText}),t.getParentWindow=function(e){return 
e.defaultView||e.parentWindow}):t.importCssString=func
 
tion(){}}),define("ace/lib/oop",["require","exports","module"],function(e,t,i){"use
 
strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var
 i in t)e[i]=t[i];return 
e},t.implement=function(e,i){t.mixin(e,i)}}),define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(e,t,i){"use
 strict";e("./fixoldbrowsers");var n=e("./oop"),s=function(){var 
e,t,i={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnt
 
er",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:"
 
",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(t
 in 
i.FUNCTION_KEYS)e=i.FUNCTION_KEYS[t].toLowerCase(),i[e]=parseInt(t,10);for(t in 
i.PRINTABLE_KEYS)e=i.PRINTABLE_KEYS[t].toLowerCase(),i[e]=parseInt(t,10);return 
n.mixin(i,i.MODIFIER_KEYS),n.mixin(i,i.PRINTABLE_KEYS),n.mixin(i,i.FUNCTION_KEYS),i.enter=i.return,i.escape=i.esc,i.del=i.delete,i[173]="-",function(){for(var
 
e=["cmd","ctrl","alt","shift"],t=Math.pow(2,e.length);t--;)i.KEY_MODS[t]=e.filter(function(e){return
 t
 
&i.KEY_MODS[e]}).join("-")+"-"}(),i.KEY_MODS[0]="",i.KEY_MODS[-1]="input-",i}();n.mixin(t,s),t.keyCodeToString=function(e){var
 t=s[e];return"string"!=typeof 
t&&(t=String.fromCharCode(e)),t.toLowerCase()}}),define("ace/lib/useragent",["require","exports","module"],function(e,t,i){"use
 
strict";if(t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return
 t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS},"object"==typeof 
navigator){var 
n=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),s=navigator.userAgent;t.isWin="win"==n,t.isMac="mac"==n,t.isLinux="linux"==n,t.isIE="Microsoft
 Internet 
Explorer"==navigator.appName||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((s.match(/(?:MSIE
 
|Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((s.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&"Gecko"===window.navigator.pro
 
duct,t.isOldGecko=t.isGecko&&parseInt((s.match(/rv:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&"[object
 
Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(s.split("WebKit/")[1])||void
 0,t.isChrome=parseFloat(s.split(" Chrome/")[1])||void 
0,t.isAIR=s.indexOf("AdobeAIR")>=0,t.isIPad=s.indexOf("iPad")>=0,t.isChromeOS=s.indexOf("
 CrOS 
")>=0,t.isIOS=/iPad|iPhone|iPod/.test(s)&&!window.MSStream,t.isIOS&&(t.isMac=!0)}}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,i){"use
 strict";function n(e,t,i){var 
n=h(t);if(!r.isMac&&a){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(n|=8),a.altGr){if(3==(3&n))return;a.altGr=0}if(18===i||17===i){var
 s="location"in 
t?t.location:t.keyLocation;17===i&&1===s?1==a[i]&&(l=t.timeStamp):18===i&&3===n&&2===s&&t.timeStamp-l<50&&(a.altGr=!0)}}if(i
 in 
o.MODIFIER_KEYS&&(i=-1),8&n&&i>=91&&i<=93&&(i=-1),n||13!==i||3!==(s="location"in
 t?t.location:t.keyLo
 
cation)||(e(t,n,-i),!t.defaultPrevented)){if(r.isChromeOS&&8&n){if(e(t,n,i),t.defaultPrevented)return;n&=-9}return!!(n||i
 in o.FUNCTION_KEYS||i in o.PRINTABLE_KEYS)&&e(t,n,i)}}function 
s(){a=Object.create(null)}var 
o=e("./keys"),r=e("./useragent"),a=null,l=0;t.addListener=function(e,t,i){if(e.addEventListener)return
 e.addEventListener(t,i,!1);if(e.attachEvent){var 
n=function(){i.call(e,window.event)};i._wrapper=n,e.attachEvent("on"+t,n)}},t.removeListener=function(e,t,i){if(e.removeEventListener)return
 
e.removeEventListener(t,i,!1);e.detachEvent&&e.detachEvent("on"+t,i._wrapper||i)},t.stopEvent=function(e){return
 
t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||r.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.
 button]},t.capture=function(e,i,n){function 
s(e){i&&i(e),n&&n(e),t.removeListener(document,"mousemove",i,!0),t.removeListener(document,"mouseup",s,!0),t.removeListener(document,"dragstart",s,!0)}return
 
t.addListener(document,"mousemove",i,!0),t.addListener(document,"mouseup",s,!0),t.addListener(document,"dragstart",s,!0),s},t.addTouchMoveListener=function(e,i){var
 n,s;t.addListener(e,"touchstart",function(e){var 
t=e.touches[0];n=t.clientX,s=t.clientY}),t.addListener(e,"touchmove",function(e){var
 t=e.touches;if(!(t.length>1)){var 
o=t[0];e.wheelX=n-o.clientX,e.wheelY=s-o.clientY,n=o.clientX,s=o.clientY,i(e)}})},t.addMouseWheelListener=function(e,i){"onmousewheel"in
 e?t.addListener(e,"mousewheel",function(e){void 
0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8),i(e)}):"onwheel"in
 e?t.addListener(e,"wheel",function(e){switch(e.deltaMode){case 
e.DOM_DELTA_PIXEL:e.wheelX=.35*e.deltaX||0,e.wheelY=.35*e.deltaY||0;break;case 
e.DOM_
 DELTA_LINE:case 
e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}i(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),i(e)})},t.addMultiMouseDownListener=function(e,i,n,s){function
 o(e){if(0!==t.getButton(e)?u=0:e.detail>1?++u>4&&(u=1):u=1,r.isIE){var 
o=Math.abs(e.clientX-l)>5||Math.abs(e.clientY-h)>5;c&&!o||(u=1),c&&clearTimeout(c),c=setTimeout(function(){c=null},i[u-1]||600),1==u&&(l=e.clientX,h=e.clientY)}if(e._clicks=u,n[s]("mousedown",e),u>4)u=0;else
 if(u>1)return n[s](d[u],e)}function 
a(e){u=2,c&&clearTimeout(c),c=setTimeout(function(){c=null},i[u-1]||600),n[s]("mousedown",e),n[s](d[u],e)}var
 
l,h,c,u=0,d={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",o),r.isOldIE&&t.addListener(e,"dblclick",a)})};var
 h=!r.isMac||!r.isOpera||"KeyboardEvent"in window?function(e){return 
0|(e.ctrlKey
 ?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 
0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return
 o.KEY_MODS[h(e)]},t.addCommandKeyListener=function(e,i){var 
o=t.addListener;if(r.isOldGecko||r.isOpera&&!("KeyboardEvent"in window)){var 
l=null;o(e,"keydown",function(e){l=e.keyCode}),o(e,"keypress",function(e){return
 n(i,e,l)})}else{var 
h=null;o(e,"keydown",function(e){a[e.keyCode]=(a[e.keyCode]||0)+1;var 
t=n(i,e,e.keyCode);return 
h=e.defaultPrevented,t}),o(e,"keypress",function(e){h&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),h=null)}),o(e,"keyup",function(e){a[e.keyCode]=null}),a||(s(),o(window,"focus",s))}},"object"==typeof
 
window&&window.postMessage&&!r.isOldIE&&(t.nextTick=function(e,i){i=i||window;var
 n="zero-timeout-message-1";t.addListener(i,"message",function 
s(o){o.data==n&&(t.stopPropagation(o),t.removeListener(i,"message",s),e())}),i.postMessage(n,"*")}),t.nextFrame="object"
 ==typeof 
window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame=t.nextFrame?t.nextFrame.bind(window):function(e){setTimeout(e,17)}}),define("ace/lib/lang",["require","exports","module"],function(e,t,i){"use
 strict";t.last=function(e){return 
e[e.length-1]},t.stringReverse=function(e){return 
e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var 
i="";t>0;)1&t&&(i+=e),(t>>=1)&&(e+=e);return i};var 
n=/^\s\s*/,s=/\s\s*$/;t.stringTrimLeft=function(e){return 
e.replace(n,"")},t.stringTrimRight=function(e){return 
e.replace(s,"")},t.copyObject=function(e){var t={};for(var i in 
e)t[i]=e[i];return t},t.copyArray=function(e){for(var 
t=[],i=0,n=e.length;i<n;i++)t[i]=e[i]&&"object"==typeof 
e[i]?this.copyObject(e[i]):e[i];return t},t.deepCopy=function 
e(t){if("object"!=typeof t||!t)return t;var i;if(Array.isArray(t)){i=[];for(var 
n=0;n<t.length;n++)i[n]=e(t[n
 ]);return i}if("[object Object]"!==Object.prototype.toString.call(t))return 
t;for(var n in i={},t)i[n]=e(t[n]);return i},t.arrayToMap=function(e){for(var 
t={},i=0;i<e.length;i++)t[e[i]]=1;return t},t.createMap=function(e){var 
t=Object.create(null);for(var i in e)t[i]=e[i];return 
t},t.arrayRemove=function(e,t){for(var 
i=0;i<=e.length;i++)t===e[i]&&e.splice(i,1)},t.escapeRegExp=function(e){return 
e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return 
e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var
 i=[];return 
e.replace(t,function(e){i.push({offset:arguments[arguments.length-2],length:e.length})}),i},t.deferredCall=function(e){var
 t=null,i=function(){t=null,e()},n=function(e){return 
n.cancel(),t=setTimeout(i,e||0),n};return n.schedule=n,n.call=function(){return 
this.cancel(),e(),n},n.cancel=function(){return 
clearTimeout(t),t=null,n},n.isPending=function(){return t},n},t.delayedCall=fun
 ction(e,t){var 
i=null,n=function(){i=null,e()},s=function(e){null==i&&(i=setTimeout(n,e||t))};return
 
s.delay=function(e){i&&clearTimeout(i),i=setTimeout(n,e||t)},s.schedule=s,s.call=function(){this.cancel(),e()},s.cancel=function(){i&&clearTimeout(i),i=null},s.isPending=function(){return
 
i},s}}),define("ace/keyboard/textinput_ios",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"],function(e,t,i){"use
 strict";var 
n=e("../lib/event"),s=e("../lib/useragent"),o=e("../lib/dom"),r=e("../lib/lang"),a=e("../lib/keys"),l=a.KEY_MODS,h=s.isChrome<18,c=s.isIE;t.TextInput=function(e,t){function
 i(e){if(!C){if(C=!0,$)t=0,i=e?0:g.value.length-1;else var 
t=4,i=5;try{g.setSelectionRange(t,i)}catch(e){}C=!1}}function 
u(){C||(g.value=f,s.isWebKit&&b.schedule())}function 
d(){clearTimeout(M),M=setTimeout(function(){F&&(g.style.cssText=F,F=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaT
 oCursor())},0)}var 
g=o.createElement("textarea");g.className=s.isIOS?"ace_text-input 
ace_text-input-ios":"ace_text-input",s.isTouchPad&&g.setAttribute("x-palm-disable-auto-cap",!0),g.setAttribute("wrap","off"),g.setAttribute("autocorrect","off"),g.setAttribute("autocapitalize","off"),g.setAttribute("spellcheck",!1),g.style.opacity="0",e.insertBefore(g,e.firstChild);var
 f="\n aaaa a\n",m=!1,p=!1,A=!1,C=!1,F="",w=!0;try{var 
v=document.activeElement===g}catch(e){}n.addListener(g,"blur",function(e){t.onBlur(e),v=!1}),n.addListener(g,"focus",function(e){v=!0,t.onFocus(e),i()}),this.focus=function(){if(F)return
 
g.focus();g.style.position="fixed",g.focus()},this.blur=function(){g.blur()},this.isFocused=function(){return
 v};var 
E=r.delayedCall(function(){v&&i(w)}),b=r.delayedCall(function(){C||(g.value=f,v&&i())});s.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=w&&(w=!w,E.schedule())}),u(),v&&t.onFocus();var
 $=null;this.setInputHandler=function(e){$=e},thi
 s.getInputHandler=function(){return $};var 
y=!1,B=function(e){4===g.selectionStart&&5===g.selectionEnd||($&&(e=$(e),$=null),A?(i(),e&&t.onPaste(e),A=!1):e==f.substr(0)&&4===g.selectionStart?t.execCommand(y?"del":"backspace",{source:"ace"}):m||(e.substring(0,9)==f&&e.length>f.length?e=e.substr(9):e.substr(0,4)==f.substr(0,4)?e=e.substr(4,e.length-f.length+1):e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e!=f.charAt(0)&&e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),m&&(m=!1),y&&(y=!1))},D=function(e){C||(B(g.value),u())},S=function(e,t,i){var
 n=e.clipboardData||window.clipboardData;if(n&&!h){var 
s=c||i?"Text":"text/plain";try{return 
t?!1!==n.setData(s,t):n.getData(s)}catch(e){if(!i)return 
S(e,t,!0)}}},k=function(e,o){var r=t.getCopyText();if(!r)return 
n.preventDefault(e);S(e,r)?(s.isIOS&&(p=o,g.value="\n aa"+r+"a 
a\n",g.setSelectionRange(4,4+r.length),m={value:r}),o?t.onCut():t.onCopy(),s.isIOS||n.preventDefault(e)):(m=!0,g.value=r,g.select(),setTime
 
out(function(){m=!1,u(),i(),o?t.onCut():t.onCopy()}))};n.addCommandKeyListener(g,t.onCommandKey.bind(t)),n.addListener(g,"select",function(e){0!==g.selectionStart||g.selectionEnd!==g.value.length?$&&i(t.selection.isEmpty()):(t.selectAll(),i())}),n.addListener(g,"input",D),n.addListener(g,"cut",function(e){k(e,!0)}),n.addListener(g,"copy",function(e){k(e,!1)}),n.addListener(g,"paste",function(e){var
 o=S(e);"string"==typeof 
o?(o&&t.onPaste(o,e),s.isIE&&setTimeout(i),n.preventDefault(e)):(g.value="",A=!0)});var
 x=function(){if(C&&t.onCompositionUpdate&&!t.$readOnly){var 
e=g.value.replace(/\x01/g,"");if(C.lastValue!==e&&(t.onCompositionUpdate(e),C.lastValue&&t.undo(),C.canUndo&&(C.lastValue=e),C.lastValue)){var
 
i=t.selection.getRange();t.insert(C.lastValue),t.session.markUndoGroup(),C.range=t.selection.getRange(),t.selection.setRange(i),t.selection.clearSelection()}}},L=function(e){if(t.onCompositionEnd&&!t.$readOnly){var
 i=C;C=!1;var n=setTimeout(function(){n=null;var e=g.value.replace
 
(/\x01/g,"");C||(e==i.lastValue?u():!i.lastValue&&e&&(u(),B(e)))});$=function(e){return
 
n&&clearTimeout(n),(e=e.replace(/\x01/g,""))==i.lastValue?"":(i.lastValue&&n&&t.undo(),e)},t.onCompositionEnd(),t.removeListener("mousedown",L),"compositionend"==e.type&&i.range&&t.selection.setRange(i.range),(s.isChrome&&s.isChrome>=53||s.isWebKit&&s.isWebKit>=603)&&D()}},R=r.delayedCall(x,50);n.addListener(g,"compositionstart",function(e){C||!t.onCompositionStart||t.$readOnly||((C={}).canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(x,0),t.on("mousedown",L),C.canUndo&&!t.selection.isEmpty()&&(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())}),s.isGecko?n.addListener(g,"text",function(){R.schedule()}):(n.addListener(g,"keyup",function(){R.schedule()}),n.addListener(g,"keydown",function(){R.schedule()})),n.addListener(g,"compositionend",L),this.getElement=function(){return
 g},this.setReadOnly=function(e){g.readOnly=e},this.onContextMe
 
nu=function(e){y=!0,i(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,i){F||(F=g.style.cssText),g.style.cssText=(i?"z-index:100000;":"")+"height:"+g.style.height+";"+(s.isIE?"opacity:0.1;":"");var
 
r=t.container.getBoundingClientRect(),a=o.computedStyle(t.container),l=r.top+(parseInt(a.borderTopWidth)||0),h=r.left+(parseInt(r.borderLeftWidth)||0),c=r.bottom-l-g.clientHeight-2,u=function(e){g.style.left=e.clientX-h-2+"px",g.style.top=Math.min(e.clientY-l-2,c)+"px"};u(e),"mousedown"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(M),s.isWin&&n.capture(t.container,u,d))},this.onContextMenuClose=d;var
 
M,T=function(e){t.textInput.onContextMenu(e),d()};if(n.addListener(g,"mouseup",T),n.addListener(g,"mousedown",function(e){e.preventDefault(),d()}),n.addListener(t.renderer.scroller,"contextmenu",T),n.addListener(g,"contextmenu",T),s.isIOS){var
 _=null,O=!1;e.addEvent
 
Listener("keydown",function(e){_&&clearTimeout(_),O=!0}),e.addEventListener("keyup",function(e){_=setTimeout(function(){O=!1},100)});var
 I=function(e){if(document.activeElement===g&&!O){if(p)return 
setTimeout(function(){p=!1},100);var 
i=g.selectionStart,n=g.selectionEnd;if(g.setSelectionRange(4,5),i==n)switch(i){case
 0:t.onCommandKey(null,0,a.up);break;case 
1:t.onCommandKey(null,0,a.home);break;case 
2:t.onCommandKey(null,l.option,a.left);break;case 
4:t.onCommandKey(null,0,a.left);break;case 
5:t.onCommandKey(null,0,a.right);break;case 
7:t.onCommandKey(null,l.option,a.right);break;case 
8:t.onCommandKey(null,0,a.end);break;case 
9:t.onCommandKey(null,0,a.down)}else{switch(n){case 
6:t.onCommandKey(null,l.shift,a.right);break;case 
7:t.onCommandKey(null,l.shift|l.option,a.right);break;case 
8:t.onCommandKey(null,l.shift,a.end);break;case 
9:t.onCommandKey(null,l.shift,a.down)}switch(i){case 
0:t.onCommandKey(null,l.shift,a.up);break;case 
1:t.onCommandKey(null,l.shift,a.home);break;case 2:t.on
 CommandKey(null,l.shift|l.option,a.left);break;case 
3:t.onCommandKey(null,l.shift,a.left)}}}};document.addEventListener("selectionchange",I),t.on("destroy",function(){document.removeEventListener("selectionchange",I)})}}}),define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/keyboard/textinput_ios"],function(e,t,i){"use
 strict";var 
n=e("../lib/event"),s=e("../lib/useragent"),o=e("../lib/dom"),r=e("../lib/lang"),a=s.isChrome<18,l=s.isIE,h=e("./textinput_ios").TextInput;t.TextInput=function(e,t){function
 i(e){if(!p){if(p=!0,E)var t=0,i=e?0:d.value.length-1;else 
t=e?2:1,i=2;try{d.setSelectionRange(t,i)}catch(e){}p=!1}}function 
c(){p||(d.value=g,s.isWebKit&&v.schedule())}function 
u(){clearTimeout(T),T=setTimeout(function(){A&&(d.style.cssText=A,A=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}if(s.isIOS)return
 h.call(this,e,t);var d=o.c
 
reateElement("textarea");d.className="ace_text-input",d.setAttribute("wrap","off"),d.setAttribute("autocorrect","off"),d.setAttribute("autocapitalize","off"),d.setAttribute("spellcheck",!1),d.style.opacity="0",e.insertBefore(d,e.firstChild);var
 g="\u2028\u2028",f=!1,m=!1,p=!1,A="",C=!0;try{var 
F=document.activeElement===d}catch(e){}n.addListener(d,"blur",function(e){t.onBlur(e),F=!1}),n.addListener(d,"focus",function(e){F=!0,t.onFocus(e),i()}),this.focus=function(){if(A)return
 d.focus();var 
e=d.style.top;d.style.position="fixed",d.style.top="0px",d.focus(),setTimeout(function(){d.style.position="","0px"==d.style.top&&(d.style.top=e)},0)},this.blur=function(){d.blur()},this.isFocused=function(){return
 F};var 
w=r.delayedCall(function(){F&&i(C)}),v=r.delayedCall(function(){p||(d.value=g,F&&i())});s.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=C&&(C=!C,w.schedule())}),c(),F&&t.onFocus();var
 E=null;this.setInputHandler=function(e){E=e},this.getInputHan
 dler=function(){return E};var 
b=!1,$=function(e){E&&(e=E(e),E=null),m?(i(),e&&t.onPaste(e),m=!1):e==g.charAt(0)?t.execCommand(b?"del":"backspace",{source:"ace"}):(e.substring(0,2)==g?e=e.substr(2):e.charAt(0)==g.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==g.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==g.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),b&&(b=!1)},y=function(e){p||($(d.value),c())},B=function(e,t,i){var
 n=e.clipboardData||window.clipboardData;if(n&&!a){var 
s=l||i?"Text":"text/plain";try{return 
t?!1!==n.setData(s,t):n.getData(s)}catch(e){if(!i)return 
B(e,t,!0)}}},D=function(e,s){var o=t.getCopyText();if(!o)return 
n.preventDefault(e);B(e,o)?(s?t.onCut():t.onCopy(),n.preventDefault(e)):(f=!0,d.value=o,d.select(),setTimeout(function(){f=!1,c(),i(),s?t.onCut():t.onCopy()}))},S=function(e){D(e,!0)},k=function(e){D(e,!1)},x=function(e){var
 o=B(e);"string"==typeof 
o?(o&&t.onPaste(o,e),s.isIE&&setTimeout(i),n.preventDefault(e)):(d.value="",m=!0)};n.addCommandKeyListen
 
er(d,t.onCommandKey.bind(t)),n.addListener(d,"select",function(e){f?f=!1:0===d.selectionStart&&d.selectionEnd===d.value.length?(t.selectAll(),i()):E&&i(t.selection.isEmpty())}),n.addListener(d,"input",y),n.addListener(d,"cut",S),n.addListener(d,"copy",k),n.addListener(d,"paste",x),(!("oncut"in
 d)||!("oncopy"in d)||!("onpaste"in 
d))&&n.addListener(e,"keydown",function(e){if((!s.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case
 67:k(e);break;case 86:x(e);break;case 88:S(e)}});var 
L=function(){if(p&&t.onCompositionUpdate&&!t.$readOnly){var 
e=d.value.replace(/\u2028/g,"");if(p.lastValue!==e&&(t.onCompositionUpdate(e),p.lastValue&&t.undo(),p.canUndo&&(p.lastValue=e),p.lastValue)){var
 
i=t.selection.getRange();t.insert(p.lastValue),t.session.markUndoGroup(),p.range=t.selection.getRange(),t.selection.setRange(i),t.selection.clearSelection()}}},R=function(e){if(t.onCompositionEnd&&!t.$readOnly){var
 i=p;p=!1;var n=setTimeout(function(){n=null;var 
e=d.value.replace(/\u2028/g,"");p||(e==i.las
 tValue?c():!i.lastValue&&e&&(c(),$(e)))});E=function(e){return 
n&&clearTimeout(n),(e=e.replace(/\u2028/g,""))==i.lastValue?"":(i.lastValue&&n&&t.undo(),e)},t.onCompositionEnd(),t.removeListener("mousedown",R),"compositionend"==e.type&&i.range&&t.selection.setRange(i.range),(s.isChrome&&s.isChrome>=53||s.isWebKit&&s.isWebKit>=603)&&y()}},M=r.delayedCall(L,50);n.addListener(d,"compositionstart",function(e){p||!t.onCompositionStart||t.$readOnly||((p={}).canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(L,0),t.on("mousedown",R),p.canUndo&&!t.selection.isEmpty()&&(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())}),s.isGecko?n.addListener(d,"text",function(){M.schedule()}):(n.addListener(d,"keyup",function(){M.schedule()}),n.addListener(d,"keydown",function(){M.schedule()})),n.addListener(d,"compositionend",R),this.getElement=function(){return
 
d},this.setReadOnly=function(e){d.readOnly=e},this.onContextMenu=function(e){b=!0,i(t
 
.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,i){A||(A=d.style.cssText),d.style.cssText=(i?"z-index:100000;":"")+"height:"+d.style.height+";"+(s.isIE?"opacity:0.1;":"");var
 
r=t.container.getBoundingClientRect(),a=o.computedStyle(t.container),l=r.top+(parseInt(a.borderTopWidth)||0),h=r.left+(parseInt(r.borderLeftWidth)||0),c=r.bottom-l-d.clientHeight-2,g=function(e){d.style.left=e.clientX-h-2+"px",d.style.top=Math.min(e.clientY-l-2,c)+"px"};g(e),"mousedown"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(T),s.isWin&&n.capture(t.container,g,u))},this.onContextMenuClose=u;var
 
T,_=function(e){t.textInput.onContextMenu(e),u()};n.addListener(d,"mouseup",_),n.addListener(d,"mousedown",function(e){e.preventDefault(),u()}),n.addListener(t.renderer.scroller,"contextmenu",_),n.addListener(d,"contextmenu",_)}}),define("ace/mouse/default_handlers",["require","exports","
 
module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,i){"use 
strict";function n(e){e.$clickSelection=null;var 
t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e)),["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function
 s(e,t){if(e.start.row==e.end.row)var 
i=2*t.column-e.start.column-e.end.column;else 
i=e.start.row!=e.end.row-1||e.start.column||e.end.column?2*t.row-e.start.row-e.end.row:t.column-4;return
 i<0?{cursor:e.
 
start,anchor:e.end}:{cursor:e.end,anchor:e.start}}e("../lib/dom"),e("../lib/event");var
 o=e("../lib/useragent");(function(){this.onMouseDown=function(e){var 
t=e.inSelection(),i=e.getDocumentPosition();this.mousedownEvent=e;var 
n=this.editor,s=e.getButton();if(0!==s){var 
r=n.getSelectionRange().isEmpty();return 
n.$blockScrolling++,(r||1==s)&&n.selection.moveToPosition(i),n.$blockScrolling--,void(2==s&&(n.textInput.onContextMenu(e.domEvent),o.isMozilla||e.preventDefault()))}return
 
this.mousedownEvent.time=Date.now(),!t||n.isFocused()||(n.focus(),!this.$focusTimout||this.$clickSelection||n.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(i,e.domEvent._clicks>1),e.preventDefault()):(this.setState("focusWait"),void
 
this.captureMouse(e))},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var
 
i=this.editor;i.$blockScrolling++,this.mousedownEvent.getShiftKey()?i.selection.selectToPosition(e):t||i.selection.moveToPosition(e),t||this.sele
 
ct(),i.renderer.scroller.setCapture&&i.renderer.scroller.setCapture(),i.setStyle("ace_selecting"),this.setState("select"),i.$blockScrolling--},this.select=function(){var
 
e,t=this.editor,i=t.renderer.screenToTextCoordinates(this.x,this.y);if(t.$blockScrolling++,this.$clickSelection){var
 
n=this.$clickSelection.comparePoint(i);if(-1==n)e=this.$clickSelection.end;else 
if(1==n)e=this.$clickSelection.start;else{var 
o=s(this.$clickSelection,i);i=o.cursor,e=o.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(i),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var
 
t,i=this.editor,n=i.renderer.screenToTextCoordinates(this.x,this.y),o=i.selection[e](n.row,n.column);if(i.$blockScrolling++,this.$clickSelection){var
 
r=this.$clickSelection.comparePoint(o.start),a=this.$clickSelection.comparePoint(o.end);if(-1==r&&a<=0)t=this.$clickSelection.end,o.end.row==n.row&&o.end.column==n.column||(n=o.start);else
 if(1==a&&r>=0)t=this.$
 
clickSelection.start,o.start.row==n.row&&o.start.column==n.column||(n=o.end);else
 if(-1==r&&1==a)n=o.end,t=o.start;else{var 
l=s(this.$clickSelection,n);n=l.cursor,t=l.anchor}i.selection.setSelectionAnchor(t.row,t.column)}i.selection.selectToPosition(n),i.$blockScrolling--,i.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var
 e=function(e,t,i,n){return 
Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))}(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>0||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var
 
t=e.getDocumentPosition(),i=this.editor,n=i.session.getBracketRange(t);n?(n.isEmpty()&&(n.start.column--,n.end.column++
 
),this.setState("select")):(n=i.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=n,this.select()},this.onTripleClick=function(e){var
 t=e.getDocumentPosition(),i=this.editor;this.setState("selectByLines");var 
n=i.getSelectionRange();n.isMultiLine()&&n.contains(t.row,t.column)?(this.$clickSelection=i.selection.getLineRange(n.start.row),this.$clickSelection.end=i.selection.getLineRange(n.end.row).end):this.$clickSelection=i.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var
 
t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var
 
t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var
 
i=this.$lastScroll,n=e.domEvent.timeStamp,s=n-i.t,o=e.wheelX/s,r=e.wheelY/s;s<250&&(o=(o+i.vx)/2,r=(r+i.vy)/2);var
 a=Math.abs(o/r),l=!1;return a>=1
 
&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l?i.allowed=n:n-i.allowed<250&&(Math.abs(o)<=1.1*Math.abs(i.vx)&&Math.abs(r)<=1.1*Math.abs(i.vy)?(l=!0,i.allowed=n):i.allowed=0),i.t=n,i.vx=o,i.vy=r,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void
 
0}},this.onTouchMove=function(e){this.editor._emit("mousewheel",e)}}).call(n.prototype),t.DefaultHandlers=n}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,i){"use
 strict";function 
n(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}e("./lib/oop");var 
s=e("./lib/dom");(function(){this.$init=function(){return 
this.$element=s.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return
 
this.$element||this.$init()},this.setText=function(e){s.setInnerText(this.getElement(),e)},th
 
is.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){s.addCssClass(this.getElement(),e)},this.show=function(e,t,i){null!=e&&this.setText(e),null!=t&&null!=i&&this.setPosition(t,i),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return
 this.getElement().offsetHeight},this.getWidth=function(){return 
this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(n.prototype),t.Tooltip=n}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,i){"use
 strict";function n(e){a.call(this,e)}var s=e("../lib/dom"),o=e("../lib/oop
 
"),r=e("../lib/event"),a=e("../tooltip").Tooltip;o.inherits(n,a),(function(){this.setPosition=function(e,t){var
 
i=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,s=this.getWidth(),o=this.getHeight();t+=15,(e+=15)+s>i&&(e-=e+s-i),t+o>n&&(t-=20+o),a.prototype.setPosition.call(this,e,t)}}).call(n.prototype),t.GutterHandler=function(e){function
 t(){var t=l.getDocumentPosition().row,n=u.$annotations[t];if(!n)return 
i();if(t==c.session.getLength()){var 
s=c.renderer.pixelToScreenCoordinates(0,l.y).row,r=l.$pos;if(s>c.session.documentToScreenRow(r.row,r.column))return
 
i()}if(h!=n)if(h=n.text.join("<br/>"),d.setHtml(h),d.show(),c._signal("showGutterTooltip",d),c.on("mousewheel",i),e.$tooltipFollowsMouse)o(l);else{var
 
a=l.domEvent.target.getBoundingClientRect(),g=d.getElement().style;g.left=a.right+"px",g.top=a.bottom+"px"}}function
 
i(){a&&(a=clearTimeout(a)),h&&(d.hide(),h=null,c._signal("hideGutterTooltip",d),c.removeEventL
 istener("mousewheel",i))}function o(e){d.setPosition(e.x,e.y)}var 
a,l,h,c=e.editor,u=c.renderer.$gutterLayer,d=new 
n(c.container);e.editor.setDefaultHandler("guttermousedown",function(t){if(c.isFocused()&&0==t.getButton()&&"foldWidgets"!=u.getRegion(t)){var
 
i=t.getDocumentPosition().row,n=c.session.selection;if(t.getShiftKey())n.selectTo(i,0);else{if(2==t.domEvent.detail)return
 
c.selectAll(),t.preventDefault();e.$clickSelection=c.selection.getLineRange(i)}return
 
e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}}),e.editor.setDefaultHandler("guttermousemove",function(n){if(s.hasCssClass(n.domEvent.target||n.domEvent.srcElement,"ace_fold-widget"))return
 
i();h&&e.$tooltipFollowsMouse&&o(n),l=n,a||(a=setTimeout(function(){a=null,l&&!e.isMousePressed?t():i()},50))}),r.addListener(c.renderer.$gutter,"mouseout",function(e){l=null,h&&!a&&(a=setTimeout(function(){a=null,i()},50))}),c.on("changeSession",i)}}),define("ace/mouse/mouse_event",["require","exports","module","ace/li
 b/event","ace/lib/useragent"],function(e,t,i){"use strict";var 
n=e("../lib/event"),s=e("../lib/useragent"),o=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){n.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){n.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return
 
this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return
 this.$inSelection;var 
e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var 
t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return
 this.$inSelectio
 n},this.getButton=function(){return 
n.getButton(this.domEvent)},this.getShiftKey=function(){return 
this.domEvent.shiftKey},this.getAccelKey=s.isMac?function(){return 
this.domEvent.metaKey}:function(){return 
this.domEvent.ctrlKey}}).call(o.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,i){"use
 strict";function n(e){function t(){var e=v;(function(e,t){var 
i=Date.now();y&&t&&e.row==t.row&&t&&e.column==t.column?s(B.x,B.y,A,C)>c?y=null:i-y>=h&&(f.renderer.scrollCursorIntoView(),y=null):(f.$blockScrolling+=1,f.moveCursorToPosition(e),f.$blockScrolling-=1,y=i,B={x:A,y:C})})(v=f.renderer.screenToTextCoordinates(A,C),e),function(e,t){var
 
i=Date.now(),n=f.renderer.layerConfig.lineHeight,s=f.renderer.layerConfig.characterWidth,o=f.renderer.scroller.getBoundingClientRect(),r={x:{left:A-o.left,right:o.right-A},y:{top:C-o.top,bottom:o.bottom-C}},a=Math.min(r.x.left,r.x.right),h=Math.min(r.y.top,r.y.bot
 
tom),c={row:e.row,column:e.column};a/s<=2&&(c.column+=r.x.left<r.x.right?-3:2),h/n<=1&&(c.row+=r.y.top<r.y.bottom?-1:1),e.row!=c.row||e.column!=c.column&&t&&e.row==t.row?$?i-$>=l&&f.renderer.scrollCursorIntoView(c):$=i:$=null}(v,e)}function
 
i(){w=f.selection.toOrientedRange(),p=f.session.addMarker(w,"ace_selection",f.getSelectionStyle()),f.clearSelection(),f.isFocused()&&f.renderer.$cursorLayer.setBlinking(!1),clearInterval(F),t(),F=setInterval(t,20),S=0,r.addListener(document,"mousemove",u)}function
 
n(){clearInterval(F),f.session.removeMarker(p),p=null,f.$blockScrolling+=1,f.selection.fromOrientedRange(w),f.$blockScrolling-=1,f.isFocused()&&!b&&f.renderer.$cursorLayer.setBlinking(!f.getReadOnly()),w=null,v=null,S=0,$=null,y=null,r.removeListener(document,"mousemove",u)}function
 u(){null==k&&(k=setTimeout(function(){null!=k&&p&&n()},20))}function d(e){var 
t=e.types;return!t||Array.prototype.some.call(t,function(e){return"text/plain"==e||"Text"==e})}function
 g(e){var t=["copy","copym
 
ove","all","uninitialized"],i=a.isMac?e.altKey:e.ctrlKey,n="uninitialized";try{n=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var
 s="none";return 
i&&t.indexOf(n)>=0?s="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(n)>=0?s="move":t.indexOf(n)>=0&&(s="copy"),s}var
 
f=e.editor,m=o.createElement("img");m.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",a.isOpera&&(m.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;"),["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach(function(t){e[t]=this[t]},this),f.addEventListener("mousedown",this.onMouseDown.bind(e));var
 
p,A,C,F,w,v,E,b,$,y,B,D=f.container,S=0;this.onDragStart=function(e){if(this.cancelDrag||!D.draggable){var
 t=this;return 
setTimeout(function(){t.startSelect(),t.captureMouse(e)},0),e.preventDefault()}w=f.getSelectionRange();var
 i=e.dataTransfer;i.effectAllowed=f.getReadOnly()?"copy":"copyMove",a.isOpera&&(
 
f.container.appendChild(m),m.scrollTop=0),i.setDragImage&&i.setDragImage(m,0,0),a.isOpera&&f.container.removeChild(m),i.clearData(),i.setData("Text",f.session.getTextRange()),b=!0,this.setState("drag")},this.onDragEnd=function(e){D.draggable=!1,b=!1,this.setState(null),f.getReadOnly()||(!E&&"move"==e.dataTransfer.dropEffect&&f.session.remove(f.getSelectionRange()),f.renderer.$cursorLayer.setBlinking(!0)),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(!f.getReadOnly()&&d(e.dataTransfer))return
 
A=e.clientX,C=e.clientY,p||i(),S++,e.dataTransfer.dropEffect=E=g(e),r.preventDefault(e)},this.onDragOver=function(e){if(!f.getReadOnly()&&d(e.dataTransfer))return
 
A=e.clientX,C=e.clientY,p||(i(),S++),null!==k&&(k=null),e.dataTransfer.dropEffect=E=g(e),r.preventDefault(e)},this.onDragLeave=function(e){if(--S<=0&&p)return
 n(),E=null,r.preventDefault(e)},this.onDrop=function(e){if(v){var 
t=e.dataTransfer;if(b)switch(E){case"move":w=w
 
.contains(v.row,v.column)?{start:v,end:v}:f.moveText(w,v);break;case"copy":w=f.moveText(w,v,!0)}else{var
 
i=t.getData("Text");w={start:v,end:f.session.insert(v,i)},f.focus(),E=null}return
 
n(),r.preventDefault(e)}},r.addListener(D,"dragstart",this.onDragStart.bind(e)),r.addListener(D,"dragend",this.onDragEnd.bind(e)),r.addListener(D,"dragenter",this.onDragEnter.bind(e)),r.addListener(D,"dragover",this.onDragOver.bind(e)),r.addListener(D,"dragleave",this.onDragLeave.bind(e)),r.addListener(D,"drop",this.onDrop.bind(e));var
 k=null}function s(e,t,i,n){return 
Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))}var 
o=e("../lib/dom"),r=e("../lib/event"),a=e("../lib/useragent"),l=200,h=200,c=5;(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$c
 
ursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var
 
e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging"),e.renderer.setCursorStyle(a.isWin?"default":"move"),this.setState("dragReady")},this.onMouseDrag=function(e){var
 
t=this.editor.container;a.isIE&&"dragReady"==this.state&&s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&t.dragDrop(),"dragWait"===this.state&&s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var
 
t=this.editor,i=e.inSelection(),n=e.getButton();if(1===(e.domEvent.detail||1)&&0===n&&i){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var
  s=e.domEvent.target||e.domEvent.srcElement;"unselectable"in 
s&&(s.unselectable="on"),t.getDragDelay()?(a.isWebKit&&(this.cancelDrag=!0,t.container.draggable=!0),this.setState("dragWait")):this.startDrag(),this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(n.prototype),t.DragdropHandler=n}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,i){"use
 strict";var n=e("./dom");t.get=function(e,t){var i=new 
XMLHttpRequest;i.open("GET",e,!0),i.onreadystatechange=function(){4===i.readyState&&t(i.responseText)},i.send(null)},t.loadScript=function(e,t){var
 
i=n.getDocumentHead(),s=document.createElement("script");s.src=e,i.appendChild(s),s.onload=s.onreadystatechange=function(e,i){!i&&s.readyState&&"loaded"!=s.readyState&&"complete"!=s.readyState||(s=s.onload=s.onreadystatechange=null,i||t())}},t.qualifyURL=function(e){var
 t=document.createElement("a");return 
t.href=e,t.href}}),define("ace/lib/event_emitter",["require","exports","modul
 e"],function(e,t,i){"use strict";var 
n={},s=function(){this.propagationStopped=!0},o=function(){this.defaultPrevented=!0};n._emit=n._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var
 
i=this._eventRegistry[e]||[],n=this._defaultHandlers[e];if(i.length||n){"object"==typeof
 
t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=s),t.preventDefault||(t.preventDefault=o),i=i.slice();for(var
 r=0;r<i.length&&(i[r](t,this),!t.propagationStopped);r++);return 
n&&!t.defaultPrevented?n(t,this):void 0}},n._signal=function(e,t){var 
i=(this._eventRegistry||{})[e];if(i){i=i.slice();for(var 
n=0;n<i.length;n++)i[n](t,this)}},n.once=function(e,t){var 
i=this;t&&this.addEventListener(e,function 
n(){i.removeEventListener(e,n),t.apply(null,arguments)})},n.setDefaultHandler=function(e,t){var
 
i=this._defaultHandlers;if(i||(i=this._defaultHandlers={_disabled_:{}}),i[e]){var
 n=i[e],s=i._disabled_[e];s||(i._disabled_[e
 ]=s=[]),s.push(n);var 
o=s.indexOf(t);-1!=o&&s.splice(o,1)}i[e]=t},n.removeDefaultHandler=function(e,t){var
 i=this._defaultHandlers;if(i){var 
n=i._disabled_[e];if(i[e]==t)n&&this.setDefaultHandler(e,n.pop());else 
if(n){var 
s=n.indexOf(t);-1!=s&&n.splice(s,1)}}},n.on=n.addEventListener=function(e,t,i){this._eventRegistry=this._eventRegistry||{};var
 n=this._eventRegistry[e];return 
n||(n=this._eventRegistry[e]=[]),-1==n.indexOf(t)&&n[i?"unshift":"push"](t),t},n.off=n.removeListener=n.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var
 i=this._eventRegistry[e];if(i){var 
n=i.indexOf(t);-1!==n&&i.splice(n,1)}},n.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=n}),define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,i){"no
 use strict";function n(e){"undefined"!=typeof 
console&&console.warn&&console.warn.apply(console,arguments)}function 
s(e,t){var i=new Erro
 r(e);i.data=t,"object"==typeof 
console&&console.error&&console.error(i),setTimeout(function(){throw i})}var 
o=e("./oop"),r=e("./event_emitter").EventEmitter,a={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var
 t={};return 
e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]!==t){var
 i=this.$options[e];return 
i?i.forwardTo?this[i.forwardTo]&&this[i.forwardTo].setOption(e,t):(i.handlesSet||(this["$"+e]=t),void(i&&i.set&&i.set.call(this,t))):n('misspelled
 option "'+e+'"')}},getOption:function(e){var t=this.$options[e];return 
t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:n('misspelled
 option 
"'+e+'"')}},l=function(){this.$defaultOptions={}};(function(){o.implement(this,r),this.defineOptions=function(e,t,i){return
 e.$options||(this.$defaultOptions[t]=e.$opt
 ions={}),Object.keys(i).forEach(function(t){var n=i[t];"string"==typeof 
n&&(n={forwardTo:n}),n.name||(n.name=t),e.$options[n.name]=n,"initialValue"in 
n&&(e["$"+n.name]=n.initialValue)}),o.implement(e,a),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var
 i=e.$options[t];"value"in 
i&&e.setOption(t,i.value)})},this.setDefaultValue=function(e,t,i){var 
n=this.$defaultOptions[e]||(this.$defaultOptions[e]={});n[t]&&(n.forwardTo?this.setDefaultValue(n.forwardTo,t,i):n[t].value=i)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(i){this.setDefaultValue(e,i,t[i])},this)},this.warn=n,this.reportError=s}).call(l.prototype),t.AppConfig=l}),define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,i){"no
 use strict";function n(e){return e.replace(/-(.)/g,function(e,t){return 
t.toUpperCase()})}var 
s=e("./lib/lang"),o=(e("./lib/oop"),e("./lib/net")),r=e("./lib/app_config").AppC
 onfig;i.exports=t=new r;var a=function(){return this||"undefined"!=typeof 
window&&window}(),l={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!l.hasOwnProperty(e))throw
 new Error("Unknown config key: "+e);return 
l[e]},t.set=function(e,t){if(!l.hasOwnProperty(e))throw new Error("Unknown 
config key: "+e);l[e]=t},t.all=function(){return 
s.copyObject(l)},t.moduleUrl=function(e,t){if(l.$moduleUrls[e])return 
l.$moduleUrls[e];var 
i=e.split("/"),n="snippets"==(t=t||i[i.length-2]||"")?"/":"-",s=i[i.length-1];if("worker"==t&&"-"==n){var
 o=new 
RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");s=s.replace(o,"")}(!s||s==t)&&i.length>1&&(s=i[i.length-2]);var
 r=l[t+"Path"];return 
null==r?r=l.basePath:"/"==n&&(t=n=""),r&&"/"!=r.slice(-1)&&(r+="/"),r+t+n+s+this.get("suffix")},t.setModuleUrl=function(e,t){return
 l.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(i,n){var 
s,r;Array.isArray(i)&&(r=i[0],i=i[1]);try{s=e(i)}catch(e){}if(s&
 &!t.$loading[i])return 
n&&n(s);if(t.$loading[i]||(t.$loading[i]=[]),t.$loading[i].push(n),!(t.$loading[i].length>1)){var
 a=function(){e([i],function(e){t._emit("load.module",{name:i,module:e});var 
n=t.$loading[i];t.$loading[i]=null,n.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return
 
a();o.loadScript(t.moduleUrl(i,r),a)}},t.init=function(s){if(a&&a.document){l.packaged=s||e.packaged||i.packaged||a.define&&define.packaged;for(var
 
o={},r="",h=document.currentScript||document._currentScript,c=(h&&h.ownerDocument||document).getElementsByTagName("script"),u=0;u<c.length;u++){var
 d=c[u],g=d.src||d.getAttribute("src");if(g){for(var 
f=d.attributes,m=0,p=f.length;m<p;m++){var 
A=f[m];0===A.name.indexOf("data-ace-")&&(o[n(A.name.replace(/^data-ace-/,""))]=A.value)}var
 C=g.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);C&&(r=C[1])}}for(var F in 
r&&(o.base=o.base||r,o.packaged=!0),o.basePath=o.base,o.workerPath=o.workerPath||o.base,o.modePath=o.modePath||o.base,o.themePath=o.themePath||o.base,
 delete o.base,o)"undefined"!=typeof 
o[F]&&t.set(F,o[F])}}}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,i){"use
 strict";var 
n=e("../lib/event"),s=e("../lib/useragent"),o=e("./default_handlers").DefaultHandlers,r=e("./default_gutter_handler").GutterHandler,a=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,h=e("../config"),c=function(e){var
 t=this;this.editor=e,new o(this),new r(this),new l(this);var 
i=function(t){(!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement()))&&window.focus(),e.focus()},a=e.renderer.getMouseEventTarget();n.addListener(a,"click",this.onMouseEvent.bind(this,"click")),n.addListener(a,"mousemove",this.onMouseMove.bind(this,"mousemove")),n.addMultiMouseDownListener([a,e.renderer
 
.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),n.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),n.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var
 
h=e.renderer.$gutter;n.addListener(h,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),n.addListener(h,"click",this.onMouseEvent.bind(this,"gutterclick")),n.addListener(h,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),n.addListener(h,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),n.addListener(a,"mousedown",i),n.addListener(h,"mousedown",i),s.isIE&&e.renderer.scrollBarV&&(n.addListener(e.renderer.scrollBarV.element,"mousedown",i),n.addListener(e.renderer.scrollBarH.element,"mousedown",i)),e.on("mousemove",function(i){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var
 n=e.renderer.screenToTextCoordinates(i.x,i.y),s=e.s
 
ession.selection.getRange(),o=e.renderer;!s.isEmpty()&&s.insideStart(n.row,n.column)?o.setCursorStyle("default"):o.setCursorStyle("")}})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new
 a(t,this.editor))},this.onMouseMove=function(e,t){var 
i=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;i&&i.length&&this.editor._emit(e,new
 a(t,this.editor))},this.onMouseWheel=function(e,t){var i=new 
a(t,this.editor);i.speed=2*this.$scrollSpeed,i.wheelX=t.wheelX,i.wheelY=t.wheelY,this.editor._emit(e,i)},this.onTouchMove=function(e,t){var
 i=new 
a(t,this.editor);i.speed=1,i.wheelX=t.wheelX,i.wheelY=t.wheelY,this.editor._emit(e,i)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var
 
i=this.editor.renderer;i.$keepTextAreaAtCursor&&(i.$keepTextAreaAtCursor=null);var
 o=this,r=function(e){if(e)return 
s.isWebKit&&!e.which&&o.releaseMouse?o.releaseMouse():(o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEven
 t=new 
a(e,o.editor),void(o.$mouseMoved=!0))},l=function(e){clearInterval(c),h(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",null==i.$keepTextAreaAtCursor&&(i.$keepTextAreaAtCursor=!0,i.$moveTextAreaToCursor()),o.isMousePressed=!1,o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e)},h=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(s.isOldIE&&"dblclick"==e.domEvent.type)return
 
setTimeout(function(){l(e)});o.$onCaptureMouseMove=r,o.releaseMouse=n.capture(this.editor.container,r,l);var
 
c=setInterval(h,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var
 
e=(function(t){t&&t.domEvent&&"contextmenu"!=t.domEvent.type||(this.editor.off("nativecontextmenu",e),t&&t.domEvent&&n.stopEvent(t.domEvent))}).bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(c.prototype),h.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:s.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initia
 
lValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=c}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,i){"use
 strict";t.FoldHandler=function(e){e.on("click",function(t){var 
i=t.getDocumentPosition(),n=e.session,s=n.getFoldAt(i.row,i.column,1);s&&(t.getAccelKey()?n.removeFold(s):n.expandFold(s),t.stop())}),e.on("gutterclick",function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var
 
i=t.getDocumentPosition().row,n=e.session;n.foldWidgets&&n.foldWidgets[i]&&e.session.onFoldWidgetClick(i,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var
 
i=t.getDocumentPosition().row,n=e.session,s=n.getParentFoldRangeData(i,!0),o=s.range||s.firstRange;if(o){var
 
r=n.getFoldAt(i=o.start.row,n.getLine(i).length,1);r?n.removeFold(r):(n.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}}),define("ace/keyboard/keybinding",["require"
 ,"exports","module","ace/lib/keys","ace/lib/event"],function(e,t,i){"use 
strict";var 
n=e("../lib/keys"),s=e("../lib/event"),o=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var
 
t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){"function"==typeof
 e&&!e.handleKeyboard&&(e.handleKeyboard=e);var 
i=this.$handlers.indexOf(e);-1!=i&&this.$handlers.splice(i,1),void 
0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==i&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var
 
t=this.$handlers.indexOf(e);return-1!=t&&(this.$handlers.splice(t,1),e.detach&&e.detach(this
 .$editor),!0)},this.getKeyboardHandler=function(){return 
this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var 
e=this.$data,t=e.editor;return this.$handlers.map(function(i){return 
i.getStatusText&&i.getStatusText(t,e)||""}).filter(Boolean).join(" 
")},this.$callKeyboardHandlers=function(e,t,i,n){for(var 
o,r=!1,a=this.$editor.commands,l=this.$handlers.length;l--&&!((o=this.$handlers[l].handleKeyboard(this.$data,e,t,i,n))&&o.command&&((r="null"==o.command||a.exec(o.command,this.$editor,o.args,n))&&n&&-1!=e&&1!=o.passEvent&&1!=o.command.passEvent&&s.stopEvent(n),r)););return!r&&-1==e&&(o={command:"insertstring"},r=a.exec("insertstring",this.$editor,t)),r&&this.$editor._signal&&this.$editor._signal("keyboardActivity",o),r},this.onCommandKey=function(e,t,i){var
 
s=n.keyCodeToString(i);this.$callKeyboardHandlers(t,s,i,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(o.prototype),t.KeyBinding=o}),define("ace/lib/bidiutil",["require","exports","mo
 dule"],function(e,t,i){"use strict";function n(e,t,i,n){var 
s=a?g:d,f=null,m=null,p=null,A=0,C=null,F=-1,E=null,$=null,y=[];if(!n)for(E=0,n=[];E<i;E++)n[E]=r(e[E]);for(l=a,h=!1,c=!1,u=!1,$=0;$<i;$++){if(f=A,y[$]=m=o(e,n,y,$),C=240&(A=s[f][m]),t[$]=p=s[A&=15][5],C>0)if(16==C){for(E=F;E<$;E++)t[E]=1;F=-1}else
 F=-1;if(s[A][6])-1==F&&(F=$);else 
if(F>-1){for(E=F;E<$;E++)t[E]=p;F=-1}n[$]==w&&(t[$]=0),l|=p}if(u)for(E=0;E<i;E++)if(n[E]==v){t[E]=a;for(var
 B=E-1;B>=0&&n[B]==b;B--)t[B]=a}}function 
s(e,t,i){if(!(l<e))if(1!=e||a!=f||c)for(var 
n,s,o,r,h=i.length,u=0;u<h;){if(t[u]>=e){for(n=u+1;n<h&&t[n]>=e;)n++;for(s=u,o=n-1;s<o;s++,o--)r=i[s],i[s]=i[o],i[o]=r;u=n}u++}else
 i.reverse()}function o(e,t,i,n){var s,o,r,l,d=t[n];switch(d){case m:case 
p:h=!1;case F:case C:return d;case A:return h?C:A;case E:return h=!0,p;case 
b:return F;case $:return 
n<1||n+1>=t.length||(s=i[n-1])!=A&&s!=C||(o=t[n+1])!=A&&o!=C?F:(h&&(o=C),o==s?o:F);case
 y:return(s=n>0?i[n-1]:w)==A&&n+1<t.length&&t[n+1]==A?A:F;case B:if(
 n>0&&i[n-1]==A)return A;if(h)return 
F;for(l=n+1,r=t.length;l<r&&t[l]==B;)l++;return l<r&&t[l]==A?A:F;case 
D:for(r=t.length,l=n+1;l<r&&t[l]==D;)l++;if(l<r){var 
g=e[n];if(s=t[l],(g>=1425&&g<=2303||64286==g)&&(s==p||s==E))return p}return 
n<1||(s=t[n-1])==w?F:i[n-1];case w:return h=!1,c=!0,a;case v:return u=!0,F;case 
S:case k:case L:case R:case x:h=!1;case M:return F}}function r(e){var 
t=e.charCodeAt(0),i=t>>8;return 
0==i?t>191?m:T[t]:5==i?/[\u0591-\u05f4]/.test(e)?p:m:6==i?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?D:/[\u0660-\u0669\u066b-\u066c]/.test(e)?C:1642==t?B:/[\u06f0-\u06f9]/.test(e)?A:E:32==i&&t<=8287?_[255&t]:254==i&&t>=65136?E:F}var
 
a=0,l=0,h=!1,c=!1,u=!1,d=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],g=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f=1,m=0,p=1,A=2,C=3,F=4,w=5,v=6,E=7,b=8,$=9,y=10,B=11,D=12,S=13,k=14,x=15,L=16,R=17,M=18,T=[M,M,M,M,M,M,M,M,M,v,w,v,b,w,M,M,M,M,M,
 
M,M,M,M,M,M,M,M,M,w,w,w,v,b,F,F,B,B,B,F,F,F,F,F,y,$,y,$,$,A,A,A,A,A,A,A,A,A,A,$,F,F,F,F,F,F,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,F,F,F,F,F,F,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,F,F,F,F,M,M,M,M,M,M,w,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,$,F,B,B,B,B,F,F,F,F,m,F,F,M,F,F,B,B,A,A,F,m,F,F,F,A,m,F,F,F,F,F],_=[b,b,b,b,b,b,b,b,b,b,b,M,M,M,m,p,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,b,w,S,k,x,L,R,$,B,B,B,B,B,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,$,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,b];t.L=m,t.R=p,t.EN=A,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.DOT="\xb7",t.doBidiReorder=function(e,i,o){if(e.length<2)return{};var
 r=e.split(""),l=new Array(r.length),h=new 
Array(r.length),c=[];a=o?f:0,n(r,c,r.length,i);for(var 
u=0;u<l.length;l[u]=u,u++);for(s(2,c,l),s(1,c,l),u=0;u<l.length-1;u++)i[u]===C?c[u]=t.AN:c[u]===p&&(i[u]>E&&i[u]<S||i[u]===F||i[u]===M)?c[u]=t.ON_R:u>0&&"\u0644"===r[u-1]&&/\u0622|\u0623|\u0625|\u0627/.test(r[u])&&(c[u-1]=c[u]=t.R_H,u++
 
);for(r[r.length-1]===t.DOT&&(c[r.length-1]=t.B),u=0;u<l.length;u++)h[u]=c[l[u]];return{logicalFromVisual:l,bidiLevels:h}},t.hasBidiCharacters=function(e,t){for(var
 
i=!1,n=0;n<e.length;n++)t[n]=r(e.charAt(n)),!i&&(t[n]==p||t[n]==E)&&(i=!0);return
 i},t.getVisualFromLogicalIdx=function(e,t){for(var 
i=0;i<t.logicalFromVisual.length;i++)if(t.logicalFromVisual[i]==e)return 
i;return 
0}}),define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang","ace/lib/useragent"],function(e,t,i){"use
 strict";var 
n=e("./lib/bidiutil"),s=e("./lib/lang"),o=e("./lib/useragent"),r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,a=function(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=n,this.charWidths=[],this.EOL="\xac",this.showInvisibles=!0,this.isRtlDir=!1,this.line="",this.wrapIndent=0,this.isLastRow=!1,this.EOF="\xb6",this.seenBidi=!1};(function(){this.isBidiRow=function(e,t,i){return!!this.seenBidi&&(e!==this.currentRow&&(this.currentRow=e,this.updateRo
 
wLine(t,i),this.updateBidiMap()),this.bidiMap.bidiLevels)},this.onChange=function(e){this.seenBidi?this.currentRow=null:"insert"==e.action&&r.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var
 e=0,t=this.session.$screenRowCache;if(t.length){var 
i=this.session.$getRowCacheIndex(t,this.currentRow);i>=0&&(e=this.session.$docRowCache[i])}return
 e},this.getSplitIndex=function(){var 
e=0,t=this.session.$screenRowCache;if(t.length)for(var 
i,n=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(i=this.session.$getRowCacheIndex(t,this.currentRow-e-1))===n;)n=i,e++;return
 e},this.updateRowLine=function(e,t){if(void 
0===e&&(e=this.getDocumentRow()),this.wrapIndent=0,this.isLastRow=e===this.session.getLength()-1,this.line=this.session.getLine(e),this.session.$useWrapMode){var
 i=this.session.$wrapData[e];i&&(void 
0===t&&(t=this.getSplitIndex()),t>0&&i.length?(this.wrapIndent=i.indent,this.line=t<i.length?this.line.substring(i[
 
t-1],i[i.length-1]):this.line.substring(i[i.length-1])):this.line=this.line.substring(0,i[t]))}var
 o,r=this.session,a=0;this.line=this.line.replace(/\t|[\u1100-\u2029, 
\u202F-\uFFE6]/g,function(e,t){return"\t"===e||r.isFullWidth(e.charCodeAt(0))?(o="\t"===e?r.getScreenTabSize(t+a):2,a+=o-1,s.stringRepeat(n.DOT,o)):e})},this.updateBidiMap=function(){var
 
e=[],t=this.line+(this.showInvisibles?this.isLastRow?this.EOF:this.EOL:n.DOT);this.bidiMap=n.hasBidiCharacters(t,e)?n.doBidiReorder(t,e,this.isRtlDir):{}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.seenBidi&&this.characterWidth!==e.$characterSize.width){var
 
t=this.characterWidth=e.$characterSize.width,i=e.$measureCharWidth("\u05d4");this.charWidths[n.L]=this.charWidths[n.EN]=this.charWidths[n.ON_R]=t,this.charWidths[n.R]=this.charWidths[n.AN]=i,this.charWidths[n.R_H]=o.isChrome?i:.45*i,this.charWidths[n.B]=0,this.currentRow=null}},this.getShowInvisibles=function(){return
 this.showI
 
nvisibles},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setTextDir=function(e){this.isRtlDir=e},this.getPosLeft=function(e){var
 
t=n.getVisualFromLogicalIdx((e-=this.wrapIndent)>0?e-1:0,this.bidiMap),i=this.bidiMap.bidiLevels,s=0;0===e&&i[t]%2!=0&&t++;for(var
 o=0;o<t;o++)s+=this.charWidths[i[o]];return 
0!==e&&i[t]%2==0&&(s+=this.charWidths[i[t]]),this.wrapIndent&&(s+=this.wrapIndent*this.charWidths[n.L]),s},this.getSelections=function(e,t){for(var
 
i,s,o=this.bidiMap,r=o.bidiLevels,a=this.wrapIndent*this.charWidths[n.L],l=[],h=Math.min(e,t)-this.wrapIndent,c=Math.max(e,t)-this.wrapIndent,u=!1,d=!1,g=0,f=0;f<r.length;f++)i=r[f],(u=(s=o.logicalFromVisual[f])>=h&&s<c)&&!d?g=a:!u&&d&&l.push({left:g,width:a-g}),a+=this.charWidths[i],d=u;return
 
u&&f===r.length&&l.push({left:g,width:a-g}),l},this.offsetToCol=function(e){var 
t=0,i=(e=Math.max(e,0),0),s=0,o=this.bidiMap.bidiLevels,r=this.charWidths[o[s]];for(this.wr
 
apIndent&&(e-=this.wrapIndent*this.charWidths[n.L]);e>i+r/2;){if(i+=r,s===o.length-1){r=0;break}r=this.charWidths[o[++s]]}return
 
s>0&&o[s-1]%2!=0&&o[s]%2==0?(e<i&&s--,t=this.bidiMap.logicalFromVisual[s]):s>0&&o[s-1]%2==0&&o[s]%2!=0?t=1+(e>i?this.bidiMap.logicalFromVisual[s]:this.bidiMap.logicalFromVisual[s-1]):this.isRtlDir&&s===o.length-1&&0===r&&o[s-1]%2==0||!this.isRtlDir&&0===s&&o[s]%2!=0?t=1+this.bidiMap.logicalFromVisual[s]:(s>0&&o[s-1]%2!=0&&0!==r&&s--,t=this.bidiMap.logicalFromVisual[s]),t+this.wrapIndent}}).call(a.prototype),t.BidiHandler=a}),define("ace/range",["require","exports","module"],function(e,t,i){"use
 strict";var 
n=function(e,t,i,n){this.start={row:e,column:t},this.end={row:i,column:n}};(function(){this.isEqual=function(e){return
 
this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range:
 ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end
 .column+"]"},this.contains=function(e,t){return 
0==this.compare(e,t)},this.compareRange=function(e){var 
t,i=e.end,n=e.start;return 
1==(t=this.compare(i.row,i.column))?1==(t=this.compare(n.row,n.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(n.row,n.column))?-1:1==t?42:0},this.comparePoint=function(e){return
 this.compare(e.row,e.column)},this.containsRange=function(e){return 
0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var
 
t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return 
this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return 
this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof
 
e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof
 
e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return
 0==this.compare(e,t)&&!this.isEnd(e,t
 )&&!this.isStart(e,t)},this.insideStart=function(e,t){return 
0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 
0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return 
this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return
 
this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return
 
this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return
 
this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var
 i={row:t+1,column:0};else 
this.end.row<e&&(i={row:e,column:0});if(this.start.row>t)var 
s={row:t+1,column:0};else this.start.row<e&&(s={row:e,column:0});return 
n.fromPoints(s||this.start,i||t
 his.end)},this.extend=function(e,t){var i=this.compare(e,t);if(0==i)return 
this;if(-1==i)var s={row:e,column:t};else var o={row:e,column:t};return 
n.fromPoints(s||this.start,o||this.end)},this.isEmpty=function(){return 
this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return
 this.start.row!==this.end.row},this.clone=function(){return 
n.fromPoints(this.start,this.end)},this.collapseRows=function(){return new 
n(this.start.row,0,0==this.end.column?Math.max(this.start.row,this.end.row-1):this.end.row,0)},this.toScreenRange=function(e){var
 
t=e.documentToScreenPosition(this.start),i=e.documentToScreenPosition(this.end);return
 new 
n(t.row,t.column,i.row,i.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(n.prototype),n.fromPoints=function(e,t){return
 new n(e.row,e.column,t.row,t.column)},n.comparePoints=function(e,t){return 
e.row-t.row||e.column-t.column},n.comparePoints=functio
 n(e,t){return 
e.row-t.row||e.column-t.column},t.Range=n}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,i){"use
 strict";var 
n=e("./lib/oop"),s=e("./lib/lang"),o=e("./lib/event_emitter").EventEmitter,r=e("./range").Range,a=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var
 
t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){n.implement(this,o),this.isEmpty=function(){return
 
this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.isEmpty()&&this.getRange().isM
 ultiLine()},this.getCursor=function(){return 
this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return
 
this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return
 
this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty)this.moveCursorTo(this.lead.row,this.lead.column+e);else{var
 
t=this.getSelectionAnchor(),i=this.getSelectionLead(),n=this.isBackwards();(!n||0!==t.column)&&this.setSelectionAnchor(t.row,t.column+e),(n||0!==i.column)&&this.$moveSelection(function(){this.moveCursorTo(i.row,i.column+e)})}},this.isBackwards=function(){var
 e=this.anchor,t=this.lead;return 
e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var 
e=this.anchor,t=this.lead;return 
this.isEmpty()?r.fromPoints(t,t):this.isBackwards()?r.fromPoints(t,e):r.fromPoints(e,t)},this.clearSelection=func
 
tion(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var
 
e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var
 
t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){thi
 
s.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if("undefined"==typeof
 t){var i=e||this.lead;e=i.row,t=i.column}return 
this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var
 e=this.getCursor(),t=this.session.getAWordRange(
 e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var 
i,n="number"==typeof e?e:this.lead.row,s=this.session.getFoldLine(n);return 
s?(n=s.start.row,i=s.end.row):i=n,!0===t?new 
r(n,0,i,this.session.getLine(i).length):new 
r(n,0,i+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,i){var
 n=e.column,s=e.column+t;return 
i<0&&(n=e.column-t,s=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(n,s).split("
 ").length-1==t},this.moveCursorLeft=function(){var 
e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else
 
if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var
 
i=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,i,-1)&&!this.session.getNavigateWithinSoftTabs()?this
 
.moveCursorBy(0,-i):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var
 
e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else
 
if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var
 
i=this.session.getTabSize();this.wouldMoveIntoSoftTab(t=this.lead,i,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,i):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var
 
e=this.lead.row,t=this.lead.column,i=this.session.documentToScreenRow(e,t),n=this.session.screenToDocumentPosition(i,0),s=this.session.getDisplayLine(e,null,n.row,n.column).match(/^\s*/);s[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(n.column+=s[0].length),this.moveCursorToPosition(n)},this.moveCursorLineEnd=function(){var
 
e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var
 i=t
 his.session.getLine(t.row);if(t.column==i.length){var 
n=i.search(/\s+$/);n>0&&(t.column=n)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var
 
e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var
 
e=this.lead.row,t=this.lead.column,i=this.doc.getLine(e),n=i.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var
 
s=this.session.getFoldAt(e,t,1);if(s)this.moveCursorTo(s.end.row,s.end.column);else{if(this.session.nonTokenRe.exec(n)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,n=i.substring(t)),t>=i.length)return
 
this.moveCursorTo(e,i.length),this.moveCursorRight(),void(e<this.doc.getLength()-1&&this.moveCursorWordRight());this.session.tokenRe.exec(n)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)}},this.moveCursorLongWordLeft=function
 (){var 
e,t=this.lead.row,i=this.lead.column;if(e=this.session.getFoldAt(t,i,-1))this.moveCursorTo(e.start.row,e.start.column);else{var
 
n=this.session.getFoldStringAt(t,i,-1);null==n&&(n=this.doc.getLine(t).substring(0,i));var
 
o=s.stringReverse(n);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(o)&&(i-=this.session.nonTokenRe.lastIndex,o=o.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),i<=0)return
 
this.moveCursorTo(t,0),this.moveCursorLeft(),void(t>0&&this.moveCursorWordLeft());this.session.tokenRe.exec(o)&&(i-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,i)}},this.$shortWordEndIndex=function(e){var
 
t,i=0,n=/\s/,s=this.session.tokenRe;if(s.lastIndex=0,this.session.tokenRe.exec(e))i=this.session.tokenRe.lastIndex;else{for(;(t=e[i])&&n.test(t);)i++;if(i<1)for(s.lastIndex=0;(t=e[i])&&!s.test(t);)if(s.lastIndex=0,i++,n.test(t)){if(i>2){i--;break}for(;(t=e[i])&&n.tes
 t(t);)i++;if(i>2)break}}return 
s.lastIndex=0,i},this.moveCursorShortWordRight=function(){var 
e=this.lead.row,t=this.lead.column,i=this.doc.getLine(e),n=i.substring(t),s=this.session.getFoldAt(e,t,1);if(s)return
 this.moveCursorTo(s.end.row,s.end.column);if(t==i.length){var 
o=this.doc.getLength();do{n=this.doc.getLine(++e)}while(e<o&&/^\s*$/.test(n));/^\s+/.test(n)||(n=""),t=0}var
 
r=this.$shortWordEndIndex(n);this.moveCursorTo(e,t+r)},this.moveCursorShortWordLeft=function(){var
 
e,t=this.lead.row,i=this.lead.column;if(e=this.session.getFoldAt(t,i,-1))return 
this.moveCursorTo(e.start.row,e.start.column);var 
n=this.session.getLine(t).substring(0,i);if(0===i){do{n=this.doc.getLine(--t)}while(t>0&&/^\s*$/.test(n));i=n.length,/\s+$/.test(n)||(n="")}var
 o=s.stringReverse(n),r=this.$shortWordEndIndex(o);return 
this.moveCursorTo(t,i-r)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=funct
 
ion(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var
 
i,n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(i=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(i/this.session.$bidiHandler.charWidths[0])):i=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var
 
s=this.session.screenToDocumentPosition(n.row+e,n.column,i);0!==e&&0===t&&s.row===this.lead.row&&s.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[s.row]&&(s.row>0||e>0)&&s.row++,this.moveCursorTo(s.row,s.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,i){var
 
n=this.session.getFoldAt(e,t,1);n&&(e=n.start.row,t=n.start.column),this.$keepDesiredColumnOnChange=!0;v
 ar 
s=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(s.charAt(t))&&s.charAt(t-1)&&(this.lead.row==e&&this.lead.co

<TRUNCATED>

Reply via email to