/
ace.min.js
7 lines (7 loc) 路 239 KB
/
ace.min.js
1
2
3
4
5
6
7
(function(){var e=function(){return this}();if(e.require&&e.define)require.packaged=!0;else{var t=function(e,i,n){"string"!=typeof e?t.original?t.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace()):(2==arguments.length&&(n=i),define.modules||(define.modules={}),define.modules[e]=n)};e.define&&(t.original=e.define),e.define=t;var i=function(e,t){if("[object Array]"===Object.prototype.toString.call(e)){for(var r=[],o=0,s=e.length;s>o;++o){var a=n(e[o]);if(!a&&i.original)return i.original.apply(window,arguments);r.push(a)}t&&t.apply(null,r)}else{if("string"==typeof e){var c=n(e);return!c&&i.original?i.original.apply(window,arguments):(t&&t(),c)}if(i.original)return i.original.apply(window,arguments)}};e.require&&(i.original=e.require),e.require=i,require.packaged=!0;var n=function(e){var t=define.modules[e];if(null==t)return console.error("Missing module: "+e),null;if("function"==typeof t){var i={};return t(require,i,{id:e,uri:""}),define.modules[e]=i,i}return t}}})(),define("pilot/fixoldbrowsers",["require","exports","module"],function(){if(!Function.prototype.bind){var e=Array.prototype.slice;Function.prototype.bind=function(){var t=this;if("function"!=typeof t.apply||"function"!=typeof t.call)return new TypeError;var i=e.call(arguments),n=function r(){if(this instanceof r){var n=Object.create(t.prototype);return t.apply(n,i.concat(e.call(arguments))),n}return t.call.apply(t,i.concat(e.call(arguments)))};return n.length="function"==typeof t?Math.max(t.length-i.length,0):0,n}}var t,i,n,r,o,s=Function.prototype.call,a=(Array.prototype,Object.prototype),c=s.bind(a.hasOwnProperty);if((o=c(a,"__defineGetter__"))&&(t=s.bind(a.__defineGetter__),i=s.bind(a.__defineSetter__),n=s.bind(a.__lookupGetter__),r=s.bind(a.__lookupSetter__)),Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),Array.prototype.forEach||(Array.prototype.forEach=function(e,t){for(var i=+this.length,n=0;i>n;n++)n in this&&e.call(t,this[n],n,this)}),Array.prototype.map||(Array.prototype.map=function(e){var t=+this.length;if("function"!=typeof e)throw new TypeError;for(var i=Array(t),n=arguments[1],r=0;t>r;r++)r in this&&(i[r]=e.call(n,this[r],r,this));return i}),Array.prototype.filter||(Array.prototype.filter=function(e){for(var t=[],i=arguments[1],n=0;this.length>n;n++)e.call(i,this[n])&&t.push(this[n]);return t}),Array.prototype.every||(Array.prototype.every=function(e){for(var t=arguments[1],i=0;this.length>i;i++)if(!e.call(t,this[i]))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){for(var t=arguments[1],i=0;this.length>i;i++)if(e.call(t,this[i]))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=+this.length;if("function"!=typeof e)throw new TypeError;if(0===t&&1===arguments.length)throw new TypeError;var i=0;if(arguments.length>=2)var n=arguments[1];else for(;;){if(i in this){n=this[i++];break}if(++i>=t)throw new TypeError}for(;t>i;i++)i in this&&(n=e.call(null,n,this[i],i,this));return n}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=+this.length;if("function"!=typeof e)throw new TypeError;if(0===t&&1===arguments.length)throw new TypeError;var i=t-1;if(arguments.length>=2)var n=arguments[1];else for(;;){if(i in this){n=this[i--];break}if(0>--i)throw new TypeError}for(;i>=0;i--)i in this&&(n=e.call(null,n,this[i],i,this));return n}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e){var t=this.length;if(!t)return-1;var i=arguments[1]||0;if(i>=t)return-1;for(0>i&&(i+=t);t>i;i++)if(c(this,i)&&e===this[i])return i;return-1}),Array.prototype.lastIndexOf||(Array.prototype.lastIndexOf=function(e){var t=this.length;if(!t)return-1;var i=arguments[1]||t;for(0>i&&(i+=t),i=Math.min(i,t-1);i>=0;i--)if(c(this,i)&&e===this[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||e.constructor.prototype}),!Object.getOwnPropertyDescriptor){var l="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError(l+e);if(!c(e,t))return void 0;var i,s,h;if(i={enumerable:!0,configurable:!0},o){var d=e.__proto__;e.__proto__=a;var s=n(e,t),h=r(e,t);if(e.__proto__=d,s||h)return s&&(descriptor.get=s),h&&(descriptor.set=h),descriptor}return descriptor.value=e[t],descriptor}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),Object.create||(Object.create=function(e,t){var i;if(null===e)i={__proto__:null};else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var n=function(){};n.prototype=e,i=new n,i.__proto__=e}return t!==void 0&&Object.defineProperties(i,t),i}),!Object.defineProperty){var h="Property description must be an object: ",d="Object.defineProperty called on non-object: ",u="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,s,l){if("object"!=typeof e&&"function"!=typeof e)throw new TypeError(d+e);if("object"!=typeof e||null===e)throw new TypeError(h+l);if(c(l,"value"))o&&(n(e,s)||r(e,s))?(e.__proto__,e.__proto__=a,delete e[s],e[s]=l.value,e.prototype):e[s]=l.value;else{if(!o)throw new TypeError(u);c(l,"get")&&t(e,s,l.get),c(l,"set")&&i(e,s,l.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var i in t)c(t,i)&&Object.defineProperty(e,i,t[i]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(g){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(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(){return!0}),!Object.keys){var p=!0,f=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],m=f.length;for(var F in{toString:null})p=!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)c(e,i)&&t.push(i);if(p)for(var n=0,r=m;r>n;n++){var o=f[n];c(e,o)&&t.push(o)}return t}}if(Date.prototype.toISOString||(Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+(this.getUTCMonth()+1)+"-"+this.getUTCDate()+"T"+this.getUTCHours()+":"+this.getUTCMinutes()+":"+this.getUTCSeconds()+"Z"}),Date.now||(Date.now=function(){return(new Date).getTime()}),Date.prototype.toJSON||(Date.prototype.toJSON=function(){if("function"!=typeof this.toISOString)throw new TypeError;return this.toISOString()}),isNaN(Date.parse("T00:00"))&&(Date=function(e){var t=function(i,n,r,o,s,a,c){var l=arguments.length;if(this instanceof e){var h=1===l&&i+""===i?new e(t.parse(i)):l>=7?new e(i,n,r,o,s,a,c):l>=6?new e(i,n,r,o,s,a):l>=5?new e(i,n,r,o,s):l>=4?new e(i,n,r,o):l>=3?new e(i,n,r):l>=2?new e(i,n):l>=1?new e(i):new e;return h.constructor=t,h}return e.apply(this,arguments)},i=RegExp("^(?:((?:[+-]\\d\\d)?\\d\\d\\d\\d)(?:-(\\d\\d)(?:-(\\d\\d))?)?)?(?:T(\\d\\d):(\\d\\d)(?::(\\d\\d)(?:\\.(\\d\\d\\d))?)?)?(?:Z|([+-])(\\d\\d):(\\d\\d))?$");for(var n in e)t[n]=e[n];return t.now=e.now,t.UTC=e.UTC,t.prototype=e.prototype,t.prototype.constructor=t,t.parse=function(t){var n=i.exec(t);if(n){n.shift();for(var r=void 0===n[0],o=0;10>o;o++)7!==o&&(n[o]=+(n[o]||(3>o?1:0)),1===o&&n[o]--);if(r)return 1e3*(60*(60*n[3]+n[4])+n[5])+n[6];var s=1e3*60*(60*n[8]+n[9]);return"-"===n[6]&&(s=-s),e.UTC.apply(this,n.slice(0,7))+s}return e.parse.apply(this,arguments)},t}(Date)),!String.prototype.trim){var C=/^\s\s*/,A=/\s\s*$/;String.prototype.trim=function(){return(this+"").replace(C,"").replace(A,"")}}}),define("ace/ace",["require","exports","module","pilot/index","pilot/fixoldbrowsers","pilot/plugin_manager","pilot/dom","pilot/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/theme/textmate","pilot/environment"],function(e,t){e("pilot/index"),e("pilot/fixoldbrowsers");var i=e("pilot/plugin_manager").catalog;i.registerPlugins(["pilot/index"]);var n=e("pilot/dom"),r=e("pilot/event"),o=e("ace/editor").Editor,s=e("ace/edit_session").EditSession,a=e("ace/undomanager").UndoManager,c=e("ace/virtual_renderer").VirtualRenderer;t.edit=function(t){"string"==typeof t&&(t=document.getElementById(t));var l=new s(n.getInnerText(t));l.setUndoManager(new a),t.innerHTML="";var h=new o(new c(t,e("ace/theme/textmate")));h.setSession(l);var d=e("pilot/environment").create();return i.startupPlugins({env:d}).then(function(){d.document=l,d.editor=h,h.resize(),r.addListener(window,"resize",function(){h.resize()}),t.env=d}),h.env=d,h}}),define("pilot/index",["require","exports","module","pilot/fixoldbrowsers","pilot/types/basic","pilot/types/command","pilot/types/settings","pilot/commands/settings","pilot/commands/basic","pilot/settings/canon","pilot/canon"],function(e,t){t.startup=function(t,i){e("pilot/fixoldbrowsers"),e("pilot/types/basic").startup(t,i),e("pilot/types/command").startup(t,i),e("pilot/types/settings").startup(t,i),e("pilot/commands/settings").startup(t,i),e("pilot/commands/basic").startup(t,i),e("pilot/settings/canon").startup(t,i),e("pilot/canon").startup(t,i)},t.shutdown=function(t,i){e("pilot/types/basic").shutdown(t,i),e("pilot/types/command").shutdown(t,i),e("pilot/types/settings").shutdown(t,i),e("pilot/commands/settings").shutdown(t,i),e("pilot/commands/basic").shutdown(t,i),e("pilot/settings/canon").shutdown(t,i),e("pilot/canon").shutdown(t,i)}}),define("pilot/types/basic",["require","exports","module","pilot/types"],function(e,t){function i(e){if(e instanceof s)this.subtype=e;else{if("string"!=typeof e)throw Error("Can' handle array subtype");if(this.subtype=o.getType(e),null==this.subtype)throw Error("Unknown array subtype: "+e)}}function n(e){if("function"!=typeof e.defer)throw Error("Instances of DeferredType need typeSpec.defer to be a function that returns a type");Object.keys(e).forEach(function(t){this[t]=e[t]},this)}function r(e){if(!Array.isArray(e.data)&&"function"!=typeof e.data)throw Error("instances of SelectionType need typeSpec.data to be an array or function that returns an array:"+JSON.stringify(e));Object.keys(e).forEach(function(t){this[t]=e[t]},this)}var o=e("pilot/types"),s=o.Type,a=o.Conversion,c=o.Status,l=new s;l.stringify=function(e){return e},l.parse=function(e){if("string"!=typeof e)throw Error("non-string passed to text.parse()");return new a(e)},l.name="text";var h=new s;h.stringify=function(e){return e?""+e:null},h.parse=function(e){if("string"!=typeof e)throw Error("non-string passed to number.parse()");if(0===e.replace(/\s/g,"").length)return new a(null,c.INCOMPLETE,"");var t=new a(parseInt(e,10));return isNaN(t.value)&&(t.status=c.INVALID,t.message="Can't convert \""+e+'" to a number.'),t},h.decrement=function(e){return e-1},h.increment=function(e){return e+1},h.name="number",r.prototype=new s,r.prototype.stringify=function(e){return e},r.prototype.parse=function(e){if("string"!=typeof e)throw Error("non-string passed to parse()");if(!this.data)throw Error("Missing data on selection type extension.");var t,i="function"==typeof this.data?this.data():this.data,n=!1,r=[];if(i.forEach(function(i){e==i?(t=this.fromString(i),n=!0):0===i.indexOf(e)&&r.push(this.fromString(i))},this),n)return new a(t);if(this.noMatch&&this.noMatch(),r.length>0){var o="Possibilities"+(0===e.length?"":" for '"+e+"'");return new a(null,c.INCOMPLETE,o,r)}var o="Can't use '"+e+"'.";return new a(null,c.INVALID,o,r)},r.prototype.fromString=function(e){return e},r.prototype.decrement=function(e){var t,i="function"==typeof this.data?this.data():this.data;if(null==e)t=i.length-1;else{var n=this.stringify(e),t=i.indexOf(n);t=0===t?i.length-1:t-1}return this.fromString(i[t])},r.prototype.increment=function(e){var t,i="function"==typeof this.data?this.data():this.data;if(null==e)t=0;else{var n=this.stringify(e),t=i.indexOf(n);t=t===i.length-1?0:t+1}return this.fromString(i[t])},r.prototype.name="selection",t.SelectionType=r;var d=new r({name:"bool",data:["true","false"],stringify:function(e){return""+e},fromString:function(e){return"true"===e?!0:!1}});n.prototype=new s,n.prototype.stringify=function(e){return this.defer().stringify(e)},n.prototype.parse=function(e){return this.defer().parse(e)},n.prototype.decrement=function(e){var t=this.defer();return t.decrement?t.decrement(e):void 0},n.prototype.increment=function(e){var t=this.defer();return t.increment?t.increment(e):void 0},n.prototype.name="deferred",t.DeferredType=n,i.prototype=new s,i.prototype.stringify=function(e){return e.join(" ")},i.prototype.parse=function(e){return this.defer().parse(e)},i.prototype.name="array";var u=!1;t.startup=function(){u||(u=!0,o.registerType(l),o.registerType(h),o.registerType(d),o.registerType(r),o.registerType(n),o.registerType(i))},t.shutdown=function(){u=!1,o.unregisterType(l),o.unregisterType(h),o.unregisterType(d),o.unregisterType(r),o.unregisterType(n),o.unregisterType(i)}}),define("pilot/types",["require","exports","module"],function(e,t){function i(e,t){if("[]"===e.substr(-2)){var i=e.slice(0,-2);return new s.array(i)}var n=s[e];return"function"==typeof n&&(n=new n(t)),n}function n(){}function r(e,t,i,n){this.value=e,this.status=t||o.VALID,this.message=i,this.predictions=n||[]}var o={VALID:{toString:function(){return"VALID"},valueOf:function(){return 0}},INCOMPLETE:{toString:function(){return"INCOMPLETE"},valueOf:function(){return 1}},INVALID:{toString:function(){return"INVALID"},valueOf:function(){return 2}},combine:function(e){for(var t=o.VALID,i=0;e.length>i;i++)e[i].valueOf()>t.valueOf()&&(t=e[i]);return t}};t.Status=o,t.Conversion=r,n.prototype={stringify:function(){throw Error("not implemented")},parse:function(){throw Error("not implemented")},name:void 0,increment:function(){return void 0},decrement:function(){return void 0},getDefault:function(){return this.parse("")}},t.Type=n;var s={};t.registerType=function(e){if("object"==typeof e){if(!(e instanceof n))throw Error("Can't registerType using: "+e);if(!e.name)throw Error("All registered types must have a name");s[e.name]=e}else{if("function"!=typeof e)throw Error("Unknown type: "+e);if(!e.prototype.name)throw Error("All registered types must have a name");s[e.prototype.name]=e}},t.registerTypes=function(e){Object.keys(e).forEach(function(i){var n=e[i];n.name=i,t.registerType(n)})},t.deregisterType=function(e){delete s[e.name]},t.getType=function(e){if("string"==typeof e)return i(e);if("object"==typeof e){if(!e.name)throw Error("Missing 'name' member to typeSpec");return i(e.name,e)}throw Error("Can't extract type from "+e)}}),define("pilot/types/command",["require","exports","module","pilot/canon","pilot/types/basic","pilot/types"],function(e,t){var i=e("pilot/canon"),n=e("pilot/types/basic").SelectionType,r=e("pilot/types"),o=new n({name:"command",data:function(){return i.getCommandNames()},stringify:function(e){return e.name},fromString:function(e){return i.getCommand(e)}});t.startup=function(){r.registerType(o)},t.shutdown=function(){r.unregisterType(o)}}),define("pilot/canon",["require","exports","module","pilot/console","pilot/stacktrace","pilot/oop","pilot/useragent","pilot/keys","pilot/event_emitter","pilot/typecheck","pilot/catalog","pilot/types","pilot/lang"],function(e,t){function i(e){e=e||{},this.command=e.command,this.args=e.args,this.typed=e.typed,this._begunOutput=!1,this.start=new Date,this.end=null,this.completed=!1,this.error=!1}function n(e,t,n,o,s){function a(){e.exec(t,c.args,c),!c.isAsync&&!c.isDone&&c.done()}if("string"==typeof e&&(e=D[e]),!e)return!1;var c=new i({sender:n,command:e,args:o||{},typed:s});if(c.getStatus()==x.INVALID)return f.error("Canon.exec: Invalid parameter(s) passed to "+e.name),!1;if(c.getStatus()==x.INCOMPLETE){var l,h=t[n];return h&&h.getArgsProvider&&(l=h.getArgsProvider())||(l=r),l(c,function(){c.getStatus()==x.VALID&&a()}),!0}return a(),!0}function r(e,t){for(var i=e.args,n=e.command.params,r=0;n.length>r;r++){var o=n[r];if(e.getParamStatus(o)!=x.VALID||null===o.defaultValue){var s=o.description;null===o.defaultValue&&(s+=" (optional)");var a=prompt(s,o.defaultValue||"");if(!a)return t(),void 0;i[o.name]=a}}t()}function o(){return k}function s(e){return D[e]}function a(e){var t="string"==typeof e?e:e.name;e=D[t],delete D[t],w.arrayRemove(k,t);var i=B;for(var n in i)for(var r in i[n])for(var o in i[n][r])i[n][r][o]==e&&delete i[n][r][o];var s=S;for(var n in s)for(var r in s[n])s[n][r].forEach(function(t,i){t.command==e&&s[n][r].splice(i,1)})}function c(e,t){var i=t.type;if(t.type=v.getType(i),null==t.type)throw Error("In "+e+"/"+t.name+": can't find type for: "+JSON.stringify(i))}function l(e){if(!e.name)throw Error("All registered commands must have a name");if(null==e.params&&(e.params=[]),!Array.isArray(e.params))throw Error("command.params must be an array in "+e.name);e.params.forEach(function(t){if(!t.name)throw Error("In "+e.name+": all params must have a name");c(e.name,t)},this),D[e.name]=e,e.bindKey&&u(e),k.push(e.name),k.sort()}function h(e,t,i,r){var o=d(e,t,i,r);return o?n(o,e,t,{}):!1}function d(e,t,i,n){b.isNumber(n)&&(n=C.keyCodeToString(n));for(var r=(S[i]||{})[n]||[],o=0;r.length>o;o++)if(r[o].sender(e,t,i,n))return r[o].command;var s=B[t];return s&&s[i]&&s[i][n]}function u(e){var t=e.bindKey,i=t[L],n=B,r=S;if(!t.sender)throw Error("All key bindings must have a sender");if(!t.mac&&null!==t.mac)throw Error("All key bindings must have a mac key binding");if(!t.win&&null!==t.win)throw Error("All key bindings must have a windows key binding");if(t[L])if("string"==typeof t.sender){var o=p(t.sender,"\\|",null,!0);o.forEach(function(t){n[t]||(n[t]={}),i.split("|").forEach(function(i){g(i,e,n[t])})})}else{if(!b.isFunction(t.sender))throw Error("Key binding must have a sender that is a string or function");var s={command:e,sender:t.sender};keyData=g(i),r[keyData.hashId]||(r[keyData.hashId]={}),r[keyData.hashId][keyData.key]?r[keyData.hashId][keyData.key].push(s):r[keyData.hashId][keyData.key]=[s]}}function g(e,t,i){for(var n,r=0,o=p(e,"\\-",null,!0),s=0,a=o.length;a>s;++s)C.KEY_MODS[o[s]]?r|=C.KEY_MODS[o[s]]:n=o[s]||"-";return null==i?{key:n,hashId:r}:((i[r]||(i[r]={}))[n]=t,void 0)}function p(e,t,i,n){return(n&&e.toLowerCase()||e).replace(/(?:^\s+|\n|\s+$)/g,"").split(RegExp("[\\s ]*"+t+"[\\s ]*","g"),i||999)}var f=e("pilot/console"),m=(e("pilot/stacktrace").Trace,e("pilot/oop")),F=e("pilot/useragent"),C=e("pilot/keys"),A=e("pilot/event_emitter").EventEmitter,b=e("pilot/typecheck"),E=e("pilot/catalog"),x=e("pilot/types").Status,v=e("pilot/types"),w=e("pilot/lang"),y={name:"command",description:"A command is a bit of functionality with optional typed arguments which can do something small like moving the cursor around the screen, or large like cloning a project from VCS.",indexOn:"name"};t.startup=function(){E.addExtensionSpec(y)},t.shutdown=function(){E.removeExtensionSpec(y)};var D={},B={},S={},L=F.isMac?"mac":"win",k=[];t.removeCommand=a,t.addCommand=l,t.getCommand=s,t.getCommandNames=o,t.findKeyCommand=d,t.exec=n,t.execKeyCommand=h,t.upgradeType=c,m.implement(t,A);var _=[],$=100;m.implement(i.prototype,A),i.prototype.getParamStatus=function(e){var t=this.args||{};if(e.name in t){if(null==t[e.name])return null===e.defaultValue?x.VALID:x.INCOMPLETE;var i,n=""+t[e.name];try{i=e.type.parse(n)}catch(r){return x.INVALID}if(i.status!=x.VALID)return i.status}else if(void 0===e.defaultValue)return x.INCOMPLETE;return x.VALID},i.prototype.getParamNameStatus=function(e){for(var t=this.command.params||[],i=0;t.length>i;i++)if(t[i].name==e)return this.getParamStatus(t[i]);throw"Parameter '"+e+"' not defined on command '"+this.command.name+"'"},i.prototype.getStatus=function(){var e=(this.args||{},this.command.params);if(!e||0==e.length)return x.VALID;for(var t=[],i=0;e.length>i;i++)t.push(this.getParamStatus(e[i]));return x.combine(t)},i.prototype._beginOutput=function(){for(this._begunOutput=!0,this.outputs=[],_.push(this);_.length>$;)_.shiftObject();t._dispatchEvent("output",{requests:_,request:this})},i.prototype.doneWithError=function(e){this.error=!0,this.done(e)},i.prototype.async=function(){this.isAsync=!0,this._begunOutput||this._beginOutput()},i.prototype.output=function(e){return this._begunOutput||this._beginOutput(),"string"!=typeof e&&!(e instanceof Node)&&(e=""+e),this.outputs.push(e),this.isDone=!0,this._dispatchEvent("output",{}),this},i.prototype.done=function(e){this.completed=!0,this.end=new Date,this.duration=this.end.getTime()-this.start.getTime(),e&&this.output(e),this.isDone||(this.isDone=!0,this._dispatchEvent("output",{}))},t.Request=i}),define("pilot/console",["require","exports","module"],function(e,t){var i=function(){},n=["assert","count","debug","dir","dirxml","error","group","groupEnd","info","log","profile","profileEnd","time","timeEnd","trace","warn"];"undefined"==typeof window?n.forEach(function(e){t[e]=function(){var t=Array.prototype.slice.call(arguments),i={op:"log",method:e,args:t};postMessage(JSON.stringify(i))}}):n.forEach(function(e){t[e]=window.console&&window.console[e]?Function.prototype.bind.call(window.console[e],window.console):i})}),define("pilot/stacktrace",["require","exports","module","pilot/useragent","pilot/console"],function(e,t){function i(){}function n(e){for(var t=0;e.length>t;++t){var i=e[t];"object"==typeof i?e[t]="#object":"function"==typeof i?e[t]="#function":"string"==typeof i&&(e[t]='"'+i+'"')}return e.join(",")}var r=e("pilot/useragent"),o=e("pilot/console"),s=function(){return r.isGecko?"firefox":r.isOpera?"opera":"other"}(),a={chrome:function(e){var t=e.stack;return t?t.replace(/^.*?\n/,"").replace(/^.*?\n/,"").replace(/^.*?\n/,"").replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@").split("\n"):(o.log(e),[])},firefox:function(e){var t=e.stack;return t?(t=t.replace(/(?:\n@:0)?\s+$/m,""),t=t.replace(/^\(/gm,"{anonymous}("),t.split("\n")):(o.log(e),[])},opera:function(e){var t,i,n,r=e.message.split("\n"),o="{anonymous}",s=/Line\s+(\d+).*?script\s+(http\S+)(?:.*?in\s+function\s+(\S+))?/i;for(t=4,i=0,n=r.length;n>t;t+=2)s.test(r[t])&&(r[i++]=(RegExp.$3?RegExp.$3+"()@"+RegExp.$2+RegExp.$1:o+"()@"+RegExp.$2+":"+RegExp.$1)+" -- "+r[t+1].replace(/^\s+/,""));return r.splice(i,r.length-i),r},other:function(e){for(var t,i,r="{anonymous}",o=/function\s*([\w\-$]+)?\s*\(/i,s=[],a=0,c=10;e&&c>s.length&&(t=o.test(""+e)?RegExp.$1||r:r,i=Array.prototype.slice.call(e.arguments),s[a++]=t+"("+n(i)+")",e!==e.caller||!window.opera);)e=e.caller;return s}};i.prototype={sourceCache:{},ajax:function(e){var t=this.createXMLHTTPObject();return t?(t.open("GET",e,!1),t.setRequestHeader("User-Agent","XMLHTTP/1.0"),t.send(""),t.responseText):void 0},createXMLHTTPObject:function(){for(var e,t=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],i=0;t.length>i;i++)try{return e=t[i](),this.createXMLHTTPObject=t[i],e}catch(n){}},getSource:function(e){return e in this.sourceCache||(this.sourceCache[e]=this.ajax(e).split("\n")),this.sourceCache[e]},guessFunctions:function(e){for(var t=0;e.length>t;++t){var i=/{anonymous}\(.*\)@(\w+:\/\/([-\w\.]+)+(:\d+)?[^:]+):(\d+):?(\d+)?/,n=e[t],r=i.exec(n);if(r){var o=r[1],s=r[4];if(o&&s){var a=this.guessFunctionName(o,s);e[t]=n.replace("{anonymous}",a)}}}return e},guessFunctionName:function(e,t){try{return this.guessFunctionNameFromLines(t,this.getSource(e))}catch(i){return"getSource failed with url: "+e+", exception: "+(""+i)}},guessFunctionNameFromLines:function(e,t){for(var i=/function ([^(]*)\(([^)]*)\)/,n=/['"]?([0-9A-Za-z_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,r="",o=10,s=0;o>s;++s)if(r=t[e-s]+r,void 0!==r){var a=n.exec(r);if(a)return a[1];if(a=i.exec(r),a&&a[1])return a[1]}return"(?)"}};var c=new i,l=[/http:\/\/localhost:4020\/sproutcore.js:/];t.ignoreFramesMatching=function(e){l.push(e)},t.Trace=function(e,t){this._ex=e,this._stack=a[s](e),t&&(this._stack=c.guessFunctions(this._stack))},t.Trace.prototype.log=function(e){0>=e&&(e=999999999);for(var t=0,i=0;this._stack.length>i&&e>t;i++){var n=this._stack[i],r=!0;l.forEach(function(e){e.test(n)&&(r=!1)}),r&&(o.debug(n),t++)}}}),define("pilot/useragent",["require","exports","module"],function(e,t){var i=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),n=navigator.userAgent;navigator.appVersion,t.isWin="win"==i,t.isMac="mac"==i,t.isLinux="linux"==i,t.isIE=!1,t.isGecko=t.isMozilla=window.controllers&&"Gecko"===window.navigator.product,t.isOldGecko=t.isGecko&&/rv\:1/.test(navigator.userAgent),t.isOpera=window.opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(n.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(n.split(" Chrome/")[1])||void 0,t.isAIR=n.indexOf("AdobeAIR")>=0,t.isIPad=n.indexOf("iPad")>=0,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}}),define("pilot/oop",["require","exports","module"],function(e,t){t.inherits=function(){var e=function(){};return function(t,i){e.prototype=i.prototype,t.super_=i.prototype,t.prototype=new e,t.prototype.constructor=t}}(),t.mixin=function(e,t){for(var i in t)e[i]=t[i]},t.implement=function(e,i){t.mixin(e,i)}}),define("pilot/keys",["require","exports","module","pilot/oop"],function(e,t){var n=e("pilot/oop"),r=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,meta:8,command: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",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:".",188:",",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:'"'}};for(i in e.FUNCTION_KEYS){var t=e.FUNCTION_KEYS[i].toUpperCase();e[t]=parseInt(i,10)}return n.mixin(e,e.MODIFIER_KEYS),n.mixin(e,e.PRINTABLE_KEYS),n.mixin(e,e.FUNCTION_KEYS),e}();n.mixin(t,r),t.keyCodeToString=function(e){return(r[e]||String.fromCharCode(e)).toLowerCase()}}),define("pilot/event_emitter",["require","exports","module"],function(e,t){var i={};i._emit=i._dispatchEvent=function(e,t){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[e];if(i&&i.length){var t=t||{};t.type=e;for(var n=0;i.length>n;n++)i[n](t)}},i.on=i.addEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[e];if(!i)var i=this._eventRegistry[e]=[];-1==i.indexOf(t)&&i.push(t)},i.removeListener=i.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)}},i.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=i}),define("pilot/typecheck",["require","exports","module"],function(e,t){var i=Object.prototype.toString;t.isString=function(e){return e&&"[object String]"===i.call(e)},t.isBoolean=function(e){return e&&"[object Boolean]"===i.call(e)},t.isNumber=function(e){return e&&"[object Number]"===i.call(e)&&isFinite(e)},t.isObject=function(e){return void 0!==e&&(null===e||"object"==typeof e||Array.isArray(e)||t.isFunction(e))},t.isFunction=function(e){return e&&"[object Function]"===i.call(e)}}),define("pilot/catalog",["require","exports","module"],function(e,t){var i={};t.addExtensionSpec=function(e){i[e.name]=e},t.removeExtensionSpec=function(e){"string"==typeof e?delete i[e]:delete i[e.name]},t.getExtensionSpec=function(e){return i[e]},t.getExtensionSpecs=function(){return Object.keys(i)}}),define("pilot/lang",["require","exports","module"],function(e,t){t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){return Array(t+1).join(e)};var n=/^\s\s*/,r=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(n,"")},t.stringTrimRight=function(e){return e.replace(r,"")},t.copyObject=function(e){var t={};for(var i in e)t[i]=e[i];return t},t.copyArray=function(e){var t=[];for(i=0,l=e.length;l>i;i++)t[i]=e[i]&&"object"==typeof e[i]?this.copyObject(e[i]):e[i];return t},t.deepCopy=function(e){if("object"!=typeof e)return e;var t=e.constructor();for(var i in e)t[i]="object"==typeof e[i]?this.deepCopy(e[i]):e[i];return t},t.arrayToMap=function(e){for(var t={},i=0;e.length>i;i++)t[e[i]]=1;return t},t.arrayRemove=function(e,t){for(var i=0;e.length>=i;i++)t===e[i]&&e.splice(i,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.deferredCall=function(e){var t=null,i=function(){t=null,e()},n=function(e){return t||(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}}),define("pilot/types/settings",["require","exports","module","pilot/types/basic","pilot/types","pilot/settings"],function(e,t){var i,n,r=e("pilot/types/basic").SelectionType,o=e("pilot/types/basic").DeferredType,s=e("pilot/types"),a=e("pilot/settings").settings,c=new r({name:"setting",data:function(){return n.settings.getSettingNames()},stringify:function(e){return i=e,e.name},fromString:function(e){return i=a.getSetting(e)},noMatch:function(){i=null}}),l=new o({name:"settingValue",defer:function(){return i?i.type:s.getType("text")},getDefault:function(){var e=this.parse("");if(i){var t=i.get();if(0===e.predictions.length)e.predictions.push(t);else{for(var n=!1;;){var r=e.predictions.indexOf(t);if(-1===r)break;e.predictions.splice(r,1),n=!0}n&&e.predictions.push(t)}}return e}});t.startup=function(e){n=e.env,s.registerType(c),s.registerType(l)},t.shutdown=function(){s.unregisterType(c),s.unregisterType(l)}}),define("pilot/settings",["require","exports","module","pilot/console","pilot/oop","pilot/types","pilot/event_emitter","pilot/catalog"],function(e,t){function i(){}function n(e){this._deactivated={},this._settings={},this._settingNames=[],e&&this.setPersister(e)}function r(e,t){if(this._settings=t,Object.keys(e).forEach(function(t){this[t]=e[t]},this),this.type=a.getType(this.type),null==this.type)throw Error("In "+this.name+": can't find type for: "+JSON.stringify(e.type));if(!this.name)throw Error("Setting.name == undefined. Ignoring.",this);if(void 0===!this.defaultValue)throw Error("Setting.defaultValue == undefined",this);this.onChange&&this.on("change",this.onChange.bind(this)),this.set(this.defaultValue)}var o=e("pilot/console"),s=e("pilot/oop"),a=e("pilot/types"),c=e("pilot/event_emitter").EventEmitter,l=e("pilot/catalog"),h={name:"setting",description:"A setting is something that the application offers as a way to customize how it works",register:"env.settings.addSetting",indexOn:"name"};t.startup=function(){l.addExtensionSpec(h)},t.shutdown=function(){l.removeExtensionSpec(h)},r.prototype={get:function(){return this.value},set:function(e){this.value!==e&&(this.value=e,this._settings.persister&&this._settings.persister.persistValue(this._settings,this.name,e),this._dispatchEvent("change",{setting:this,value:e}))},resetValue:function(){this.set(this.defaultValue)},toString:function(){return this.name}},s.implement(r.prototype,c),n.prototype={addSetting:function(e){var t=new r(e,this);
this._settings[t.name]=t,this._settingNames.push(t.name),this._settingNames.sort()},addSettings:function(e){Object.keys(e).forEach(function(t){var i=e[t];"name"in i||(i.name=t),this.addSetting(i)},this)},removeSetting:function(e){var t="string"==typeof e?e:e.name;e=this._settings[t],delete this._settings[t],util.arrayRemove(this._settingNames,t),settings.removeAllListeners("change")},removeSettings:function(e){Object.keys(e).forEach(function(t){var i=e[t];"name"in i||(i.name=t),this.removeSettings(i)},this)},getSettingNames:function(){return this._settingNames},getSetting:function(e){return this._settings[e]},setPersister:function(e){this._persister=e,e&&e.loadInitialValues(this)},resetAll:function(){this.getSettingNames().forEach(function(e){this.resetValue(e)},this)},_list:function(){var e=[];return this.getSettingNames().forEach(function(t){e.push({key:t,value:this.getSetting(t).get()})},this),e},_loadDefaultValues:function(){this._loadFromObject(this._getDefaultValues())},_loadFromObject:function(e){for(var t in e)if(e.hasOwnProperty(t)){var i=this._settings[t];if(i){var n=i.type.parse(e[t]);this.set(t,n)}else this.set(t,e[t])}},_saveToObject:function(){return this.getSettingNames().map(function(e){return this._settings[e].type.stringify(this.get(e))}.bind(this))},_getDefaultValues:function(){return this.getSettingNames().map(function(e){return this._settings[e].spec.defaultValue}.bind(this))}},t.settings=new n,i.prototype={loadInitialValues:function(e){e._loadDefaultValues();var t=cookie.get("settings");e._loadFromObject(JSON.parse(t))},persistValue:function(e){try{var t=JSON.stringify(e._saveToObject());cookie.set("settings",t)}catch(i){return o.error("Unable to JSONify the settings! "+i),void 0}}},t.CookiePersister=i}),define("pilot/commands/settings",["require","exports","module","pilot/canon"],function(e,t){var i={name:"set",params:[{name:"setting",type:"setting",description:"The name of the setting to display or alter",defaultValue:null},{name:"value",type:"settingValue",description:"The new value for the chosen setting",defaultValue:null}],description:"define and show settings",exec:function(e,t,i){var n;if(t.setting)void 0===t.value?n="<strong>"+setting.name+"</strong> = "+setting.get():(t.setting.set(t.value),n="Setting: <strong>"+t.setting.name+"</strong> = "+t.setting.get());else{var r=e.settings.getSettingNames();n="",r.sort(function(e,t){return e.localeCompare(t)}),r.forEach(function(t){var i=e.settings.getSetting(t),r="https://wiki.mozilla.org/Labs/Skywriter/Settings#"+i.name;n+='<a class="setting" href="'+r+'" title="View external documentation on setting: '+i.name+'" target="_blank">'+i.name+"</a> = "+i.value+"<br/>"})}i.done(n)}},n={name:"unset",params:[{name:"setting",type:"setting",description:"The name of the setting to return to defaults"}],description:"unset a setting entirely",exec:function(e,t,i){var n=e.settings.get(t.setting);n?(n.reset(),i.done("Reset "+n.name+" to default: "+e.settings.get(t.setting))):i.doneWithError("No setting with the name <strong>"+t.setting+"</strong>.")}},r=e("pilot/canon");t.startup=function(){r.addCommand(i),r.addCommand(n)},t.shutdown=function(){r.removeCommand(i),r.removeCommand(n)}}),define("pilot/commands/basic",["require","exports","module","pilot/typecheck","pilot/canon"],function(require,exports,module){var checks=require("pilot/typecheck"),canon=require("pilot/canon"),helpCommandSpec={name:"help",params:[{name:"search",type:"text",description:"Search string to narrow the output.",defaultValue:null}],description:"Get help on the available commands.",exec:function(e,t,i){var n=[],r=canon.getCommand(t.search);if(r&&r.exec)n.push(r.description?r.description:"No description for "+t.search);else{var o=!1;r?(n.push("<h2>Sub-Commands of "+r.name+"</h2>"),n.push("<p>"+r.description+"</p>")):t.search?("hidden"==t.search&&(t.search="",o=!0),n.push("<h2>Commands starting with '"+t.search+"':</h2>")):n.push("<h2>Available Commands:</h2>");var s=canon.getCommandNames();s.sort(),n.push("<table>");for(var a=0;s.length>a;a++)r=canon.getCommand(s[a]),(o||!r.hidden)&&void 0!==r.description&&(t.search&&0!==r.name.indexOf(t.search)||(t.search||-1==r.name.indexOf(" "))&&(r&&r.name==t.search||(n.push("<tr>"),n.push('<th class="right">'+r.name+"</th>"),n.push("<td>"+r.description+"</td>"),n.push("</tr>"))));n.push("</table>")}i.done(n.join(""))}},evalCommandSpec={name:"eval",params:[{name:"javascript",type:"text",description:"The JavaScript to evaluate"}],description:"evals given js code and show the result",hidden:!0,exec:function(env,args,request){var result,javascript=args.javascript;try{result=eval(javascript)}catch(e){result="<b>Error: "+e.message+"</b>"}var msg="",type="",x;if(checks.isFunction(result))msg=(result+"").replace(/\n/g,"<br>").replace(/ /g," "),type="function";else if(checks.isObject(result)){type=Array.isArray(result)?"array":"object";var items=[],value;for(x in result)result.hasOwnProperty(x)&&(value=checks.isFunction(result[x])?"[function]":checks.isObject(result[x])?"[object]":result[x],items.push({name:x,value:value}));for(items.sort(function(e,t){return e.name.toLowerCase()<t.name.toLowerCase()?-1:1}),x=0;items.length>x;x++)msg+="<b>"+items[x].name+"</b>: "+items[x].value+"<br>"}else msg=result,type=typeof result;request.done("Result for eval <b>'"+javascript+"'</b>"+" (type: "+type+"): <br><br>"+msg)}},canon=require("pilot/canon");exports.startup=function(){canon.addCommand(helpCommandSpec),canon.addCommand(evalCommandSpec)},exports.shutdown=function(){canon.removeCommand(helpCommandSpec),canon.removeCommand(evalCommandSpec)}}),define("pilot/settings/canon",["require","exports","module"],function(e,t){var i={name:"historyLength",description:"How many typed commands do we recall for reference?",type:"number",defaultValue:50};t.startup=function(e){e.env.settings.addSetting(i)},t.shutdown=function(e){e.env.settings.removeSetting(i)}}),define("pilot/plugin_manager",["require","exports","module","pilot/promise"],function(e,t){var i=e("pilot/promise").Promise;t.REASONS={APP_STARTUP:1,APP_SHUTDOWN:2,PLUGIN_ENABLE:3,PLUGIN_DISABLE:4,PLUGIN_INSTALL:5,PLUGIN_UNINSTALL:6,PLUGIN_UPGRADE:7,PLUGIN_DOWNGRADE:8},t.Plugin=function(e){this.name=e,this.status=this.INSTALLED},t.Plugin.prototype={NEW:0,INSTALLED:1,REGISTERED:2,STARTED:3,UNREGISTERED:4,SHUTDOWN:5,install:function(t,n){var r=new i;return this.status>this.NEW?(r.resolve(this),r):(e([this.name],function(e){e.install&&e.install(t,n),this.status=this.INSTALLED,r.resolve(this)}.bind(this)),r)},register:function(t,n){var r=new i;return this.status!=this.INSTALLED?(r.resolve(this),r):(e([this.name],function(e){e.register&&e.register(t,n),this.status=this.REGISTERED,r.resolve(this)}.bind(this)),r)},startup:function(n,r){r=r||t.REASONS.APP_STARTUP;var o=new i;return this.status!=this.REGISTERED?(o.resolve(this),o):(e([this.name],function(e){e.startup&&e.startup(n,r),this.status=this.STARTED,o.resolve(this)}.bind(this)),o)},shutdown:function(t,i){this.status==this.STARTED&&(pluginModule=e(this.name),pluginModule.shutdown&&pluginModule.shutdown(t,i))}},t.PluginCatalog=function(){this.plugins={}},t.PluginCatalog.prototype={registerPlugins:function(e,n,r){var o=[];return e.forEach(function(e){var i=this.plugins[e];void 0===i&&(i=new t.Plugin(e),this.plugins[e]=i,o.push(i.register(n,r)))}.bind(this)),i.group(o)},startupPlugins:function(e,t){var n=[];for(var r in this.plugins){var o=this.plugins[r];n.push(o.startup(e,t))}return i.group(n)}},t.catalog=new t.PluginCatalog}),define("pilot/promise",["require","exports","module","pilot/console","pilot/stacktrace"],function(e,t){var i=e("pilot/console"),n=e("pilot/stacktrace").Trace,r=-1,o=0,s=1,a=0,c=!1,l=[],h=[];Promise=function(){this._status=o,this._value=void 0,this._onSuccessHandlers=[],this._onErrorHandlers=[],this._id=a++,l[this._id]=this},Promise.prototype.isPromise=!0,Promise.prototype.isComplete=function(){return this._status!=o},Promise.prototype.isResolved=function(){return this._status==s},Promise.prototype.isRejected=function(){return this._status==r},Promise.prototype.then=function(e,t){return"function"==typeof e&&(this._status===s?e.call(null,this._value):this._status===o&&this._onSuccessHandlers.push(e)),"function"==typeof t&&(this._status===r?t.call(null,this._value):this._status===o&&this._onErrorHandlers.push(t)),this},Promise.prototype.chainPromise=function(e){var t=new Promise;return t._chainedFrom=this,this.then(function(i){try{t.resolve(e(i))}catch(n){t.reject(n)}},function(e){t.reject(e)}),t},Promise.prototype.resolve=function(e){return this._complete(this._onSuccessHandlers,s,e,"resolve")},Promise.prototype.reject=function(e){return this._complete(this._onErrorHandlers,r,e,"reject")},Promise.prototype._complete=function(e,t,r,s){if(this._status!=o)return i.group("Promise already closed"),i.error("Attempted "+s+"() with ",r),i.error("Previous status = ",this._status,", previous value = ",this._value),i.trace(),this._completeTrace&&(i.error("Trace of previous completion:"),this._completeTrace.log(5)),i.groupEnd(),this;for(c&&(this._completeTrace=new n(Error())),this._status=t,this._value=r,e.forEach(function(e){e.call(null,this._value)},this),this._onSuccessHandlers.length=0,this._onErrorHandlers.length=0,delete l[this._id],h.push(this);h.length>20;)h.shift();return this},Promise.group=function(e){if(e instanceof Array||(e=Array.prototype.slice.call(arguments)),0===e.length)return(new Promise).resolve([]);var t=new Promise,i=[],n=0,o=function(o){return function(s){i[o]=s,n++,t._status!==r&&n===e.length&&t.resolve(i)}};return e.forEach(function(e,i){var n=o(i),r=t.reject.bind(t);e.then(n,r)}),t},t.Promise=Promise,t._outstanding=l,t._recent=h}),define("pilot/dom",["require","exports","module"],function(e,t){var i="http://www.w3.org/1999/xhtml";t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||i,e):document.createElement(e)},t.setText=function(e,t){void 0!==e.innerText&&(e.innerText=t),void 0!==e.textContent&&(e.textContent=t)},document.documentElement.classList?(t.hasCssClass=function(e,t){return e.classList.contains(t)},t.addCssClass=function(e,t){e.classList.add(t)},t.removeCssClass=function(e,t){e.classList.remove(t)},t.toggleCssClass=function(e,t){return e.classList.toggle(t)}):(t.hasCssClass=function(e,t){var i=e.className.split(/\s+/g);return-1!==i.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 r=i.indexOf(t);if(-1==r)break;n=!1,i.splice(r,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.importCssString=function(e,t){if(t=t||document,t.createStyleSheet){var n=t.createStyleSheet();n.cssText=e}else{var r=t.createElementNS?t.createElementNS(i,"style"):t.createElement("style");r.appendChild(t.createTextNode(e));var o=t.getElementsByTagName("head")[0]||t.documentElement;o.appendChild(r)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"))+parseInt(t.computedStyle(e,"paddingRight"))+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"))+parseInt(t.computedStyle(e,"paddingBottom"))+e.clientHeight},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.scrollbarWidth=function(){var e=t.createElement("p");e.style.width="100%",e.style.minWidth="0px",e.style.height="200px";var i=t.createElement("div"),n=i.style;n.position="absolute",n.left="-10000px",n.overflow="hidden",n.width="200px",n.minWidth="0px",n.height="150px",i.appendChild(e);var r=document.body||document.documentElement;r.appendChild(i);var o=e.offsetWidth;n.overflow="scroll";var s=e.offsetWidth;return o==s&&(s=i.clientWidth),r.removeChild(i),o-s},t.setInnerHtml=function(e,t){var i=e.cloneNode(!1);return i.innerHTML=t,e.parentNode.replaceChild(i,e),i},t.setInnerText=function(e,t){document.body&&"textContent"in document.body?e.textContent=t:e.innerText=t},t.getInnerText=function(e){return document.body&&"textContent"in document.body?e.textContent:e.innerText||e.textContent||""},t.getParentWindow=function(e){return e.defaultView||e.parentWindow},t.getSelectionStart=function(e){var t;try{t=e.selectionStart||0}catch(i){t=0}return t},t.setSelectionStart=function(e,t){return e.selectionStart=t},t.getSelectionEnd=function(e){var t;try{t=e.selectionEnd||0}catch(i){t=0}return t},t.setSelectionEnd=function(e,t){return e.selectionEnd=t}}),define("pilot/event",["require","exports","module","pilot/keys","pilot/useragent","pilot/dom"],function(e,t){function i(e,t,i){var o=0;if(o=r.isOpera&&r.isMac?0|(t.metaKey?1:0)|(t.altKey?2:0)|(t.shiftKey?4:0)|(t.ctrlKey?8:0):0|(t.ctrlKey?1:0)|(t.altKey?2:0)|(t.shiftKey?4:0)|(t.metaKey?8:0),i in n.MODIFIER_KEYS){switch(n.MODIFIER_KEYS[i]){case"Alt":o=2;break;case"Shift":o=4;break;case"Ctrl":o=1;break;default:o=8}i=0}return 8&o&&(91==i||93==i)&&(i=0),0!=o||i in n.FUNCTION_KEYS?e(t,o,i):!1}var n=e("pilot/keys"),r=e("pilot/useragent"),o=e("pilot/dom");t.addListener=function(e,t,i){if(e.addEventListener)return e.addEventListener(t,i,!1);if(e.attachEvent){var n=function(){i(window.event)};i._wrapper=n,e.attachEvent("on"+t,n)}},t.removeListener=function(e,t,i){return e.removeEventListener?e.removeEventListener(t,i,!1):(e.detachEvent&&e.detachEvent("on"+t,i._wrapper||i),void 0)},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.getDocumentX=function(e){return e.clientX?e.clientX+o.getPageScrollLeft():e.pageX},t.getDocumentY=function(e){return e.clientY?e.clientY+o.getPageScrollTop():e.pageY},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=document.documentElement.setCapture?function(e,i,n){function r(o){i&&i(o),n&&n(),t.removeListener(e,"mousemove",i),t.removeListener(e,"mouseup",r),t.removeListener(e,"losecapture",r),e.releaseCapture()}t.addListener(e,"mousemove",i),t.addListener(e,"mouseup",r),t.addListener(e,"losecapture",r),e.setCapture()}:function(e,t,i){function n(e){t&&t(e),i&&i(),document.removeEventListener("mousemove",r,!0),document.removeEventListener("mouseup",n,!0),e.stopPropagation()}function r(e){t(e),e.stopPropagation()}document.addEventListener("mousemove",r,!0),document.addEventListener("mouseup",n,!0)},t.addMouseWheelListener=function(e,i){var n=function(e){void 0!==e.wheelDelta?void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8):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.addListener(e,"DOMMouseScroll",n),t.addListener(e,"mousewheel",n)},t.addMultiMouseDownListener=function(e,i,n,o,s){var a,c,l=0,h=function(e){l+=1,1==l&&(a=e.clientX,c=e.clientY,setTimeout(function(){l=0},o||600));var r=t.getButton(e)==i;return(!r||Math.abs(e.clientX-a)>5||Math.abs(e.clientY-c)>5)&&(l=0),l==n&&(l=0,s(e)),r?t.preventDefault(e):void 0};t.addListener(e,"mousedown",h),r.isIE&&t.addListener(e,"dblclick",h)},t.addCommandKeyListener=function(e,n){var o=t.addListener;if(r.isOldGecko){var s=null;o(e,"keydown",function(e){s=e.keyCode}),o(e,"keypress",function(e){return i(n,e,s)})}else{var a=null;o(e,"keydown",function(e){return a=e.keyIdentifier||e.keyCode,i(n,e,e.keyCode)}),r.isMac&&r.isOpera&&o(e,"keypress",function(e){var t=e.keyIdentifier||e.keyCode;return a!==t?i(n,e,e.keyCode):(a=null,void 0)})}}}),define("ace/editor",["require","exports","module","pilot/fixoldbrowsers","pilot/oop","pilot/event","pilot/lang","pilot/useragent","ace/keyboard/textinput","ace/mouse_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","pilot/event_emitter"],function(e,t){e("pilot/fixoldbrowsers");var i=e("pilot/oop"),n=(e("pilot/event"),e("pilot/lang")),r=e("pilot/useragent"),o=e("ace/keyboard/textinput").TextInput,s=e("ace/mouse_handler").MouseHandler,a=e("ace/keyboard/keybinding").KeyBinding,c=e("ace/edit_session").EditSession,l=e("ace/search").Search,h=e("ace/range").Range,d=e("pilot/event_emitter").EventEmitter,u=function(e,t){var i=e.getContainerElement();this.container=i,this.renderer=e,this.textInput=new o(e.getTextAreaContainer(),this),this.keyBinding=new a(this),r.isIPad||(this.$mouseHandler=new s(this)),this.$blockScrolling=0,this.$search=(new l).set({wrap:!0}),this.setSession(t||new c(""))};(function(){i.implement(this,d),this.$forwardEvents={gutterclick:1,gutterdblclick:1},this.$originalAddEventListener=this.addEventListener,this.$originalRemoveEventListener=this.removeEventListener,this.addEventListener=function(e,t){return this.$forwardEvents[e]?this.renderer.addEventListener(e,t):this.$originalAddEventListener(e,t)},this.removeEventListener=function(e,t){return this.$forwardEvents[e]?this.renderer.removeEventListener(e,t):this.$originalRemoveEventListener(e,t)},this.setKeyboardHandler=function(e){this.keyBinding.setKeyboardHandler(e)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){if(this.session){var t=this.session;this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange);var i=this.session.getSelection();i.removeEventListener("changeCursor",this.$onCursorChange),i.removeEventListener("changeSelection",this.$onSelectionChange),this.session.setScrollTopRow(this.renderer.getScrollTopRow())}this.session=e,this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.updateText.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.scrollToRow(e.getScrollTopRow()),this.renderer.updateFull(),this._dispatchEvent("changeSession",{session:e,oldSession:t})}},this.getSession=function(){return this.session},this.getSelection=function(){return this.selection},this.resize=function(){this.renderer.onResize()},this.setTheme=function(e){this.renderer.setTheme(e)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.setFontSize=function(e){this.container.style.fontSize=e},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session.findMatchingBracket(e.getCursorPosition());if(t){var i=new h(t.row,t.column,t.row,t.column+1);e.session.$bracketHighlight=e.session.addMarker(i,"ace_bracket","text")}},10)}},this.focus=function(){var e=this;r.isIE||setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(){this.renderer.showCursor(),this.renderer.visualizeFocus(),this._dispatchEvent("focus")},this.onBlur=function(){this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._dispatchEvent("blur")},this.onDocumentChange=function(e){var t=e.data,i=t.range;if(i.start.row==i.end.row&&"insertLines"!=t.action&&"removeLines"!=t.action)var n=i.end.row;else n=1/0;this.renderer.updateLines(i.start.row,n),this.renderer.updateCursor()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onCursorChange=function(){this.renderer.updateCursor(),this.$blockScrolling||this.renderer.scrollCursorIntoView(),this.renderer.moveTextAreaToCursor(this.textInput.getElement()),this.$highlightBrackets(),this.$updateHighlightActiveLine()},this.$updateHighlightActiveLine=function(){var e=this.getSession();if(e.$highlightLineMarker&&e.removeMarker(e.$highlightLineMarker),e.$highlightLineMarker=null,this.getHighlightActiveLine()&&("line"!=this.getSelectionStyle()||!this.selection.isMultiLine())){var t,i=this.getCursorPosition(),n=this.session.getFoldLine(i.row);t=n?new h(n.start.row,0,n.end.row+1,0):new h(i.row,0,i.row+1,0),e.$highlightLineMarker=e.addMarker(t,"ace_active_line","background")}},this.onSelectionChange=function(){var e=this.getSession();if(e.$selectionMarker&&e.removeMarker(e.$selectionMarker),e.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var t=this.selection.getRange(),i=this.getSelectionStyle();e.$selectionMarker=e.addMarker(t,"ace_selection",i)}this.$highlightSelectedWord&&this.session.getMode().highlightSelection(this)},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.setBreakpoints(this.session.getBreakpoints())},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(){this.renderer.updateText()},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getCopyText=function(){return this.selection.isEmpty()?"":this.session.getTextRange(this.getSelectionRange())},this.onCut=function(){this.$readOnly||this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection())},this.insert=function(e){if(!this.$readOnly){var t=this.session,i=t.getMode(),n=this.getCursorPosition();if(this.getBehavioursEnabled()){var r=i.transformAction(t.getState(n.row),"insertion",this,t,e);r&&(e=r.text)}if(e=e.replace(" ",this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()){var o=new h.fromPoints(n,n);o.end.column+=e.length,this.session.remove(o)}}else{var n=this.session.remove(this.getSelectionRange());this.clearSelection()}this.clearSelection();var s=n.column,a=t.getState(n.row),c=i.checkOutdent(a,t.getLine(n.row),e),l=t.getLine(n.row),d=i.getNextLineIndent(a,l.slice(0,n.column),t.getTabString()),u=t.insert(n,e);r&&r.selection&&(2==r.selection.length?this.selection.setSelectionRange(new h(n.row,s+r.selection[0],n.row,s+r.selection[1])):this.selection.setSelectionRange(new h(n.row+r.selection[0],r.selection[1],n.row+r.selection[2],r.selection[3])));var a=t.getState(n.row);if(t.getDocument().isNewLine(e)){this.moveCursorTo(n.row+1,0);for(var g=t.getTabSize(),p=Number.MAX_VALUE,f=n.row+1;u.row>=f;++f){var m=0;l=t.getLine(f);for(var F=0;l.length>F;++F)if(" "==l.charAt(F))m+=g;else{if(" "!=l.charAt(F))break;m+=1}/[^\s]/.test(l)&&(p=Math.min(m,p))}for(var f=n.row+1;u.row>=f;++f){var C=p;l=t.getLine(f);for(var F=0;l.length>F&&C>0;++F)" "==l.charAt(F)?C-=g:" "==l.charAt(F)&&(C-=1);t.remove(new h(f,0,f,F))}t.indentRows(n.row+1,u.row,d)}else c&&i.autoOutdent(a,t,n.row)}},this.onTextInput=function(e,t){if(t&&1==e.length){var i=this.keyBinding.onCommandKey({},0,null,e);i||this.insert(e)}else this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,i){this.keyBinding.onCommandKey(e,t,i)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.$mouseHandler.setScrollSpeed(e)},this.getScrollSpeed=function(){return this.$mouseHandler.getScrollSpeed()},this.$selectionStyle="line",this.setSelectionStyle=function(e){this.$selectionStyle!=e&&(this.$selectionStyle=e,this.onSelectionChange(),this._dispatchEvent("changeSelectionStyle",{data:e}))},this.getSelectionStyle=function(){return this.$selectionStyle},this.$highlightActiveLine=!0,this.setHighlightActiveLine=function(e){this.$highlightActiveLine!=e&&(this.$highlightActiveLine=e,this.$updateHighlightActiveLine())},this.getHighlightActiveLine=function(){return this.$highlightActiveLine},this.$highlightSelectedWord=!0,this.setHighlightSelectedWord=function(e){this.$highlightSelectedWord!=e&&(this.$highlightSelectedWord=e,e?this.session.getMode().highlightSelection(this):this.session.getMode().clearSelectionHighlight(this))},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setShowInvisibles=function(e){this.getShowInvisibles()!=e&&this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.$readOnly=!1,this.setReadOnly=function(e){this.$readOnly=e},this.getReadOnly=function(){return this.$readOnly},this.$modeBehaviours=!0,this.setBehavioursEnabled=function(e){this.$modeBehaviours=e},this.getBehavioursEnabled=function(){return this.$modeBehaviours},this.removeRight=function(){this.$readOnly||(this.selection.isEmpty()&&this.selection.selectRight(),this.session.remove(this.getSelectionRange()),this.clearSelection())},this.removeLeft=function(){if(!this.$readOnly){this.selection.isEmpty()&&this.selection.selectLeft();var e=this.getSelectionRange();if(this.getBehavioursEnabled()){var t=this.session,i=t.getState(e.start.row),n=t.getMode().transformAction(i,"deletion",this,t,e);n!==!1&&(e=n)}this.session.remove(e),this.clearSelection()}},this.removeWordRight=function(){this.$readOnly||(this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection())},this.removeWordLeft=function(){this.$readOnly||(this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection())},this.removeToLineStart=function(){this.$readOnly||(this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection())},this.removeToLineEnd=function(){if(!this.$readOnly){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()}},this.splitLine=function(){if(!this.$readOnly){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)}},this.transposeLetters=function(){if(!this.$readOnly){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(0==t)return;var i=this.session.getLine(e.row);if(i.length>t)var n=i.charAt(t)+i.charAt(t-1),r=new h(e.row,t-1,e.row,t+1);else var n=i.charAt(t-1)+i.charAt(t-2),r=new h(e.row,t-2,e.row,t);this.session.replace(r,n)}},this.indent=function(){if(!this.$readOnly){var e=this.session,t=this.getSelectionRange();if(!(t.start.row<t.end.row||t.start.column<t.end.column)){var i;if(this.session.getUseSoftTabs()){var r=e.getTabSize(),o=this.getCursorPosition(),s=e.documentToScreenColumn(o.row,o.column),a=r-s%r;i=n.stringRepeat(" ",a)}else i=" ";return this.onTextInput(i)}var c=this.$getSelectedRows();e.indentRows(c.first,c.last," ")}},this.blockOutdent=function(){if(!this.$readOnly){var e=this.session.getSelection();this.session.outdentRows(e.getRange())}},this.toggleCommentLines=function(){if(!this.$readOnly){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)}},this.removeLines=function(){if(!this.$readOnly){var e=this.$getSelectedRows();if(0==e.last||e.last+1<this.session.getLength())var t=new h(e.first,0,e.last+1,0);else var t=new h(e.first-1,this.session.getLine(e.first).length,e.last,this.session.getLine(e.last).length);this.session.remove(t),this.clearSelection()}},this.moveLinesDown=function(){this.$readOnly||this.$moveLines(function(e,t){return this.session.moveLinesDown(e,t)})},this.moveLinesUp=function(){this.$readOnly||this.$moveLines(function(e,t){return this.session.moveLinesUp(e,t)})},this.moveText=function(e,t){return this.$readOnly?null:this.session.moveText(e,t)},this.copyLinesUp=function(){this.$readOnly||this.$moveLines(function(e,t){return this.session.duplicateLines(e,t),0})},this.copyLinesDown=function(){this.$readOnly||this.$moveLines(function(e,t){return this.session.duplicateLines(e,t)})},this.$moveLines=function(e){var t=this.$getSelectedRows(),i=e.call(this,t.first,t.last),n=this.selection;n.setSelectionAnchor(t.last+i+1,0),n.$moveSelection(function(){n.moveCursorTo(t.first+i,0)})},this.$getSelectedRows=function(){var e=this.getSelectionRange().collapseRows();return{first:e.start.row,last:e.end.row}
},this.onCompositionStart=function(){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&this.getLastVisibleRow()>=e},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$getPageDownRow=function(){return this.renderer.getScrollBottomRow()},this.$getPageUpRow=function(){var e=this.renderer.getScrollTopRow(),t=this.renderer.getScrollBottomRow();return e-(t-e)},this.selectPageDown=function(){var e=this.$getPageDownRow()+Math.floor(this.$getVisibleRowCount()/2);this.scrollPageDown();var t=this.getSelection(),i=this.session.documentToScreenPosition(t.getSelectionLead()),n=this.session.screenToDocumentPosition(e,i.column);t.selectTo(n.row,n.column)},this.selectPageUp=function(){var e=this.renderer.getScrollTopRow()-this.renderer.getScrollBottomRow(),t=this.$getPageUpRow()+Math.round(e/2);this.scrollPageUp();var i=this.getSelection(),n=this.session.documentToScreenPosition(i.getSelectionLead()),r=this.session.screenToDocumentPosition(t,n.column);i.selectTo(r.row,r.column)},this.gotoPageDown=function(){var e=this.$getPageDownRow(),t=this.getCursorPositionScreen().column;this.scrollToRow(e),this.getSelection().moveCursorToScreen(e,t)},this.gotoPageUp=function(){var e=this.$getPageUpRow(),t=this.getCursorPositionScreen().column;this.scrollToRow(e),this.getSelection().moveCursorToScreen(e,t)},this.scrollPageDown=function(){this.scrollToRow(this.$getPageDownRow())},this.scrollPageUp=function(){this.renderer.scrollToRow(this.$getPageUpRow())},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t){this.renderer.scrollToLine(e,t)},this.centerSelection=function(){var e=this.getSelectionRange(),t=Math.floor(e.start.row+(e.end.row-e.start.row)/2);this.renderer.scrollToLine(t,!0)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.gotoLine=function(e,t){this.selection.clearSelection(),this.$blockScrolling+=1,this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowVisible(this.getCursorPosition().row)||this.scrollToLine(e,!0)},this.navigateTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.navigateUp=function(e){this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(-e,0)},this.navigateDown=function(e){this.selection.clearSelection(),e=e||1,this.selection.moveCursorBy(e,0)},this.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var i=this.$search.find(this.session);!i||(this.$tryReplace(i,e),null!==i&&this.selection.setSelectionRange(i))},this.replaceAll=function(e,t){t&&this.$search.set(t);var i=this.$search.findAll(this.session);if(i.length){var n=this.getSelectionRange();this.clearSelection(),this.selection.moveCursorTo(0,0),this.$blockScrolling+=1;for(var r=i.length-1;r>=0;--r)this.$tryReplace(i[r],e);this.selection.setSelectionRange(n),this.$blockScrolling-=1}},this.$tryReplace=function(e,t){var i=this.session.getTextRange(e),t=this.$search.replace(i,t);return null!==t?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t){this.clearSelection(),t=t||{},t.needle=e,this.$search.set(t),this.$find()},this.findNext=function(e){e=e||{},e.backwards===void 0&&(e.backwards=!1),this.$search.set(e),this.$find()},this.findPrevious=function(e){e=e||{},e.backwards===void 0&&(e.backwards=!0),this.$search.set(e),this.$find()},this.$find=function(e){this.selection.isEmpty()||this.$search.set({needle:this.session.getTextRange(this.getSelectionRange())}),e!==void 0&&this.$search.set({backwards:e});var t=this.$search.find(this.session);t&&(this.gotoLine(t.end.row+1,t.end.column),this.selection.setSelectionRange(t))},this.undo=function(){this.session.getUndoManager().undo()},this.redo=function(){this.session.getUndoManager().redo()},this.destroy=function(){this.renderer.destroy()}}).call(u.prototype),t.Editor=u}),define("ace/keyboard/textinput",["require","exports","module","pilot/event","pilot/useragent","pilot/dom"],function(e,t){var i=e("pilot/event"),n=e("pilot/useragent"),r=e("pilot/dom"),o=function(e,t){function o(){return document.activeElement===a}function s(e){if(!h){var i=e||a.value;if(i&&(i.charCodeAt(i.length-1)==c.charCodeAt(0)?(i=i.slice(0,-1),i&&t.onTextInput(i,!d)):t.onTextInput(i,!d),!o()))return!1}h=!1,d=!1,a.value=c,a.select()}var a=r.createElement("textarea");a.style.left="-10000px",e.appendChild(a);var c=String.fromCharCode(0);s();var l=!1,h=!1,d=!1,u="",g=function(e){setTimeout(function(){l||s(e.data)},0)},p=function(){n.isIE&&a.value.charCodeAt(0)>128||setTimeout(function(){l||s()},0)},f=function(){l=!0,t.onCompositionStart(),n.isGecko||setTimeout(m,0)},m=function(){!l||t.onCompositionUpdate(a.value)},F=function(){l=!1,t.onCompositionEnd()},C=function(e){h=!0;var i=t.getCopyText();i?a.value=i:e.preventDefault(),a.select(),setTimeout(function(){s()},0)},A=function(e){h=!0;var i=t.getCopyText();i?(a.value=i,t.onCut()):e.preventDefault(),a.select(),setTimeout(function(){s()},0)};if(i.addCommandKeyListener(a,t.onCommandKey.bind(t)),n.isIE){var b={13:1,27:1};i.addListener(a,"keyup",function(e){l&&(!a.value||b[e.keyCode])&&setTimeout(F,0),129>(0|a.value.charCodeAt(0))||(l?m():f())})}a.attachEvent?i.addListener(a,"propertychange",p):n.isChrome||n.isSafari?i.addListener(a,"textInput",g):n.isIE?i.addListener(a,"textinput",g):i.addListener(a,"input",g),i.addListener(a,"paste",function(e){d=!0,e.clipboardData&&e.clipboardData.getData?(s(e.clipboardData.getData("text/plain")),e.preventDefault()):p()}),n.isIE?(i.addListener(a,"beforecopy",function(e){var i=t.getCopyText();i?clipboardData.setData("Text",i):e.preventDefault()}),i.addListener(e,"keydown",function(e){if(e.ctrlKey&&88==e.keyCode){var n=t.getCopyText();n&&(clipboardData.setData("Text",n),t.onCut()),i.preventDefault(e)}})):(i.addListener(a,"copy",C),i.addListener(a,"cut",A)),i.addListener(a,"compositionstart",f),n.isGecko&&i.addListener(a,"text",m),n.isWebKit&&i.addListener(a,"keyup",m),i.addListener(a,"compositionend",F),i.addListener(a,"blur",function(){t.onBlur()}),i.addListener(a,"focus",function(){t.onFocus(),a.select()}),this.focus=function(){t.onFocus(),a.select(),a.focus()},this.blur=function(){a.blur()},this.isFocused=o,this.getElement=function(){return a},this.onContextMenu=function(e,t){e&&(u||(u=a.style.cssText),a.style.cssText="position:fixed; z-index:1000;left:"+(e.x-2)+"px; top:"+(e.y-2)+"px;"),t&&(a.value="")},this.onContextMenuClose=function(){setTimeout(function(){u&&(a.style.cssText=u,u=""),s()},0)}};t.TextInput=o}),define("ace/mouse_handler",["require","exports","module","pilot/event","pilot/dom","pilot/browser_focus"],function(e,t){var i=e("pilot/event"),n=e("pilot/dom"),r=e("pilot/browser_focus").BrowserFocus,o=0,s=1,a=2,c=250,l=5,h=function(e){this.editor=e,this.browserFocus=new r,i.addListener(e.container,"mousedown",function(t){return e.focus(),i.preventDefault(t)}),i.addListener(e.container,"selectstart",function(e){return i.preventDefault(e)});var t=e.renderer.getMouseEventTarget();i.addListener(t,"mousedown",this.onMouseDown.bind(this)),i.addMultiMouseDownListener(t,0,2,500,this.onMouseDoubleClick.bind(this)),i.addMultiMouseDownListener(t,0,3,600,this.onMouseTripleClick.bind(this)),i.addMultiMouseDownListener(t,0,4,600,this.onMouseQuadClick.bind(this)),i.addMouseWheelListener(t,this.onMouseWheel.bind(this))};(function(){this.$scrollSpeed=1,this.setScrollSpeed=function(e){this.$scrollSpeed=e},this.getScrollSpeed=function(){return this.$scrollSpeed},this.$getEventPosition=function(e){var t=i.getDocumentX(e),n=i.getDocumentY(e),r=this.editor.renderer.screenToTextCoordinates(t,n);return r.row=Math.max(0,Math.min(r.row,this.editor.session.getLength()-1)),r},this.$distance=function(e,t,i,n){return Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))},this.onMouseDown=function(e){function t(t){e.shiftKey?u.selection.selectToPosition(t):g.$clickSelection||(u.moveCursorToPosition(t),u.selection.clearSelection(t.row,t.column)),m=s}if(this.browserFocus.isFocused()&&!(20>(new Date).getTime()-this.browserFocus.lastFocus)&&this.editor.isFocused()){var r=i.getDocumentX(e),h=i.getDocumentY(e),d=this.$getEventPosition(e),u=this.editor,g=this,p=u.getSelectionRange(),f=p.isEmpty(),m=o,F=!1,C=i.getButton(e);if(0!==C)return f&&u.moveCursorToPosition(d),2==C&&(u.textInput.onContextMenu({x:r,y:h},f),i.capture(u.container,function(){},u.textInput.onContextMenuClose)),void 0;var A=u.session.getFoldAt(d.row,d.column,1);if(A)return u.selection.setSelectionRange(A.range),void 0;F=!u.getReadOnly()&&!f&&p.contains(d.row,d.column),F||t(d);var b,E,x,v,w=(u.getOverwrite(),(new Date).getTime()),y=function(e){b=i.getDocumentX(e),E=i.getDocumentY(e)},D=function(){clearInterval(_),m==o?t(d):m==a&&B(),g.$clickSelection=null,m=o},B=function(){if(n.removeCssClass(u.container,"ace_dragging"),u.session.removeMarker(dragSelectionMarker),g.$clickSelection||x||(u.moveCursorToPosition(d),u.selection.clearSelection(d.row,d.column)),x){if(v.contains(x.row,x.column))return x=null,void 0;u.clearSelection();var e=u.moveText(v,x);if(!e)return x=null,void 0;u.selection.setSelectionRange(e)}},S=function(){if(void 0!==b&&void 0!==E){if(m==o){var e=g.$distance(r,h,b,E),i=(new Date).getTime();if(e>l){m=s;var d=u.renderer.screenToTextCoordinates(b,E);d.row=Math.max(0,Math.min(d.row,u.session.getLength()-1)),t(d)}else if(i-w>c){m=a,v=u.getSelectionRange();var p=u.getSelectionStyle();dragSelectionMarker=u.session.addMarker(v,"ace_selection",p),u.clearSelection(),n.addCssClass(u.container,"ace_dragging")}}m==a?k():m==s&&L()}},L=function(){var e=u.renderer.screenToTextCoordinates(b,E);if(e.row=Math.max(0,Math.min(e.row,u.session.getLength()-1)),g.$clickSelection)if(g.$clickSelection.contains(e.row,e.column))u.selection.setSelectionRange(g.$clickSelection);else{if(-1==g.$clickSelection.compare(e.row,e.column))var t=g.$clickSelection.end;else var t=g.$clickSelection.start;u.selection.setSelectionAnchor(t.row,t.column),u.selection.selectToPosition(e)}else u.selection.selectToPosition(e);u.renderer.scrollCursorIntoView()},k=function(){x=u.renderer.screenToTextCoordinates(b,E),x.row=Math.max(0,Math.min(x.row,u.session.getLength()-1)),u.moveCursorToPosition(x)};i.capture(u.container,y,D);var _=setInterval(S,20);return i.preventDefault(e)}},this.onMouseDoubleClick=function(e){var t=this.editor,i=this.$getEventPosition(e),n=t.session.getFoldAt(i.row,i.column,1);n?t.session.expandFold(n):(t.moveCursorToPosition(i),t.selection.selectWord(),this.$clickSelection=t.getSelectionRange())},this.onMouseTripleClick=function(e){var t=this.$getEventPosition(e);this.editor.moveCursorToPosition(t),this.editor.selection.selectLine(),this.$clickSelection=this.editor.getSelectionRange()},this.onMouseQuadClick=function(){this.editor.selectAll(),this.$clickSelection=this.editor.getSelectionRange()},this.onMouseWheel=function(e){var t=2*this.$scrollSpeed;return this.editor.renderer.scrollBy(e.wheelX*t,e.wheelY*t),i.preventDefault(e)}}).call(h.prototype),t.MouseHandler=h}),define("pilot/browser_focus",["require","exports","module","pilot/oop","pilot/event","pilot/event_emitter"],function(e,t){var i=e("pilot/oop"),n=e("pilot/event"),r=e("pilot/event_emitter").EventEmitter,o=function(e){e=e||window,this.lastFocus=(new Date).getTime(),this._isFocused=!0;var t=this;n.addListener(e,"blur",function(){t._setFocused(!1)}),n.addListener(e,"focus",function(){t._setFocused(!0)})};(function(){i.implement(this,r),this.isFocused=function(){return this._isFocused},this._setFocused=function(e){this._isFocused!=e&&(e&&(this.lastFocus=(new Date).getTime()),this._isFocused=e,this._emit("changeFocus"))}}).call(o.prototype),t.BrowserFocus=o}),define("ace/keyboard/keybinding",["require","exports","module","pilot/useragent","pilot/keys","pilot/event","pilot/settings","pilot/canon","ace/commands/default_commands"],function(e,t){var i=(e("pilot/useragent"),e("pilot/keys")),n=e("pilot/event"),r=(e("pilot/settings").settings,e("pilot/canon"));e("ace/commands/default_commands");var o=function(e){this.$editor=e,this.$data={},this.$keyboardHandler=null};(function(){this.setKeyboardHandler=function(e){this.$keyboardHandler!=e&&(this.$data={},this.$keyboardHandler=e)},this.getKeyboardHandler=function(){return this.$keyboardHandler},this.$callKeyboardHandler=function(e,t,i,o){var s,a={editor:this.$editor};this.$keyboardHandler&&(s=this.$keyboardHandler.handleKeyboard(this.$data,t,i,o,e)),s&&s.command||(s=0!=t||0!=o?{command:r.findKeyCommand(a,"editor",t,i)}:{command:"inserttext",args:{text:i}});var c=!1;return s&&(c=r.exec(s.command,a,"editor",s.args),c&&n.stopEvent(e)),c},this.onCommandKey=function(e,t,n,r){return r||(r=i.keyCodeToString(n)),this.$callKeyboardHandler(e,t,r,n)},this.onTextInput=function(e){return this.$callKeyboardHandler({},0,e,0)}}).call(o.prototype),t.KeyBinding=o}),define("ace/commands/default_commands",["require","exports","module","pilot/lang","pilot/canon"],function(e){function t(e,t){return{win:e,mac:t,sender:"editor"}}var i=e("pilot/lang"),n=e("pilot/canon");n.addCommand({name:"null",exec:function(){}}),n.addCommand({name:"selectall",bindKey:t("Ctrl-A","Command-A"),exec:function(e){e.editor.selectAll()}}),n.addCommand({name:"removeline",bindKey:t("Ctrl-D","Command-D"),exec:function(e){e.editor.removeLines()}}),n.addCommand({name:"gotoline",bindKey:t("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"));isNaN(t)||e.editor.gotoLine(t)}}),n.addCommand({name:"togglecomment",bindKey:t("Ctrl-7","Command-7"),exec:function(e){e.editor.toggleCommentLines()}}),n.addCommand({name:"findnext",bindKey:t("Ctrl-K","Command-G"),exec:function(e){e.editor.findNext()}}),n.addCommand({name:"findprevious",bindKey:t("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.editor.findPrevious()}}),n.addCommand({name:"find",bindKey:t("Ctrl-F","Command-F"),exec:function(e){var t=prompt("Find:");e.editor.find(t)}}),n.addCommand({name:"replace",bindKey:t("Ctrl-R","Command-Option-F"),exec:function(e){var t=prompt("Find:");if(t){var i=prompt("Replacement:");if(!i)return;e.editor.replace(i,{needle:t})}}}),n.addCommand({name:"replaceall",bindKey:t("Ctrl-Shift-R","Command-Shift-Option-F"),exec:function(e){var t=prompt("Find:");if(t){var i=prompt("Replacement:");if(!i)return;e.editor.replaceAll(i,{needle:t})}}}),n.addCommand({name:"undo",bindKey:t("Ctrl-Z","Command-Z"),exec:function(e){e.editor.undo()}}),n.addCommand({name:"redo",bindKey:t("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.editor.redo()}}),n.addCommand({name:"overwrite",bindKey:t("Insert","Insert"),exec:function(e){e.editor.toggleOverwrite()}}),n.addCommand({name:"copylinesup",bindKey:t("Ctrl-Alt-Up","Command-Option-Up"),exec:function(e){e.editor.copyLinesUp()}}),n.addCommand({name:"movelinesup",bindKey:t("Alt-Up","Option-Up"),exec:function(e){e.editor.moveLinesUp()}}),n.addCommand({name:"selecttostart",bindKey:t("Ctrl-Shift-Home|Alt-Shift-Up","Command-Shift-Up"),exec:function(e){e.editor.getSelection().selectFileStart()}}),n.addCommand({name:"gotostart",bindKey:t("Ctrl-Home|Ctrl-Up","Command-Home|Command-Up"),exec:function(e){e.editor.navigateFileStart()}}),n.addCommand({name:"selectup",bindKey:t("Shift-Up","Shift-Up"),exec:function(e){e.editor.getSelection().selectUp()}}),n.addCommand({name:"golineup",bindKey:t("Up","Up|Ctrl-P"),exec:function(e,t){e.editor.navigateUp(t.times)}}),n.addCommand({name:"copylinesdown",bindKey:t("Ctrl-Alt-Down","Command-Option-Down"),exec:function(e){e.editor.copyLinesDown()}}),n.addCommand({name:"movelinesdown",bindKey:t("Alt-Down","Option-Down"),exec:function(e){e.editor.moveLinesDown()}}),n.addCommand({name:"selecttoend",bindKey:t("Ctrl-Shift-End|Alt-Shift-Down","Command-Shift-Down"),exec:function(e){e.editor.getSelection().selectFileEnd()}}),n.addCommand({name:"gotoend",bindKey:t("Ctrl-End|Ctrl-Down","Command-End|Command-Down"),exec:function(e){e.editor.navigateFileEnd()}}),n.addCommand({name:"selectdown",bindKey:t("Shift-Down","Shift-Down"),exec:function(e){e.editor.getSelection().selectDown()}}),n.addCommand({name:"golinedown",bindKey:t("Down","Down|Ctrl-N"),exec:function(e,t){e.editor.navigateDown(t.times)}}),n.addCommand({name:"selectwordleft",bindKey:t("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.editor.getSelection().selectWordLeft()}}),n.addCommand({name:"gotowordleft",bindKey:t("Ctrl-Left","Option-Left"),exec:function(e){e.editor.navigateWordLeft()}}),n.addCommand({name:"selecttolinestart",bindKey:t("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.editor.getSelection().selectLineStart()}}),n.addCommand({name:"gotolinestart",bindKey:t("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.editor.navigateLineStart()}}),n.addCommand({name:"selectleft",bindKey:t("Shift-Left","Shift-Left"),exec:function(e){e.editor.getSelection().selectLeft()}}),n.addCommand({name:"gotoleft",bindKey:t("Left","Left|Ctrl-B"),exec:function(e,t){e.editor.navigateLeft(t.times)}}),n.addCommand({name:"selectwordright",bindKey:t("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.editor.getSelection().selectWordRight()}}),n.addCommand({name:"gotowordright",bindKey:t("Ctrl-Right","Option-Right"),exec:function(e){e.editor.navigateWordRight()}}),n.addCommand({name:"selecttolineend",bindKey:t("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.editor.getSelection().selectLineEnd()}}),n.addCommand({name:"gotolineend",bindKey:t("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.editor.navigateLineEnd()}}),n.addCommand({name:"selectright",bindKey:t("Shift-Right","Shift-Right"),exec:function(e){e.editor.getSelection().selectRight()}}),n.addCommand({name:"gotoright",bindKey:t("Right","Right|Ctrl-F"),exec:function(e,t){e.editor.navigateRight(t.times)}}),n.addCommand({name:"selectpagedown",bindKey:t("Shift-PageDown","Shift-PageDown"),exec:function(e){e.editor.selectPageDown()}}),n.addCommand({name:"pagedown",bindKey:t(null,"PageDown"),exec:function(e){e.editor.scrollPageDown()}}),n.addCommand({name:"gotopagedown",bindKey:t("PageDown","Option-PageDown|Ctrl-V"),exec:function(e){e.editor.gotoPageDown()}}),n.addCommand({name:"selectpageup",bindKey:t("Shift-PageUp","Shift-PageUp"),exec:function(e){e.editor.selectPageUp()}}),n.addCommand({name:"pageup",bindKey:t(null,"PageUp"),exec:function(e){e.editor.scrollPageUp()}}),n.addCommand({name:"gotopageup",bindKey:t("PageUp","Option-PageUp"),exec:function(e){e.editor.gotoPageUp()}}),n.addCommand({name:"selectlinestart",bindKey:t("Shift-Home","Shift-Home"),exec:function(e){e.editor.getSelection().selectLineStart()}}),n.addCommand({name:"selectlineend",bindKey:t("Shift-End","Shift-End"),exec:function(e){e.editor.getSelection().selectLineEnd()}}),n.addCommand({name:"del",bindKey:t("Delete","Delete|Ctrl-D"),exec:function(e){e.editor.removeRight()}}),n.addCommand({name:"backspace",bindKey:t("Ctrl-Backspace|Command-Backspace|Option-Backspace|Shift-Backspace|Backspace","Ctrl-Backspace|Command-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.editor.removeLeft()}}),n.addCommand({name:"removetolinestart",bindKey:t(null,"Option-Backspace"),exec:function(e){e.editor.removeToLineStart()}}),n.addCommand({name:"removetolineend",bindKey:t(null,"Ctrl-K"),exec:function(e){e.editor.removeToLineEnd()}}),n.addCommand({name:"removewordleft",bindKey:t("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.editor.removeWordLeft()}}),n.addCommand({name:"removewordright",bindKey:t(null,"Alt-Delete"),exec:function(e){e.editor.removeWordRight()}}),n.addCommand({name:"outdent",bindKey:t("Shift-Tab","Shift-Tab"),exec:function(e){e.editor.blockOutdent()}}),n.addCommand({name:"indent",bindKey:t("Tab","Tab"),exec:function(e){e.editor.indent()}}),n.addCommand({name:"inserttext",exec:function(e,t){e.editor.insert(i.stringRepeat(t.text||"",t.times||1))}}),n.addCommand({name:"centerselection",bindKey:t(null,"Ctrl-L"),exec:function(e){e.editor.centerSelection()}}),n.addCommand({name:"splitline",bindKey:t(null,"Ctrl-O"),exec:function(e){e.editor.splitLine()}}),n.addCommand({name:"transposeletters",bindKey:t("Ctrl-T","Ctrl-T"),exec:function(e){e.editor.transposeLetters()}})}),define("ace/edit_session",["require","exports","module","pilot/oop","pilot/lang","pilot/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/edit_session/folding"],function(e,t){var n=e("pilot/oop"),r=e("pilot/lang"),o=e("pilot/event_emitter").EventEmitter,s=e("ace/selection").Selection,a=e("ace/mode/text").Mode,c=e("ace/range").Range,l=e("ace/document").Document,h=e("ace/background_tokenizer").BackgroundTokenizer,d=function(e,t){this.$modified=!0,this.$breakpoints=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$rowCache=[],this.$wrapData=[],this.$foldData=[],this.$foldData.toString=function(){var e="";return this.forEach(function(t){e+="\n"+(""+t)}),e},e instanceof l?this.setDocument(e):this.setDocument(new l(e)),this.selection=new s(this),t?this.setMode(t):this.setMode(new a)};(function(){function t(e){return 4352>e?!1:e>=4352&&4447>=e||e>=4515&&4519>=e||e>=4602&&4607>=e||e>=9001&&9002>=e||e>=11904&&11929>=e||e>=11931&&12019>=e||e>=12032&&12245>=e||e>=12272&&12283>=e||e>=12288&&12350>=e||e>=12353&&12438>=e||e>=12441&&12543>=e||e>=12549&&12589>=e||e>=12593&&12686>=e||e>=12688&&12730>=e||e>=12736&&12771>=e||e>=12784&&12830>=e||e>=12832&&12871>=e||e>=12880&&13054>=e||e>=13056&&19903>=e||e>=19968&&42124>=e||e>=42128&&42182>=e||e>=43360&&43388>=e||e>=44032&&55203>=e||e>=55216&&55238>=e||e>=55243&&55291>=e||e>=63744&&64255>=e||e>=65040&&65049>=e||e>=65072&&65106>=e||e>=65108&&65126>=e||e>=65128&&65131>=e||e>=65281&&65376>=e||e>=65504&&65510>=e}n.implement(this,o),this.setDocument=function(e){if(this.doc)throw Error("Document is already set");this.doc=e,e.on("change",this.onChange.bind(this)),this.on("changeFold",this.onChangeFold.bind(this))},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(0==e)this.$rowCache=[];else for(var t=this.$rowCache,i=0;t.length>i;i++)if(t[i].docRow>=e)return t.splice(i,t.length),void 0},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){var t=e.data;this.$modified=!0,this.$resetRowCache(t.range.start.row);var i=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&!t.ignore&&(this.$deltasDoc.push(t),i&&0!=i.length&&this.$deltasFold.push({action:"removeFolds",folds:i}),this.$informUndoManager.schedule()),this.bgTokenizer.start(t.range.start.row),this._dispatchEvent("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveCursorTo(0,0),this.selection.clearSelection(),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e,t){return this.bgTokenizer.getTokens(e,t)},this.setUndoManager=function(e){if(this.$undoManager=e,this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t]}),t.$deltas=[]},this.$informUndoManager=r.deferredCall(this.$syncInformUndoManager)}},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?r.stringRepeat(" ",this.getTabSize()):" "},this.$useSoftTabs=!0,this.setUseSoftTabs=function(e){this.$useSoftTabs!==e&&(this.$useSoftTabs=e)},this.getUseSoftTabs=function(){return this.$useSoftTabs},this.$tabSize=4,this.setTabSize=function(e){!isNaN(e)&&this.$tabSize!==e&&(this.$modified=!0,this.$tabSize=e,this._dispatchEvent("changeTabSize"))},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&0==e.column%this.$tabSize},this.$overwrite=!1,this.setOverwrite=function(e){this.$overwrite!=e&&(this.$overwrite=e,this._dispatchEvent("changeOverwrite"))},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;e.length>t;t++)this.$breakpoints[e[t]]=!0;this._dispatchEvent("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._dispatchEvent("changeBreakpoint",{})},this.setBreakpoint=function(e){this.$breakpoints[e]=!0,this._dispatchEvent("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._dispatchEvent("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.addMarker=function(e,t,i,n){var r=this.$markerId++,o={range:e,type:i||"line",renderer:"function"==typeof i?i:null,clazz:t,inFront:!!n};return n?(this.$frontMarkers[r]=o,this._dispatchEvent("changeFrontMarker")):(this.$backMarkers[r]=o,this._dispatchEvent("changeBackMarker")),r},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var i=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete i[e],this._dispatchEvent(t.inFront?"changeFrontMarker":"changeBackMarker"))}},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.setAnnotations=function(e){this.$annotations={};for(var t=0;e.length>t;t++){var i=e[t],n=i.row;this.$annotations[n]?this.$annotations[n].push(i):this.$annotations[n]=[i]}this._dispatchEvent("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations},this.clearAnnotations=function(){this.$annotations={},this._dispatchEvent("changeAnnotation",{})},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getWordRange=function(e,t){var i=this.getLine(e),n=!1;t>0&&(n=!!i.charAt(t-1).match(this.tokenRe)),n||(n=!!i.charAt(t).match(this.tokenRe));var r=n?this.tokenRe:this.nonTokenRe,o=t;if(o>0){do o--;while(o>=0&&i.charAt(o).match(r));o++}for(var s=t;i.length>s&&i.charAt(s).match(r);)s++;return new c(e,o,e,s)},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.$useWorker=!0,this.setUseWorker=function(e){this.$useWorker!=e&&(this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker())},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._dispatchEvent("tokenizerUpdate",e)},this.$mode=null,this.setMode=function(e){if(this.$mode!==e){this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var t=e.getTokenizer();if(void 0!==t.addEventListener){var i=this.onReloadTokenizer.bind(this);t.addEventListener("update",i)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(t);else{this.bgTokenizer=new h(t);var n=this;this.bgTokenizer.addEventListener("update",function(e){n._dispatchEvent("tokenizerUpdate",e)})}this.bgTokenizer.setDocument(this.getDocument()),this.bgTokenizer.start(0),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,this._dispatchEvent("changeMode")}},this.$stopWorker=function(){this.$worker&&this.$worker.terminate(),this.$worker=null},this.$startWorker=function(){if("undefined"==typeof Worker||e.noWorker)this.$worker=null;else try{this.$worker=this.$mode.createWorker(this)}catch(t){console.log("Could not load worker"),console.log(t),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTopRow=function(e){this.$scrollTop!==e&&(this.$scrollTop=e,this._dispatchEvent("changeScrollTop"))},this.getScrollTopRow=function(){return this.$scrollTop},this.getWidth=function(){return this.$computeWidth(),this.width},this.getScreenWidth=function(){return this.$computeWidth(),this.screenWidth},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;for(var t=this.doc.getAllLines(),i=0,n=0,r=0;t.length>r;r++){var o,s,a=this.getFoldLine(r);if(o=t[r],a){var c=a.range.end;o=this.getFoldDisplayLine(a),r=c.row}s=o.length,i=Math.max(i,s),this.$useWrapMode||(n=Math.max(n,this.$getStringScreenWidth(o)[0]))}this.width=i,this.screenWidth=this.$useWrapMode?this.$wrapLimit:n}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e)},this.findMatchingBracket=function(e){if(0==e.column)return null;var t=this.getLine(e.row).charAt(e.column-1);if(""==t)return null;var i=t.match(/([\(\[\{])|([\)\]\}])/);return i?i[1]?this.$findClosingBracket(i[1],e):this.$findOpeningBracket(i[2],e):null},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t){for(var i=this.$brackets[e],n=t.column-2,r=t.row,o=1,s=this.getLine(r);;){for(;n>=0;){var a=s.charAt(n);if(a==i){if(o-=1,0==o)return{row:r,column:n}}else a==e&&(o+=1);n-=1}if(r-=1,0>r)break;var s=this.getLine(r),n=s.length-1}return null},this.$findClosingBracket=function(e,t){for(var i=this.$brackets[e],n=t.column,r=t.row,o=1,s=this.getLine(r),a=this.getLength();;){for(;s.length>n;){var c=s.charAt(n);if(c==i){if(o-=1,0==o)return{row:r,column:n}}else c==e&&(o+=1);n+=1}if(r+=1,r>=a)break;var s=this.getLine(r),n=0}return null},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=null,n=e.length-1;-1!=n;n--)delta=e[n],"doc"==delta.group?(this.doc.revertDeltas(delta.deltas),i=this.$getUndoSelection(delta.deltas,!0,i)):delta.deltas.forEach(function(e){this.addFolds(e.folds)},this);return this.$fromUndo=!1,i&&!t&&this.selection.setSelectionRange(i),i}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;
for(var i=null,n=0;e.length>n;n++)delta=e[n],"doc"==delta.group&&(this.doc.applyDeltas(delta.deltas),i=this.$getUndoSelection(delta.deltas,!1,i));return this.$fromUndo=!1,i&&!t&&this.selection.setSelectionRange(i),i}},this.$getUndoSelection=function(e,t,i){function n(e){var i="insertText"==e.action||"insertLines"==e.action;return t?!i:i}var r,o,s=e[0],a=!1;n(s)?(r=s.range.clone(),a=!0):(r=c.fromPoints(s.range.start,s.range.start),a=!1);for(var l=1;e.length>l;l++)s=e[l],n(s)?(o=s.range.start,-1==r.compare(o.row,o.column)&&r.setStart(s.range.start),o=s.range.end,1==r.compare(o.row,o.column)&&r.setEnd(s.range.end),a=!0):(o=s.range.start,-1==r.compare(o.row,o.column)&&(r=c.fromPoints(s.range.start,s.range.start)),a=!1);if(null!=i){var h=i.compareRange(r);1==h?r.setStart(i.start):-1==h&&r.setEnd(i.end)}return r},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t){var i=this.getTextRange(e);this.remove(e);var n=t.row,r=t.column;if(!e.isMultiLine()&&e.start.row==n&&r>e.end.column&&(r-=i.length),e.isMultiLine()&&n>e.end.row){var o=this.doc.$split(i);n-=o.length-1}var s=n+e.end.row-e.start.row,a=e.isMultiLine()?e.end.column:r+e.end.column-e.start.column,l=new c(n,r,s,a);return this.insert(l.start,i),l},this.indentRows=function(e,t,i){i=i.replace(/\t/g,this.getTabString());for(var n=e;t>=n;n++)this.insert({row:n,column:0},i)},this.outdentRows=function(e){for(var t=e.collapseRows(),i=new c(0,0,0,0),n=this.getTabSize(),r=t.start.row;t.end.row>=r;++r){var o=this.getLine(r);i.start.row=r,i.end.row=r;for(var s=0;n>s&&" "==o.charAt(s);++s);n>s&&" "==o.charAt(s)?(i.start.column=s,i.end.column=s+1):(i.start.column=0,i.end.column=s),this.remove(i)}},this.moveLinesUp=function(e,t){if(0>=e)return 0;var i=this.doc.removeLines(e,t);return this.doc.insertLines(e-1,i),-1},this.moveLinesDown=function(e,t){if(t>=this.doc.getLength()-1)return 0;var i=this.doc.removeLines(e,t);return this.doc.insertLines(e+1,i),1},this.duplicateLines=function(e,t){var e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t),i=this.getLines(e,t);this.doc.insertLines(e,i);var n=t-e+1;return n},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),0>e)e=0,t=0;else{var i=this.doc.getLength();e>=i?(e=i-1,t=this.doc.getLine(i-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();for(this.$wrapData=[],i=0;t>i;i++)this.$wrapData.push([]);this.$updateWrapData(0,t-1)}this._dispatchEvent("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)&&(this.$wrapLimitRange.min=e,this.$wrapLimitRange.max=t,this.$modified=!0,this._dispatchEvent("changeWrapMode"))},this.adjustWrapLimit=function(e){var t=this.$constrainWrapLimit(e);return t!=this.$wrapLimit&&t>0?(this.$wrapLimit=t,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._dispatchEvent("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e){var t=this.$wrapLimitRange.min;t&&(e=Math.max(t,e));var i=this.$wrapLimitRange.max;return i&&(e=Math.min(i,e)),Math.max(1,e)},this.getWrapLimit=function(){return this.$wrapLimit},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t,i=this.$useWrapMode,n=e.data.action,r=e.data.range.start.row,o=e.data.range.end.row,s=e.data.range.start,a=e.data.range.end,c=null;if(-1!=n.indexOf("Lines")?(o="insertLines"==n?r+e.data.lines.length:r,t=e.data.lines.length):t=o-r,0!=t)if(-1!=n.indexOf("remove")){i&&this.$wrapData.splice(r,t);var l=this.$foldData;c=this.getFoldsInRange(e.data.range),this.removeFolds(c);var h=this.getFoldLine(a.row),d=0;if(h){h.addRemoveChars(a.row,a.column,s.column-a.column),h.shiftRow(-t);var u=this.getFoldLine(r);u&&u!==h&&(u.merge(h),h=u),d=l.indexOf(h)+1}for(d;l.length>d;d++){var h=l[d];h.start.row>=a.row&&h.shiftRow(-t)}o=r}else{var g;if(i){g=[r,0];for(var p=0;t>p;p++)g.push([]);this.$wrapData.splice.apply(this.$wrapData,g)}var l=this.$foldData,h=this.getFoldLine(r),d=0;if(h){var f=h.range.compareInside(s.row,s.column);0==f?(h=h.split(s.row,s.column),h.shiftRow(t),h.addRemoveChars(o,0,a.column-s.column)):-1==f&&(h.addRemoveChars(r,0,a.column-s.column),h.shiftRow(t)),d=l.indexOf(h)+1}for(d;l.length>d;d++){var h=l[d];h.start.row>=r&&h.shiftRow(t)}}else{t=Math.abs(e.data.range.start.column-e.data.range.end.column),-1!=n.indexOf("remove")&&(c=this.getFoldsInRange(e.data.range),this.removeFolds(c),t=-t);var h=this.getFoldLine(r);h&&h.addRemoveChars(r,s.column,t)}return i&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),i&&this.$updateWrapData(r,o),c},this.$updateWrapData=function(e,t){var i,n,o=this.doc.getAllLines(),s=this.getTabSize(),a=this.$wrapData,c=this.$wrapLimit,h=e;for(t=Math.min(t,o.length-1);t>=h;){if(n=this.getFoldLine(h))for(i=[],n.walk(function(e,t,n,r){var s;if(e){s=this.$getDisplayTokens(e,i.length),s[0]=l;for(var a=1;s.length>a;a++)s[a]=d}else s=this.$getDisplayTokens(o[t].substring(r,n),i.length);i=i.concat(s)}.bind(this),n.end.row,o[n.end.row].length+1);0!=i.length&&i[i.length-1]>=u;)i.pop();else i=this.$getDisplayTokens(r.stringTrimRight(o[h]));a[h]=this.$computeWrapSplits(i,c,s),h=this.getRowFoldEnd(h)+1}};var s=1,a=2,l=3,d=4,u=10,g=11,p=12;this.$computeWrapSplits=function(e,t){function i(t){var i=e.slice(o,t),r=i.length;i.join("").replace(/12/g,function(){r-=1}).replace(/2/g,function(){r-=1}),s+=r,n.push(s),o=t}if(0==e.length)return[];for(var n=(this.getTabSize(),[]),r=e.length,o=0,s=0;r-o>t;){var a=o+t;if(e[a]>=u){for(;e[a]>=u;)a++;i(a)}else if(e[a]!=l&&e[a]!=d){for(a;a!=o-1;a--)if(e[a]>=l){a++;break}a>o?i(a):(a=o+t,i(o+t))}else{for(a;a!=o-1&&e[a]!=l;a--);if(a>o){i(a);continue}for(a=o+t;e.length>a&&e[a]==d;a++);if(a==e.length)break;i(a)}}return n},this.$getDisplayTokens=function(e,i){var n,r=[];i=i||0;for(var o=0;e.length>o;o++){var c=e.charCodeAt(o);if(9==c){n=this.getScreenTabSize(r.length+i),r.push(g);for(var l=1;n>l;l++)r.push(p)}else 32==c?r.push(u):t(c)?r.push(s,a):r.push(s)}return r},this.$getStringScreenWidth=function(e,i,n){if(0==i)return[0,0];null==i&&(i=n+e.length*Math.max(this.getTabSize(),2)),n=n||0;var r,o;for(o=0;e.length>o&&(r=e.charCodeAt(o),n+=9==r?this.getScreenTabSize(n):t(r)?2:1,!(n>i));o++);return[n,o]},this.getRowLength=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getRowHeight=function(e,t){return this.getRowLength(t)*e.lineHeight},this.getScreenLastRowColumn=function(e){return this.documentToScreenColumn(e,this.doc.getLine(e).length)},this.getDocumentLastRowColumn=function(e,t){var i=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(i)},this.getDocumentLastRowColumnPosition=function(e,t){var i=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(i,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(0>e)return{row:0,column:0};for(var i,n,r=0,o=0,s=0,a=0,c=this.$rowCache,l=0;c.length>l&&e>c[l].screenRow;l++)s=c[l].screenRow,r=c[l].docRow;for(var h=!c.length||l==c.length,d=this.getLength()-1,u=this.getNextFold(r),g=u?u.start.row:1/0;e>=s&&(a=this.getRowLength(r),!(s+a-1>=e||r>=d));)s+=a,r++,r>g&&(r=u.end.row+1,u=this.getNextFold(r),g=u?u.start.row:1/0),h&&c.push({docRow:r,screenRow:s});u&&r>=u.start.row?i=this.getFoldDisplayLine(u):(i=this.getLine(r),u=null);var p=[];return this.$useWrapMode&&(p=this.$wrapData[r],p&&(n=p[e-s],e>s&&p.length&&(o=p[e-s-1]||p[p.length-1],i=i.substring(o)))),o+=this.$getStringScreenWidth(i,t)[1],e>s+p.length&&(o=Number.MAX_VALUE),this.$useWrapMode?o>=n&&(o=n-1):o=Math.min(o,i.length),u?u.idxToPosition(o):{row:r,column:o}},this.documentToScreenPosition=function(e,t){if(t===void 0)var i=this.$clipPositionToDocument(e.row,e.column);else i=this.$clipPositionToDocument(e,t);e=i.row,t=i.column;var n;if(this.$rowCache.length,this.$useWrapMode&&(n=this.$wrapData,e>n.length-1))return{row:this.getScreenLength(),column:0==n.length?0:n[n.length-1].length-1};var r=0,o=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);for(var a,c=0,l=this.$rowCache,h=0;l.length>h&&e>l[h].docRow;h++)r=l[h].screenRow,c=l[h].docRow;for(var d=!l.length||h==l.length,u=this.getNextFold(c),g=u?u.start.row:1/0;e>c;){if(c>=g){if(a=u.end.row+1,a>e)break;u=this.getNextFold(a),g=u?u.start.row:1/0}else a=c+1;r+=this.getRowLength(c),c=a,d&&l.push({docRow:c,screenRow:r})}var p="";if(u&&c>=g?(p=this.getFoldDisplayLine(u,e,t),o=u.start.row):(p=this.getLine(e).substring(0,t),o=e),this.$useWrapMode){for(var f=n[o],m=0;p.length>=f[m];)r++,m++;p=p.substring(f[m-1]||0,p.length)}return{row:r,column:this.$getStringScreenWidth(p)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null,i=null;if(this.$useWrapMode)for(var n=0;this.$wrapData.length>n;n++)(i=this.getFoldLine(n,t))?(n=i.end.row,e+=1):e+=this.$wrapData[n].length+1;else{e=this.getLength();for(var r=this.$foldData,o=0;r.length>o;o++)i=r[o],e-=i.end.row-i.start.row}return e}}).call(d.prototype),e("ace/edit_session/folding").Folding.call(d.prototype),t.EditSession=d}),define("ace/selection",["require","exports","module","pilot/oop","pilot/lang","pilot/event_emitter","ace/range"],function(e,t){var i=e("pilot/oop"),n=e("pilot/lang"),r=e("pilot/event_emitter").EventEmitter,o=e("ace/range").Range,s=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.selectionLead=this.doc.createAnchor(0,0),this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.selectionLead.on("change",function(e){t._dispatchEvent("changeCursor"),t.$isEmpty||t._dispatchEvent("changeSelection"),!t.$preventUpdateDesiredColumnOnChange&&e.old.column!=e.value.column&&t.$updateDesiredColumn()}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._dispatchEvent("changeSelection")})};(function(){i.implement(this,r),this.isEmpty=function(){return this.$isEmpty||this.selectionAnchor.row==this.selectionLead.row&&this.selectionAnchor.column==this.selectionLead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.selectionLead.getPosition()},this.setSelectionAnchor=function(e,t){this.selectionAnchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._dispatchEvent("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.selectionAnchor.getPosition()},this.getSelectionLead=function(){return this.selectionLead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty)this.moveCursorTo(this.selectionLead.row,this.selectionLead.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.selectionAnchor,t=this.selectionLead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.selectionAnchor,t=this.selectionLead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._dispatchEvent("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(e,this.doc.getLine(e).length),this.moveCursorTo(0,0)},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.$updateDesiredColumn()},this.$updateDesiredColumn=function(){var e=this.getCursor();this.$desiredColumn=this.session.documentToScreenColumn(e.row,e.column)},this.$moveSelection=function(e){var t=this.selectionLead;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.selectUp=function(){this.$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.selectWord=function(){var e=this.getCursor(),t=this.session.getWordRange(e.row,e.column);this.setSelectionRange(t)},this.selectLine=function(){var e,t=this.selectionLead.row,i=this.session.getFoldLine(t);i?(t=i.start.row,e=i.end.row):e=t,this.setSelectionAnchor(t,0),this.$moveSelection(function(){this.moveCursorTo(e+1,0)})},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e,t=this.selectionLead.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.session.isTabStop(t)&&this.doc.getLine(t.row).slice(t.column-i,t.column).split(" ").length-1==i?this.moveCursorBy(0,-i):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.selectionLead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.selectionLead.column==this.doc.getLine(this.selectionLead.row).length)this.selectionLead.row<this.doc.getLength()-1&&this.moveCursorTo(this.selectionLead.row+1,0);else{var i=this.session.getTabSize(),t=this.selectionLead;this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(t.column,t.column+i).split(" ").length-1==i?this.moveCursorBy(0,i):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.selectionLead.row,t=this.selectionLead.column,i=this.session.documentToScreenRow(e,t),n=this.session.screenToDocumentPosition(i,0),r=this.session.getDisplayLine(e,null,n.row,n.column),o=r.match(/^\s*/);o[0].length==t?this.moveCursorTo(n.row,n.column):this.moveCursorTo(n.row,n.column+o[0].length)},this.moveCursorLineEnd=function(){var e=this.selectionLead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);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.moveCursorWordRight=function(){var e,t=this.selectionLead.row,i=this.selectionLead.column,n=this.doc.getLine(t),r=n.substring(i);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var o;if(o=this.session.getFoldAt(t,i,1))this.moveCursorTo(o.end.row,o.end.column);else{if(i==n.length)return this.moveCursorRight(),void 0;(e=this.session.nonTokenRe.exec(r))?(i+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0):(e=this.session.tokenRe.exec(r))&&(i+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,i)}},this.moveCursorWordLeft=function(){var e,t=this.selectionLead.row,i=this.selectionLead.column;if(e=this.session.getFoldAt(t,i,-1))this.moveCursorTo(e.start.row,e.start.column);else{if(0==i)return this.moveCursorLeft(),void 0;var r=this.session.getFoldStringAt(t,i,-1);null==r&&(r=this.doc.getLine(t).substring(0,i));var o,s=n.stringReverse(r);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,(o=this.session.nonTokenRe.exec(s))?(i-=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0):(o=this.session.tokenRe.exec(s))&&(i-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,i)}},this.moveCursorBy=function(e,t){var i=this.session.documentToScreenPosition(this.selectionLead.row,this.selectionLead.column),n=0==t&&this.$desiredColumn||i.column,r=this.session.screenToDocumentPosition(i.row+e,n);this.moveCursorTo(r.row,r.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.$preventUpdateDesiredColumnOnChange=!0,this.selectionLead.setPosition(e,t),this.$preventUpdateDesiredColumnOnChange=!1,i||this.$updateDesiredColumn(this.selectionLead.column)},this.moveCursorToScreen=function(e,t,i){var n=this.session.screenToDocumentPosition(e,t);e=n.row,t=n.column,this.moveCursorTo(e,t,i)}}).call(s.prototype),t.Selection=s}),define("ace/range",["require","exports","module"],function(e,t){var i=function(e,t,i,n){this.start={row:e,column:t},this.end={row:i,column:n}};(function(){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 t=this.compare(i.row,i.column),1==t?(t=this.compare(n.row,n.column),1==t?2:0==t?1:0):-1==t?-2:(t=this.compare(n.row,n.column),-1==t?-1:1==t?42:0)},this.containsRange=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)?!1:!0:!1},this.insideStart=function(e,t){return 0==this.compare(e,t)?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return 0==this.compare(e,t)?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?this.start.row>e?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?this.end.column>=t?0:1:0:this.start.column>t?-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 n={row:t+1,column:0};if(this.start.row>t)var r={row:t+1,column:0};if(e>this.start.row)var r={row:e,column:0};if(e>this.end.row)var n={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(0==n)return this;if(-1==n)var r={row:e,column:t};else var o={row:e,column:t};return i.fromPoints(r||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 i.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},t.Range=i}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode"],function(e,t){var i=e("ace/tokenizer").Tokenizer,n=e("ace/mode/text_highlight_rules").TextHighlightRules,r=e("ace/mode/behaviour").Behaviour,o=e("ace/unicode"),s=function(){this.$tokenizer=new i((new n).getRules()),this.$behaviour=new r};(function(){this.tokenRe=RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|s])+","g"),this.getTokenizer=function(){return this.$tokenizer},this.toggleCommentLines=function(){},this.getNextLineIndent=function(){return""},this.checkOutdent=function(){return!1},this.autoOutdent=function(){},this.$getIndent=function(e){var t=e.match(/^(\s+)/);return t?t[1]:""},this.createWorker=function(){return null},this.highlightSelection=function(e){var t=e.session;t.$selectionOccurrences||(t.$selectionOccurrences=[]),t.$selectionOccurrences.length&&this.clearSelectionHighlight(e);var i=e.getSelectionRange();if(!i.isEmpty()&&!i.isMultiLine()){var n=i.start.column-1,r=i.end.column+1,o=t.getLine(i.start.row),s=o.length,a=o.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(a)||s>=r&&/[\w\d]$/.test(a))return;if(a=o.substring(i.start.column,i.end.column),!/^[\w\d]+$/.test(a))return;var c=e.getCursorPosition(),l={wrap:!0,wholeWord:!0,caseSensitive:!0,needle:a},h=e.$search.getOptions();e.$search.set(l);var d=e.$search.findAll(t);d.forEach(function(e){if(!e.contains(c.row,c.column)){var i=t.addMarker(e,"ace_selected_word","text");t.$selectionOccurrences.push(i)}}),e.$search.set(h)}},this.clearSelectionHighlight=function(e){!e.session.$selectionOccurrences||(e.session.$selectionOccurrences.forEach(function(t){e.session.removeMarker(t)}),e.session.$selectionOccurrences=[])},this.createModeDelegates=function(e){if(this.$embeds){this.$modes={};for(var t=0;this.$embeds.length>t;t++)e[this.$embeds[t]]&&(this.$modes[this.$embeds[t]]=new e[this.$embeds[t]]);for(var i=["toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction"],t=0;i.length>t;t++)(function(e){var n=i[t],r=e[n];e[i[t]]=function(){return this.$delegator(n,arguments,r)}})(this)}},this.$delegator=function(e,t,i){for(var n=t[0],r=0;this.$embeds.length>r;r++)if(this.$modes[this.$embeds[r]]){var o=n.split(this.$embeds[r]);if(!o[0]&&o[1]){t[0]=o[1];var s=this.$modes[this.$embeds[r]];return s[e].apply(s,t)}}var a=i.apply(this,t);return i?a:void 0},this.transformAction=function(e,t){if(this.$behaviour){var i=this.$behaviour.getBehaviours();for(var n in i)if(i[n][t]){var r=i[n][t].apply(this,arguments);if(r!==!1)return r}}return!1}}).call(s.prototype),t.Mode=s}),define("ace/tokenizer",["require","exports","module"],function(e,t){var i=function(e){this.rules=e,this.regExps={},this.matchMappings={};for(var t in this.rules){for(var i=this.rules[t],n=i,r=[],o=0,s=this.matchMappings[t]={},a=0;n.length>a;a++){var c=RegExp("(?:("+n[a].regex+")|(.))").exec("a").length-2,l=n[a].regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+o+1)});s[o]={rule:a,len:c},o+=c,r.push(l)}this.regExps[t]=RegExp("(?:("+r.join(")|(")+")|(.))","g")}};(function(){this.getLineTokens=function(e,t){var i=t,n=this.rules[i],r=this.matchMappings[i],o=this.regExps[i];o.lastIndex=0;for(var s,a=[],c=0,l={type:null,value:""};s=o.exec(e);){for(var h="text",d=null,u=[s[0]],g=0;s.length-2>g;g++)if(void 0!==s[g+1]){d=n[r[g].rule],r[g].len>1&&(u=s.slice(g+2,g+1+r[g].len)),h="function"==typeof d.token?d.token.apply(this,u):d.token;var p=d.next;p&&p!==i&&(i=p,n=this.rules[i],r=this.matchMappings[i],c=o.lastIndex,o=this.regExps[i],o.lastIndex=c);break}if(u[0]){"string"==typeof h&&(u=[u.join("")],h=[h]);for(var g=0;u.length>g;g++)d&&!d.merge&&"text"!==h[g]||l.type!==h[g]?(l.type&&a.push(l),l={type:h[g],value:u[g]}):l.value+=u[g]}if(c==e.length)break;c=o.lastIndex}return l.type&&a.push(l),{tokens:a,state:i}}}).call(i.prototype),t.Tokenizer=i}),define("ace/mode/text_highlight_rules",["require","exports","module","pilot/lang"],function(e,t){var i=e("pilot/lang"),n=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{token:"text",regex:".+"}]}};(function(){this.addRules=function(e,t){for(var i in e){for(var n=e[i],r=0;n.length>r;r++){var o=n[r];o.next=o.next?t+o.next:t+i}this.$rules[t+i]=n}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,r){var o=(new e).getRules();if(r)for(var s=0;r.length>s;s++)r[s]=t+r[s];else{r=[];for(var a in o)r.push(t+a)}this.addRules(o,t);for(var s=0;r.length>s;s++)Array.prototype.unshift.apply(this.$rules[r[s]],i.deepCopy(n));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds}}).call(n.prototype),t.TextHighlightRules=n}),define("ace/mode/behaviour",["require","exports","module"],function(e,t){var i=function(){this.$behaviours={}};(function(){this.add=function(e,t,i){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=i},this.addBehaviours=function(e){for(var t in e)for(var i in e[t])this.add(t,i,e[t][i])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var i=(new e).getBehaviours(t);else var i=e.getBehaviours(t);this.addBehaviours(i)},this.getBehaviours=function(e){if(!e)return this.$behaviours;for(var t={},i=0;e.length>i;i++)this.$behaviours[e[i]]&&(t[e[i]]=this.$behaviours[e[i]]);return t}}).call(i.prototype),t.Behaviour=i}),define("ace/unicode",["require","exports","module"],function(e,t){function i(e){var i=/\w{4}/g;for(var n in e)t.packages[n]=e[n].replace(i,"\\u$&")}t.packages={},i({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})
}),define("ace/document",["require","exports","module","pilot/oop","pilot/event_emitter","ace/range","ace/anchor"],function(e,t){var i=e("pilot/oop"),n=e("pilot/event_emitter").EventEmitter,r=e("ace/range").Range,o=e("ace/anchor").Anchor,s=function(e){this.$lines=[],Array.isArray(e)?this.insertLines(0,e):0==e.length?this.$lines=[""]:this.insert({row:0,column:0},e)};(function(){i.implement(this,n),this.setValue=function(e){var t=this.getLength();this.remove(new r(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},this.$split=0=="aaa".split(/a/).length?function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";case"auto":return this.$autoNewLine}},this.$autoNewLine="\n",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e)},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.$lines[e.start.row].substring(e.start.column,e.end.column);var t=[];return t.push(this.$lines[e.start.row].substring(e.start.column)),t.push.apply(t,this.getLines(e.start.row+1,e.end.row-1)),t.push(this.$lines[e.end.row].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t&&(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length),e},this.insert=function(e,t){if(0==t.length)return e;e=this.$clipPosition(e),1>=this.getLength()&&this.$detectNewLine(t);var i=this.$split(t),n=i.splice(0,1)[0],r=0==i.length?null:i.splice(i.length-1,1)[0];return e=this.insertInLine(e,n),null!==r&&(e=this.insertNewLine(e),e=this.insertLines(e.row,i),e=this.insertInLine(e,r||"")),e},this.insertLines=function(e,t){if(0==t.length)return{row:e,column:0};var i=[e,0];i.push.apply(i,t),this.$lines.splice.apply(this.$lines,i);var n=new r(e,0,e+t.length,0),o={action:"insertLines",range:n,lines:t};return this._dispatchEvent("change",{data:o}),n.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var i={row:e.row+1,column:0},n={action:"insertText",range:r.fromPoints(e,i),text:this.getNewLineCharacter()};return this._dispatchEvent("change",{data:n}),i},this.insertInLine=function(e,t){if(0==t.length)return e;var i=this.$lines[e.row]||"";this.$lines[e.row]=i.substring(0,e.column)+t+i.substring(e.column);var n={row:e.row,column:e.column+t.length},o={action:"insertText",range:r.fromPoints(e,n),text:t};return this._dispatchEvent("change",{data:o}),n},this.remove=function(e){if(e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end),e.isEmpty())return e.start;var t=e.start.row,i=e.end.row;if(e.isMultiLine()){var n=0==e.start.column?t:t+1,r=i-1;e.end.column>0&&this.removeInLine(i,0,e.end.column),r>=n&&this.removeLines(n,r),n!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,i){if(t!=i){var n=new r(e,t,e,i),o=this.getLine(e),s=o.substring(t,i),a=o.substring(0,t)+o.substring(i,o.length);this.$lines.splice(e,1,a);var c={action:"removeText",range:n,text:s};return this._dispatchEvent("change",{data:c}),n.start}},this.removeLines=function(e,t){var i=new r(e,0,t+1,0),n=this.$lines.splice(e,t-e+1),o={action:"removeLines",range:i,nl:this.getNewLineCharacter(),lines:n};return this._dispatchEvent("change",{data:o}),n},this.removeNewLine=function(e){var t=this.getLine(e),i=this.getLine(e+1),n=new r(e,t.length,e+1,0),o=t+i;this.$lines.splice(e,2,o);var s={action:"removeText",range:n,text:this.getNewLineCharacter()};this._dispatchEvent("change",{data:s})},this.replace=function(e,t){if(0==t.length&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;if(this.remove(e),t)var i=this.insert(e.start,t);else i=e.start;return i},this.applyDeltas=function(e){for(var t=0;e.length>t;t++){var i=e[t],n=r.fromPoints(i.range.start,i.range.end);"insertLines"==i.action?this.insertLines(n.start.row,i.lines):"insertText"==i.action?this.insert(n.start,i.text):"removeLines"==i.action?this.removeLines(n.start.row,n.end.row-1):"removeText"==i.action&&this.remove(n)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var i=e[t],n=r.fromPoints(i.range.start,i.range.end);"insertLines"==i.action?this.removeLines(n.start.row,n.end.row-1):"insertText"==i.action?this.remove(n):"removeLines"==i.action?this.insertLines(n.start.row,i.lines):"removeText"==i.action&&this.insert(n.start,i.text)}}}).call(s.prototype),t.Document=s}),define("ace/anchor",["require","exports","module","pilot/oop","pilot/event_emitter"],function(e,t){var i=e("pilot/oop"),n=e("pilot/event_emitter").EventEmitter,r=t.Anchor=function(e,t,i){this.document=e,i===void 0?this.setPosition(t.row,t.column):this.setPosition(t,i),this.$onChange=this.onChange.bind(this),e.on("change",this.$onChange)};(function(){i.implement(this,n),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.onChange=function(e){var t=e.data,i=t.range;if(i.start.row!=i.end.row||i.start.row==this.row){if(i.start.row>this.row)return;if(i.start.row==this.row&&i.start.column>this.column)return;var n=this.row,r=this.column;"insertText"===t.action?i.start.row===n&&r>=i.start.column?i.start.row===i.end.row?r+=i.end.column-i.start.column:(r-=i.start.column,n+=i.end.row-i.start.row):i.start.row!==i.end.row&&n>i.start.row&&(n+=i.end.row-i.start.row):"insertLines"===t.action?n>=i.start.row&&(n+=i.end.row-i.start.row):"removeText"==t.action?i.start.row==n&&r>i.start.column?r=i.end.column>=r?i.start.column:Math.max(0,r-(i.end.column-i.start.column)):i.start.row!==i.end.row&&n>i.start.row?(i.end.row==n&&(r=Math.max(0,r-i.end.column)+i.start.column),n-=i.end.row-i.start.row):i.end.row==n&&(n-=i.end.row-i.start.row,r=Math.max(0,r-i.end.column)+i.start.column):"removeLines"==t.action&&n>=i.start.row&&(n>=i.end.row?n-=i.end.row-i.start.row:(n=i.start.row,r=0)),this.setPosition(n,r,!0)}},this.setPosition=function(e,t,i){var n;if(n=i?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=n.row||this.column!=n.column){var r={row:this.row,column:this.column};this.row=n.row,this.column=n.column,this._dispatchEvent("change",{old:r,value:n})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var i={};return e>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):0>e?(i.row=0,i.column=0):(i.row=e,i.column=Math.min(this.document.getLine(i.row).length,Math.max(0,t))),0>t&&(i.column=0),i}}).call(r.prototype)}),define("ace/background_tokenizer",["require","exports","module","pilot/oop","pilot/event_emitter"],function(e,t){var i=e("pilot/oop"),n=e("pilot/event_emitter").EventEmitter,r=function(e){this.running=!1,this.lines=[],this.currentLine=0,this.tokenizer=e;var t=this;this.$worker=function(){if(t.running){for(var e=new Date,i=t.currentLine,n=t.doc,r=0,o=n.getLength();o>t.currentLine;)if(t.lines[t.currentLine]=t.$tokenizeRows(t.currentLine,t.currentLine)[0],t.currentLine++,r+=1,0==r%5&&new Date-e>20)return t.fireUpdateEvent(i,t.currentLine-1),t.running=setTimeout(t.$worker,20),void 0;t.running=!1,t.fireUpdateEvent(i,o-1)}}};(function(){i.implement(this,n),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.stop()},this.fireUpdateEvent=function(e,t){var i={first:e,last:t};this._dispatchEvent("update",{data:i})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e,t){return this.$tokenizeRows(e,t)},this.getState=function(e){return this.$tokenizeRows(e,e)[0].state},this.$tokenizeRows=function(e,t){if(!this.doc)return[];var i=[],n="start",r=!1;e>0&&this.lines[e-1]?(n=this.lines[e-1].state,r=!0):0==e?(n="start",r=!0):this.lines.length>0&&(n=this.lines[this.lines.length-1].state);for(var o=this.doc.getLines(e,t),s=e;t>=s;s++)if(this.lines[s]){var a=this.lines[s];n=a.state,i.push(a)}else{var a=this.tokenizer.getLineTokens(o[s-e]||"",n),n=a.state;i.push(a),r&&(this.lines[s]=a)}return i}}).call(r.prototype),t.BackgroundTokenizer=r}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold"],function(e,t){function i(){this.getFoldAt=function(e,t,i){var n=this.getFoldLine(e);if(!n)return null;for(var r=n.folds,o=0;r.length>o;o++){var s=r[o];if(s.range.contains(e,t)){if(1==i&&s.range.isEnd(e,t))continue;if(-1==i&&s.range.isStart(e,t))continue;return s}}},this.getFoldsInRange=function(e){e=e.clone();var t=e.start,i=e.end,n=this.$foldData,r=[];t.column+=1,i.column-=1;for(var o=0;n.length>o;o++){var s=n[o].range.compareRange(e);if(2!=s){if(-2==s)break;for(var a=n[o].folds,c=0;a.length>c;c++){var l=a[c];if(s=l.range.compareRange(e),-2==s)break;if(2!=s){if(42==s)break;r.push(l)}}}}return r},this.getFoldStringAt=function(e,t,i,n){var n=n||this.getFoldLine(e);if(!n)return null;for(var r={end:{column:0}},o=0;n.folds.length>o;o++){var s=n.folds[o],a=s.range.compareEnd(e,t);if(-1==a){var c=this.getLine(s.start.row).substring(r.end.column,s.start.column);break}if(0==a)return null;r=s}return c||(c=this.getLine(s.start.row).substring(r.end.column)),-1==i?c.substring(0,t-r.end.column):1==i?c.substring(t-r.end.column):c},this.getFoldLine=function(e,t){var i=this.$foldData,n=0;for(t&&(n=i.indexOf(t)),-1==n&&(n=0),n;i.length>n;n++){var r=i[n];if(e>=r.start.row&&r.end.row>=e)return r;if(r.end.row>e)return null}return null},this.getNextFold=function(e,t){var i=this.$foldData,n=0;for(t&&(n=i.indexOf(t)),-1==n&&(n=0),n;i.length>n;n++){var r=i[n];if(r.end.row>=e)return r}return null},this.getFoldedRowCount=function(e,t){for(var i=this.$foldData,n=t-e+1,r=0;i.length>r;r++){var o=i[r],s=o.end.row,a=o.start.row;if(s>=t){t>a&&(a>=e?n-=t-a:n=0);break}s>=e&&(n-=a>=e?s-a:s-e+1)}return n},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var i=this.$foldData,o=!1;if(e instanceof r)var s=e;else s=new r(t,e);var a=s.start.row,c=s.start.column,l=s.end.row,h=s.end.column;if(2>s.placeholder.length)throw"Placeholder has to be at least 2 characters";if(a==l&&2>h-c)throw"The range has to be at least 2 characters width";var d=this.getFoldAt(a,c,1);if(d&&d.range.isEnd(l,h)&&d.range.isStart(a,c))return s;if(d=this.getFoldAt(a,c,1),d&&!d.range.isStart(a,c))throw"A fold can't start inside of an already existing fold";if(d=this.getFoldAt(l,h,-1),d&&!d.range.isEnd(l,h))throw"A fold can't end inside of an already existing fold";if(l>=this.doc.getLength())throw"End of fold is outside of the document.";if(h>this.getLine(l).length||c>this.getLine(a).length)throw"End of fold is outside of the document.";var u=this.getFoldsInRange(s.range);u.length>0&&(this.removeFolds(u),s.subFolds=u);for(var g=0;i.length>g;g++){var p=i[g];if(l==p.start.row){p.addFold(s),o=!0;break}if(a==p.end.row){if(p.addFold(s),o=!0,!s.sameRow&&(foldLineNext=i[g+1],foldLineNext&&foldLineNext.start.row==l)){p.merge(foldLineNext);break}break}if(p.start.row>=l)break}return o||(p=this.$addFoldLine(new n(this.$foldData,s))),this.$useWrapMode&&this.$updateWrapData(p.start.row,p.start.row),this.$modified=!0,this._dispatchEvent("changeFold",{data:s}),s},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,i=t.start.row,n=t.end.row,r=this.$foldData,o=t.folds;if(1==o.length)r.splice(r.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))o.pop(),t.end.row=o[o.length-1].end.row,t.end.column=o[o.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))o.shift(),t.start.row=o[0].start.row,t.start.column=o[0].start.column;else if(e.sameRow)o.splice(o.indexOf(e),1);else{var s=t.split(e.start.row,e.start.column);s.folds.shift(),t.start.row=o[0].start.row,t.start.column=o[0].start.column,this.$addFoldLine(s)}this.$useWrapMode&&this.$updateWrapData(i,n),this.$modified=!0,this._dispatchEvent("changeFold",{data:e})},this.removeFolds=function(e){for(var t=[],i=0;e.length>i;i++)t.push(e[i]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(e){this.addFold(e)},this),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var i=this.getFoldLine(e,t);return i?i.end.row:e},this.getFoldDisplayLine=function(e,t,i,n,r){null==n&&(n=e.start.row,r=0),null==t&&(t=e.end.row,i=this.getLine(t).length);var o=this.doc,s="";return e.walk(function(e,t,i,a){if(!(n>t)){if(t==n){if(r>i)return;a=Math.max(r,a)}s+=e?e:o.getLine(t).substring(a,i)}}.bind(this),t,i),s},this.getDisplayLine=function(e,t,i,n){var r=this.getFoldLine(e);if(!r){var o;return o=this.doc.getLine(e),o.substring(n||0,t||o.length)}return this.getFoldDisplayLine(r,e,t,i,n)},this.$cloneFoldData=function(){var e=(this.$foldData,[]);return e=this.$foldData.map(function(t){var i=t.folds.map(function(e){return e.clone()});return new n(e,i)})}}var n=(e("ace/range").Range,e("ace/edit_session/fold_line").FoldLine),r=e("ace/edit_session/fold").Fold;t.Folding=i}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t){function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var i=t[t.length-1];this.range=new n(t[0].start.row,t[0].start.column,i.end.row,i.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var n=e("ace/range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw"Can't add a fold to this FoldLine as it has no connection";this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):0>this.range.compareStart(e.end.row,e.end.column)&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw"Trying to add fold to FoldRow that doesn't have a matching row";this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&this.end.row>=e},this.walk=function(e,t,i){var n,r,o,s=0,a=this.folds,c=!0;null==t&&(t=this.end.row,i=this.end.column);for(var l=0;a.length>l;l++){if(n=a[l],r=n.range.compareStart(t,i),-1==r)return e(null,t,i,s,c),void 0;if(o=e(null,n.start.row,n.start.column,s,c),o=!o&&e(n.placeholder,n.start.row,n.start.column,s),o||0==r)return;c=!n.sameRow,s=n.end.column}e(null,t,i,s,c)},this.getNextFoldTo=function(e,t){for(var i,n,r=0;this.folds.length>r;r++){if(i=this.folds[r],n=i.range.compareEnd(e,t),-1==n)return{fold:i,kind:"after"};if(0==n)return{fold:i,kind:"inside"}}return null},this.addRemoveChars=function(e,t,i){var n,r,o=this.getNextFoldTo(e,t);if(o){if(n=o.fold,"inside"==o.kind&&n.start.column!=t&&n.start.row!=e)throw"Moving characters inside of a fold should never be reached";if(n.start.row==e){r=this.folds;var s=r.indexOf(n);for(0==s&&(this.start.column+=i),s;r.length>s;s++){if(n=r[s],n.start.column+=i,!n.sameRow)return;n.end.column+=i}this.end.column+=i}}},this.split=function(e,t){var n=this.getNextFoldTo(e,t).fold,r=this.folds,o=this.foldData;if(!n)return null;var s=r.indexOf(n),a=r[s-1];this.end.row=a.end.row,this.end.column=a.end.column,r=r.splice(s,r.length-s);var c=new i(o,r);return o.splice(o.indexOf(this)+1,0,c),c},this.merge=function(e){for(var t=e.folds,i=0;t.length>i;i++)this.addFold(t[i]);var n=this.foldData;n.splice(n.indexOf(e),1)},this.toString=function(){var e=[""+this.range+": ["];return this.folds.forEach(function(t){e.push(" "+(""+t))}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){for(var t,i=0,n=0;this.folds.length>n;n++){var t=this.folds[n];if(e-=t.start.column-i,0>e)return{row:t.start.row,column:t.start.column+e};if(e-=t.placeholder.length,0>e)return t.start;i=t.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),define("ace/edit_session/fold",["require","exports","module"],function(e,t){var i=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=[]};(function(){this.toString=function(){return'"'+this.placeholder+'" '+(""+this.range)},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new i(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t}}).call(i.prototype)}),define("ace/search",["require","exports","module","pilot/lang","pilot/oop","ace/range"],function(e,t){var i=e("pilot/lang"),n=e("pilot/oop"),r=e("ace/range").Range,o=function(){this.$options={needle:"",backwards:!1,wrap:!1,caseSensitive:!1,wholeWord:!1,scope:o.ALL,regExp:!1}};o.ALL=1,o.SELECTION=2,function(){this.set=function(e){return n.mixin(this.$options,e),this},this.getOptions=function(){return i.copyObject(this.$options)},this.find=function(e){if(!this.$options.needle)return null;if(this.$options.backwards)var t=this.$backwardMatchIterator(e);else t=this.$forwardMatchIterator(e);var i=null;return t.forEach(function(e){return i=e,!0}),i},this.findAll=function(e){if(!this.$options.needle)return[];if(this.$options.backwards)var t=this.$backwardMatchIterator(e);else t=this.$forwardMatchIterator(e);var i=[];return t.forEach(function(e){i.push(e)}),i},this.replace=function(e,t){var i=this.$assembleRegExp(),n=i.exec(e);return n&&n[0].length==e.length?this.$options.regExp?e.replace(i,t):t:null},this.$forwardMatchIterator=function(e){var t=this.$assembleRegExp(),i=this;return{forEach:function(n){i.$forwardLineIterator(e).forEach(function(e,r,o){r&&(e=e.substring(r));var s=[];e.replace(t,function(e){var t=arguments[arguments.length-2];return s.push({str:e,offset:r+t}),e});for(var a=0;s.length>a;a++){var c=s[a],l=i.$rangeFromMatch(o,c.offset,c.str.length);if(n(l))return!0}})}}},this.$backwardMatchIterator=function(e){var t=this.$assembleRegExp(),i=this;return{forEach:function(n){i.$backwardLineIterator(e).forEach(function(e,r,o){r&&(e=e.substring(r));var s=[];e.replace(t,function(e,t){return s.push({str:e,offset:r+t}),e});for(var a=s.length-1;a>=0;a--){var c=s[a],l=i.$rangeFromMatch(o,c.offset,c.str.length);if(n(l))return!0}})}}},this.$rangeFromMatch=function(e,t,i){return new r(e,t,e,t+i)},this.$assembleRegExp=function(){if(this.$options.regExp)var e=this.$options.needle;else e=i.escapeRegExp(this.$options.needle);this.$options.wholeWord&&(e="\\b"+e+"\\b");var t="g";this.$options.caseSensitive||(t+="i");var n=RegExp(e,t);return n},this.$forwardLineIterator=function(e){function t(t){var o=e.getLine(t);return i&&t==n.end.row&&(o=o.substring(0,n.end.column)),h&&t==r.row&&(o=o.substring(0,r.column)),o}var i=this.$options.scope==o.SELECTION,n=e.getSelection().getRange(),r=e.getSelection().getCursor(),s=i?n.start.row:0,a=i?n.start.column:0,c=i?n.end.row:e.getLength()-1,l=this.$options.wrap,h=!1;return{forEach:function(e){var i=r.row,n=t(i),o=r.column,d=!1;for(h=!1;!e(n,o,i);){if(d)return;if(i++,o=0,i>c){if(!l)return;i=s,o=a,h=!0}i==r.row&&(d=!0),n=t(i)}}}},this.$backwardLineIterator=function(e){var t=this.$options.scope==o.SELECTION,i=e.getSelection().getRange(),n=t?i.end:i.start,r=t?i.start.row:0,s=t?i.start.column:0,a=t?i.end.row:e.getLength()-1,c=this.$options.wrap;return{forEach:function(o){for(var l=n.row,h=e.getLine(l).substring(0,n.column),d=0,u=!1,g=!1;!o(h,d,l);){if(u)return;if(l--,d=0,r>l){if(!c)return;l=a,g=!0}l==n.row&&(u=!0),h=e.getLine(l),t&&(l==r?d=s:l==a&&(h=h.substring(0,i.end.column))),g&&l==n.row&&(d=n.column)}}}}}.call(o.prototype),t.Search=o}),define("ace/undomanager",["require","exports","module"],function(e,t){var i=function(){this.reset()};(function(){this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],this.$undoStack.push(t),this.$redoStack=[]},this.undo=function(e){var t=this.$undoStack.pop(),i=null;return t&&(i=this.$doc.undoChanges(t,e),this.$redoStack.push(t)),i},this.redo=function(e){var t=this.$redoStack.pop(),i=null;return t&&(i=this.$doc.redoChanges(t,e),this.$undoStack.push(t)),i},this.reset=function(){this.$undoStack=[],this.$redoStack=[]},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0}}).call(i.prototype),t.UndoManager=i}),define("ace/virtual_renderer",["require","exports","module","pilot/oop","pilot/dom","pilot/event","pilot/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/renderloop","pilot/event_emitter","text/ace/css/editor.css"],function(e,t){var i=e("pilot/oop"),n=e("pilot/dom"),r=e("pilot/event"),o=e("pilot/useragent"),s=e("ace/layer/gutter").Gutter,a=e("ace/layer/marker").Marker,c=e("ace/layer/text").Text,l=e("ace/layer/cursor").Cursor,h=e("ace/scrollbar").ScrollBar,d=e("ace/renderloop").RenderLoop,u=e("pilot/event_emitter").EventEmitter,g=e("text/ace/css/editor.css");n.importCssString(g);var p=function(e,t){this.container=e,n.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=n.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=n.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=n.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$markerBack=new a(this.content);var i=this.$textLayer=new c(this.content);this.canvas=i.element,this.$markerFront=new a(this.content),this.characterWidth=i.getCharacterWidth(),this.lineHeight=i.getLineHeight(),this.$cursorLayer=new l(this.content),this.$cursorPadding=8,this.$horizScroll=!0,this.$horizScrollAlwaysVisible=!0,this.scrollBar=new h(e),this.scrollBar.addEventListener("scroll",this.onScroll.bind(this)),this.scrollTop=0,this.cursorPos={row:0,column:0};var o=this;this.$textLayer.addEventListener("changeCharaterSize",function(){o.characterWidth=i.getCharacterWidth(),o.lineHeight=i.getLineHeight(),o.$updatePrintMargin(),o.onResize(!0),o.$loop.schedule(o.CHANGE_FULL)}),r.addListener(this.$gutter,"click",this.$onGutterClick.bind(this)),r.addListener(this.$gutter,"dblclick",this.$onGutterClick.bind(this)),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:1,characterWidth:1,minHeight:1,maxHeight:1,offset:0,height:1},this.$loop=new d(this.$renderChanges.bind(this)),this.$loop.schedule(this.CHANGE_FULL),this.setPadding(4),this.$updatePrintMargin()};(function(){this.showGutter=!0,this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,i.implement(this,u),this.setSession=function(e){this.session=e,this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),this.$loop.schedule(this.CHANGE_FULL)},this.updateLines=function(e,t){void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),t>this.$changedLines.lastRow&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$loop.schedule(this.CHANGE_LINES)},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(){this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.onResize=function(e){var t=this.CHANGE_SIZE,i=this.$size,r=n.getInnerHeight(this.container);(e||i.height!=r)&&(i.height=r,this.scroller.style.height=r+"px",i.scrollerHeight=this.scroller.clientHeight,this.scrollBar.setHeight(i.scrollerHeight),this.session&&(this.scrollToY(this.getScrollTop()),t|=this.CHANGE_FULL));var o=n.getInnerWidth(this.container);if(e||i.width!=o){i.width=o;var s=this.showGutter?this.$gutter.offsetWidth:0;this.scroller.style.left=s+"px",i.scrollerWidth=Math.max(0,o-s-this.scrollBar.getWidth()),this.scroller.style.width=i.scrollerWidth+"px",(this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(t|=this.CHANGE_FULL)}this.$loop.schedule(t)},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth)-1;return this.session.adjustWrapLimit(t)},this.$onGutterClick=function(e){var t=r.getDocumentX(e),i=r.getDocumentY(e);this._dispatchEvent("gutter"+e.type,{row:this.screenToTextCoordinates(t,i).row,htmlEvent:e})},this.setShowInvisibles=function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},this.getShowInvisibles=function(){return this.$textLayer.showInvisibles},this.$showPrintMargin=!0,this.setShowPrintMargin=function(e){this.$showPrintMargin=e,this.$updatePrintMargin()},this.getShowPrintMargin=function(){return this.$showPrintMargin},this.$printMarginColumn=80,this.setPrintMarginColumn=function(e){this.$printMarginColumn=e,this.$updatePrintMargin()},this.getPrintMarginColumn=function(){return this.$printMarginColumn},this.getShowGutter=function(){return this.showGutter},this.setShowGutter=function(e){this.showGutter!==e&&(this.$gutter.style.display=e?"block":"none",this.showGutter=e,this.onResize(!0))},this.$updatePrintMargin=function(){var e;if(this.$showPrintMargin||this.$printMarginEl){this.$printMarginEl||(e=n.createElement("div"),e.className="ace_print_margin_layer",this.$printMarginEl=n.createElement("div"),this.$printMarginEl.className="ace_print_margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.$textLayer.element));var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+2*this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden"}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.moveTextAreaToCursor=function(e){if(!o.isIE){var t=this.$cursorLayer.getPixelPosition();if(!t)return;var i=this.content.getBoundingClientRect(),n=this.layerConfig.offset;e.style.left=i.left+t.left+this.$padding+"px",e.style.top=i.top+t.top-this.scrollTop+n+"px"}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.getHScrollBarAlwaysVisible=function(){return this.$horizScrollAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.$horizScrollAlwaysVisible!=e&&(this.$horizScrollAlwaysVisible=e,(!this.$horizScrollAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL))},this.onScroll=function(e){this.scrollToY(e.data)},this.$updateScrollBar=function(){this.scrollBar.setInnerHeight(this.layerConfig.maxHeight),this.scrollBar.setScrollTop(this.scrollTop)},this.$renderChanges=function(e){if(e&&this.session){if((e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL)&&this.$computeLayerConfig(),e&this.CHANGE_FULL)return this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig),this.$updateScrollBar(),void 0;if(e&this.CHANGE_SCROLL)return e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(this.layerConfig):this.$textLayer.scrollLines(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig),this.$updateScrollBar(),void 0;e&this.CHANGE_TEXT?(this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig)):e&this.CHANGE_LINES?(this.$updateLines(),this.$updateScrollBar(),this.showGutter&&this.$gutterLayer.update(this.layerConfig)):e&this.CHANGE_GUTTER&&this.showGutter&&this.$gutterLayer.update(this.layerConfig),e&this.CHANGE_CURSOR&&this.$cursorLayer.update(this.layerConfig),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(this.layerConfig),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(this.layerConfig),e&this.CHANGE_SIZE&&this.$updateScrollBar()}},this.$computeLayerConfig=function(){var e=this.session,t=this.scrollTop%this.lineHeight,i=this.$size.scrollerHeight+this.lineHeight,n=this.$getLongestLine(),r=(this.layerConfig.width!=n,this.$horizScrollAlwaysVisible||0>this.$size.scrollerWidth-n),o=this.$horizScroll!==r;this.$horizScroll=r,o&&(this.scroller.style.overflowX=r?"scroll":"hidden");var s=this.session.getScreenLength()*this.lineHeight;this.scrollTop=Math.max(0,Math.min(this.scrollTop,s-this.$size.scrollerHeight));var a,c,l=Math.ceil(i/this.lineHeight)-1,h=Math.max(0,Math.round((this.scrollTop-t)/this.lineHeight)),d=h+l,u={lineHeight:this.lineHeight};h=e.screenToDocumentRow(h,0);var g=e.getFoldLine(h);g&&(h=g.start.row),a=e.documentToScreenRow(h,0),c=e.getRowHeight(u,h),d=Math.min(e.screenToDocumentRow(d,0),e.getLength()-1),i=this.$size.scrollerHeight+e.getRowHeight(u,d)+c,t=this.scrollTop-a*this.lineHeight,this.layerConfig={width:n,padding:this.$padding,firstRow:h,firstRowScreen:a,lastRow:d,lineHeight:this.lineHeight,characterWidth:this.characterWidth,minHeight:i,maxHeight:s,offset:t,height:this.$size.scrollerHeight},this.$gutterLayer.element.style.marginTop=-t+"px",this.content.style.marginTop=-t+"px",this.content.style.width=n+"px",this.content.style.height=i+"px",this.$desiredScrollLeft&&(this.scrollToX(this.$desiredScrollLeft),this.$desiredScrollLeft=0),o&&this.onResize(!0)},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;
this.$changedLines=null;var i=this.layerConfig;if(i.width!=this.$getLongestLine())return this.$textLayer.update(i);if(!(e>i.lastRow+1)){if(i.firstRow>t)return;if(1/0===t)return this.showGutter&&this.$gutterLayer.update(i),this.$textLayer.update(i),void 0;this.$textLayer.updateLines(i,e,t)}},this.$getLongestLine=function(){var e=this.session.getScreenWidth()+1;return this.$textLayer.showInvisibles&&(e+=1),Math.max(this.$size.scrollerWidth,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t),this.$loop.schedule(this.CHANGE_GUTTER)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t),this.$loop.schedule(this.CHANGE_GUTTER)},this.setBreakpoints=function(e){this.$gutterLayer.setBreakpoints(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollCursorIntoView=function(){if(0!==this.$size.scrollerHeight){var e=this.$cursorLayer.getPixelPosition(),t=e.left+this.$padding,i=e.top;this.scrollTop>i&&this.scrollToY(i),this.scrollTop+this.$size.scrollerHeight<i+this.lineHeight&&this.scrollToY(i+this.lineHeight-this.$size.scrollerHeight);var n=this.scroller.scrollLeft;n>t&&this.scrollToX(t),n+this.$size.scrollerWidth<t+this.characterWidth&&(t>this.layerConfig.width?this.$desiredScrollLeft=t+2*this.characterWidth:this.scrollToX(Math.round(t+this.characterWidth-this.$size.scrollerWidth)))}},this.getScrollTop=function(){return this.scrollTop},this.getScrollLeft=function(){return this.scroller.scrollLeft},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.scrollToY(e*this.lineHeight)},this.scrollToLine=function(e,t){for(var i={lineHeight:this.lineHeight},n=0,r=1;e>r;r++)n+=this.session.getRowHeight(i,r-1);t&&(n-=this.$size.scrollerHeight/2),this.scrollToY(n)},this.scrollToY=function(e){e=Math.max(0,e),this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.$padding>=e&&(e=0),this.scroller.scrollLeft=e},this.scrollBy=function(e,t){t&&this.scrollToY(this.scrollTop+t),e&&this.scrollToX(this.scroller.scrollLeft+e)},this.screenToTextCoordinates=function(e,t){var i=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scroller.scrollLeft-i.left-this.$padding-n.getPageScrollLeft())/this.characterWidth),o=Math.floor((t+this.scrollTop-i.top-n.getPageScrollTop())/this.lineHeight);return this.session.screenToDocumentPosition(o,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var i=this.scroller.getBoundingClientRect(),n=this.session.documentToScreenPosition(e,t),r=this.$padding+Math.round(n.column*this.characterWidth),o=n.row*this.lineHeight;return{pageX:i.left+r-this.getScrollLeft(),pageY:i.top+o-this.getScrollTop()}},this.visualizeFocus=function(){n.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){n.removeCssClass(this.container,"ace_focus")},this.showComposition=function(){this.$composition||(this.$composition=n.createElement("div"),this.$composition.className="ace_composition",this.content.appendChild(this.$composition)),this.$composition.innerHTML=" ";var e=this.$cursorLayer.getPixelPosition(),t=this.$composition.style;t.top=e.top+"px",t.left=e.left+this.$padding+"px",t.height=this.lineHeight+"px",this.hideCursor()},this.setCompositionText=function(e){n.setInnerText(this.$composition,e)},this.hideComposition=function(){if(this.showCursor(),this.$composition){var e=this.$composition.style;e.top="-10000px",e.left="-10000px"}},this.setTheme=function(t){function i(e){r.$theme&&n.removeCssClass(r.container,r.$theme),r.$theme=e?e.cssClass:null,r.$theme&&n.addCssClass(r.container,r.$theme),r.$size&&(r.$size.width=0,r.onResize())}var r=this;this.$themeValue=t,t&&"string"!=typeof t?i(t):(t=t||"ace/theme/textmate",e([t],function(e){i(e)}))},this.getTheme=function(){return this.$themeValue},this.setStyle=function(e){n.addCssClass(this.container,e)},this.unsetStyle=function(e){n.removeCssClass(this.container,e)},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(p.prototype),t.VirtualRenderer=p}),define("ace/layer/gutter",["require","exports","module","pilot/dom"],function(e,t){var i=e("pilot/dom"),n=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.$breakpoints=[],this.$annotations=[],this.$decorations=[]};(function(){this.setSession=function(e){this.session=e},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" ace_"+t},this.removeGutterDecoration=function(e,t){this.$decorations[e]=this.$decorations[e].replace(" ace_"+t,"")},this.setBreakpoints=function(e){this.$breakpoints=e.concat()},this.setAnnotations=function(e){this.$annotations=[];for(var t in e)if(e.hasOwnProperty(t)){var i=e[t];if(!i)continue;for(var n=this.$annotations[t]={text:[]},r=0;i.length>r;r++){var o=i[r];n.text.push(o.text.replace(/"/g,""").replace(/'/g,"’").replace(/</,"<"));var s=o.type;"error"==s?n.className="ace_error":"warning"==s&&"ace_error"!=n.className?n.className="ace_warning":"info"==s&&!n.className&&(n.className="ace_info")}}},this.update=function(e){this.$config=e;for(var t={className:"",text:[]},n=[],r=e.firstRow,o=e.lastRow,s=this.session.getNextFold(r),a=s?s.start.row:1/0;r>a&&(r=s.end.row+1,s=this.session.getNextFold(r),a=s?s.start.row:1/0),!(r>o);){var c=this.$annotations[r]||t;n.push("<div class='ace_gutter-cell",this.$decorations[r]||"",this.$breakpoints[r]?" ace_breakpoint ":" ",c.className,"' title='",c.text.join("\n"),"' style='height:",e.lineHeight,"px;'>",r+1);for(var l=this.session.getRowLength(r)-1;l--;)n.push("</div><div class='ace_gutter-cell' style='height:",e.lineHeight,"px'>¦</div>");n.push("</div>"),r++}this.element=i.setInnerHtml(this.element,n.join("")),this.element.style.height=e.minHeight+"px"}}).call(n.prototype),t.Gutter=n}),define("ace/layer/marker",["require","exports","module","ace/range","pilot/dom"],function(e,t){var i=e("ace/range").Range,n=e("pilot/dom"),r=function(e){this.element=n.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(e){this.config=e;var t=[];for(var i in this.markers){var r=this.markers[i],o=r.range.clipRows(e.firstRow,e.lastRow);if(!o.isEmpty())if(o=o.toScreenRange(this.session),r.renderer){var s=this.$getTop(o.start.row,e),a=Math.round(this.$padding+o.start.column*e.characterWidth);r.renderer(t,o,a,s,e)}else o.isMultiLine()?"text"==r.type?this.drawTextMarker(t,o,r.clazz,e):this.drawMultiLineMarker(t,o,r.clazz,e,r.type):this.drawSingleLineMarker(t,o,r.clazz,e,null,r.type)}this.element=n.setInnerHtml(this.element,t.join(""))}},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,r){var o=t.start.row,s=new i(o,t.start.column,o,this.session.getScreenLastRowColumn(o));for(this.drawSingleLineMarker(e,s,n,r,1,"text"),o=t.end.row,s=new i(o,0,o,t.end.column),this.drawSingleLineMarker(e,s,n,r,0,"text"),o=t.start.row+1;t.end.row>o;o++)s.start.row=o,s.end.row=o,s.end.column=this.session.getScreenLastRowColumn(o),this.drawSingleLineMarker(e,s,n,r,1,"text")},this.drawMultiLineMarker=function(e,t,i,n,r){var o="background"===r?0:this.$padding,s=n.lineHeight,a=Math.round(n.width-t.start.column*n.characterWidth),c=this.$getTop(t.start.row,n),l=Math.round(o+t.start.column*n.characterWidth);e.push("<div class='",i,"' style='","height:",s,"px;","width:",a,"px;","top:",c,"px;","left:",l,"px;'></div>"),c=this.$getTop(t.end.row,n),a=Math.round(t.end.column*n.characterWidth),e.push("<div class='",i,"' style='","height:",s,"px;","width:",a,"px;","top:",c,"px;","left:",o,"px;'></div>"),s=(t.end.row-t.start.row-1)*n.lineHeight,0>s||(c=this.$getTop(t.start.row+1,n),a=n.width,e.push("<div class='",i,"' style='","height:",s,"px;","width:",a,"px;","top:",c,"px;","left:",o,"px;'></div>"))},this.drawSingleLineMarker=function(e,t,i,n,r,o){var s="background"===o?0:this.$padding,a=n.lineHeight;if("background"===o)var c=n.width;else c=Math.round((t.end.column+(r||0)-t.start.column)*n.characterWidth);var l=this.$getTop(t.start.row,n),h=Math.round(s+t.start.column*n.characterWidth);e.push("<div class='",i,"' style='","height:",a,"px;","width:",c,"px;","top:",l,"px;","left:",h,"px;'></div>")}}).call(r.prototype),t.Marker=r}),define("ace/layer/text",["require","exports","module","pilot/oop","pilot/dom","pilot/lang","pilot/useragent","pilot/event_emitter"],function(e,t){var i=e("pilot/oop"),n=e("pilot/dom"),r=e("pilot/lang"),o=e("pilot/useragent"),s=e("pilot/event_emitter").EventEmitter,a=function(e){this.element=n.createElement("div"),this.element.className="ace_layer ace_text-layer",this.element.style.width="auto",e.appendChild(this.element),this.$characterSize=this.$measureSizes()||{width:0,height:0},this.$pollSizeChanges()};(function(){i.implement(this,s),this.EOF_CHAR="¶",this.EOL_CHAR="¬",this.TAB_CHAR="→",this.SPACE_CHAR="·",this.$padding=0,this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$characterSize.height||1},this.getCharacterWidth=function(){return this.$characterSize.width||1},this.checkForSizeChanges=function(){var e=this.$measureSizes();e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)&&(this.$characterSize=e,this._dispatchEvent("changeCharaterSize",{data:e}))},this.$pollSizeChanges=function(){var e=this;this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.$fontStyles={fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},this.$measureSizes=function(){var e=1e3;if(!this.$measureNode){var t=this.$measureNode=n.createElement("div"),i=t.style;if(i.width=i.height="auto",i.left=i.top=40*-e+"px",i.visibility="hidden",i.position="absolute",i.overflow="visible",i.whiteSpace="nowrap",t.innerHTML=r.stringRepeat("Xy",e),document.body)document.body.appendChild(t);else{for(var o=this.element.parentNode;!n.hasCssClass(o,"ace_editor");)o=o.parentNode;o.appendChild(t)}}var i=this.$measureNode.style,s=n.computedStyle(this.element);for(var a in this.$fontStyles)i[a]=s[a];var c={height:this.$measureNode.offsetHeight,width:this.$measureNode.offsetWidth/(2*e)};return 0==c.width&&0==c.height?null:c},this.setSession=function(e){this.session=e},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,!0)},this.$tabStrings=[],this.$computeTabString=function(){for(var e=this.session.getTabSize(),t=this.$tabStrings=[0],i=1;e+1>i;i++)this.showInvisibles?t.push("<span class='ace_invisible'>"+this.TAB_CHAR+Array(i).join(" ")+"</span>"):t.push(Array(i+1).join(" "))},this.updateLines=function(e,t,i){this.$computeTabString(),(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;for(var r=Math.max(t,e.firstRow),o=Math.min(i,e.lastRow),s=this.element.childNodes,a=0,c=e.firstRow;r>c;c++){var l=this.session.getFoldLine(c);if(l){if(l.containsRow(r))break;c=l.end.row}a++}for(var h=r;o>=h;h++){var d=s[a++];if(d){var u=[],g=this.session.getTokens(h,h);this.$renderLine(u,h,g[0].tokens,!0),d=n.setInnerHtml(d,u.join("")),h=this.session.getRowFoldEnd(h)}}},this.scrollLines=function(e){this.$computeTabString();var t=this.config;if(this.config=e,!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);var i=this.element;if(t.firstRow<e.firstRow)for(var n=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);n>0;n--)i.removeChild(i.firstChild);if(t.lastRow>e.lastRow)for(var n=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);n>0;n--)i.removeChild(i.lastChild);if(e.firstRow<t.firstRow){var r=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r)}if(e.lastRow>t.lastRow){var r=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);i.appendChild(r)}},this.$renderLinesFragment=function(e,t,i){for(var r=document.createDocumentFragment(),o=t,s=this.session.getNextFold(o),a=s?s.start.row:1/0;o>a&&(o=s.end.row+1,s=this.session.getNextFold(o),a=s?s.start.row:1/0),!(o>i);){var c=n.createElement("div"),l=[],h=this.session.getTokens(o,o);1==h.length&&this.$renderLine(l,o,h[0].tokens,!1),c.innerHTML=l.join("");for(var d=c.childNodes;d.length;)r.appendChild(d[0]);o++}return r},this.update=function(e){this.$computeTabString(),this.config=e;for(var t=[],i=e.firstRow,r=e.lastRow,o=i,s=this.session.getNextFold(o),a=s?s.start.row:1/0;o>a&&(o=s.end.row+1,s=this.session.getNextFold(o),a=s?s.start.row:1/0),!(o>r);){var c=this.session.getTokens(o,o);1==c.length&&this.$renderLine(t,o,c[0].tokens,!1),o++}this.element=n.setInnerHtml(this.element,t.join(""))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,i,n){var r=this,s=/\t|&|<|( +)|([\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000])|[\u1100-\u115F]|[\u11A3-\u11A7]|[\u11FA-\u11FF]|[\u2329-\u232A]|[\u2E80-\u2E99]|[\u2E9B-\u2EF3]|[\u2F00-\u2FD5]|[\u2FF0-\u2FFB]|[\u3000-\u303E]|[\u3041-\u3096]|[\u3099-\u30FF]|[\u3105-\u312D]|[\u3131-\u318E]|[\u3190-\u31BA]|[\u31C0-\u31E3]|[\u31F0-\u321E]|[\u3220-\u3247]|[\u3250-\u32FE]|[\u3300-\u4DBF]|[\u4E00-\uA48C]|[\uA490-\uA4C6]|[\uA960-\uA97C]|[\uAC00-\uD7A3]|[\uD7B0-\uD7C6]|[\uD7CB-\uD7FB]|[\uF900-\uFAFF]|[\uFE10-\uFE19]|[\uFE30-\uFE52]|[\uFE54-\uFE66]|[\uFE68-\uFE6B]|[\uFF01-\uFF60]|[\uFFE0-\uFFE6]/g,a=function(e,i,n,s){if(32==e.charCodeAt(0))return Array(e.length+1).join(" ");if(" "==e){var a=r.session.getScreenTabSize(t+s);return t+=a-1,r.$tabStrings[a]}if("&"==e)return o.isOldGecko?"&":"&";if("<"==e)return"<";if(e.match(/[\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]/)){if(r.showInvisibles){var c=Array(e.length+1).join(r.SPACE_CHAR);return"<span class='ace_invisible'>"+c+"</span>"}return" "}return t+=1,"<span class='ace_cjk' style='width:"+2*r.config.characterWidth+"px'>"+e+"</span>"},c=n.replace(s,a);if(this.$textToken[i.type])e.push(c);else{var l="ace_"+i.type.replace(/\./g," ace_");e.push("<span class='",l,"'>",c,"</span>")}return t+n.length},this.$renderLineCore=function(e,t,i,n,r){var o,s=0,a=0,c=(this.config.characterWidth,0),l=this;o=n&&0!=n.length?n[0]:Number.MAX_VALUE,r||e.push("<div class='ace_line' style='height:",this.config.lineHeight,"px","'>");for(var h=0;i.length>h;h++){var d=i[h],u=d.value;if(o>s+u.length)c=l.$renderToken(e,c,d,u),s+=u.length;else{for(;s+u.length>=o;)c=l.$renderToken(e,c,d,u.substring(0,o-s)),u=u.substring(o-s),s=o,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px","'>"),a++,c=0,o=n[a]||Number.MAX_VALUE;0!=u.length&&(s+=u.length,c=l.$renderToken(e,c,d,u))}}this.showInvisibles&&(t!==this.session.getLength()-1?e.push("<span class='ace_invisible'>"+this.EOL_CHAR+"</span>"):e.push("<span class='ace_invisible'>"+this.EOF_CHAR+"</span>")),e.push("</div>")},this.$renderLine=function(e,t,i,n){if(this.session.isRowFolded(t))this.$renderFoldLine(e,t,i,n);else{var r=this.session.getRowSplitData(t);this.$renderLineCore(e,t,i,r,n)}},this.$renderFoldLine=function(e,t,i,n){function r(e,t,i){for(var n=0,r=0;t>r+e[n].value.length;)if(r+=e[n].value.length,n++,n==e.length)return;if(r!=t){var o=e[n].value.substring(t-r);o.length>i-t&&(o=o.substring(0,i-t)),a.push({type:e[n].type,value:o}),r=t+o.length,n+=1}for(;i>r;){var o=e[n].value;o.length+r>i&&(o=o.substring(0,i-r)),a.push({type:e[n].type,value:o}),r+=o.length,n+=1}}var o=this.session,s=o.getFoldLine(t),a=[];s.walk(function(e,t,n,o,s){e?a.push({type:"fold",value:e}):(s&&(i=this.session.getTokens(t,t)[0].tokens),0!=i.length&&r(i,o,n))}.bind(this),s.end.row,this.session.getLine(s.end.row).length);var c=this.session.$useWrapMode?this.session.$wrapData[t]:null;this.$renderLineCore(e,t,a,c,n)},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","pilot/dom"],function(e,t){var i=e("pilot/dom"),n=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.cursor=i.createElement("div"),this.cursor.className="ace_cursor ace_hidden",this.element.appendChild(this.cursor),this.isVisible=!1};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.hideCursor=function(){this.isVisible=!1,i.addCssClass(this.cursor,"ace_hidden"),clearInterval(this.blinkId)},this.showCursor=function(){this.isVisible=!0,i.removeCssClass(this.cursor,"ace_hidden"),this.cursor.style.visibility="visible",this.restartTimer()},this.restartTimer=function(){if(clearInterval(this.blinkId),this.isVisible){var e=this.cursor;this.blinkId=setInterval(function(){e.style.visibility="hidden",setTimeout(function(){e.style.visibility="visible"},400)},1e3)}},this.getPixelPosition=function(e){if(!this.config||!this.session)return{left:0,top:0};var t=this.session.selection.getCursor(),i=this.session.documentToScreenPosition(t),n=Math.round(this.$padding+i.column*this.config.characterWidth),r=(i.row-(e?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:n,top:r}},this.update=function(e){this.config=e,this.pixelPos=this.getPixelPosition(!0),this.cursor.style.left=this.pixelPos.left+"px",this.cursor.style.top=this.pixelPos.top+"px",this.cursor.style.width=e.characterWidth+"px",this.cursor.style.height=e.lineHeight+"px";var t=this.session.getOverwrite();t!=this.overwrite&&(this.overwrite=t,t?i.addCssClass(this.cursor,"ace_overwrite"):i.removeCssClass(this.cursor,"ace_overwrite")),this.restartTimer()},this.destroy=function(){clearInterval(this.blinkId)}}).call(n.prototype),t.Cursor=n}),define("ace/scrollbar",["require","exports","module","pilot/oop","pilot/dom","pilot/event","pilot/event_emitter"],function(e,t){var i=e("pilot/oop"),n=e("pilot/dom"),r=e("pilot/event"),o=e("pilot/event_emitter").EventEmitter,s=function(e){this.element=n.createElement("div"),this.element.className="ace_sb",this.inner=n.createElement("div"),this.element.appendChild(this.inner),e.appendChild(this.element),this.width=n.scrollbarWidth(),this.element.style.width=(this.width||15)+"px",r.addListener(this.element,"scroll",this.onScroll.bind(this))};(function(){i.implement(this,o),this.onScroll=function(){this._dispatchEvent("scroll",{data:this.element.scrollTop})},this.getWidth=function(){return this.width},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.element.scrollTop=e}}).call(s.prototype),t.ScrollBar=s}),define("ace/renderloop",["require","exports","module","pilot/event"],function(e,t){var i=e("pilot/event"),n=function(e){this.onRender=e,this.pending=!1,this.changes=0};(function(){this.schedule=function(e){if(this.changes=this.changes|e,!this.pending){this.pending=!0;var t=this;this.setTimeoutZero(function(){t.pending=!1;var e=t.changes;t.changes=0,t.onRender(e)})}},this.setTimeoutZero=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame,this.setTimeoutZero?this.setTimeoutZero=this.setTimeoutZero.bind(window):window.postMessage?(this.messageName="zero-timeout-message",this.setTimeoutZero=function(e){if(!this.attached){var t=this;i.addListener(window,"message",function(e){t.callback&&e.data==t.messageName&&(i.stopPropagation(e),t.callback())}),this.attached=!0}this.callback=e,window.postMessage(this.messageName,"*")}):this.setTimeoutZero=function(e){setTimeout(e,0)}}).call(n.prototype),t.RenderLoop=n}),define("ace/theme/textmate",["require","exports","module","pilot/dom"],function(e,t){var i=e("pilot/dom"),n=".ace-tm .ace_editor {\n border: 2px solid rgb(159, 159, 159);\n}\n\n.ace-tm .ace_editor.ace_focus {\n border: 2px solid #327fbd;\n}\n\n.ace-tm .ace_gutter {\n width: 50px;\n background: #e8e8e8;\n color: #333;\n overflow : hidden;\n}\n\n.ace-tm .ace_gutter-layer {\n width: 100%;\n text-align: right;\n}\n\n.ace-tm .ace_gutter-layer .ace_gutter-cell {\n padding-right: 6px;\n}\n\n.ace-tm .ace_print_margin {\n width: 1px;\n background: #e8e8e8;\n}\n\n.ace-tm .ace_text-layer {\n cursor: text;\n}\n\n.ace-tm .ace_cursor {\n border-left: 2px solid black;\n}\n\n.ace-tm .ace_cursor.ace_overwrite {\n border-left: 0px;\n border-bottom: 1px solid black;\n}\n \n.ace-tm .ace_line .ace_invisible {\n color: rgb(191, 191, 191);\n}\n\n.ace-tm .ace_line .ace_keyword {\n color: blue;\n}\n\n.ace-tm .ace_line .ace_constant.ace_buildin {\n color: rgb(88, 72, 246);\n}\n\n.ace-tm .ace_line .ace_constant.ace_language {\n color: rgb(88, 92, 246);\n}\n\n.ace-tm .ace_line .ace_constant.ace_library {\n color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_line .ace_invalid {\n background-color: rgb(153, 0, 0);\n color: white;\n}\n\n.ace-tm .ace_line .ace_fold {\n background-color: #E4E4E4;\n border-radius: 3px;\n}\n\n.ace-tm .ace_line .ace_support.ace_function {\n color: rgb(60, 76, 114);\n}\n\n.ace-tm .ace_line .ace_support.ace_constant {\n color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_line .ace_support.ace_type,\n.ace-tm .ace_line .ace_support.ace_class {\n color: rgb(109, 121, 222);\n}\n\n.ace-tm .ace_line .ace_keyword.ace_operator {\n color: rgb(104, 118, 135);\n}\n\n.ace-tm .ace_line .ace_string {\n color: rgb(3, 106, 7);\n}\n\n.ace-tm .ace_line .ace_comment {\n color: rgb(76, 136, 107);\n}\n\n.ace-tm .ace_line .ace_comment.ace_doc {\n color: rgb(0, 102, 255);\n}\n\n.ace-tm .ace_line .ace_comment.ace_doc.ace_tag {\n color: rgb(128, 159, 191);\n}\n\n.ace-tm .ace_line .ace_constant.ace_numeric {\n color: rgb(0, 0, 205);\n}\n\n.ace-tm .ace_line .ace_variable {\n color: rgb(49, 132, 149);\n}\n\n.ace-tm .ace_line .ace_xml_pe {\n color: rgb(104, 104, 91);\n}\n\n.ace-tm .ace_marker-layer .ace_selection {\n background: rgb(181, 213, 255);\n}\n\n.ace-tm .ace_marker-layer .ace_step {\n background: rgb(252, 255, 0);\n}\n\n.ace-tm .ace_marker-layer .ace_stack {\n background: rgb(164, 229, 101);\n}\n\n.ace-tm .ace_marker-layer .ace_bracket {\n margin: -1px 0 0 -1px;\n border: 1px solid rgb(192, 192, 192);\n}\n\n.ace-tm .ace_marker-layer .ace_active_line {\n background: rgba(0, 0, 0, 0.07);\n}\n\n.ace-tm .ace_marker-layer .ace_selected_word {\n background: rgb(250, 250, 255);\n border: 1px solid rgb(200, 200, 250);\n}\n\n.ace-tm .ace_string.ace_regex {\n color: rgb(255, 0, 0)\n}";i.importCssString(n),t.cssClass="ace-tm"}),define("pilot/environment",["require","exports","module","pilot/settings"],function(e,t){function i(){return{settings:n}}var n=e("pilot/settings").settings;t.create=i}),define("text/cockpit/ui/cli_view.css",[],"#cockpitInput { padding-left: 16px; }.cptOutput { overflow: auto; position: absolute; z-index: 999; display: none; }.cptCompletion { padding: 0; position: absolute; z-index: -1000; }.cptCompletion.VALID { background: #FFF; }.cptCompletion.INCOMPLETE { background: #DDD; }.cptCompletion.INVALID { background: #DDD; }.cptCompletion span { color: #FFF; }.cptCompletion span.INCOMPLETE { color: #DDD; border-bottom: 2px dotted #F80; }.cptCompletion span.INVALID { color: #DDD; border-bottom: 2px dotted #F00; }span.cptPrompt { color: #66F; font-weight: bold; }.cptHints { color: #000; position: absolute; border: 1px solid rgba(230, 230, 230, 0.8); background: rgba(250, 250, 250, 0.8); -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; z-index: 1000; padding: 8px; display: none;}.cptFocusPopup { display: block; }.cptFocusPopup.cptNoPopup { display: none; }.cptHints ul { margin: 0; padding: 0 15px; }.cptGt { font-weight: bold; font-size: 120%; }"),define("text/cockpit/ui/request_view.css",[],".cptRowIn { display: box; display: -moz-box; display: -webkit-box; box-orient: horizontal; -moz-box-orient: horizontal; -webkit-box-orient: horizontal; box-align: center; -moz-box-align: center; -webkit-box-align: center; color: #333; background-color: #EEE; width: 100%; font-family: consolas, courier, monospace;}.cptRowIn > * { padding-left: 2px; padding-right: 2px; }.cptRowIn > img { cursor: pointer; }.cptHover { display: none; }.cptRowIn:hover > .cptHover { display: block; }.cptRowIn:hover > .cptHover.cptHidden { display: none; }.cptOutTyped { box-flex: 1; -moz-box-flex: 1; -webkit-box-flex: 1; font-weight: bold; color: #000; font-size: 120%;}.cptRowOutput { padding-left: 10px; line-height: 1.2em; }.cptRowOutput strong,.cptRowOutput b,.cptRowOutput th,.cptRowOutput h1,.cptRowOutput h2,.cptRowOutput h3 { color: #000; }.cptRowOutput a { font-weight: bold; color: #666; text-decoration: none; }.cptRowOutput a: hover { text-decoration: underline; cursor: pointer; }.cptRowOutput input[type=password],.cptRowOutput input[type=text],.cptRowOutput textarea { color: #000; font-size: 120%; background: transparent; padding: 3px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;}.cptRowOutput table,.cptRowOutput td,.cptRowOutput th { border: 0; padding: 0 2px; }.cptRowOutput .right { text-align: right; }"),define("text/ace/css/editor.css",[],'.ace_editor { position: absolute; overflow: hidden; font-family: Monaco, "Menlo", "Courier New", monospace; font-size: 12px;}.ace_scroller { position: absolute; overflow-x: scroll; overflow-y: hidden;}.ace_content { position: absolute; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}.ace_composition { position: absolute; background: #555; color: #DDD; z-index: 4;}.ace_gutter { position: absolute; overflow-x: hidden; overflow-y: hidden; height: 100%;}.ace_gutter-cell.ace_error { background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%F5or%F5%87%88%F5nr%F4ns%EBmq%F5z%7F%DDJT%DEKS%DFOW%F1Yc%F2ah%CE(7%CE)8%D18E%DD%40M%F2KZ%EBU%60%F4%60m%DCir%C8%16(%C8%19*%CE%255%F1%3FR%F1%3FS%E6%AB%B5%CA%5DI%CEn%5E%F7%A2%9A%C9G%3E%E0a%5B%F7%89%85%F5yy%F6%82%80%ED%82%80%FF%BF%BF%E3%C4%C4%FF%FF%FF%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%25%00%2C%00%00%00%00%10%00%10%00%00%06p%C0%92pH%2C%1A%8F%C8%D2H%93%E1d4%23%E4%88%D3%09mB%1DN%B48%F5%90%40%60%92G%5B%94%20%3E%22%D2%87%24%FA%20%24%C5%06A%00%20%B1%07%02B%A38%89X.v%17%82%11%13q%10%0Fi%24%0F%8B%10%7BD%12%0Ei%09%92%09%0EpD%18%15%24%0A%9Ci%05%0C%18F%18%0B%07%04%01%04%06%A0H%18%12%0D%14%0D%12%A1I%B3%B4%B5IA%00%3B"); background-repeat: no-repeat; background-position: 4px center;}.ace_gutter-cell.ace_warning { background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%FF%DBr%FF%DE%81%FF%E2%8D%FF%E2%8F%FF%E4%96%FF%E3%97%FF%E5%9D%FF%E6%9E%FF%EE%C1%FF%C8Z%FF%CDk%FF%D0s%FF%D4%81%FF%D5%82%FF%D5%83%FF%DC%97%FF%DE%9D%FF%E7%B8%FF%CCl%7BQ%13%80U%15%82W%16%81U%16%89%5B%18%87%5B%18%8C%5E%1A%94d%1D%C5%83-%C9%87%2F%C6%84.%C6%85.%CD%8B2%C9%871%CB%8A3%CD%8B5%DC%98%3F%DF%9BB%E0%9CC%E1%A5U%CB%871%CF%8B5%D1%8D6%DB%97%40%DF%9AB%DD%99B%E3%B0p%E7%CC%AE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%2F%00%2C%00%00%00%00%10%00%10%00%00%06a%C0%97pH%2C%1A%8FH%A1%ABTr%25%87%2B%04%82%F4%7C%B9X%91%08%CB%99%1C!%26%13%84*iJ9(%15G%CA%84%14%01%1A%97%0C%03%80%3A%9A%3E%81%84%3E%11%08%B1%8B%20%02%12%0F%18%1A%0F%0A%03\'F%1C%04%0B%10%16%18%10%0B%05%1CF%1D-%06%07%9A%9A-%1EG%1B%A0%A1%A0U%A4%A5%A6BA%00%3B"); background-repeat: no-repeat; background-position: 4px center;}.ace_editor .ace_sb { position: absolute; overflow-x: hidden; overflow-y: scroll; right: 0;}.ace_editor .ace_sb div { position: absolute; width: 1px; left: 0;}.ace_editor .ace_print_margin_layer { z-index: 0; position: absolute; overflow: hidden; margin: 0; left: 0; height: 100%; width: 100%;}.ace_editor .ace_print_margin { position: absolute; height: 100%;}.ace_editor textarea { position: fixed; z-index: -1; width: 10px; height: 30px; opacity: 0; background: transparent; appearance: none; -moz-appearance: none; border: none; resize: none; outline: none; overflow: hidden;}.ace_layer { z-index: 1; position: absolute; overflow: hidden; white-space: nowrap; height: 100%; width: 100%;}.ace_text-layer { color: black;}.ace_cjk { display: inline-block; text-align: center;}.ace_cursor-layer { z-index: 4; cursor: text; /* setting pointer-events: none; here will break mouse wheel scrolling in Safari */}.ace_cursor { z-index: 4; position: absolute;}.ace_cursor.ace_hidden { opacity: 0.2;}.ace_line { white-space: nowrap;}.ace_marker-layer { cursor: text; pointer-events: none;}.ace_marker-layer .ace_step { position: absolute; z-index: 3;}.ace_marker-layer .ace_selection { position: absolute; z-index: 4;}.ace_marker-layer .ace_bracket { position: absolute; z-index: 5;}.ace_marker-layer .ace_active_line { position: absolute; z-index: 2;}.ace_marker-layer .ace_selected_word { position: absolute; z-index: 6; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}.ace_line .ace_fold { cursor: pointer;}.ace_dragging .ace_marker-layer, .ace_dragging .ace_text-layer { cursor: move;}'),define("text/ace-0.2.0/demo/styles.css",[],"html { height: 100%; width: 100%; overflow: hidden;}body { overflow: hidden; margin: 0; padding: 0; height: 100%; width: 100%; font-family: Arial, Helvetica, sans-serif, Tahoma, Verdana, sans-serif; font-size: 12px; background: rgb(14, 98, 165); color: white;}#logo { padding: 15px; margin-left: 65px;}#editor { position: absolute; top: 0px; left: 280px; bottom: 0px; right: 0px; background: white;}#controls { padding: 5px;}#controls td { text-align: right;}#controls td + td { text-align: left;}#cockpitInput { position: absolute; left: 280px; right: 0px; bottom: 0; border: none; outline: none; font-family: consolas, courier, monospace; font-size: 120%;}#cockpitOutput { padding: 10px; margin: 0 15px; border: 1px solid #AAA; -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; border-top-left-radius: 4px; border-top-right-radius: 4px; background: #DDD; color: #000;}"),define("text/ace-0.2.0/textarea/style.css",[],"body { margin:0; padding:0; background-color:#e6f5fc; }H2, H3, H4 { font-family:Trebuchet MS; font-weight:bold; margin:0; padding:0;}H2 { font-size:28px; color:#263842; padding-bottom:6px;}H3 { font-family:Trebuchet MS; font-weight:bold; font-size:22px; color:#253741; margin-top:43px; margin-bottom:8px;}H4 { font-family:Trebuchet MS; font-weight:bold; font-size:21px; color:#222222; margin-bottom:4px;}P { padding:13px 0; margin:0; line-height:22px;}UL{ line-height : 22px;}PRE{ background : #333; color : white; padding : 10px;}#header { height : 227px; position:relative; overflow:hidden; background: url(images/background.png) repeat-x 0 0; border-bottom:1px solid #c9e8fa; }#header .content .signature { font-family:Trebuchet MS; font-size:11px; color:#ebe4d6; position:absolute; bottom:5px; right:42px; letter-spacing : 1px;}.content { width:970px; position:relative; overflow:hidden; margin:0 auto;}#header .content { height:184px; margin-top:22px;}#header .content .logo { width : 282px; height : 184px; background:url(images/logo.png) no-repeat 0 0; position:absolute; top:0; left:0;}#header .content .title { width : 605px; height : 58px; background:url(images/ace.png) no-repeat 0 0; position:absolute; top:98px; left:329px;}#wrapper { background:url(images/body_background.png) repeat-x 0 0; min-height:250px;}#wrapper .content { font-family:Arial; font-size:14px; color:#222222; width:1000px;}#wrapper .content .column1 { position:relative; overflow:hidden; float:left; width:315px; margin-right:31px;}#wrapper .content .column2 { position:relative; overflow:hidden; float:left; width:600px; padding-top:47px;}.fork_on_github { width:310px; height:80px; background:url(images/fork_on_github.png) no-repeat 0 0; position:relative; overflow:hidden; margin-top:49px; cursor:pointer;}.fork_on_github:hover { background-position:0 -80px;}.divider { height:3px; background-color:#bedaea; margin-bottom:3px;}.menu { padding:23px 0 0 24px;}UL.content-list { padding:15px; margin:0;}UL.menu-list { padding:0; margin:0 0 20px 0; list-style-type:none; line-height : 16px;}UL.menu-list LI { color:#2557b4; font-family:Trebuchet MS; font-size:14px; padding:7px 0; border-bottom:1px dotted #d6e2e7;}UL.menu-list LI:last-child { border-bottom:0;}A { color:#2557b4; text-decoration:none;}A:hover { text-decoration:underline;}P#first{ background : rgba(255,255,255,0.5); padding : 20px; font-size : 16px; line-height : 24px; margin : 0 0 20px 0;}#footer { height:40px; position:relative; overflow:hidden; background:url(images/bottombar.png) repeat-x 0 0; position:relative; margin-top:40px;}UL.menu-footer { padding:0; margin:8px 11px 0 0; list-style-type:none; float:right;}UL.menu-footer LI { color:white; font-family:Arial; font-size:12px; display:inline-block; margin:0 1px;}UL.menu-footer LI A { color:#8dd0ff; text-decoration:none;}UL.menu-footer LI A:hover { text-decoration:underline;}"),define("text/build/demo/styles.css",[],"html { height: 100%; width: 100%; overflow: hidden;}body { overflow: hidden; margin: 0; padding: 0; height: 100%; width: 100%; font-family: Arial, Helvetica, sans-serif, Tahoma, Verdana, sans-serif; font-size: 12px; background: rgb(14, 98, 165); color: white;}#logo { padding: 15px; margin-left: 65px;}#editor { position: absolute; top: 0px; left: 280px; bottom: 0px; right: 0px; background: white;}#controls { padding: 5px;}#controls td { text-align: right;}#controls td + td { text-align: left;}#cockpitInput { position: absolute; left: 280px; right: 0px; bottom: 0; border: none; outline: none; font-family: consolas, courier, monospace; font-size: 120%;}#cockpitOutput { padding: 10px; margin: 0 15px; border: 1px solid #AAA; -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; border-top-left-radius: 4px; border-top-right-radius: 4px; background: #DDD; color: #000;}"),define("text/build_support/style.css",[],"body { margin:0; padding:0; background-color:#e6f5fc; }H2, H3, H4 { font-family:Trebuchet MS; font-weight:bold; margin:0; padding:0;}H2 { font-size:28px; color:#263842; padding-bottom:6px;}H3 { font-family:Trebuchet MS; font-weight:bold; font-size:22px; color:#253741; margin-top:43px; margin-bottom:8px;}H4 { font-family:Trebuchet MS; font-weight:bold; font-size:21px; color:#222222; margin-bottom:4px;}P { padding:13px 0; margin:0; line-height:22px;}UL{ line-height : 22px;}PRE{ background : #333; color : white; padding : 10px;}#header { height : 227px; position:relative; overflow:hidden; background: url(images/background.png) repeat-x 0 0; border-bottom:1px solid #c9e8fa; }#header .content .signature { font-family:Trebuchet MS; font-size:11px; color:#ebe4d6; position:absolute; bottom:5px; right:42px; letter-spacing : 1px;}.content { width:970px; position:relative; overflow:hidden; margin:0 auto;}#header .content { height:184px; margin-top:22px;}#header .content .logo { width : 282px; height : 184px; background:url(images/logo.png) no-repeat 0 0; position:absolute; top:0; left:0;}#header .content .title { width : 605px; height : 58px; background:url(images/ace.png) no-repeat 0 0; position:absolute; top:98px; left:329px;}#wrapper { background:url(images/body_background.png) repeat-x 0 0; min-height:250px;}#wrapper .content { font-family:Arial; font-size:14px; color:#222222; width:1000px;}#wrapper .content .column1 { position:relative; overflow:hidden; float:left; width:315px; margin-right:31px;}#wrapper .content .column2 { position:relative; overflow:hidden; float:left; width:600px; padding-top:47px;}.fork_on_github { width:310px; height:80px; background:url(images/fork_on_github.png) no-repeat 0 0; position:relative; overflow:hidden; margin-top:49px; cursor:pointer;}.fork_on_github:hover { background-position:0 -80px;}.divider { height:3px; background-color:#bedaea; margin-bottom:3px;}.menu { padding:23px 0 0 24px;}UL.content-list { padding:15px; margin:0;}UL.menu-list { padding:0; margin:0 0 20px 0; list-style-type:none; line-height : 16px;}UL.menu-list LI { color:#2557b4; font-family:Trebuchet MS; font-size:14px; padding:7px 0; border-bottom:1px dotted #d6e2e7;}UL.menu-list LI:last-child { border-bottom:0;}A { color:#2557b4; text-decoration:none;}A:hover { text-decoration:underline;}P#first{ background : rgba(255,255,255,0.5); padding : 20px; font-size : 16px; line-height : 24px; margin : 0 0 20px 0;}#footer { height:40px; position:relative; overflow:hidden; background:url(images/bottombar.png) repeat-x 0 0; position:relative; margin-top:40px;}UL.menu-footer { padding:0; margin:8px 11px 0 0; list-style-type:none; float:right;}UL.menu-footer LI { color:white; font-family:Arial; font-size:12px; display:inline-block; margin:0 1px;}UL.menu-footer LI A { color:#8dd0ff; text-decoration:none;}UL.menu-footer LI A:hover { text-decoration:underline;}"),define("text/demo/styles.css",[],"html { height: 100%; width: 100%; overflow: hidden;}body { overflow: hidden; margin: 0; padding: 0; height: 100%; width: 100%; font-family: Arial, Helvetica, sans-serif, Tahoma, Verdana, sans-serif; font-size: 12px; background: rgb(14, 98, 165); color: white;}#logo { padding: 15px; margin-left: 65px;}#editor { position: absolute; top: 0px; left: 280px; bottom: 0px; right: 0px; background: white;}#controls { padding: 5px;}#controls td { text-align: right;}#controls td + td { text-align: left;}#cockpitInput { position: absolute; left: 280px; right: 0px; bottom: 0; border: none; outline: none; font-family: consolas, courier, monospace; font-size: 120%;}#cockpitOutput { padding: 10px; margin: 0 15px; border: 1px solid #AAA; -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; border-top-left-radius: 4px; border-top-right-radius: 4px; background: #DDD; color: #000;}"),define("text/deps/csslint/demos/demo.css",[],'@charset "UTF-8";@import url("booya.css") print,screen;@import "whatup.css" screen;@import "wicked.css";@namespace "http://www.w3.org/1999/xhtml";@namespace svg "http://www.w3.org/2000/svg";li.inline #foo { background: url("something.png"); display: inline; padding-left: 3px; padding-right: 7px; border-right: 1px dotted #066;}li.last.first { display: inline; padding-left: 3px !important; padding-right: 3px; border-right: 0px;}@media print { li.inline { color: black; }@charset "UTF-8"; @page { margin: 10%; counter-increment: page; @top-center { font-family: sans-serif; font-weight: bold; font-size: 2em; content: counter(page); }}'),define("text/deps/requirejs/dist/ie.css",[],"body .sect { display: none;}#content ul.index { list-style: none;}"),define("text/deps/requirejs/dist/main.css",[],'@font-face { font-family: Inconsolata; src: url("fonts/Inconsolata.ttf");}* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 0;}body { font-size: 12px; line-height: 21px; background-color: #fff; font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; color: #0a0a0a;}#wrapper { margin: 0;}#grid { position: fixed; top: 0; left: 0; width: 796px; background-image: url("i/grid.png"); z-index: 100;}pre { line-height: 18px; font-size: 13px; margin: 7px 0 21px; padding: 5px 10px; overflow: auto; background-color: #fafafa; border: 1px solid #e6e6e6; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);}/* typography stuff*/.mono { font-family: "Inconsolata", Andale Mono, Monaco, Monospace;}.sans { font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}.serif { font-family: "Georgia", Times New Roman, Times, serif;}a { color: #2e87dd; text-decoration: none;}a:hover { text-decoration: underline;}/* navigation*/#navBg { background-color: #f2f2f2; background-image: url("i/shadow.png"); background-position: right top; background-repeat: repeat-y; width: 220px; position: fixed; top: 0; left: 0; z-index: 0;}#nav { background-image: url("i/logo.png"); background-repeat: no-repeat; background-position: center 10px; width: 220px; float: left; margin: 0; padding: 150px 20px 0; font-size: 13px; text-shadow: 1px 1px #fff; position: relative; z-index: 1;}#nav .homeImageLink { position: absolute; display: block; top: 10px; left: 0; width: 220px; height: 138px;}#nav ul { list-style-type:none; padding: 0; margin: 21px 0 0 0;}#nav ul li { width: 100%;}#nav ul li.version { text-align: center; color: #4d4d4d;}#nav h1 { color: #4d4d4d; text-align: center; font-size: 15px; font-weight: normal; text-transform: uppercase; letter-spacing: 3px;}span.spacer { color: #2e87dd; margin: 0 3px 0 5px; background-image: url("i/dot.png"); background-repeat: repeat-x; background-position: left 13px;}/* icons*/span.icon { width: 16px; display: block; background-image: url("i/sprite.png"); background-repeat: no-repeat;}span.icon.home { background-position: center 5px;}span.icon.start { background-position: center -27px;}span.icon.download { background-position: center -59px;}span.icon.api { background-position: center -89px;}span.icon.optimize { background-position: center -119px;}span.icon.script { background-position: center -150px;}span.icon.question { background-position: center -182px;}span.icon.requirement { background-position: center -214px;}span.icon.history { background-position: center -247px;}span.icon.help { background-position: center -279px;}span.icon.blog { background-position: center -311px;}span.icon.twitter { background-position: center -343px;}span.icon.git { background-position: center -375px;}span.icon.fork { background-position: center -407px;}/* content*/#content { margin: 0 0 0 220px; padding: 0 20px; background-color: #fff; font-family: "Georgia", Times New Roman, Times, serif; position: relative;}#content p { padding: 7px 0; color: #333; font-size: 14px;}#content h1,#content h2,#content h3,#content h4,#content h5 { font-weight: normal; padding: 21px 0 7px;}#content h1 { font-size: 21px;}#content h2 { padding: 0 0 18px 0; margin: 0 0 7px 0; font-weight: normal; font-size: 21px; line-height: 24px; text-align: center; color: #222; background-image: url("i/arrow.png"); background-repeat: no-repeat; background-position: center bottom; font-family: "Inconsolata", Andale Mono, Monaco, Monospace; text-transform: uppercase; letter-spacing: 2px; text-shadow: 1px 1px 0 #fff;}#content h2 a { color: #222;}#content h2 a:hover,#content h3 a:hover,#content h4 a:hover { text-decoration: none;}span.sectionMark { display: block; color: #aaa; text-shadow: 1px 1px 0 #fff; font-size: 15px; font-family: "Inconsolata", Andale Mono, Monaco, Monospace;}#content h3 { font-size: 17px;}#content h4 { padding-top: 0; font-size: 15px;}#content h5 { font-size: 10px;}#content ul { list-style-type: disc;}#content ul,#content ol { /* border-left: 1px solid #333; */ color: #333; font-size: 14px; list-style-position: outside; margin: 7px 0 21px 0; /* padding: 0 0 0 28px; */}#content ul { font-style: italic;}#content ol { border: none; list-style-position: inside; padding: 0; font-family: "Georgia", Times New Roman, Times, serif;}#content ul ul,#content ol ol { border: none; padding: 0; margin: 0 0 0 28px;}#content .section { padding: 48px 0; background-image: url("i/line.png"); background-repeat: no-repeat; background-position: center bottom; width: 576px; margin: 0 auto;}#content .section .subSection { padding: 0 0 0 48px; margin: 28px 0 0 0; display: block; border-left: 2px solid #ddd;}#content .section:last-child { background-image: none;}#content .note { color: #222; background-color: #ffff99; padding: 5px 10px; margin: 7px 0; display: inline-block;}/* page directory*/#content #directory.section { background-color: #fff; width: 576px;}#content #directory.section ul ul ul { margin: 0 0 0 48px;}#content #directory.section ul ul li { background-image: url("i/sprite.png"); background-repeat: no-repeat; background-position: left -437px; padding-left: 18px; font-style: normal;}#content #directory h1 { padding: 0 0 65px 0; margin: 0 0 14px 0; font-weight: normal; font-size: 21px; text-align: center; text-transform: uppercase; letter-spacing: 2px; color: #222; background-image: url("i/arrow-x.png"); background-repeat: no-repeat; background-position: center bottom; font-family: "Inconsolata", Andale Mono, Monaco, Monospace;}#content ul.index { padding: 0; background-color: transparent; border: none; -moz-box-shadow: none; font-style: normal; font-family: "Inconsolata", Andale Mono, Monaco, Monospace;}#content ul.index li { width: 100%; font-size: 15px; color: #333; padding: 0 0 7px 0;}/* intro page specific*/#content #intro { width: 576px; margin: 0 auto; padding: 21px 0;}#content #intro p,#content #intro h1 { font-size: 19px; line-height: 28px; color: green; letter-spacing: 2px; padding: 0 0 28px 0;}#content #intro p:last-child,#content #intro h1:last-child { padding: 0;}#content #intro p a { color: green; text-decoration: underline;}/* download page*/#content h4 a.download { -webkit-border-radius: 5px; -moz-border-radius: 5px; background-color: #F2F2F2; background-image: url("i/sprite.png"), -moz-linear-gradient(center top , #FAFAFA 0%, #F2F2F2 100%); background-image: url("i/sprite.png"), -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #f2f2f2)); background-position: 7px -58px, center center; background-repeat: no-repeat, no-repeat; border: 1px solid #CCCCCC; color: #333333; font-size: 12px; margin: 0 0 0 5px; padding: 0 10px 0 25px; text-shadow: 1px 1px 0 #FFFFFF;}/* footer*/#footer { color: #4d4d4d; padding: 65px 20px 20px; margin: 20px 0 0 220px; text-align: center; display: block; font-size: 13px; background-image: url("i/arrow-x.png"); background-repeat: no-repeat; background-position: center top; background-color: #fff;}#footer .line { display: block;}#footer .line a { color: #4d4d4d; text-decoration: underline;}/* Pygments manni style*/code {background-color: #fafafa; color: #333;}code .comment {color: green; font-style: italic}code .comment.preproc {color: #099; font-style: normal}code .comment.special {font-weight: bold}code .keyword {color: #069; font-weight: bold}code .keyword.pseudo {font-weight: normal}code .keyword.type {color: #078}code .operator {color: #555}code .operator.word {color: #000; font-weight: bold}code .name.builtin {color: #366}code .name.function {color: #c0f}code .name.class {color: #0a8; font-weight: bold}code .name.namespace {color: #0cf; font-weight: bold}code .name.exception {color: #c00; font-weight: bold}code .name.variable {color: #033}code .name.constant {color: #360}code .name.label {color: #99f}code .name.entity {color: #999; font-weight: bold}code .name.attribute {color: #309}code .name.tag {color: #309; font-weight: bold}code .name.decorator {color: #99f}code .string {color: #c30}code .string.doc {font-style: italic}code .string.interpol {color: #a00}code .string.escape {color: #c30; font-weight: bold}code .string.regex {color: #3aa}code .string.symbol {color: #fc3}code .string.other {color: #c30}code .number {color: #f60}/* webkit scroll bars*/pre::-webkit-scrollbar { width: 6px; height: 6px;}pre::-webkit-scrollbar-button:start:decrement,pre::-webkit-scrollbar-button:end:increment { display: block; height: 0; width: 0;}pre::-webkit-scrollbar-button:vertical:increment,pre::-webkit-scrollbar-button:horizontal:increment { background-color: transparent; display: block; height: 0; width: 0;}pre::-webkit-scrollbar-track-piece { -webkit-border-radius: 3px;}pre::-webkit-scrollbar-thumb:vertical { background-color: #aaa; -webkit-border-radius: 3px;}pre::-webkit-scrollbar-thumb:horizontal { background-color: #aaa; -webkit-border-radius: 3px;}/* hbox*/.hbox { display: -webkit-box; -webkit-box-orient: horizontal; -webkit-box-align: stretch; display: -moz-box; -moz-box-orient: horizontal; -moz-box-align: stretch; display: box; box-orient: horizontal; box-align: stretch; width: 100%;}.hbox > * { -webkit-box-flex: 0; -moz-box-flex: 0; box-flex: 0; display: block;}.vbox { display: -webkit-box; -webkit-box-orient: vertical; -webkit-box-align: stretch; display: -moz-box; -moz-box-orient: vertical; -moz-box-align: stretch; display: box; box-orient: vertical; box-align: stretch;}.vbox > * { -webkit-box-flex: 0; -moz-box-flex: 0; box-flex: 0; display: block;}.spacer { -webkit-box-flex: 1; -moz-box-flex: 1; box-flex: 1;}.reverse { -webkit-box-direction: reverse; -moz-box-direction: reverse; box-direction: reverse;}.boxFlex0 { -webkit-box-flex: 0; -moz-box-flex: 0; box-flex: 0;}.boxFlex1, .boxFlex { -webkit-box-flex: 1; -moz-box-flex: 1; box-flex: 1;}.boxFlex2 { -webkit-box-flex: 2; -moz-box-flex: 2; box-flex: 2;}.boxGroup1 { -webkit-box-flex-group: 1; -moz-box-flex-group: 1; box-flex-group: 1;}.boxGroup2 { -webkit-box-flex-group: 2; -moz-box-flex-group: 2; box-flex-group: 2;}.start { -webkit-box-pack: start; -moz-box-pack: start; box-pack: start;}.end { -webkit-box-pack: end; -moz-box-pack: end; box-pack: end;}.center { -webkit-box-pack: center; -moz-box-pack: center; box-pack: center;}/* clearfix*/.clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}html[xmlns] .clearfix { display: block;}* html .clearfix { height: 1%;}'),define("text/lib/ace/css/editor.css",[],'.ace_editor { position: absolute; overflow: hidden; font-family: Monaco, "Menlo", "Courier New", monospace; font-size: 12px;}.ace_scroller { position: absolute; overflow-x: scroll; overflow-y: hidden;}.ace_content { position: absolute; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}.ace_composition { position: absolute; background: #555; color: #DDD; z-index: 4;}.ace_gutter { position: absolute; overflow-x: hidden; overflow-y: hidden; height: 100%;}.ace_gutter-cell.ace_error { background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%F5or%F5%87%88%F5nr%F4ns%EBmq%F5z%7F%DDJT%DEKS%DFOW%F1Yc%F2ah%CE(7%CE)8%D18E%DD%40M%F2KZ%EBU%60%F4%60m%DCir%C8%16(%C8%19*%CE%255%F1%3FR%F1%3FS%E6%AB%B5%CA%5DI%CEn%5E%F7%A2%9A%C9G%3E%E0a%5B%F7%89%85%F5yy%F6%82%80%ED%82%80%FF%BF%BF%E3%C4%C4%FF%FF%FF%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%25%00%2C%00%00%00%00%10%00%10%00%00%06p%C0%92pH%2C%1A%8F%C8%D2H%93%E1d4%23%E4%88%D3%09mB%1DN%B48%F5%90%40%60%92G%5B%94%20%3E%22%D2%87%24%FA%20%24%C5%06A%00%20%B1%07%02B%A38%89X.v%17%82%11%13q%10%0Fi%24%0F%8B%10%7BD%12%0Ei%09%92%09%0EpD%18%15%24%0A%9Ci%05%0C%18F%18%0B%07%04%01%04%06%A0H%18%12%0D%14%0D%12%A1I%B3%B4%B5IA%00%3B"); background-repeat: no-repeat; background-position: 4px center;}.ace_gutter-cell.ace_warning { background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%FF%DBr%FF%DE%81%FF%E2%8D%FF%E2%8F%FF%E4%96%FF%E3%97%FF%E5%9D%FF%E6%9E%FF%EE%C1%FF%C8Z%FF%CDk%FF%D0s%FF%D4%81%FF%D5%82%FF%D5%83%FF%DC%97%FF%DE%9D%FF%E7%B8%FF%CCl%7BQ%13%80U%15%82W%16%81U%16%89%5B%18%87%5B%18%8C%5E%1A%94d%1D%C5%83-%C9%87%2F%C6%84.%C6%85.%CD%8B2%C9%871%CB%8A3%CD%8B5%DC%98%3F%DF%9BB%E0%9CC%E1%A5U%CB%871%CF%8B5%D1%8D6%DB%97%40%DF%9AB%DD%99B%E3%B0p%E7%CC%AE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%2F%00%2C%00%00%00%00%10%00%10%00%00%06a%C0%97pH%2C%1A%8FH%A1%ABTr%25%87%2B%04%82%F4%7C%B9X%91%08%CB%99%1C!%26%13%84*iJ9(%15G%CA%84%14%01%1A%97%0C%03%80%3A%9A%3E%81%84%3E%11%08%B1%8B%20%02%12%0F%18%1A%0F%0A%03\'F%1C%04%0B%10%16%18%10%0B%05%1CF%1D-%06%07%9A%9A-%1EG%1B%A0%A1%A0U%A4%A5%A6BA%00%3B"); background-repeat: no-repeat; background-position: 4px center;}.ace_editor .ace_sb { position: absolute; overflow-x: hidden; overflow-y: scroll; right: 0;}.ace_editor .ace_sb div { position: absolute; width: 1px; left: 0;}.ace_editor .ace_print_margin_layer { z-index: 0; position: absolute; overflow: hidden; margin: 0; left: 0; height: 100%; width: 100%;}.ace_editor .ace_print_margin { position: absolute; height: 100%;}.ace_editor textarea { position: fixed; z-index: -1; width: 10px; height: 30px; opacity: 0; background: transparent; appearance: none; -moz-appearance: none; border: none; resize: none; outline: none; overflow: hidden;}.ace_layer { z-index: 1; position: absolute; overflow: hidden; white-space: nowrap; height: 100%; width: 100%;}.ace_text-layer { color: black;}.ace_cjk { display: inline-block; text-align: center;}.ace_cursor-layer { z-index: 4; cursor: text; /* setting pointer-events: none; here will break mouse wheel scrolling in Safari */}.ace_cursor { z-index: 4; position: absolute;}.ace_cursor.ace_hidden { opacity: 0.2;}.ace_line { white-space: nowrap;}.ace_marker-layer { cursor: text; pointer-events: none;}.ace_marker-layer .ace_step { position: absolute; z-index: 3;}.ace_marker-layer .ace_selection { position: absolute; z-index: 4;}.ace_marker-layer .ace_bracket { position: absolute; z-index: 5;}.ace_marker-layer .ace_active_line { position: absolute; z-index: 2;}.ace_marker-layer .ace_selected_word { position: absolute; z-index: 6; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}.ace_line .ace_fold { cursor: pointer;}.ace_dragging .ace_marker-layer, .ace_dragging .ace_text-layer { cursor: move;}'),define("text/node_modules/uglify-js/docstyle.css",[],'html { font-family: "Lucida Grande","Trebuchet MS",sans-serif; font-size: 12pt; }body { max-width: 60em; }.title { text-align: center; }.todo { color: red; }.done { color: green; }.tag { background-color:lightblue; font-weight:normal }.target { }.timestamp { color: grey }.timestamp-kwd { color: CadetBlue }p.verse { margin-left: 3% }pre { border: 1pt solid #AEBDCC; background-color: #F3F5F7; padding: 5pt; font-family: monospace; font-size: 90%; overflow:auto;}pre.src { background-color: #eee; color: #112; border: 1px solid #000;}table { border-collapse: collapse; }td, th { vertical-align: top; }dt { font-weight: bold; }div.figure { padding: 0.5em; }div.figure p { text-align: center; }.linenr { font-size:smaller }.code-highlighted {background-color:#ffff00;}.org-info-js_info-navigation { border-style:none; }#org-info-js_console-label { font-size:10px; font-weight:bold; white-space:nowrap; }.org-info-js_search-highlight {background-color:#ffff00; color:#000000; font-weight:bold; }sup { vertical-align: baseline; position: relative; top: -0.5em; font-size: 80%;}sup a:link, sup a:visited { text-decoration: none; color: #c00;}sup a:before { content: "["; color: #999; }sup a:after { content: "]"; color: #999; }h1.title { border-bottom: 4px solid #000; padding-bottom: 5px; margin-bottom: 2em; }#postamble { color: #777; font-size: 90%; padding-top: 1em; padding-bottom: 1em; border-top: 1px solid #999; margin-top: 2em; padding-left: 2em; padding-right: 2em; text-align: right;}#postamble p { margin: 0; }#footnotes { border-top: 1px solid #000; }h1 { font-size: 200% }h2 { font-size: 175% }h3 { font-size: 150% }h4 { font-size: 125% }h1, h2, h3, h4 { font-family: "Bookman",Georgia,"Times New Roman",serif; font-weight: normal; }@media print { html { font-size: 11pt; }}'),define("text/support/cockpit/lib/cockpit/ui/cli_view.css",[],"#cockpitInput { padding-left: 16px; }.cptOutput { overflow: auto; position: absolute; z-index: 999; display: none; }.cptCompletion { padding: 0; position: absolute; z-index: -1000; }.cptCompletion.VALID { background: #FFF; }.cptCompletion.INCOMPLETE { background: #DDD; }.cptCompletion.INVALID { background: #DDD; }.cptCompletion span { color: #FFF; }.cptCompletion span.INCOMPLETE { color: #DDD; border-bottom: 2px dotted #F80; }.cptCompletion span.INVALID { color: #DDD; border-bottom: 2px dotted #F00; }span.cptPrompt { color: #66F; font-weight: bold; }.cptHints { color: #000; position: absolute; border: 1px solid rgba(230, 230, 230, 0.8); background: rgba(250, 250, 250, 0.8); -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; z-index: 1000; padding: 8px; display: none;}.cptFocusPopup { display: block; }.cptFocusPopup.cptNoPopup { display: none; }.cptHints ul { margin: 0; padding: 0 15px; }.cptGt { font-weight: bold; font-size: 120%; }"),define("text/support/cockpit/lib/cockpit/ui/request_view.css",[],".cptRowIn { display: box; display: -moz-box; display: -webkit-box; box-orient: horizontal; -moz-box-orient: horizontal; -webkit-box-orient: horizontal; box-align: center; -moz-box-align: center; -webkit-box-align: center; color: #333; background-color: #EEE; width: 100%; font-family: consolas, courier, monospace;}.cptRowIn > * { padding-left: 2px; padding-right: 2px; }.cptRowIn > img { cursor: pointer; }.cptHover { display: none; }.cptRowIn:hover > .cptHover { display: block; }.cptRowIn:hover > .cptHover.cptHidden { display: none; }.cptOutTyped { box-flex: 1; -moz-box-flex: 1; -webkit-box-flex: 1; font-weight: bold; color: #000; font-size: 120%;}.cptRowOutput { padding-left: 10px; line-height: 1.2em; }.cptRowOutput strong,.cptRowOutput b,.cptRowOutput th,.cptRowOutput h1,.cptRowOutput h2,.cptRowOutput h3 { color: #000; }.cptRowOutput a { font-weight: bold; color: #666; text-decoration: none; }.cptRowOutput a: hover { text-decoration: underline; cursor: pointer; }.cptRowOutput input[type=password],.cptRowOutput input[type=text],.cptRowOutput textarea { color: #000; font-size: 120%; background: transparent; padding: 3px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;}.cptRowOutput table,.cptRowOutput td,.cptRowOutput th { border: 0; padding: 0 2px; }.cptRowOutput .right { text-align: right; }"),define("text/tool/Theme.tmpl.css",[],".%cssClass% .ace_editor { border: 2px solid rgb(159, 159, 159);}.%cssClass% .ace_editor.ace_focus { border: 2px solid #327fbd;}.%cssClass% .ace_gutter { width: 50px; background: #e8e8e8; color: #333; overflow : hidden;}.%cssClass% .ace_gutter-layer { width: 100%; text-align: right;}.%cssClass% .ace_gutter-layer .ace_gutter-cell { padding-right: 6px;}.%cssClass% .ace_print_margin { width: 1px; background: %printMargin%;}.%cssClass% .ace_scroller { background-color: %background%;}.%cssClass% .ace_text-layer { cursor: text; color: %foreground%;}.%cssClass% .ace_cursor { border-left: 2px solid %cursor%;}.%cssClass% .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid %overwrite%;} .%cssClass% .ace_marker-layer .ace_selection { background: %selection%;}.%cssClass% .ace_marker-layer .ace_step { background: %step%;}.%cssClass% .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid %bracket%;}.%cssClass% .ace_marker-layer .ace_active_line { background: %active_line%;} .%cssClass% .ace_invisible { %invisible%}.%cssClass% .ace_keyword { %keyword%}.%cssClass% .ace_keyword.ace_operator { %keyword.operator%}.%cssClass% .ace_constant { %constant%}.%cssClass% .ace_constant.ace_language { %constant.language%}.%cssClass% .ace_constant.ace_library { %constant.library%}.%cssClass% .ace_constant.ace_numeric { %constant.numeric%}.%cssClass% .ace_invalid { %invalid%}.%cssClass% .ace_invalid.ace_illegal { %invalid.illegal%}.%cssClass% .ace_invalid.ace_deprecated { %invalid.deprecated%}.%cssClass% .ace_support { %support%}.%cssClass% .ace_support.ace_function { %support.function%}.%cssClass% .ace_function.ace_buildin { %function.buildin%}.%cssClass% .ace_string { %string%}.%cssClass% .ace_string.ace_regexp { %string.regexp%}.%cssClass% .ace_comment { %comment%}.%cssClass% .ace_comment.ace_doc { %comment.doc%}.%cssClass% .ace_comment.ace_doc.ace_tag { %comment.doc.tag%}.%cssClass% .ace_variable { %variable%}.%cssClass% .ace_variable.ace_language { %variable.language%}.%cssClass% .ace_xml_pe { %xml_pe%}.%cssClass% .ace_collab.ace_user1 { %collab.user1% }"),define("text/styles.css",[],"html { height: 100%; width: 100%; overflow: hidden;}body { overflow: hidden; margin: 0; padding: 0; height: 100%; width: 100%; font-family: Arial, Helvetica, sans-serif, Tahoma, Verdana, sans-serif; font-size: 12px; background: rgb(14, 98, 165); color: white;}#logo { padding: 15px; margin-left: 65px;}#editor { position: absolute; top: 0px; left: 280px; bottom: 0px; right: 0px; background: white;}#controls { padding: 5px;}#controls td { text-align: right;}#controls td + td { text-align: left;}#cockpitInput { position: absolute; left: 280px; right: 0px; bottom: 0; border: none; outline: none; font-family: consolas, courier, monospace; font-size: 120%;}#cockpitOutput { padding: 10px; margin: 0 15px; border: 1px solid #AAA; -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; border-top-left-radius: 4px; border-top-right-radius: 4px; background: #DDD; color: #000;}"),require(["ace/ace"],function(e){window.ace=e
});