From 0a0d881d8ff30a6007b998e9bb9dddb999cca16e Mon Sep 17 00:00:00 2001 From: Don Kirkby Date: Tue, 31 Mar 2020 21:20:06 -0700 Subject: [PATCH] Deploy version 4.1.0. --- docs/_data/index_callouts.yml | 4 --- docs/_includes/footer-scripts.html | 2 +- docs/_includes/head-scripts.html | 2 +- docs/demo/asset-manifest.json | 16 +++++------ docs/demo/index.html | 1 - docs/demo/index.md | 5 ++++ ...nifest.2c0ae6029213c007c45492917ad78247.js | 22 +++++++++++++++ ...nifest.ee287c574c9918ccb1fdd3b5b678d9ea.js | 26 ------------------ docs/demo/pyodide/space-tracer.data | Bin 64393 -> 67795 bytes docs/demo/pyodide/space-tracer.js | 2 +- docs/demo/service-worker.js | 4 +-- docs/demo/static/css/2.50a24e6c.chunk.css | 2 -- docs/demo/static/css/2.50a24e6c.chunk.css.map | 1 - docs/demo/static/css/main.3ccb3958.chunk.css | 2 -- .../static/css/main.3ccb3958.chunk.css.map | 1 - docs/demo/static/css/main.e984f5aa.chunk.css | 2 ++ .../static/css/main.e984f5aa.chunk.css.map | 1 + docs/demo/static/js/2.e121100b.chunk.js | 2 ++ docs/demo/static/js/2.e121100b.chunk.js.map | 1 + docs/demo/static/js/2.e90ab9c9.chunk.js | 2 -- docs/demo/static/js/2.e90ab9c9.chunk.js.map | 1 - docs/demo/static/js/main.5d4d868f.chunk.js | 2 ++ .../demo/static/js/main.5d4d868f.chunk.js.map | 1 + docs/demo/static/js/main.fc59f0bc.chunk.js | 2 -- .../demo/static/js/main.fc59f0bc.chunk.js.map | 1 - docs/sublime-package/package.json | 6 ++++ .../python_live_coding_v4.1.0.zip | Bin 0 -> 36070 bytes emacs-live-py-mode/live-py-mode.el | 2 +- html/meta.yaml | 4 +-- plugin/PySrc/space_tracer/about.py | 2 +- pycharm/resources/META-INF/plugin.xml | 8 +++--- 31 files changed, 62 insertions(+), 65 deletions(-) delete mode 100644 docs/demo/index.html create mode 100644 docs/demo/index.md create mode 100644 docs/demo/precache-manifest.2c0ae6029213c007c45492917ad78247.js delete mode 100644 docs/demo/precache-manifest.ee287c574c9918ccb1fdd3b5b678d9ea.js delete mode 100644 docs/demo/static/css/2.50a24e6c.chunk.css delete mode 100644 docs/demo/static/css/2.50a24e6c.chunk.css.map delete mode 100644 docs/demo/static/css/main.3ccb3958.chunk.css delete mode 100644 docs/demo/static/css/main.3ccb3958.chunk.css.map create mode 100644 docs/demo/static/css/main.e984f5aa.chunk.css create mode 100644 docs/demo/static/css/main.e984f5aa.chunk.css.map create mode 100644 docs/demo/static/js/2.e121100b.chunk.js create mode 100644 docs/demo/static/js/2.e121100b.chunk.js.map delete mode 100644 docs/demo/static/js/2.e90ab9c9.chunk.js delete mode 100644 docs/demo/static/js/2.e90ab9c9.chunk.js.map create mode 100644 docs/demo/static/js/main.5d4d868f.chunk.js create mode 100644 docs/demo/static/js/main.5d4d868f.chunk.js.map delete mode 100644 docs/demo/static/js/main.fc59f0bc.chunk.js delete mode 100644 docs/demo/static/js/main.fc59f0bc.chunk.js.map create mode 100644 docs/sublime-package/python_live_coding_v4.1.0.zip diff --git a/docs/_data/index_callouts.yml b/docs/_data/index_callouts.yml index f5ca7d4b..daabec19 100644 --- a/docs/_data/index_callouts.yml +++ b/docs/_data/index_callouts.yml @@ -11,7 +11,3 @@ items: subtitle: Try it without installing call_to_action_name: Go call_to_action_link: /demo - - title: GitHub - subtitle: See our source code - call_to_action_name: View - call_to_action_link: https://github.com/donkirkby/live-py-plugin diff --git a/docs/_includes/footer-scripts.html b/docs/_includes/footer-scripts.html index 1641c140..b3cdfd9b 100644 --- a/docs/_includes/footer-scripts.html +++ b/docs/_includes/footer-scripts.html @@ -1,3 +1,3 @@ {% if page.is_react %} - + {% endif %} diff --git a/docs/_includes/head-scripts.html b/docs/_includes/head-scripts.html index bbd7696f..118854af 100644 --- a/docs/_includes/head-scripts.html +++ b/docs/_includes/head-scripts.html @@ -1,3 +1,3 @@ {% if page.is_react %} - + {% endif %} diff --git a/docs/demo/asset-manifest.json b/docs/demo/asset-manifest.json index 5dbcb554..e79345bd 100644 --- a/docs/demo/asset-manifest.json +++ b/docs/demo/asset-manifest.json @@ -1,15 +1,13 @@ { - "main.css": "./static/css/main.3ccb3958.chunk.css", - "main.js": "./static/js/main.fc59f0bc.chunk.js", - "main.js.map": "./static/js/main.fc59f0bc.chunk.js.map", + "main.css": "./static/css/main.e984f5aa.chunk.css", + "main.js": "./static/js/main.5d4d868f.chunk.js", + "main.js.map": "./static/js/main.5d4d868f.chunk.js.map", "runtime~main.js": "./static/js/runtime~main.d653cc00.js", "runtime~main.js.map": "./static/js/runtime~main.d653cc00.js.map", - "static/css/2.50a24e6c.chunk.css": "./static/css/2.50a24e6c.chunk.css", - "static/js/2.e90ab9c9.chunk.js": "./static/js/2.e90ab9c9.chunk.js", - "static/js/2.e90ab9c9.chunk.js.map": "./static/js/2.e90ab9c9.chunk.js.map", + "static/js/2.e121100b.chunk.js": "./static/js/2.e121100b.chunk.js", + "static/js/2.e121100b.chunk.js.map": "./static/js/2.e121100b.chunk.js.map", "index.html": "./index.html", - "precache-manifest.ee287c574c9918ccb1fdd3b5b678d9ea.js": "./precache-manifest.ee287c574c9918ccb1fdd3b5b678d9ea.js", + "precache-manifest.2c0ae6029213c007c45492917ad78247.js": "./precache-manifest.2c0ae6029213c007c45492917ad78247.js", "service-worker.js": "./service-worker.js", - "static/css/2.50a24e6c.chunk.css.map": "./static/css/2.50a24e6c.chunk.css.map", - "static/css/main.3ccb3958.chunk.css.map": "./static/css/main.3ccb3958.chunk.css.map" + "static/css/main.e984f5aa.chunk.css.map": "./static/css/main.e984f5aa.chunk.css.map" } \ No newline at end of file diff --git a/docs/demo/index.html b/docs/demo/index.html deleted file mode 100644 index 0773a061..00000000 --- a/docs/demo/index.html +++ /dev/null @@ -1 +0,0 @@ -Live Python in the Browser
\ No newline at end of file diff --git a/docs/demo/index.md b/docs/demo/index.md new file mode 100644 index 00000000..8edc994b --- /dev/null +++ b/docs/demo/index.md @@ -0,0 +1,5 @@ +--- +title: Live Python in the Browser +layout: react +is_react: True +--- diff --git a/docs/demo/precache-manifest.2c0ae6029213c007c45492917ad78247.js b/docs/demo/precache-manifest.2c0ae6029213c007c45492917ad78247.js new file mode 100644 index 00000000..d285984a --- /dev/null +++ b/docs/demo/precache-manifest.2c0ae6029213c007c45492917ad78247.js @@ -0,0 +1,22 @@ +self.__precacheManifest = [ + { + "revision": "58e80fb2f9360fc5f133", + "url": "./static/css/main.e984f5aa.chunk.css" + }, + { + "revision": "58e80fb2f9360fc5f133", + "url": "./static/js/main.5d4d868f.chunk.js" + }, + { + "revision": "8c97409f0ee389fe75da", + "url": "./static/js/runtime~main.d653cc00.js" + }, + { + "revision": "2ae13c5439a359aeaf93", + "url": "./static/js/2.e121100b.chunk.js" + }, + { + "revision": "6856e615e2ac303c057c712dda279fb9", + "url": "./index.html" + } +]; \ No newline at end of file diff --git a/docs/demo/precache-manifest.ee287c574c9918ccb1fdd3b5b678d9ea.js b/docs/demo/precache-manifest.ee287c574c9918ccb1fdd3b5b678d9ea.js deleted file mode 100644 index 626b425f..00000000 --- a/docs/demo/precache-manifest.ee287c574c9918ccb1fdd3b5b678d9ea.js +++ /dev/null @@ -1,26 +0,0 @@ -self.__precacheManifest = [ - { - "revision": "005ba80319a1a0d73d83", - "url": "./static/css/main.3ccb3958.chunk.css" - }, - { - "revision": "005ba80319a1a0d73d83", - "url": "./static/js/main.fc59f0bc.chunk.js" - }, - { - "revision": "8c97409f0ee389fe75da", - "url": "./static/js/runtime~main.d653cc00.js" - }, - { - "revision": "14f6a874468a3993be95", - "url": "./static/css/2.50a24e6c.chunk.css" - }, - { - "revision": "14f6a874468a3993be95", - "url": "./static/js/2.e90ab9c9.chunk.js" - }, - { - "revision": "0bfb434cfe736a36eb18c5e4c8768f86", - "url": "./index.html" - } -]; \ No newline at end of file diff --git a/docs/demo/pyodide/space-tracer.data b/docs/demo/pyodide/space-tracer.data index bb9677f65583c82fb55ca397d20595f32d05933c..08300cf995ccc7fd371b03e16616b5c71075132b 100644 GIT binary patch literal 67795 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 delta 41395 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,function(e,t,n){"use strict";e.exports=s;var r=n(84),i=r.CONTINUE,o=r.SKIP,a=r.EXIT;function s(e,t,n,i){"function"===typeof t&&"function"!==typeof n&&(i=n,n=t,t=null),r(e,t,function(e,t){var r=t[t.length-1],i=r?r.children.indexOf(e):null;return n(e,i,r)},i)}s.CONTINUE=i,s.SKIP=o,s.EXIT=a},function(e,t,n){"use strict";var r=n(73),i=n(74),o=n(11),a=n(75),s=n(76),l=n(77);e.exports=function(e,t){var n,o,a={};t||(t={});for(o in h)n=t[o],a[o]=null===n||void 0===n?h[o]:n;(a.position.indent||a.position.start)&&(a.indent=a.position.indent||[],a.position=a.position.start);return function(e,t){var n,o,a,h,j,$,z,W,H,U,q,V,G,K,Y,X,Q,J,Z,ee=t.additional,te=t.nonTerminated,ne=t.text,re=t.reference,ie=t.warning,oe=t.textContext,ae=t.referenceContext,se=t.warningContext,le=t.position,ce=t.indent||[],ue=e.length,de=0,he=-1,pe=le.column||1,fe=le.line||1,me="",ge=[];"string"===typeof ee&&(ee=ee.charCodeAt(0));X=ve(),W=ie?function(e,t){var n=ve();n.column+=t,n.offset+=t,ie.call(se,P[e],n,e)}:d,de--,ue++;for(;++de=55296&&be<=57343||be>1114111?(W(B,J),$=u(_)):$ in i?(W(M,J),$=i[$]):(U="",I($)&&W(M,J),$>65535&&(U+=u(($-=65536)>>>10|55296),$=56320|1023&$),$=U+u($))):K!==C&&W(O,J)),$?(ye(),X=ve(),de=Z-1,pe+=Z-G+1,ge.push($),(Q=ve()).offset++,re&&re.call(ae,$,{start:X,end:Q},e.slice(G-1,Z)),X=Q):(h=e.slice(G-1,Z),me+=h,pe+=h.length,de=Z-1)}else 10===j&&(fe++,he++,pe=0),j===j?(me+=u(j),pe++):ye();var be;return ge.join("");function ve(){return{line:fe,column:pe,offset:de+(le.offset||0)}}function ye(){me&&(ge.push(me),ne&&ne.call(oe,me,{start:X,end:ve()}),me="")}}(e,a)};var c={}.hasOwnProperty,u=String.fromCharCode,d=Function.prototype,h={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},p=9,f=10,m=12,g=32,b=38,v=59,y=60,w=61,k=35,x=88,E=120,_=65533,C="named",S="hexadecimal",T="decimal",A={};A[S]=16,A[T]=10;var F={};F[C]=s,F[T]=o,F[S]=a;var L=1,R=2,N=3,O=4,D=5,M=6,B=7,P={};function I(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535===(65535&e)||65534===(65535&e)}P[L]="Named character references must be terminated by a semicolon",P[R]="Numeric character references must be terminated by a semicolon",P[N]="Named character references cannot be empty",P[O]="Numeric character references cannot be empty",P[D]="Named character references must be known",P[M]="Numeric character references cannot be disallowed",P[B]="Numeric character references cannot be outside the permissible Unicode range"},function(e,t,n){"use strict";var r,i="";e.exports=function(e,t){if("string"!==typeof e)throw new TypeError("expected a string");if(1===t)return e;if(2===t)return e+e;var n=e.length*t;if(r!==e||"undefined"===typeof r)r=e,i="";else if(i.length>=n)return i.substr(0,n);for(;n>i.length&&t>1;)1&t&&(i+=e),t>>=1,e+=e;return i=(i+=e).substr(0,n)}},function(e,t,n){"use strict";e.exports=function(e){var t=String(e),n=t.length;for(;t.charAt(--n)===r;);return t.slice(0,n+1)};var r="\n"},function(e,t,n){"use strict";e.exports=function(e,t,n,r){var i,o,a,s,l,c,u=["pedantic","commonmark"],d=u.length,h=e.length,p=-1;for(;++pc))return!1;var d=s.get(e);if(d&&s.get(t))return d==t;var h=-1,p=!0,f=n&a?new Ce:void 0;for(s.set(e,t),s.set(t,e);++h-1},Ee.prototype.set=function(e,t){var n=this.__data__,r=Ae(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},_e.prototype.clear=function(){this.size=0,this.__data__={hash:new xe,map:new(ue||Ee),string:new xe}},_e.prototype.delete=function(e){var t=Be(this,e).delete(e);return this.size-=t?1:0,t},_e.prototype.get=function(e){return Be(this,e).get(e)},_e.prototype.has=function(e){return Be(this,e).has(e)},_e.prototype.set=function(e,t){var n=Be(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Ce.prototype.add=Ce.prototype.push=function(e){return this.__data__.set(e,i),this},Ce.prototype.has=function(e){return this.__data__.has(e)},Se.prototype.clear=function(){this.__data__=new Ee,this.size=0},Se.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Se.prototype.get=function(e){return this.__data__.get(e)},Se.prototype.has=function(e){return this.__data__.has(e)},Se.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Ee){var i=n.__data__;if(!ue||i.length-1&&e%1==0&&e-1&&e%1==0&&e<=s}function Ke(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ye(e){return null!=e&&"object"==typeof e}var Xe=j?function(e){return function(t){return e(t)}}(j):function(e){return Ye(e)&&Ge(e.length)&&!!L[Fe(e)]};function Qe(e){return null!=(t=e)&&Ge(t.length)&&!Ve(t)?Te(e):Oe(e);var t}n.exports=function(e,t){return Re(e,t)}}).call(this,n(21),n(47)(e))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getAceInstance=t.debounce=t.editorEvents=t.editorOptions=void 0;t.editorOptions=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"];t.editorEvents=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"];t.getAceInstance=function(){var e;return window.ace?(e=window.ace).acequire=window.ace.require||window.ace.acequire:e=n(23),e};t.debounce=function(e,t){var n=null;return function(){var r=this,i=arguments;clearTimeout(n),n=setTimeout(function(){e.apply(r,i)},t)}}},function(e,t,n){!function(){var e=function(){return this}();e||"undefined"==typeof window||(e=window);var t=function e(t,n,r){"string"===typeof t?(2==arguments.length&&(r=n),e.modules[t]||(e.payloads[t]=r,e.modules[t]=null)):e.original?e.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};t.modules={},t.payloads={};var n=function(e,t,n){if("string"===typeof t){var o=i(e,t);if(void 0!=o)return n&&n(),o}else if("[object Array]"===Object.prototype.toString.call(t)){for(var a=[],s=0,l=t.length;s1&&function(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r-1&&(n=RegExp(this.source,r.replace.call(((a=this).global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.extended?"x":"")+(a.sticky?"y":""),"g","")),r.replace.call(e.slice(s.index),n,function(){for(var e=1;es.index&&this.lastIndex--}return s},o||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=h.call(arguments,1),i=function r(){if(this instanceof r){var i=t.apply(this,n.concat(h.call(arguments)));return Object(i)===i?i:this}return t.apply(e,n.concat(h.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,i.prototype=new r,r.prototype=null),i});var i,o,a,s,l,c=Function.prototype.call,u=Array.prototype,d=Object.prototype,h=u.slice,p=c.bind(d.toString),f=c.bind(d.hasOwnProperty);if((l=f(d,"__defineGetter__"))&&(i=c.bind(d.__defineGetter__),o=c.bind(d.__defineSetter__),a=c.bind(d.__lookupGetter__),s=c.bind(d.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t,n=[];if(n.splice.apply(n,e(20)),n.splice.apply(n,e(26)),t=n.length,n.splice(5,0,"XXX"),n.length,t+1==n.length)return!0}()){var m=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?m.apply(this,[void 0===e?0:e,void 0===t?this.length-e:t].concat(h.call(arguments,2))):[]}}else Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):void 0==e?e=0:e<0&&(e=Math.max(n+e,0)),e+ts)for(d=c;d--;)this[l+d]=this[s+d];if(o&&e===u)this.length=u,this.push.apply(this,i);else for(this.length=u+o,d=0;d>>0;if("[object Function]"!=p(e))throw new TypeError;for(;++i>>0,i=Array(r),o=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var a=0;a>>0,o=[],a=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var s=0;s>>0,i=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var o=0;o>>0,i=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var o=0;o>>0;if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");if(!r&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var i,o=0;if(arguments.length>=2)i=arguments[1];else for(;;){if(o in n){i=n[o++];break}if(++o>=r)throw new TypeError("reduce of empty array with no initial value")}for(;o>>0;if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");if(!r&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var i,o=r-1;if(arguments.length>=2)i=arguments[1];else for(;;){if(o in n){i=n[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}do{o in this&&(i=e.call(void 0,i,n[o],o,t))}while(o--);return i}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var t=y&&"[object String]"==p(this)?this.split(""):N(this),n=t.length>>>0;if(!n)return-1;var r=0;for(arguments.length>1&&(r=R(arguments[1])),r=r>=0?r:Math.max(0,n+r);r>>0;if(!n)return-1;var r=n-1;for(arguments.length>1&&(r=Math.min(r,R(arguments[1]))),r=r>=0?r:n-Math.abs(r);r>=0;r--)if(r in t&&e===t[r])return r;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:d)}),!Object.getOwnPropertyDescriptor){Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.getOwnPropertyDescriptor called on a non-object: "+e);if(f(e,t)){var n;if(n={enumerable:!0,configurable:!0},l){var r=e.__proto__;e.__proto__=d;var i=a(e,t),o=s(e,t);if(e.__proto__=r,i||o)return i&&(n.get=i),o&&(n.set=o),n}return n.value=e[t],n}}}(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),Object.create)||(g=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(null===e)n=g();else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,(n=new r).__proto__=e}return void 0!==t&&Object.defineProperties(n,t),n});function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}if(Object.defineProperty){var k=w({}),x="undefined"==typeof document||w(document.createElement("div"));if(!k||!x)var E=Object.defineProperty}if(!Object.defineProperty||E){Object.defineProperty=function(e,t,n){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.defineProperty called on non-object: "+e);if("object"!=typeof n&&"function"!=typeof n||null===n)throw new TypeError("Property description must be an object: "+n);if(E)try{return E.call(Object,e,t,n)}catch(c){}if(f(n,"value"))if(l&&(a(e,t)||s(e,t))){var r=e.__proto__;e.__proto__=d,delete e[t],e[t]=n.value,e.__proto__=r}else e[t]=n.value;else{if(!l)throw new TypeError("getters & setters can not be defined on this javascript engine");f(n,"get")&&i(e,t,n.get),f(n,"set")&&o(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)f(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(O){Object.freeze=(b=Object.freeze,function(e){return"function"==typeof e?e:b(e)})}if(Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;for(var t="";f(e,t);)t+="?";e[t]=!0;var n=f(e,t);return delete e[t],n}),!Object.keys){var _=!0,C=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],S=C.length;for(var T in{toString:null})_=!1;Object.keys=function(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.keys called on a non-object");var t=[];for(var n in e)f(e,n)&&t.push(n);if(_)for(var r=0,i=S;r0||-1)*Math.floor(Math.abs(e))),e}var N=function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){"use strict";e("./regexp"),e("./es5-shim")}),ace.define("ace/lib/dom",["require","exports","module"],function(e,t,n){"use strict";t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||"http://www.w3.org/1999/xhtml",e):document.createElement(e)},t.hasCssClass=function(e,t){return-1!==(e.className+"").split(/\s+/g).indexOf(t)},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){for(var n=e.className.split(/\s+/g);;){var r=n.indexOf(t);if(-1==r)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){for(var n=e.className.split(/\s+/g),r=!0;;){var i=n.indexOf(t);if(-1==i)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n,r=0;if((t=t||document).createStyleSheet&&(n=t.styleSheets)){for(;r=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&"Gecko"===window.navigator.product,t.isOldGecko=t.isGecko&&parseInt((i.match(/rv:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(i.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(i.split(" Chrome/")[1])||void 0,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0,t.isIOS=/iPad|iPhone|iPod/.test(i)&&!window.MSStream,t.isIOS&&(t.isMac=!0)}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("./keys"),i=e("./useragent"),o=null,a=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){var r,i;t.addListener(e,"touchstart",function(e){var t=e.touches[0];r=t.clientX,i=t.clientY}),t.addListener(e,"touchmove",function(e){var t=e.touches;if(!(t.length>1)){var o=t[0];e.wheelX=r-o.clientX,e.wheelY=i-o.clientY,r=o.clientX,i=o.clientY,n(e)}})},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.35*e.deltaX||0,e.wheelY=.35*e.deltaY||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),n(e)})},t.addMultiMouseDownListener=function(e,n,r,o){var a,s,l,c=0,u={2:"dblclick",3:"tripleclick",4:"quadclick"};function d(e){if(0!==t.getButton(e)?c=0:e.detail>1?++c>4&&(c=1):c=1,i.isIE){var d=Math.abs(e.clientX-a)>5||Math.abs(e.clientY-s)>5;l&&!d||(c=1),l&&clearTimeout(l),l=setTimeout(function(){l=null},n[c-1]||600),1==c&&(a=e.clientX,s=e.clientY)}if(e._clicks=c,r[o]("mousedown",e),c>4)c=0;else if(c>1)return r[o](u[c],e)}function h(e){c=2,l&&clearTimeout(l),l=setTimeout(function(){l=null},n[c-1]||600),r[o]("mousedown",e),r[o](u[c],e)}Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",d),i.isOldIE&&t.addListener(e,"dblclick",h)})};var s=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};function l(e,t,n){var l=s(t);if(!i.isMac&&o){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(l|=8),o.altGr){if(3==(3&l))return;o.altGr=0}if(18===n||17===n){var c="location"in t?t.location:t.keyLocation;if(17===n&&1===c)1==o[n]&&(a=t.timeStamp);else if(18===n&&3===l&&2===c){t.timeStamp-a<50&&(o.altGr=!0)}}}if((n in r.MODIFIER_KEYS&&(n=-1),8&l&&n>=91&&n<=93&&(n=-1),!l&&13===n)&&(3===(c="location"in t?t.location:t.keyLocation)&&(e(t,l,-n),t.defaultPrevented)))return;if(i.isChromeOS&&8&l){if(e(t,l,n),t.defaultPrevented)return;l&=-9}return!!(l||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS)&&e(t,l,n)}function c(){o=Object.create(null)}if(t.getModifierString=function(e){return r.KEY_MODS[s(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var a=null;r(e,"keydown",function(e){a=e.keyCode}),r(e,"keypress",function(e){return l(n,e,a)})}else{var s=null;r(e,"keydown",function(e){o[e.keyCode]=(o[e.keyCode]||0)+1;var t=l(n,e,e.keyCode);return s=e.defaultPrevented,t}),r(e,"keypress",function(e){s&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),s=null)}),r(e,"keyup",function(e){o[e.keyCode]=null}),o||(c(),r(window,"focus",c))}},"object"==typeof window&&window.postMessage&&!i.isOldIE){t.nextTick=function(e,n){n=n||window;t.addListener(n,"message",function r(i){"zero-timeout-message-1"==i.data&&(t.stopPropagation(i),t.removeListener(n,"message",r),e())}),n.postMessage("zero-timeout-message-1","*")}}t.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var n="";t>0;)1&t&&(n+=e),(t>>=1)&&(e+=e);return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){for(var t=[],n=0,r=e.length;nd.length?e=e.substr(9):e.substr(0,4)==d.substr(0,4)?e=e.substr(4,e.length-d.length+1):e.charAt(e.length-1)==d.charAt(0)&&(e=e.slice(0,-1)),e==d.charAt(0)||e.charAt(e.length-1)==d.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),h&&(h=!1),_&&(_=!1))},S=function(e){if(!m){var t=n.value;C(t),x()}},T=function e(t,n,r){var i=t.clipboardData||window.clipboardData;if(i&&!c){var o=u||r?"Text":"text/plain";try{return n?!1!==i.setData(o,n):i.getData(o)}catch(t){if(!r)return e(t,n,!0)}}},A=function(e,o){var a=t.getCopyText();if(!a)return r.preventDefault(e);T(e,a)?(i.isIOS&&(p=o,n.value="\n aa"+a+"a a\n",n.setSelectionRange(4,4+a.length),h={value:a}),o?t.onCut():t.onCopy(),i.isIOS||r.preventDefault(e)):(h=!0,n.value=a,n.select(),setTimeout(function(){h=!1,x(),k(),o?t.onCut():t.onCopy()}))};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",function(e){!function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length}(n)?E&&k(t.selection.isEmpty()):(t.selectAll(),k())}),r.addListener(n,"input",S),r.addListener(n,"cut",function(e){A(e,!0)}),r.addListener(n,"copy",function(e){A(e,!1)}),r.addListener(n,"paste",function(e){var o=T(e);"string"==typeof o?(o&&t.onPaste(o,e),i.isIE&&setTimeout(k),r.preventDefault(e)):(n.value="",f=!0)});var F,L=function(){if(m&&t.onCompositionUpdate&&!t.$readOnly){var e=n.value.replace(/\x01/g,"");if(m.lastValue!==e&&(t.onCompositionUpdate(e),m.lastValue&&t.undo(),m.canUndo&&(m.lastValue=e),m.lastValue)){var r=t.selection.getRange();t.insert(m.lastValue),t.session.markUndoGroup(),m.range=t.selection.getRange(),t.selection.setRange(r),t.selection.clearSelection()}}},R=function e(r){if(t.onCompositionEnd&&!t.$readOnly){var o=m;m=!1;var a=setTimeout(function(){a=null;var e=n.value.replace(/\x01/g,"");m||(e==o.lastValue?x():!o.lastValue&&e&&(x(),C(e)))});E=function(e){return a&&clearTimeout(a),(e=e.replace(/\x01/g,""))==o.lastValue?"":(o.lastValue&&a&&t.undo(),e)},t.onCompositionEnd(),t.removeListener("mousedown",e),"compositionend"==r.type&&o.range&&t.selection.setRange(o.range),(i.isChrome&&i.isChrome>=53||i.isWebKit&&i.isWebKit>=603)&&S()}},N=a.delayedCall(L,50);function O(){clearTimeout(F),F=setTimeout(function(){g&&(n.style.cssText=g,g=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}r.addListener(n,"compositionstart",function(e){m||!t.onCompositionStart||t.$readOnly||((m={}).canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(L,0),t.on("mousedown",R),m.canUndo&&!t.selection.isEmpty()&&(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())}),i.isGecko?r.addListener(n,"text",function(){N.schedule()}):(r.addListener(n,"keyup",function(){N.schedule()}),r.addListener(n,"keydown",function(){N.schedule()})),r.addListener(n,"compositionend",R),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){_=!0,k(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,a){g||(g=n.style.cssText),n.style.cssText=(a?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var s=t.container.getBoundingClientRect(),l=o.computedStyle(t.container),c=s.top+(parseInt(l.borderTopWidth)||0),u=s.left+(parseInt(s.borderLeftWidth)||0),d=s.bottom-c-n.clientHeight-2,h=function(e){n.style.left=e.clientX-u-2+"px",n.style.top=Math.min(e.clientY-c-2,d)+"px"};h(e),"mousedown"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(F),i.isWin&&r.capture(t.container,h,O))},this.onContextMenuClose=O;var D=function(e){t.textInput.onContextMenu(e),O()};if(r.addListener(n,"mouseup",D),r.addListener(n,"mousedown",function(e){e.preventDefault(),O()}),r.addListener(t.renderer.scroller,"contextmenu",D),r.addListener(n,"contextmenu",D),i.isIOS){var M=null,B=!1;e.addEventListener("keydown",function(e){M&&clearTimeout(M),B=!0}),e.addEventListener("keyup",function(e){M=setTimeout(function(){B=!1},100)});var P=function(e){if(document.activeElement===n&&!B){if(p)return setTimeout(function(){p=!1},100);var r=n.selectionStart,i=n.selectionEnd;if(n.setSelectionRange(4,5),r==i)switch(r){case 0:t.onCommandKey(null,0,s.up);break;case 1:t.onCommandKey(null,0,s.home);break;case 2:t.onCommandKey(null,l.option,s.left);break;case 4:t.onCommandKey(null,0,s.left);break;case 5:t.onCommandKey(null,0,s.right);break;case 7:t.onCommandKey(null,l.option,s.right);break;case 8:t.onCommandKey(null,0,s.end);break;case 9:t.onCommandKey(null,0,s.down)}else{switch(i){case 6:t.onCommandKey(null,l.shift,s.right);break;case 7:t.onCommandKey(null,l.shift|l.option,s.right);break;case 8:t.onCommandKey(null,l.shift,s.end);break;case 9:t.onCommandKey(null,l.shift,s.down)}switch(r){case 0:t.onCommandKey(null,l.shift,s.up);break;case 1:t.onCommandKey(null,l.shift,s.home);break;case 2:t.onCommandKey(null,l.shift|l.option,s.left);break;case 3:t.onCommandKey(null,l.shift,s.left)}}}};document.addEventListener("selectionchange",P),t.on("destroy",function(){document.removeEventListener("selectionchange",P)})}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/keyboard/textinput_ios"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=e("../lib/dom"),a=e("../lib/lang"),s=i.isChrome<18,l=i.isIE,c=e("./textinput_ios").TextInput;t.TextInput=function(e,t){if(i.isIOS)return c.call(this,e,t);var n=o.createElement("textarea");n.className="ace_text-input",n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",e.insertBefore(n,e.firstChild);var u="\u2028\u2028",d=!1,h=!1,p=!1,f="",m=!0;try{var g=document.activeElement===n}catch(B){}r.addListener(n,"blur",function(e){t.onBlur(e),g=!1}),r.addListener(n,"focus",function(e){g=!0,t.onFocus(e),y()}),this.focus=function(){if(f)return n.focus();var e=n.style.top;n.style.position="fixed",n.style.top="0px",n.focus(),setTimeout(function(){n.style.position="","0px"==n.style.top&&(n.style.top=e)},0)},this.blur=function(){n.blur()},this.isFocused=function(){return g};var b=a.delayedCall(function(){g&&y(m)}),v=a.delayedCall(function(){p||(n.value=u,g&&y())});function y(e){if(!p){if(p=!0,k)var t=0,r=e?0:n.value.length-1;else t=e?2:1,r=2;try{n.setSelectionRange(t,r)}catch(B){}p=!1}}function w(){p||(n.value=u,i.isWebKit&&v.schedule())}i.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=m&&(m=!m,b.schedule())}),w(),g&&t.onFocus();var k=null;this.setInputHandler=function(e){k=e},this.getInputHandler=function(){return k};var x=!1,E=function(e){k&&(e=k(e),k=null),h?(y(),e&&t.onPaste(e),h=!1):e==u.charAt(0)?x?t.execCommand("del",{source:"ace"}):t.execCommand("backspace",{source:"ace"}):(e.substring(0,2)==u?e=e.substr(2):e.charAt(0)==u.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==u.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==u.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),x&&(x=!1)},_=function(e){if(!p){var t=n.value;E(t),w()}},C=function e(t,n,r){var i=t.clipboardData||window.clipboardData;if(i&&!s){var o=l||r?"Text":"text/plain";try{return n?!1!==i.setData(o,n):i.getData(o)}catch(t){if(!r)return e(t,n,!0)}}},S=function(e,i){var o=t.getCopyText();if(!o)return r.preventDefault(e);C(e,o)?(i?t.onCut():t.onCopy(),r.preventDefault(e)):(d=!0,n.value=o,n.select(),setTimeout(function(){d=!1,w(),y(),i?t.onCut():t.onCopy()}))},T=function(e){S(e,!0)},A=function(e){S(e,!1)},F=function(e){var o=C(e);"string"==typeof o?(o&&t.onPaste(o,e),i.isIE&&setTimeout(y),r.preventDefault(e)):(n.value="",h=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",function(e){d?d=!1:function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length}(n)?(t.selectAll(),y()):k&&y(t.selection.isEmpty())}),r.addListener(n,"input",_),r.addListener(n,"cut",T),r.addListener(n,"copy",A),r.addListener(n,"paste",F),"oncut"in n&&"oncopy"in n&&"onpaste"in n||r.addListener(e,"keydown",function(e){if((!i.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:A(e);break;case 86:F(e);break;case 88:T(e)}});var L,R=function(){if(p&&t.onCompositionUpdate&&!t.$readOnly){var e=n.value.replace(/\u2028/g,"");if(p.lastValue!==e&&(t.onCompositionUpdate(e),p.lastValue&&t.undo(),p.canUndo&&(p.lastValue=e),p.lastValue)){var r=t.selection.getRange();t.insert(p.lastValue),t.session.markUndoGroup(),p.range=t.selection.getRange(),t.selection.setRange(r),t.selection.clearSelection()}}},N=function e(r){if(t.onCompositionEnd&&!t.$readOnly){var o=p;p=!1;var a=setTimeout(function(){a=null;var e=n.value.replace(/\u2028/g,"");p||(e==o.lastValue?w():!o.lastValue&&e&&(w(),E(e)))});k=function(e){return a&&clearTimeout(a),(e=e.replace(/\u2028/g,""))==o.lastValue?"":(o.lastValue&&a&&t.undo(),e)},t.onCompositionEnd(),t.removeListener("mousedown",e),"compositionend"==r.type&&o.range&&t.selection.setRange(o.range),(i.isChrome&&i.isChrome>=53||i.isWebKit&&i.isWebKit>=603)&&_()}},O=a.delayedCall(R,50);function D(){clearTimeout(L),L=setTimeout(function(){f&&(n.style.cssText=f,f=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}r.addListener(n,"compositionstart",function(e){p||!t.onCompositionStart||t.$readOnly||((p={}).canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(R,0),t.on("mousedown",N),p.canUndo&&!t.selection.isEmpty()&&(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())}),i.isGecko?r.addListener(n,"text",function(){O.schedule()}):(r.addListener(n,"keyup",function(){O.schedule()}),r.addListener(n,"keydown",function(){O.schedule()})),r.addListener(n,"compositionend",N),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){x=!0,y(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,a){f||(f=n.style.cssText),n.style.cssText=(a?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var s=t.container.getBoundingClientRect(),l=o.computedStyle(t.container),c=s.top+(parseInt(l.borderTopWidth)||0),u=s.left+(parseInt(s.borderLeftWidth)||0),d=s.bottom-c-n.clientHeight-2,h=function(e){n.style.left=e.clientX-u-2+"px",n.style.top=Math.min(e.clientY-c-2,d)+"px"};h(e),"mousedown"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(L),i.isWin&&r.capture(t.container,h,D))},this.onContextMenuClose=D;var M=function(e){t.textInput.onContextMenu(e),D()};r.addListener(n,"mouseup",M),r.addListener(n,"mousedown",function(e){e.preventDefault(),D()}),r.addListener(t.renderer.scroller,"contextmenu",M),r.addListener(n,"contextmenu",M)}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";e("../lib/dom"),e("../lib/event");var r=e("../lib/useragent");function i(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e));["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function o(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)n=2*t.row-e.start.row-e.end.row;else var n=t.column-4;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,o=e.getButton();if(0!==o){var a=i.getSelectionRange().isEmpty();return i.$blockScrolling++,(a||1==o)&&i.selection.moveToPosition(n),i.$blockScrolling--,void(2==o&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault()))}return this.mousedownEvent.time=Date.now(),!t||i.isFocused()||(i.focus(),!this.$focusTimout||this.$clickSelection||i.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()):(this.setState("focusWait"),void this.captureMouse(e))},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(t.$blockScrolling++,this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(-1==r)e=this.$clickSelection.end;else if(1==r)e=this.$clickSelection.start;else{var i=o(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(n.$blockScrolling++,this.$clickSelection){var a=this.$clickSelection.comparePoint(i.start),s=this.$clickSelection.comparePoint(i.end);if(-1==a&&s<=0)t=this.$clickSelection.end,i.end.row==r.row&&i.end.column==r.column||(r=i.start);else if(1==s&&a>=0)t=this.$clickSelection.start,i.start.row==r.row&&i.start.column==r.column||(r=i.end);else if(-1==a&&1==s)r=i.end,t=i.start;else{var l=o(this.$clickSelection,r);r=l.cursor,t=l.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e,t,n,r,i=(e=this.mousedownEvent.x,t=this.mousedownEvent.y,n=this.x,r=this.y,Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))),o=Date.now();(i>0||o-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session.getBracketRange(t);r?(r.isEmpty()&&(r.start.column--,r.end.column++),this.setState("select")):(r=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=r,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=e.wheelX/i,a=e.wheelY/i;i<250&&(o=(o+n.vx)/2,a=(a+n.vy)/2);var s=Math.abs(o/a),l=!1;if(s>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),s<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l)n.allowed=r;else if(r-n.allowed<250){Math.abs(o)<=1.1*Math.abs(n.vx)&&Math.abs(a)<=1.1*Math.abs(n.vy)?(l=!0,n.allowed=r):n.allowed=0}return n.t=r,n.vx=o,n.vy=a,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}},this.onTouchMove=function(e){this.editor._emit("mousewheel",e)}}).call(i.prototype),t.DefaultHandlers=i}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";e("./lib/oop");var r=e("./lib/dom");function i(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}(function(){this.$init=function(){return this.$element=r.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){r.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){r.addCssClass(this.getElement(),e)},this.show=function(e,t,n){null!=e&&this.setText(e),null!=t&&null!=n&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(i.prototype),t.Tooltip=i}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),o=e("../lib/event"),a=e("../tooltip").Tooltip;function s(e){a.call(this,e)}i.inherits(s,a),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),o=this.getHeight();(e+=15)+i>n&&(e-=e+i-n),(t+=15)+o>r&&(t-=20+o),a.prototype.setPosition.call(this,e,t)}}.call(s.prototype),t.GutterHandler=function(e){var t,n,i,a=e.editor,l=a.renderer.$gutterLayer,c=new s(a.container);function u(){t&&(t=clearTimeout(t)),i&&(c.hide(),i=null,a._signal("hideGutterTooltip",c),a.removeEventListener("mousewheel",u))}function d(e){c.setPosition(e.x,e.y)}e.editor.setDefaultHandler("guttermousedown",function(t){if(a.isFocused()&&0==t.getButton()&&"foldWidgets"!=l.getRegion(t)){var n=t.getDocumentPosition().row,r=a.session.selection;if(t.getShiftKey())r.selectTo(n,0);else{if(2==t.domEvent.detail)return a.selectAll(),t.preventDefault();e.$clickSelection=a.selection.getLineRange(n)}return e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}}),e.editor.setDefaultHandler("guttermousemove",function(o){var s=o.domEvent.target||o.domEvent.srcElement;if(r.hasCssClass(s,"ace_fold-widget"))return u();i&&e.$tooltipFollowsMouse&&d(o),n=o,t||(t=setTimeout(function(){t=null,n&&!e.isMousePressed?function(){var t=n.getDocumentPosition().row,r=l.$annotations[t];if(!r)return u();if(t==a.session.getLength()){var o=a.renderer.pixelToScreenCoordinates(0,n.y).row,s=n.$pos;if(o>a.session.documentToScreenRow(s.row,s.column))return u()}if(i!=r)if(i=r.text.join("
"),c.setHtml(i),c.show(),a._signal("showGutterTooltip",c),a.on("mousewheel",u),e.$tooltipFollowsMouse)d(n);else{var h=n.domEvent.target.getBoundingClientRect(),p=c.getElement().style;p.left=h.right+"px",p.top=h.bottom+"px"}}():u()},50))}),o.addListener(a.renderer.$gutter,"mouseout",function(e){n=null,i&&!t&&(t=setTimeout(function(){t=null,u()},50))}),a.on("changeSession",u)}}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(o.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/event"),o=e("../lib/useragent"),a=200,s=200,l=5;function c(e){var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",o.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c,d,h,p,f,m,g,b,v,y,w,k=t.container,x=0;function E(){var e=m;(function(e,n){var r=Date.now(),i=!n||e.row!=n.row,o=!n||e.column!=n.column;!y||i||o?(t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,y=r,w={x:d,y:h}):u(w.x,w.y,d,h)>l?y=null:r-y>=s&&(t.renderer.scrollCursorIntoView(),y=null)})(m=t.renderer.screenToTextCoordinates(d,h),e),function(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,o=t.renderer.layerConfig.characterWidth,s=t.renderer.scroller.getBoundingClientRect(),l={x:{left:d-s.left,right:s.right-d},y:{top:h-s.top,bottom:s.bottom-h}},c=Math.min(l.x.left,l.x.right),u=Math.min(l.y.top,l.y.bottom),p={row:e.row,column:e.column};c/o<=2&&(p.column+=l.x.left=a&&t.renderer.scrollCursorIntoView(p):v=r:v=null}(m,e)}function _(){f=t.selection.toOrientedRange(),c=t.session.addMarker(f,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(p),E(),p=setInterval(E,20),x=0,i.addListener(document,"mousemove",T)}function C(){clearInterval(p),t.session.removeMarker(c),c=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(f),t.$blockScrolling-=1,t.isFocused()&&!b&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),f=null,m=null,x=0,v=null,y=null,i.removeListener(document,"mousemove",T)}this.onDragStart=function(e){if(this.cancelDrag||!k.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}f=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",o.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),o.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),b=!0,this.setState("drag")},this.onDragEnd=function(e){if(k.draggable=!1,b=!1,this.setState(null),!t.getReadOnly()){var n=e.dataTransfer.dropEffect;g||"move"!=n||t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(!t.getReadOnly()&&A(e.dataTransfer))return d=e.clientX,h=e.clientY,c||_(),x++,e.dataTransfer.dropEffect=g=F(e),i.preventDefault(e)},this.onDragOver=function(e){if(!t.getReadOnly()&&A(e.dataTransfer))return d=e.clientX,h=e.clientY,c||(_(),x++),null!==S&&(S=null),e.dataTransfer.dropEffect=g=F(e),i.preventDefault(e)},this.onDragLeave=function(e){if(--x<=0&&c)return C(),g=null,i.preventDefault(e)},this.onDrop=function(e){if(m){var n=e.dataTransfer;if(b)switch(g){case"move":f=f.contains(m.row,m.column)?{start:m,end:m}:t.moveText(f,m);break;case"copy":f=t.moveText(f,m,!0)}else{var r=n.getData("Text");f={start:m,end:t.session.insert(m,r)},t.focus(),g=null}return C(),i.preventDefault(e)}},i.addListener(k,"dragstart",this.onDragStart.bind(e)),i.addListener(k,"dragend",this.onDragEnd.bind(e)),i.addListener(k,"dragenter",this.onDragEnter.bind(e)),i.addListener(k,"dragover",this.onDragOver.bind(e)),i.addListener(k,"dragleave",this.onDragLeave.bind(e)),i.addListener(k,"drop",this.onDrop.bind(e));var S=null;function T(){null==S&&(S=setTimeout(function(){null!=S&&c&&C()},20))}function A(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return"text/plain"==e||"Text"==e})}function F(e){var t=["copy","copymove","all","uninitialized"],n=o.isMac?e.altKey:e.ctrlKey,r="uninitialized";try{r=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var i="none";return n&&t.indexOf(r)>=0?i="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(r)>=0?i="move":t.indexOf(r)>=0&&(i="copy"),i}}function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=o.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;o.isIE&&"dragReady"==this.state&&(u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&t.dragDrop());"dragWait"===this.state&&(u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition())))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton();if(1===(e.domEvent.detail||1)&&0===r&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var i=e.domEvent.target||e.domEvent.srcElement;if("unselectable"in i&&(i.unselectable="on"),t.getDragDelay()){if(o.isWebKit)this.cancelDrag=!0,t.container.draggable=!0;this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(c.prototype),t.DragdropHandler=c}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){4===n.readyState&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){!n&&i.readyState&&"loaded"!=i.readyState&&"complete"!=i.readyState||(i=i.onload=i.onreadystatechange=null,n||t())}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},o=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(n.length||r){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=o),n=n.slice();for(var a=0;a1&&(i=n[n.length-2]);var a=l[t+"Path"];return null==a?a=l.basePath:"/"==r&&(t=r=""),a&&"/"!=a.slice(-1)&&(a+="/"),a+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return l.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,a;Array.isArray(n)&&(a=n[0],n=n[1]);try{i=e(n)}catch(l){}if(i&&!t.$loading[n])return r&&r(i);if(t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r),!(t.$loading[n].length>1)){var s=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return s();o.loadScript(t.moduleUrl(n,a),s)}},c(!0),t.init=c}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),o=e("./default_handlers").DefaultHandlers,a=e("./default_gutter_handler").GutterHandler,s=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,c=e("../config"),u=function(e){var t=this;this.editor=e,new o(this),new a(this),new l(this);var n=function(t){(!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement()))&&window.focus(),e.focus()},s=e.renderer.getMouseEventTarget();r.addListener(s,"click",this.onMouseEvent.bind(this,"click")),r.addListener(s,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([s,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var c=e.renderer.$gutter;r.addListener(c,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(c,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(c,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(c,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(s,"mousedown",n),r.addListener(c,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),o=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?o.setCursorStyle("default"):o.setCursorStyle("")}})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new s(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;n&&n.length&&this.editor._emit(e,new s(t,this.editor))},this.onMouseWheel=function(e,t){var n=new s(t,this.editor);n.speed=2*this.$scrollSpeed,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new s(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var o=this,a=function(e){if(e){if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new s(e,o.editor),o.$mouseMoved=!0}},l=function(e){clearInterval(u),c(),o[o.state+"End"]&&o[o.state+"End"](e),o.state="",null==n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),o.isMousePressed=!1,o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent("mouseup",e)},c=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1};if(i.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout(function(){l(e)});o.$onCaptureMouseMove=a,o.releaseMouse=r.capture(this.editor.container,a,l);var u=setInterval(c,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&"contextmenu"!=t.domEvent.type||(this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(u.prototype),c.defineOptions(u.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=u}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";t.FoldHandler=function(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var n=t.getDocumentPosition().row,r=e.session;r.foldWidgets&&r.foldWidgets[n]&&e.session.onFoldWidgetClick(n,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){if("foldWidgets"==e.renderer.$gutterLayer.getRegion(t)){var n=t.getDocumentPosition().row,r=e.session,i=r.getParentFoldRangeData(n,!0),o=i.range||i.firstRange;if(o){n=o.start.row;var a=r.getFoldAt(n,r.getLine(n).length,1);a?r.removeFold(a):(r.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),o=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){"function"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);-1!=n&&this.$handlers.splice(n,1),void 0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==n&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1!=t&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){for(var o,a=!1,s=this.$editor.commands,l=this.$handlers.length;l--&&!((o=this.$handlers[l].handleKeyboard(this.$data,e,t,n,r))&&o.command&&((a="null"==o.command||s.exec(o.command,this.$editor,o.args,r))&&r&&-1!=e&&1!=o.passEvent&&1!=o.command.passEvent&&i.stopEvent(r),a)););return a||-1!=e||(o={command:"insertstring"},a=s.exec("insertstring",this.$editor,t)),a&&this.$editor._signal&&this.$editor._signal("keyboardActivity",o),a},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(o.prototype),t.KeyBinding=o}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,t,n){"use strict";var r=0,i=0,o=!1,a=!1,s=!1,l=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],c=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],u=1,d=0,h=1,p=2,f=3,m=4,g=5,b=6,v=7,y=8,w=9,k=10,x=11,E=12,_=13,C=14,S=15,T=16,A=17,F=18,L=[F,F,F,F,F,F,F,F,F,b,g,b,y,g,F,F,F,F,F,F,F,F,F,F,F,F,F,F,g,g,g,b,y,m,m,x,x,x,m,m,m,m,m,k,w,k,w,w,p,p,p,p,p,p,p,p,p,p,w,m,m,m,m,m,m,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,m,m,m,m,m,m,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,m,m,m,m,F,F,F,F,F,F,g,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,w,m,x,x,x,x,m,m,m,m,d,m,m,F,m,m,x,x,p,p,m,d,m,m,m,p,d,m,m,m,m,m],R=[y,y,y,y,y,y,y,y,y,y,y,F,F,F,d,h,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,y,g,_,C,S,T,A,w,x,x,x,x,x,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,w,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,y];function N(e,t,n){if(!(i=e){for(o=h+1;o=e;)o++;for(s=h,l=o-1;s=t.length||(l=n[i-1])!=p&&l!=f||(c=t[i+1])!=p&&c!=f?m:(o&&(c=f),c==l?c:m);case k:return(l=i>0?n[i-1]:g)==p&&i+10&&n[i-1]==p)return p;if(o)return m;for(L=i+1,u=t.length;L=1425&&N<=2303||64286==N;if(l=t[L],O&&(l==h||l==v))return h}return i<1||(l=t[i-1])==g?m:n[i-1];case g:return o=!1,a=!0,r;case b:return s=!0,m;case _:case C:case T:case A:case S:o=!1;case F:return m}}function D(e){var t=e.charCodeAt(0),n=t>>8;return 0==n?t>191?d:L[t]:5==n?/[\u0591-\u05f4]/.test(e)?h:d:6==n?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?E:/[\u0660-\u0669\u066b-\u066c]/.test(e)?f:1642==t?x:/[\u06f0-\u06f9]/.test(e)?p:v:32==n&&t<=8287?R[255&t]:254==n&&t>=65136?v:m}t.L=d,t.R=h,t.EN=p,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.DOT="\xb7",t.doBidiReorder=function(e,n,d){if(e.length<2)return{};var p=e.split(""),w=new Array(p.length),k=new Array(p.length),x=[];r=d?u:0,function(e,t,n,u){var d=r?c:l,h=null,p=null,f=null,m=0,v=null,w=-1,k=null,x=null,E=[];if(!u)for(k=0,u=[];k0)if(16==v){for(k=w;k-1){for(k=w;k=0&&u[_]==y;_--)t[_]=r}}(p,x,p.length,n);for(var E=0;Ev&&n[E]<_||n[E]===m||n[E]===F)?x[E]=t.ON_R:E>0&&"\u0644"===p[E-1]&&/\u0622|\u0623|\u0625|\u0627/.test(p[E])&&(x[E-1]=x[E]=t.R_H,E++);p[p.length-1]===t.DOT&&(x[p.length-1]=t.B);for(E=0;E=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var n,r=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(n=this.session.$getRowCacheIndex(t,this.currentRow-e-1))===r;)r=n,e++;return e},this.updateRowLine=function(e,t){if(void 0===e&&(e=this.getDocumentRow()),this.wrapIndent=0,this.isLastRow=e===this.session.getLength()-1,this.line=this.session.getLine(e),this.session.$useWrapMode){var n=this.session.$wrapData[e];n&&(void 0===t&&(t=this.getSplitIndex()),t>0&&n.length?(this.wrapIndent=n.indent,this.line=t0?e-1:0,this.bidiMap),n=this.bidiMap.bidiLevels,i=0;0===e&&n[t]%2!==0&&t++;for(var o=0;o=c&&in+a/2;){if(n+=a,i===o.length-1){a=0;break}a=this.charWidths[o[++i]]}return i>0&&o[i-1]%2!==0&&o[i]%2===0?(e0&&o[i-1]%2===0&&o[i]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[i]:this.bidiMap.logicalFromVisual[i-1]):this.isRtlDir&&i===o.length-1&&0===a&&o[i-1]%2===0||!this.isRtlDir&&0===i&&o[i]%2!==0?t=1+this.bidiMap.logicalFromVisual[i]:(i>0&&o[i-1]%2!==0&&0!==a&&i--,t=this.bidiMap.logicalFromVisual[i]),t+this.wrapIndent}}).call(s.prototype),t.BidiHandler=s}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,n=e.end,r=e.start;return 1==(t=this.compare(n.row,n.column))?1==(t=this.compare(r.row,r.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(r.row,r.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:tthis.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};else if(this.end.rowt)var i={row:t+1,column:0};else if(this.start.rowt.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?a.fromPoints(t,t):this.isBackwards()?a.fromPoints(t,e):a.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){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.getWordRange=function(e,t){if("undefined"==typeof t){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n,r="number"==typeof e?e:this.lead.row,i=this.session.getFoldLine(r);return i?(r=i.start.row,n=i.end.row):n=r,!0===t?new a(r,0,n,this.session.getLine(n).length):new a(r,0,n+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i)this.moveCursorTo(i.end.row,i.end.column);else{if(this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t)),t>=n.length)return this.moveCursorTo(e,n.length),this.moveCursorRight(),void(e0&&this.moveCursorWordLeft());this.session.tokenRe.exec(o)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,n)}},this.$shortWordEndIndex=function(e){var t,n=0,r=/\s/,i=this.session.tokenRe;if(i.lastIndex=0,this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{for(;(t=e[n])&&r.test(t);)n++;if(n<1)for(i.lastIndex=0;(t=e[n])&&!i.test(t);)if(i.lastIndex=0,n++,r.test(t)){if(n>2){n--;break}for(;(t=e[n])&&r.test(t);)n++;if(n>2)break}}return i.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var o=this.doc.getLength();do{e++,r=this.doc.getLine(e)}while(e0&&/^\s*$/.test(r));n=r.length,/\s+$/.test(r)||(r="")}var o=i.stringReverse(r),a=this.$shortWordEndIndex(o);return this.moveCursorTo(t,n-a)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n,r=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(r.row,this.lead.row)?(n=this.session.$bidiHandler.getPosLeft(r.column),r.column=Math.round(n/this.session.$bidiHandler.charWidths[0])):n=r.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?r.column=this.$desiredColumn:this.$desiredColumn=r.column);var i=this.session.screenToDocumentPosition(r.row+e,r.column,n);0!==e&&0===t&&i.row===this.lead.row&&i.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[i.row]&&(i.row>0||e>0)&&i.row++,this.moveCursorTo(i.row,i.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return a.fromPoints(t,n)}catch(r){return a.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else(e=this.getRange()).isBackwards=this.isBackwards();return e},this.fromJSON=function(e){if(void 0==e.start){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=a.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(s.prototype),t.Selection=s}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,o=function(e){for(var t in this.states=e,this.regExps={},this.matchMappings={},this.states){for(var n=this.states[t],r=[],i=0,o=this.matchMappings[t]={defaultToken:"text"},a="g",s=[],l=0;l1?this.$applyToken:c.token),d>1&&(/\\\d/.test(c.regex)?u=c.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(d=1,u=this.removeCapturingGroups(c.regex)),c.splitRegex||"string"==typeof c.token||s.push(c)),o[i]=l,i+=d,r.push(u),c.onMatch||(c.onMatch=null)}}r.length||(o[0]=0,r.push("$")),s.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,a)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",a)}};(function(){this.$setMaxTokenCount=function(e){i=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if("string"===typeof n)return[{type:n,value:e}];for(var r=[],i=0,o=n.length;iu){var b=e.substring(u,g-m.length);h.type==p?h.value+=b:(h.type&&c.push(h),h={type:p,value:b})}for(var v=0;vi){for(d>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});u1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:c,state:n.length?n:r}},this.reportError=r.reportError}).call(o.prototype),t.Tokenizer=o}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(t)for(var n in e){for(var r=e[n],i=0;i=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(void 0!==n)return n;for(n=0;t>0;)n+=e[t-=1].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(i.prototype),t.TokenIterator=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r,i=e("../../lib/oop"),o=e("../behaviour").Behaviour,a=e("../../token_iterator").TokenIterator,s=e("../../lib/lang"),l=["text","paren.rparen","punctuation.operator"],c=["text","paren.rparen","punctuation.operator","comment"],u={},d={'"':'"',"'":"'"},h=function(e){var t=-1;if(e.multiSelect&&(t=e.selection.index,u.rangeCount!=e.multiSelect.rangeCount&&(u={rangeCount:e.multiSelect.rangeCount})),u[t])return r=u[t];r=u[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},f=function e(t){this.add("braces","insertion",function(n,i,o,a,l){var c=o.getCursorPosition(),u=a.doc.getLine(c.row);if("{"==l){h(o);var d=o.getSelectionRange(),f=a.doc.getTextRange(d);if(""!==f&&"{"!==f&&o.getWrapBehavioursEnabled())return p(d,f,"{","}");if(e.isSaneInsertion(o,a))return/[\]\}\)]/.test(u[c.column])||o.inMultiSelectMode||t&&t.braces?(e.recordAutoInsert(o,a,"}"),{text:"{}",selection:[1,1]}):(e.recordMaybeInsert(o,a,"{"),{text:"{",selection:[1,1]})}else if("}"==l){if(h(o),"}"==u.substring(c.column,c.column+1))if(null!==a.$findOpeningBracket("}",{column:c.column+1,row:c.row})&&e.isAutoInsertedClosing(c,u,l))return e.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==l||"\r\n"==l){h(o);var m="";if(e.isMaybeInsertedClosing(c,u)&&(m=s.stringRepeat("}",r.maybeInsertedBrackets),e.clearMaybeInsertedClosing()),"}"===u.substring(c.column,c.column+1)){var g=a.findMatchingBracket({row:c.row,column:c.column+1},"}");if(!g)return null;var b=this.$getIndent(a.getLine(g.row))}else{if(!m)return void e.clearMaybeInsertedClosing();b=this.$getIndent(u)}var v=b+a.getTabString();return{text:"\n"+v+"\n"+b+m,selection:[1,v.length,1,v.length]}}e.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,i,o){var a=i.doc.getTextRange(o);if(!o.isMultiLine()&&"{"==a){if(h(n),"}"==i.doc.getLine(o.start.row).substring(o.end.column,o.end.column+1))return o.end.column++,o;r.maybeInsertedBrackets--}}),this.add("parens","insertion",function(t,n,r,i,o){if("("==o){h(r);var a=r.getSelectionRange(),s=i.doc.getTextRange(a);if(""!==s&&r.getWrapBehavioursEnabled())return p(a,s,"(",")");if(e.isSaneInsertion(r,i))return e.recordAutoInsert(r,i,")"),{text:"()",selection:[1,1]}}else if(")"==o){h(r);var l=r.getCursorPosition(),c=i.doc.getLine(l.row);if(")"==c.substring(l.column,l.column+1))if(null!==i.$findOpeningBracket(")",{column:l.column+1,row:l.row})&&e.isAutoInsertedClosing(l,c,o))return e.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("parens","deletion",function(e,t,n,r,i){var o=r.doc.getTextRange(i);if(!i.isMultiLine()&&"("==o&&(h(n),")"==r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)))return i.end.column++,i}),this.add("brackets","insertion",function(t,n,r,i,o){if("["==o){h(r);var a=r.getSelectionRange(),s=i.doc.getTextRange(a);if(""!==s&&r.getWrapBehavioursEnabled())return p(a,s,"[","]");if(e.isSaneInsertion(r,i))return e.recordAutoInsert(r,i,"]"),{text:"[]",selection:[1,1]}}else if("]"==o){h(r);var l=r.getCursorPosition(),c=i.doc.getLine(l.row);if("]"==c.substring(l.column,l.column+1))if(null!==i.$findOpeningBracket("]",{column:l.column+1,row:l.row})&&e.isAutoInsertedClosing(l,c,o))return e.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("brackets","deletion",function(e,t,n,r,i){var o=r.doc.getTextRange(i);if(!i.isMultiLine()&&"["==o&&(h(n),"]"==r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)))return i.end.column++,i}),this.add("string_dquotes","insertion",function(e,t,n,r,i){var o=r.$mode.$quotes||d;if(1==i.length&&o[i]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(i))return;h(n);var a=i,s=n.getSelectionRange(),l=r.doc.getTextRange(s);if(!(""===l||1==l.length&&o[l])&&n.getWrapBehavioursEnabled())return p(s,l,a,a);if(!l){var c=n.getCursorPosition(),u=r.doc.getLine(c.row),f=u.substring(c.column-1,c.column),m=u.substring(c.column,c.column+1),g=r.getTokenAt(c.row,c.column),b=r.getTokenAt(c.row,c.column+1);if("\\"==f&&g&&/escape/.test(g.type))return null;var v,y=g&&/string|escape/.test(g.type),w=!b||/string|escape/.test(b.type);if(m==a)(v=y!==w)&&/string\.end/.test(b.type)&&(v=!1);else{if(y&&!w)return null;if(y&&w)return null;var k=r.$mode.tokenRe;k.lastIndex=0;var x=k.test(f);k.lastIndex=0;var E=k.test(f);if(x||E)return null;if(m&&!/[\s;,.})\]\\]/.test(m))return null;v=!0}return{text:v?a+a:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var o=r.doc.getTextRange(i);if(!i.isMultiLine()&&('"'==o||"'"==o)&&(h(n),r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)==o))return i.end.column++,i})};f.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new a(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",l)){var i=new a(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",l))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",c)},f.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},f.recordAutoInsert=function(e,t,n){var i=e.getCursorPosition(),o=t.doc.getLine(i.row);this.isAutoInsertedClosing(i,o,r.autoInsertedLineEnd[0])||(r.autoInsertedBrackets=0),r.autoInsertedRow=i.row,r.autoInsertedLineEnd=n+o.substr(i.column),r.autoInsertedBrackets++},f.recordMaybeInsert=function(e,t,n){var i=e.getCursorPosition(),o=t.doc.getLine(i.row);this.isMaybeInsertedClosing(i,o)||(r.maybeInsertedBrackets=0),r.maybeInsertedRow=i.row,r.maybeInsertedLineStart=o.substr(0,i.column)+n,r.maybeInsertedLineEnd=o.substr(i.column),r.maybeInsertedBrackets++},f.isAutoInsertedClosing=function(e,t,n){return r.autoInsertedBrackets>0&&e.row===r.autoInsertedRow&&n===r.autoInsertedLineEnd[0]&&t.substr(e.column)===r.autoInsertedLineEnd},f.isMaybeInsertedClosing=function(e,t){return r.maybeInsertedBrackets>0&&e.row===r.maybeInsertedRow&&t.substr(e.column)===r.maybeInsertedLineEnd&&t.substr(0,e.column)==r.maybeInsertedLineStart},f.popAutoInsertedClosing=function(){r.autoInsertedLineEnd=r.autoInsertedLineEnd.substr(1),r.autoInsertedBrackets--},f.clearMaybeInsertedClosing=function(){r&&(r.maybeInsertedBrackets=0,r.maybeInsertedRow=-1)},i.inherits(f,o),t.CstyleBehaviour=f}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";t.packages={},function(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}({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"})}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,a=e("../unicode"),s=e("../lib/lang"),l=e("../token_iterator").TokenIterator,c=e("../range").Range,u=function(){this.HighlightRules=i};(function(){this.$defaultBehaviour=new o,this.tokenRe=new RegExp("^["+a.packages.L+a.packages.Mn+a.packages.Mc+a.packages.Nd+a.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+a.packages.L+a.packages.Mn+a.packages.Mc+a.packages.Nd+a.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){var i=t.doc,o=!0,a=!0,l=1/0,c=t.getTabSize(),u=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))m=this.lineCommentStart.map(s.escapeRegExp).join("|"),p=this.lineCommentStart[0];else m=s.escapeRegExp(this.lineCommentStart),p=this.lineCommentStart;m=new RegExp("^(\\s*)(?:"+m+") ?"),u=t.getUseSoftTabs();v=function(e,t){var n=e.match(m);if(n){var r=n[1].length,o=n[0].length;h(e,r,o)||" "!=n[0][o-1]||o--,i.removeInLine(t,r,o)}};var d=p+" ",h=(b=function(e,t){o&&!/\S/.test(e)||(h(e,l,l)?i.insertInLine({row:t,column:l},d):i.insertInLine({row:t,column:l},p))},y=function(e,t){return m.test(e)},function(e,t,n){for(var r=0;t--&&" "==e.charAt(t);)r++;if(r%c!=0)return!1;for(r=0;" "==e.charAt(n++);)r++;return c>2?r%c!=c-1:r%c==0})}else{if(!this.blockComment)return!1;var p=this.blockComment.start,f=this.blockComment.end,m=new RegExp("^(\\s*)(?:"+s.escapeRegExp(p)+")"),g=new RegExp("(?:"+s.escapeRegExp(f)+")\\s*$"),b=function(e,t){y(e,t)||o&&!/\S/.test(e)||(i.insertInLine({row:t,column:e.length},f),i.insertInLine({row:t,column:l},p))},v=function(e,t){var n;(n=e.match(g))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(m))&&i.removeInLine(t,n[1].length,n[0].length)},y=function(e,n){if(m.test(e))return!0;for(var r=t.getTokens(n),i=0;ie.length&&(k=e.length)}),l==1/0&&(l=k,o=!1,a=!1),u&&l%c!=0&&(l=Math.floor(l/c)*c),w(a?v:b)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(i){!i.start&&i[0]&&(i=i[0]);var o,a,s=(m=new l(t,r.row,r.column)).getCurrentToken(),u=(t.selection,t.selection.toOrientedRange());if(s&&/comment/.test(s.type)){for(var d,h;s&&/comment/.test(s.type);){if(-1!=(g=s.value.indexOf(i.start))){var p=m.getCurrentTokenRow(),f=m.getCurrentTokenColumn()+g;d=new c(p,f,p,f+i.start.length);break}s=m.stepBackward()}var m;for(s=(m=new l(t,r.row,r.column)).getCurrentToken();s&&/comment/.test(s.type);){var g;if(-1!=(g=s.value.indexOf(i.end))){p=m.getCurrentTokenRow(),f=m.getCurrentTokenColumn()+g;h=new c(p,f,p,f+i.end.length);break}s=m.stepForward()}h&&t.remove(h),d&&(t.remove(d),o=d.start.row,a=-i.start.length)}else a=i.start.length,o=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);u.start.row==o&&(u.start.column+=a),u.end.row==o&&(u.end.column+=a),t.selection.fromOrientedRange(u)}},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var t in this.$embeds=[],this.$modes={},e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(t=0;tthis.row)){var n=function(t,n,r){var i="insert"==t.action,o=(i?1:-1)*(t.end.row-t.start.row),a=(i?1:-1)*(t.end.column-t.start.column),s=t.start,l=i?s:t.end;if(e(n,s,r))return{row:n.row,column:n.column};if(e(l,n,!r))return{row:n.row+o,column:n.column+(n.row==l.row?a:0)};return{row:s.row,column:s.column}}(t,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},this.setPosition=function(e,t,n){var r;if(r=n?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=r.row||this.column!=r.column){var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(o.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,o=e("./lib/event_emitter").EventEmitter,a=e("./range").Range,s=e("./anchor").Anchor,l=function(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,o),this.setValue=function(e){var t=this.getLength()-1;this.remove(new a(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new s(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},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){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();void 0===e?e=n:e<0?e=0:e>=n&&(e=n-1,t=void 0);var r=this.getLine(e);return void 0==t&&(t=r.length),{row:e,column:t=Math.min(Math.max(t,0),r.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},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.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var n=0;(e=Math.min(Math.max(e,0),this.getLength()))0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){return e instanceof a||(e=a.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty()?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n="insert"==e.action;(n?e.lines.length<=1&&!e.lines[0]:!a.comparePoints(e.start,e.end))||(n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){for(var n=e.lines,r=n.length,i=e.start.row,o=e.start.column,a=0,s=0;;){a=s,s+=t-1;var l=n.slice(a,s);if(s>r){e.lines=l,e.start.row=i+a,e.start.column=o;break}l.push(""),this.applyDelta({start:this.pos(i+a,o),end:this.pos(i+s,o=0),action:e.action,lines:l},!0)}},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:"insert"==e.action?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=t||0,o=n.length;i20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,-1==r&&(r=t),o<=r&&n.fireUpdateEvent(o,r)}}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.lines[t]=null;else if("remove"==e.action)this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!==r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(o.prototype),t.BackgroundTokenizer=o}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=(e("./lib/oop"),e("./range").Range),o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,n,o){if(this.regExp)for(var a=o.firstRow,s=o.lastRow,l=a;l<=s;l++){var c=this.cache[l];null==c&&((c=r.getMatchOffsets(n.getLine(l),this.regExp)).length>this.MAX_RANGES&&(c=c.slice(0,this.MAX_RANGES)),c=c.map(function(e){return new i(l,e.offset,l,e.offset+e.length)}),this.cache[l]=c.length?c:"");for(var u=c.length;u--;)t.drawSingleLineMarker(e,c[u].toScreenRange(n),this.clazz,o)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range;function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}(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.rowthis.endRow)throw new Error("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):this.range.compareStart(e.end.row,e.end.column)<0&&(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 new Error("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&&e<=this.end.row},this.walk=function(e,t,n){var r,i,o=0,a=this.folds,s=!0;null==t&&(t=this.end.row,n=this.end.column);for(var l=0;l0)){var l=r(e,a.start);return 0===s?t&&0!==l?-o-2:o:l>0||0===l&&!t?o:-o-1}}return-o-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){for(var t=[],n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){for(var e,t=[],n=this.ranges,i=(n=n.sort(function(e,t){return r(e.start,t.start)}))[0],o=1;o=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowr)break;if(c.start.row==r&&c.start.column>=t.column&&(c.start.column==t.column&&this.$insertRight||(c.start.column+=o,c.start.row+=i)),c.end.row==r&&c.end.column>=t.column){if(c.end.column==t.column&&this.$insertRight)continue;c.end.column==t.column&&o>0&&sc.start.column&&c.end.column==a[s+1].start.column&&(c.end.column-=o),c.end.column+=o,c.end.row+=i}}}if(0!=i&&s=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),-1==r&&(r=0);r=e)return i}return null},this.getFoldedRowCount=function(e,t){for(var n=this.$foldData,r=t-e+1,i=0;i=t){s=e?r-=t-s:r=0);break}a>=e&&(r-=s>=e?a-s:a-e+1)}return r},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 n,r=this.$foldData,a=!1;e instanceof o?n=e:(n=new o(t,e)).collapseChildren=t.collapseChildren,this.$clipRangeToDocument(n.range);var s=n.start.row,l=n.start.column,c=n.end.row,u=n.end.column;if(!(s0&&(this.removeFolds(p),p.forEach(function(e){n.addSubFold(e)}));for(var f=0;f0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;if(null==e?(n=new r(0,0,this.getLength(),0),t=!0):n="number"==typeof e?new r(e,0,e,this.getLine(e).length):"row"in e?r.fromPoints(e,e):e,i=this.getFoldsInRangeList(n),t)this.removeFolds(i);else for(var o=i;o.length;)this.expandFolds(o),o=this.getFoldsInRangeList(n);if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){null==r&&(r=e.start.row),null==i&&(i=0),null==t&&(t=e.end.row),null==n&&(n=this.getLine(t).length);var o=this.doc,a="";return e.walk(function(e,t,n,s){if(!(tu)break}while(o&&l.test(o.type));o=i.stepBackward()}else o=i.getCurrentToken();return c.end.row=i.getCurrentTokenRow(),c.end.column=i.getCurrentTokenColumn()+o.value.length-2,c}},this.foldAll=function(e,t,n){void 0==n&&(n=1e5);var r=this.foldWidgets;if(r){t=t||this.getLength();for(var i=e=e||0;i=e){i=o.end.row;try{var a=this.addFold("...",o);a&&(a.collapseChildren=n)}catch(s){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){this.$foldStyle=e,"manual"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){this.$foldMode!=e&&(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),e&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};for(var r,i=e-1;i>=0;){var o=n[i];if(null==o&&(o=n[i]=this.getFoldWidget(i)),"start"==o){var a=this.getFoldWidgetRange(i);if(r||(r=a),a&&a.end.row>=e)break}i--}return{range:-1!==i&&a,firstRange:r}},this.onFoldWidgetClick=function(e,t){var n={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,n)){var r=t.target||t.srcElement;r&&/ace_fold-widget/.test(r.className)&&(r.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var n=this.getFoldWidget(e),r=this.getLine(e),i="end"===n?-1:1,o=this.getFoldAt(e,-1===i?0:r.length,i);if(o)return t.children||t.all?this.removeFold(o):this.expandFold(o),o;var a=this.getFoldWidgetRange(e,!0);if(a&&!a.isMultiLine()&&(o=this.getFoldAt(a.start.row,a.start.column,1))&&a.isEqual(o.range))return this.removeFold(o),o;if(t.siblings){var s=this.getParentFoldRangeData(e);if(s.range)var l=s.range.start.row+1,c=s.range.end.row;this.foldAll(l,c,t.all?1e4:0)}else t.children?(c=a?a.end.row:this.getLength(),this.foldAll(e+1,c,t.all?1e4:0)):a&&(t.all&&(a.collapseChildren=1e4),this.addFold("...",a));return a}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(!n){var r=this.getParentFoldRangeData(t,!0);if(n=r.range||r.firstRange){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(""==n)return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t,n=this.getLine(e.row),r=!0,o=n.charAt(e.column-1),a=o&&o.match(/([\(\[\{])|([\)\]\}])/);if(a||(o=n.charAt(e.column),e={row:e.row,column:e.column+1},a=o&&o.match(/([\(\[\{])|([\)\]\}])/),r=!1),!a)return null;if(a[1]){if(!(s=this.$findClosingBracket(a[1],e)))return null;t=i.fromPoints(e,s),r||(t.end.column++,t.start.column--),t.cursor=t.end}else{var s;if(!(s=this.$findOpeningBracket(a[2],e)))return null;t=i.fromPoints(s,e),r||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],o=1,a=new r(this,t.row,t.column),s=a.getCurrentToken();if(s||(s=a.stepForward()),s){n||(n=new RegExp("(\\.?"+s.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var l=t.column-a.getCurrentTokenColumn()-2,c=s.value;;){for(;l>=0;){var u=c.charAt(l);if(u==i){if(0==(o-=1))return{row:a.getCurrentTokenRow(),column:l+a.getCurrentTokenColumn()}}else u==e&&(o+=1);l-=1}do{s=a.stepBackward()}while(s&&!n.test(s.type));if(null==s)break;l=(c=s.value).length-1}return null}},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],o=1,a=new r(this,t.row,t.column),s=a.getCurrentToken();if(s||(s=a.stepForward()),s){n||(n=new RegExp("(\\.?"+s.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var l=t.column-a.getCurrentTokenColumn();;){for(var c=s.value,u=c.length;ln&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){for(var n=0,r=e.length-1;n<=r;){var i=n+r>>1,o=e[i];if(t>o)n=i+1;else{if(!(t=t);o++);return(n=r[o])?(n.index=o,n.start=i-n.value.length,n):null},this.setUndoManager=function(e){if(this.$undoManager=e,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],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):"\t"},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe)),r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))i=/\s/;else i=this.nonTokenRe;var o=t;if(o>0){do{o--}while(o>=0&&n.charAt(o).match(i));o++}for(var a=t;ae&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,o=this.$foldData[i],a=o?o.start.row:1/0,s=t.length,l=0;la){if((l=o.end.row+1)>=s)break;a=(o=this.$foldData[i++])?o.start.row:1/0}null==n[l]&&(n[l]=this.$getStringScreenWidth(t[l])[0]),n[l]>r&&(r=n[l])}this.screenWidth=r}},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.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=null,r=e.length-1;-1!=r;r--){var i=e[r];"doc"==i.group?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=null,r=0;re.end.column&&(o.start.column+=c),o.end.row==e.end.row&&o.end.column>e.end.column&&(o.end.column+=c)),a&&o.start.row>=e.end.row&&(o.start.row+=a,o.end.row+=a)}if(o.end=this.insert(o.start,r),i.length){var s=e.start,l=o.start,c=(a=l.row-s.row,l.column-s.column);this.addFolds(i.map(function(e){return(e=e.clone()).start.row==s.row&&(e.start.column+=c),e.end.row==s.row&&(e.end.column+=c),e.start.row+=a,e.end.row+=a,e}))}return o},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){for(var t=e.collapseRows(),n=new u(0,0,0,0),r=this.getTabSize(),i=t.start.row;i<=t.end.row;++i){var o=this.getLine(i);n.start.row=i,n.end.row=i;for(var a=0;a0){var i;if((i=this.getRowFoldEnd(t+n))>this.doc.getLength()-1)return 0;r=i-t}else{e=this.$clipRowToDocument(e);r=(t=this.$clipRowToDocument(t))-e+1}var o=new u(e,0,t,Number.MAX_VALUE),a=this.getFoldsInRange(o).map(function(e){return(e=e.clone()).start.row+=r,e.end.row+=r,e}),s=0==n?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+r,s),a.length&&this.addFolds(a),r},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},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();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1&&(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,o=r.row,a=i.row,s=a-o,l=null;if(this.$updating=!0,0!=s)if("remove"===n){this[t?"$wrapData":"$rowLengthCache"].splice(o,s);var c=this.$foldData;l=this.getFoldsInRange(e),this.removeFolds(l);var u=0;if(m=this.getFoldLine(i.row)){m.addRemoveChars(i.row,i.column,r.column-i.column),m.shiftRow(-s);var d=this.getFoldLine(o);d&&d!==m&&(d.merge(m),m=d),u=c.indexOf(m)+1}for(;u=i.row&&m.shiftRow(-s)}a=o}else{var h=Array(s);h.unshift(o,0);var p=t?this.$wrapData:this.$rowLengthCache;p.splice.apply(p,h);c=this.$foldData,u=0;if(m=this.getFoldLine(o)){var f=m.range.compareInside(r.row,r.column);0==f?(m=m.split(r.row,r.column))&&(m.shiftRow(s),m.addRemoveChars(a,0,i.column-r.column)):-1==f&&(m.addRemoveChars(o,0,i.column-r.column),m.shiftRow(s)),u=c.indexOf(m)+1}for(;u=o&&m.shiftRow(s)}}else s=Math.abs(e.start.column-e.end.column),"remove"===n&&(l=this.getFoldsInRange(e),this.removeFolds(l),s=-s),(m=this.getFoldLine(o))&&m.addRemoveChars(o,r.column,s);return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,a):this.$updateRowLengthCache(o,a),l},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(n,r){var i,o,a=this.doc.getAllLines(),s=this.getTabSize(),l=this.$wrapData,c=this.$wrapLimit,u=n;for(r=Math.min(r,a.length-1);u<=r;)(o=this.getFoldLine(u,o))?(i=[],o.walk(function(n,r,o,s){var l;if(null!=n){(l=this.$getDisplayTokens(n,i.length))[0]=e;for(var c=1;c=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510)}this.$computeWrapSplits=function(r,i,a){if(0==r.length)return[];var s=[],c=r.length,u=0,d=0,h=this.$wrapAsCode,p=this.$indentedSoftWrap,f=i<=Math.max(2*a,8)||!1===p?0:Math.floor(i/2);function m(e){var t=r.slice(u,e),i=t.length;t.join("").replace(/12/g,function(){i-=1}).replace(/2/g,function(){i-=1}),s.length||(g=function(){var e=0;if(0===f)return e;if(p)for(var t=0;ti-g;){var b=u+i-g;if(r[b-1]>=n&&r[b]>=n)m(b);else if(r[b]!=e&&r[b]!=t){for(var v=Math.max(b-(i-(i>>2)),u-1);b>v&&r[b]v&&r[b]v&&9==r[b];)b--}else for(;b>v&&r[b]v?m(++b):(2==r[b=u+i]&&b--,m(b-g))}else{for(;b!=u-1&&r[b]!=e;b--);if(b>u){m(b);continue}for(b=u+i;b39&&s<48||s>57&&s<64?i.push(9):s>=4352&&d(s)?i.push(1,2):i.push(1)}return i},this.$getStringScreenWidth=function(e,t,n){if(0==t)return[0,0];var r,i;for(null==t&&(t=1/0),n=n||0,i=0;i=4352&&d(r)?n+=2:n+=1,!(n>t));i++);return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0){s=c[u],o=this.$docRowCache[u];var h=e>c[d-1]}else h=!d;for(var p=this.getLength()-1,f=this.getNextFoldLine(o),m=f?f.start.row:1/0;s<=e&&!(s+(l=this.getRowLength(o))>e||o>=p);)s+=l,++o>m&&(o=f.end.row+1,m=(f=this.getNextFoldLine(o,f))?f.start.row:1/0),h&&(this.$docRowCache.push(o),this.$screenRowCache.push(s));if(f&&f.start.row<=o)r=this.getFoldDisplayLine(f),o=f.start.row;else{if(s+l<=e||o>p)return{row:p,column:this.getLine(p).length};r=this.getLine(o),f=null}var g=0,b=Math.floor(e-s);if(this.$useWrapMode){var v=this.$wrapData[o];v&&(i=v[b],b>0&&v.length&&(g=v.indent,a=v[b-1]||v[v.length-1],r=r.substring(a)))}return void 0!==n&&this.$bidiHandler.isBidiRow(s+b,o,b)&&(t=this.$bidiHandler.offsetToCol(n)),a+=this.$getStringScreenWidth(r,t-g)[1],this.$useWrapMode&&a>=i&&(a=i-1),f?f.idxToPosition(a):{row:o,column:a}},this.documentToScreenPosition=function(e,t){if("undefined"===typeof t)var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r,i=0,o=null;(r=this.getFoldAt(e,t,1))&&(e=r.start.row,t=r.start.column);var a,s=0,l=this.$docRowCache,c=this.$getRowCacheIndex(l,e),u=l.length;if(u&&c>=0){s=l[c],i=this.$screenRowCache[c];var d=e>l[u-1]}else d=!u;for(var h=this.getNextFoldLine(s),p=h?h.start.row:1/0;s=p){if((a=h.end.row+1)>e)break;p=(h=this.getNextFoldLine(a,h))?h.start.row:1/0}else a=s+1;i+=this.getRowLength(s),s=a,d&&(this.$docRowCache.push(s),this.$screenRowCache.push(i))}var f="";h&&s>=p?(f=this.getFoldDisplayLine(h,e,t),o=h.start.row):(f=this.getLine(e).substring(0,t),o=e);var m=0;if(this.$useWrapMode){var g=this.$wrapData[o];if(g){for(var b=0;f.length>=g[b];)i++,b++;f=f.substring(g[b-1]||0,f.length),m=b>0?g.indent:0}}return{row:i,column:m+this.$getStringScreenWidth(f)[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;if(this.$useWrapMode)for(var n=this.$wrapData.length,r=0,i=(s=0,(t=this.$foldData[s++])?t.start.row:1/0);ri&&(r=t.end.row+1,i=(t=this.$foldData[s++])?t.start.row:1/0)}else{e=this.getLength();for(var a=this.$foldData,s=0;sn);o++);return[r,o]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=d}.call(f.prototype),e("./edit_session/folding").Folding.call(f.prototype),e("./edit_session/bracket_match").BracketMatch.call(f.prototype),a.defineOptions(f.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e,e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){(e="auto"==e?"text"!=this.$mode.type:"text"!=e)!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){isNaN(e)||this.$tabSize===e||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=f}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),o=e("./range").Range,a=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,a){return r=new o(e,n,i,a),!(n==a&&t.start&&t.start.start&&0!=t.skipCurrent&&r.isEqual(t.start))||(r=null,!1)}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),a=[],s=t.re;if(t.$isMultiLine){var l,c=s.length,u=i.length-c;e:for(var d=s.offset||0;d<=u;d++){for(var h=0;hm||(a.push(l=new o(d,m,d+c-1,g)),c>2&&(d=d+c-2))}}else for(var b=0;bk&&a[h].end.row==n.end.row;)h--;for(a=a.slice(b,h+1),b=0,h=a.length;b=s;n--)if(d(n,Number.MAX_VALUE,e))return;if(0!=t.wrap)for(n=l,s=a.row;n>=s;n--)if(d(n,Number.MAX_VALUE,e))return}};else c=function(e){var n=a.row;if(!d(n,a.column,e)){for(n+=1;n<=l;n++)if(d(n,0,e))return;if(0!=t.wrap)for(n=s,l=a.row;n<=l;n++)if(d(n,0,e))return}};if(t.$isMultiLine)var u=n.length,d=function(t,i,o){var a=r?t-u+1:t;if(!(a<0)){var s=e.getLine(a),l=s.search(n[0]);if(!(!r&&li))return!!o(a,l,a+u-1,d)||void 0}}};else if(r)d=function(t,r,i){var o,a=e.getLine(t),s=[],l=0;for(n.lastIndex=0;o=n.exec(a);){var c=o[0].length;if(l=o.index,!c){if(l>=a.length)break;n.lastIndex=l+=1}if(o.index+c>r)break;s.push(o.index,c)}for(var u=s.length-1;u>=0;u-=2){var d=s[u-1];if(i(t,d,t,d+(c=s[u])))return!0}};else d=function(t,r,i){var o,a=e.getLine(t),s=r;for(n.lastIndex=r;o=n.exec(a);){var l=o[0].length;if(i(t,s=o.index,t,s+l))return!0;if(!l&&(n.lastIndex=s+=1,s>=a.length))return!1}};return{forEach:c}}}).call(a.prototype),t.Search=a}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/useragent"),o=r.KEY_MODS;function a(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function s(e,t){a.call(this,e,t),this.$singleCommand=!1}s.prototype=a.prototype,function(){function e(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&("string"===typeof e?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var o=r[i];if(o==e)delete r[i];else if(Array.isArray(o)){var a=o.indexOf(e);-1!=a&&(o.splice(a,1),1==o.length&&(r[i]=o[0]))}}},this.bindKey=function(e,t,n){if("object"==typeof e&&e&&(void 0==n&&(n=e.position),e=e[this.platform]),e)return"function"==typeof t?this.addCommand({exec:t,bindKey:e,name:t.name||e}):void e.split("|").forEach(function(e){var r="";if(-1!=e.indexOf(" ")){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=o[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var a=this.parseKeys(e),s=o[a.hashId]+a.key;this._addCommandToBinding(r+s,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i,o=this.commandKeyBinding;if(n)if(!o[t]||this.$singleCommand)o[t]=n;else{Array.isArray(o[t])?-1!=(i=o[t].indexOf(n))&&o[t].splice(i,1):o[t]=[o[t]],"number"!=typeof r&&(r=e(n));var a=o[t];for(i=0;ir)break}a.splice(i,0,n)}else delete o[t]},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(n){if("string"===typeof n)return this.bindKey(n,t);"function"===typeof n&&(n={exec:n}),"object"===typeof n&&(n.name||(n.name=t),this.addCommand(n))}},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:n.toUpperCase(),hashId:-1}}for(var o=0,a=t.length;a--;){var s=r.KEY_MODS[t[a]];if(null==s)return"undefined"!=typeof console&&console.error("invalid modifier "+t[a]+" in "+e),!1;o|=s}return{key:n,hashId:o}},this.findKeyCommand=function(e,t){var n=o[e]+t;return this.commandKeyBinding[n]},this.handleKeyboard=function(e,t,n,r){if(!(r<0)){var i=o[t]+n,a=this.commandKeyBinding[i];return e.$keyChain&&(e.$keyChain+=" "+i,a=this.commandKeyBinding[e.$keyChain]||a),!a||"chainKeys"!=a&&"chainKeys"!=a[a.length-1]?(e.$keyChain&&(t&&4!=t||1!=n.length?(-1==t||r>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-i.length-1)),{command:a}):(e.$keyChain=e.$keyChain||i,{command:"null"})}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(a.prototype),t.HashHandler=a,t.MultiHashHandler=s}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,o=e("../lib/event_emitter").EventEmitter,a=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(a,i),function(){r.implement(this,o),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}if("string"===typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(e.isAvailable&&!e.isAvailable(t))return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),!1!==i.returnValue},this.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){"string"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}}},this.trimMacro=function(e){return e.map(function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(a.prototype),t.CommandManager=a}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=e("../config"),o=e("../range").Range;function a(e,t){return{win:e,mac:t}}t.commands=[{name:"showSettingsMenu",bindKey:a("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:a("Alt-E","F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:a("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:a("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:a(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:a("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:a("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:a("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:a("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:a("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:a("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:a("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:a("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:a("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:a("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:a("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:a("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:a("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:a("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:a("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:a("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:a("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:a("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:a("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:a("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:a("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:a("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:a("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:a("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:a("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:a("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:a("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:a("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:a("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:a("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:a("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:a("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:a(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:a("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:a(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:a("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:a("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:a("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:a("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:a("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:a("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:a("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:a(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:a("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:a("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:a("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:a("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:a("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:a("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:a("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:a("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:a("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:a("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:a("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:a("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:a("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:a("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:a("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:a("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:a("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:a("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:a("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",bindKey:a("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",bindKey:a("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:a("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:a("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:a("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:a("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:a("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:a("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:a(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:a("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:a("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:a("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:a("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:a(null,null),exec:function(e){for(var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),a=e.session.doc.getLine(n.row).length,s=e.session.doc.getTextRange(e.selection.getRange()).replace(/\n\s*/," ").length,l=e.session.doc.getLine(n.row),c=n.row+1;c<=i.row+1;c++){var u=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(c)));0!==u.length&&(u=" "+u),l+=u}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+s)):(a=e.session.doc.getLine(n.row).length>a?a+1:a,e.selection.moveCursorTo(n.row,a))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:a(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var a=0;a0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==n&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var i=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&-1!==n.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:-1!==n.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e,t){if(e&&"string"===typeof e){this.$keybindingId=e;var n=this;b.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("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;if(t&&t.bgTokenizer){var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))}},50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=e.getCursorPosition(),r=new v(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type))return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);if(-1==i.type.indexOf("tag-open")||(i=r.stepForward())){var o=i.value,a=0,s=r.stepBackward();if("<"==s.value)do{s=i,(i=r.stepForward())&&i.value===o&&-1!==i.type.indexOf("tag-name")&&("<"===s.value?a++:"=0);else{do{i=s,s=r.stepBackward(),i&&i.value===o&&-1!==i.type.indexOf("tag-name")&&("<"===s.value?a++:"1||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var n=new p(e.row,e.column,e.row,1/0);n.id=t.addMarker(n,"ace_active-line","screenLine"),t.$highlightLineMarker=n}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),o=i.length,a=i.substring(Math.max(n,0),Math.min(r,o));if(!(n>=0&&/^[\w\d]/.test(a)||r<=o&&/[\w\d]$/.test(a)))if(a=i.substring(t.start.column,t.end.column),/^[\w\d]+$/.test(a))return this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:a})}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){"string"==typeof e&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var i=r.length;i--;){var o=r[i];o.isEmpty()||this.session.remove(o),this.session.insert(o.start,n[i])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var o=r.transformAction(n.getState(i.row),"insertion",this,n,e);o&&(e!==o.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=o.text)}if("\t"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&-1==e.indexOf("\n")){(a=new p.fromPoints(i,i)).end.column+=e.length,this.session.remove(a)}}else{var a=this.getSelectionRange();i=this.session.remove(a),this.clearSelection()}if("\n"==e||"\r\n"==e){var s=n.getLine(i.row);if(i.column>s.search(/\S|$/)){var l=s.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+l)}}this.clearSelection();var c=i.column,u=n.getState(i.row),d=(s=n.getLine(i.row),r.checkOutdent(u,s,e));n.insert(i,e);if(o&&o.selection&&(2==o.selection.length?this.selection.setSelectionRange(new p(i.row,c+o.selection[0],i.row,c+o.selection[1])):this.selection.setSelectionRange(new p(i.row+o.selection[0],o.selection[1],i.row+o.selection[2],o.selection[3]))),n.getDocument().isNewLine(e)){var h=r.getNextLineIndent(u,s.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},h)}d&&r.autoOutdent(u,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},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.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},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.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(0===t.end.column){var o=n.getTextRange(t);if("\n"==o[o.length-1]){var a=n.getLine(t.end.row);/^\s+$/.test(a)&&(t.end.column=a.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){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(){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.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var n,r,i=this.session.getLine(e.row);tt.toLowerCase()?1:0});var i=new p(0,0,0,0);for(r=e.first;r<=e.last;r++){var o=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=o.length,t.replace(i,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;for(var r=this.session.getLine(e);n.lastIndex=t)return{value:i[0],start:i.index,end:i.index+i[0].length}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var o=this.getNumberAt(t,n);if(o){var a=o.value.indexOf(".")>=0?o.start+o.value.indexOf(".")+1:o.end,s=o.start+o.value.length-a,l=parseFloat(o.value);l*=Math.pow(10,s),a!==o.end&&np+1)break;p=f.last}for(u--,s=this.session.$moveLines(h,p,t?0:e),t&&-1==e&&(d=u+1);d<=u;)a[d].moveBy(s,0),d++;t||(s=0),l+=s}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){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()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,!0===t?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):!1===t&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var o=n.scrollTop;n.scrollBy(0,i*r.lineHeight),null!=t&&n.scrollCursorIntoView(null,.5),n.animateScrolling(o)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},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.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new v(this.session,n.row,n.column),i=r.getCurrentToken(),o=i||r.stepForward();if(o){var a,s,l=!1,c={},u=n.column-o.start,d={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;u=0;--o)this.$tryReplace(n[o],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return null!==(t=this.$search.replace(n,t))?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&r.mixin(t,e);var i=this.selection.getRange();null==t.needle&&((e=this.session.getTextRange(i)||this.$search.$options.needle)||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var o=this.$search.find(this.session);return t.preventScroll?o:o?(this.revealRange(o,n),o):(t.backwards?i.start=i.end:i.end=i.start,void this.selection.setRange(i))},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),!1!==t&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(e){var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var o=this.on("changeSelection",function(){r=!0}),a=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),s=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,o=e.$cursorLayer.$pixelPos,a=e.layerConfig,s=o.top-a.offset;null!=(r=o.top>=0&&s+t.top<0||!(o.topwindow.innerHeight)&&null)&&(i.style.top=s+"px",i.style.left=o.left+"px",i.style.height=a.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",o),this.renderer.off("afterRender",s),this.renderer.off("beforeRender",a))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))}}.call(y.prototype),b.defineOptions(y.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=y}),ace.define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:1==e.lines.length?null:e.lines,text:1==e.lines.length?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){for(var n=new Array(e.length),r=0;r0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return 0===this.dirtyCounter},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),o=e("../lib/lang"),a=e("../lib/event_emitter").EventEmitter,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,a),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;ta&&(m=o.end.row+1,a=(o=t.getNextFoldLine(m,o))?o.start.row:1/0),m>i){for(;this.$cells.length>f+1;)p=this.$cells.pop(),this.element.removeChild(p.element);break}(p=this.$cells[++f])||((p={element:null,textNode:null,foldWidget:null}).element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[f]=p);var g="ace_gutter-cell ";if(l[m]&&(g+=l[m]),c[m]&&(g+=c[m]),this.$annotations[m]&&(g+=this.$annotations[m].className),p.element.className!=g&&(p.element.className=g),(v=t.getRowLength(m)*e.lineHeight+"px")!=p.element.style.height&&(p.element.style.height=v),s){var b=s[m];null==b&&(b=s[m]=t.getFoldWidget(m))}if(b){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));g="ace_fold-widget ace_"+b;"start"==b&&m==a&&mn.right-t.right?"foldWidgets":void 0}}).call(s.prototype),t.Gutter=s}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),o=function(e){this.element=i.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){if(e){this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(r.range){var i=r.range.clipRows(e.firstRow,e.lastRow);if(!i.isEmpty())if(i=i.toScreenRange(this.session),r.renderer){var o=this.$getTop(i.start.row,e),a=this.$padding+(this.session.$bidiHandler.isBidiRow(i.start.row)?this.session.$bidiHandler.getPosLeft(i.start.column):i.start.column*e.characterWidth);r.renderer(t,i,a,o,e)}else"fullLine"==r.type?this.drawFullLineMarker(t,i,r.clazz,e):"screenLine"==r.type?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?"text"==r.type?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.session.$bidiHandler.isBidiRow(i.start.row)?this.drawBidiSingleLineMarker(t,i,r.clazz+" ace_start ace_br15",e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start ace_br15",e)}else r.update(t,this,this.session,e)}this.element.innerHTML=t.join("")}},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i,o){for(var a=this.session,s=t.start.row,l=t.end.row,c=s,u=0,d=0,h=a.getScreenLastRowColumn(c),p=null,f=new r(c,t.start.column,c,d);c<=l;c++)f.start.row=f.end.row=c,f.start.column=c==s?t.start.column:a.getRowWrapIndent(c),f.end.column=h,u=d,d=h,h=c+1h?4:0)|(c==l?8:0)),this.session.$bidiHandler.isBidiRow(c)?this.drawBidiSingleLineMarker(e,f,p,i,c==l?0:1,o):this.drawSingleLineMarker(e,f,p,i,c==l?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var o,a,s,l=this.$padding;(i=i||"",this.session.$bidiHandler.isBidiRow(t.start.row))?((c=t.clone()).end.row=c.start.row,c.end.column=this.session.getLine(c.start.row).length,this.drawBidiSingleLineMarker(e,c,n+" ace_br1 ace_start",r,null,i)):(o=r.lineHeight,a=this.$getTop(t.start.row,r),s=l+t.start.column*r.characterWidth,e.push("
"));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var c;(c=t.clone()).start.row=c.end.row,c.start.column=0,this.drawBidiSingleLineMarker(e,c,n+" ace_br12",r,null,i)}else{var u=t.end.column*r.characterWidth;o=r.lineHeight,a=this.$getTop(t.end.row,r),e.push("
")}if(!((o=(t.end.row-t.start.row-1)*r.lineHeight)<=0)){a=this.$getTop(t.start.row+1,r);var d=(t.start.column?1:0)|(t.end.column?0:8);e.push("
")}},this.drawSingleLineMarker=function(e,t,n,r,i,o){var a=r.lineHeight,s=(t.end.column+(i||0)-t.start.column)*r.characterWidth,l=this.$getTop(t.start.row,r),c=this.$padding+t.start.column*r.characterWidth;e.push("
")},this.drawBidiSingleLineMarker=function(e,t,n,r,i,o){var a=r.lineHeight,s=this.$getTop(t.start.row,r),l=this.$padding;this.session.$bidiHandler.getSelections(t.start.column,t.end.column).forEach(function(t){e.push("
")})},this.drawFullLineMarker=function(e,t,n,r,i){var o=this.$getTop(t.start.row,r),a=r.lineHeight;t.start.row!=t.end.row&&(a+=this.$getTop(t.end.row,r)-o),e.push("
")},this.drawScreenLineMarker=function(e,t,n,r,i){var o=this.$getTop(t.start.row,r),a=r.lineHeight;e.push("
")}}).call(o.prototype),t.Marker=o}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),o=e("../lib/lang"),a=(e("../lib/useragent"),e("../lib/event_emitter").EventEmitter),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,a),this.EOF_CHAR="\xb6",this.EOL_CHAR_LF="\xac",this.EOL_CHAR_CRLF="\xa4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\xb7",this.$padding=0,this.$updateEolChar=function(){var e="\n"==this.session.doc.getNewLineCharacter()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],n=1;n"+o.stringRepeat(this.TAB_CHAR,n)+""):t.push(o.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",a="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",a=" ace_invisible_tab";var s=o.stringRepeat(this.SPACE_CHAR,this.tabSize),l=o.stringRepeat(this.TAB_CHAR,this.tabSize)}else l=s=o.stringRepeat(" ",this.tabSize);this.$tabStrings[" "]=""+s+"",this.$tabStrings["\t"]=""+l+""}},this.updateLines=function(e,t,n){this.config.lastRow==e.lastRow&&this.config.firstRow==e.firstRow||this.scrollLines(e),this.config=e;for(var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),o=this.element.childNodes,a=0,s=e.firstRow;sc&&(s=l.end.row+1,c=(l=this.session.getNextFoldLine(s,l))?l.start.row:1/0),!(s>i);){var u=o[a++];if(u){var d=[];this.$renderLine(d,s,!this.$useLineGroups(),s==c&&l),u.style.height=e.lineHeight*this.session.getRowLength(s)+"px",u.innerHTML=d.join("")}s++}},this.scrollLines=function(e){var t=this.config;if(this.config=e,!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){for(var r=this.element.ownerDocument.createDocumentFragment(),o=t,a=this.session.getNextFoldLine(o),s=a?a.start.row:1/0;o>s&&(o=a.end.row+1,s=(a=this.session.getNextFoldLine(o,a))?a.start.row:1/0),!(o>n);){var l=i.createElement("div"),c=[];if(this.$renderLine(c,o,!1,o==s&&a),l.innerHTML=c.join(""),this.$useLineGroups())l.className="ace_line_group",r.appendChild(l),l.style.height=e.lineHeight*this.session.getRowLength(o)+"px";else for(;l.firstChild;)r.appendChild(l.firstChild);o++}return r},this.update=function(e){this.config=e;for(var t=[],n=e.firstRow,r=e.lastRow,i=n,o=this.session.getNextFoldLine(i),a=o?o.start.row:1/0;i>a&&(i=o.end.row+1,a=(o=this.session.getNextFoldLine(i,o))?o.start.row:1/0),!(i>r);)this.$useLineGroups()&&t.push("
"),this.$renderLine(t,i,!1,i==a&&o),this.$useLineGroups()&&t.push("
"),i++;this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,a=r.replace(/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\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]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,function(e,n,r,a,s){if(n)return i.showInvisibles?""+o.stringRepeat(i.SPACE_CHAR,e.length)+"":e;if("&"==e)return"&";if("<"==e)return"<";if(">"==e)return">";if("\t"==e){var l=i.session.getScreenTabSize(t+a);return t+=l-1,i.$tabStrings[l]}if("\u3000"==e){var c=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",u=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+u+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")});if(this.$textToken[n.type])e.push(a);else{var s="ace_"+n.type.replace(/\./g," ace_"),l="";"fold"==n.type&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:" "==t[0]?(r-=r%this.tabSize,e.push(o.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):"\t"==t[0]?(e.push(o.stringRepeat(this.$tabStrings["\t"],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){for(var i=0,a=0,s=n[0],l=0,c=0;c=s;)l=this.$renderToken(e,l,u,d.substring(0,s-i)),d=d.substring(s-i),i=s,r||e.push("","
"),e.push(o.stringRepeat("\xa0",n.indent)),l=0,s=n[++a]||Number.MAX_VALUE;0!=d.length&&(i+=d.length,l=this.$renderToken(e,l,u,d))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var o=1;o"),i.length){var o=this.session.getRowSplitData(t);o&&o.length?this.$renderWrappedLine(e,i,o,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
")},this.$getFoldLineTokens=function(e,t){var n=this.session,r=[];var i=n.getTokens(e);return t.walk(function(e,t,o,a,s){null!=e?r.push({type:"fold",value:e}):(s&&(i=n.getTokens(t)),i.length&&function(e,t,n){for(var i=0,o=0;o+e[i].value.lengthn-t&&(a=a.substring(0,n-t)),r.push({type:e[i].type,value:a}),o=t+a.length,i+=1);on?r.push({type:e[i].type,value:a.substring(0,n-o)}):r.push(e[i]),o+=a.length,i+=1}}(i,a,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(s.prototype),t.Text=s}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r,i=e("../lib/dom"),o=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),void 0===r&&(r=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),i.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(r?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e==this.smoothBlinking||r||(this.smoothBlinking=e,i.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=i.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,i.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,i.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&i.removeCssClass(this.element,"ace_smooth-blinking"),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible){this.smoothBlinking&&setTimeout(function(){i.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),top:(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;void 0!==t&&0!==t.length||(t=[{cursor:null}]);n=0;for(var i=t.length;ne.height+e.offset||o.top<0)&&n>1)){var a=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(a,o,e,t[n],this.session):(a.left=o.left+"px",a.top=o.top+"px",a.width=e.characterWidth+"px",a.height=e.lineHeight+"px")}}for(;this.cursors.length>r;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?i.addCssClass(this.element,"ace_overwrite-cursors"):i.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(o.prototype),t.Cursor=o}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),o=e("./lib/event"),a=e("./lib/event_emitter").EventEmitter,s=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addListener(this.element,"scroll",this.onScroll.bind(this)),o.addListener(this.element,"mousedown",o.preventDefault)};(function(){r.implement(this,a),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(s.prototype);var l=function(e,t){s.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};r.inherits(l,s),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>32768?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(l.prototype);var c=function(e,t){s.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(c,s),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(c.prototype),t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=c,t.VScrollBar=l,t.HScrollBar=c}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){if(this.changes=this.changes|e,!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){var e;for(t.pending=!1;e=t.changes;)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),o=e("../lib/lang"),a=e("../lib/useragent"),s=e("../lib/event_emitter").EventEmitter,l=0,c=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),l||this.$testFractionalRect(),this.$measureNode.innerHTML=o.stringRepeat("X",l),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,s),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;l=t>0&&t<1?50:100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",a.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(50===l){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(n){e={width:0,height:0}}var t={height:e.height,width:e.width/l}}else t={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/l};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){return this.$main.innerHTML=o.stringRepeat(e,l),this.$main.getBoundingClientRect().width/l},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(c.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),o=e("./config"),a=e("./lib/useragent"),s=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,c=e("./layer/text").Text,u=e("./layer/cursor").Cursor,d=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,f=e("./layer/font_metrics").FontMetrics,m=e("./lib/event_emitter").EventEmitter;i.importCssString('.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_text-input-ios {position: absolute !important;top: -100000px !important;left: -100000px !important;}',"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!a.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content);var r=this.$textLayer=new c(this.content);this.canvas=r.element,this.$markerFront=new l(this.content),this.$cursorLayer=new u(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new d(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new f(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),o.resetOptions(this),o._emit("renderer",this)};(function(){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,this.CHANGE_H_SCROLL=1024,r.implement(this,m),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,n){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var o=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(o|this.$changes,!0):this.$loop.schedule(o|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,o=this.$size,a={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};return r&&(e||o.height!=r)&&(o.height=r,i|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL),n&&(e||o.width!=n)&&(i|=this.CHANGE_SIZE,o.width=n,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(i|=this.CHANGE_FULL)),o.$dirty=!n||!r,i&&this._signal("resize",a),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i)r.top=r.left="0";else{var o=this.characterWidth;if(this.$composition){var a=this.textarea.value.replace(/^\x01+/,"");o*=this.session.$getStringScreenWidth(a)[0]+2,i+=2}(n-=this.scrollLeft)>this.$size.scrollerWidth-o&&(n=this.$size.scrollerWidth-o),n+=this.gutterWidth,r.height=i+"px",r.width=o+"px",r.left=Math.min(n,this.$size.scrollerWidth-o)+"px",r.top=Math.min(t,this.$size.height-i)+"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=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},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.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=0|e,i.bottom=0|t,i.right=0|r,i.left=0|n,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}if(e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL)return this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),void this._signal("afterRender");if(e&this.CHANGE_SCROLL)return e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),void this._signal("afterRender");e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")}else this.$changes|=e},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength()*this.lineHeight,i=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-i-2*this.$padding<0),a=this.$horizScroll!==o;a&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var s=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var l=this.scrollTop%this.lineHeight,c=t.scrollerHeight+this.lineHeight,u=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;r+=u;var d=this.scrollMargin;this.session.setScrollTop(Math.max(-d.top,Math.min(this.scrollTop,r-t.scrollerHeight+d.bottom))),this.session.setScrollLeft(Math.max(-d.left,Math.min(this.scrollLeft,i+2*this.$padding-t.scrollerWidth+d.right)));var h=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-r+u<0||this.scrollTop>d.top),p=s!==h;p&&(this.$vScroll=h,this.scrollBarV.setVisible(h));var f,m,g=Math.ceil(c/this.lineHeight)-1,b=Math.max(0,Math.round((this.scrollTop-l)/this.lineHeight)),v=b+g,y=this.lineHeight;b=e.screenToDocumentRow(b,0);var w=e.getFoldLine(b);w&&(b=w.start.row),f=e.documentToScreenRow(b,0),m=e.getRowLength(b)*y,v=Math.min(e.screenToDocumentRow(v,0),e.getLength()-1),c=t.scrollerHeight+e.getRowLength(v)*y+m,l=this.scrollTop-f*y;var k=0;return this.layerConfig.width!=i&&(k=this.CHANGE_H_SCROLL),(a||p)&&(k=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),p&&(i=this.$getLongestLine())),this.layerConfig={width:i,padding:this.$padding,firstRow:b,firstRowScreen:f,lastRow:v,lineHeight:y,characterWidth:this.characterWidth,minHeight:c,maxHeight:r,offset:l,gutterOffset:y?Math.max(0,Math.ceil((l+t.height-t.scrollerHeight)/y)):0,height:this.$size.scrollerHeight},k},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(!(e>n.lastRow+1)&&!(to?(t&&l+a>o+this.lineHeight&&(o-=t*this.$size.scrollerHeight),0===o&&(o=-this.scrollMargin.top),this.session.setScrollTop(o)):l+this.$size.scrollerHeight-si?(i=1-this.scrollMargin.top||(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=e+this.scrollLeft-n.left-this.$padding,i=r/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),a=Math.round(i);return{row:o,column:a,side:i-a>0?1:-1,offsetX:r}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=e+this.scrollLeft-n.left-this.$padding,i=Math.round(r/this.characterWidth),o=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(o,Math.max(i,0),r)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),o=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+o-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(e,t){var n=this;if(this.$themeId=e,n._dispatchEvent("themeChange",{theme:e}),e&&"string"!=typeof e)a(e);else{var r=e||this.$options.theme.initialValue;o.loadModule(["theme",r],a)}function a(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var o="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&o!=n.$padding&&n.setPadding(o),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,!1!==t)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),o.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){"number"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight)return this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",void this.$gutter.appendChild(this.$gutterLineHighlight);this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){"number"==typeof e&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),o=e("../lib/event_emitter").EventEmitter,a=e("../config");function s(e,t){var n=function(e,t){var n=t.src;i.qualifyURL(e);try{return new Blob([n],{type:"application/javascript"})}catch(o){var r=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return r.append(n),r.getBlob("application/javascript")}}(e,t),r=(window.URL||window.webkitURL).createObjectURL(n);return new Worker(r)}var l=function(t,n,r,i,o){if(this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),a.get("packaged")||!e.toUrl)i=i||a.moduleUrl(n.id,"worker");else{var l=this.$normalizePath;i=i||l(e.toUrl("ace/worker/worker.js",null,"_"));var c={};t.forEach(function(t){c[t]=l(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}this.$worker=s(i,n),o&&this.send("importScripts",o),this.$worker.postMessage({init:!0,tlns:c,module:n.id,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,o),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(l.prototype);var c=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,s=Object.create(o),l=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){l.messageBuffer.push(e),r&&(i?setTimeout(c):c())},this.setEmitSync=function(e){i=e};var c=function(){var e=l.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&s._signal(e.event,e.data)};s.postMessage=function(e){l.onMessage({data:e})},s.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},s.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},a.loadModule(["worker",t],function(e){for(r=new e[n](s);l.messageBuffer.length;)c()})};c.prototype=l.prototype,t.UIWorkerClient=c,t.WorkerClient=l,t.createWorker=s}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,o=e("./lib/oop"),a=function(e,t,n,r,i,o){var a=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){a.onCursorChange()})},this.$pos=n;var s=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=s.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){o.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,o=t.start.column-this.pos.column;if(this.updateAnchors(e),i&&(this.length+=n),i&&!this.session.$fromUndo)if("insert"===e.action)for(var a=this.others.length-1;a>=0;a--){var s={row:(l=this.others[a]).row,column:l.column+o};this.doc.insertMergedLines(s,e.lines)}else if("remove"===e.action)for(a=this.others.length-1;a>=0;a--){var l;s={row:(l=this.others[a]).row,column:l.column+o};this.doc.remove(new r(s.row,s.column,s.row,s.column-n))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,n=0;n1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(t=t||this.ranges[0])&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new r,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{n=this.getRange();var r=this.isBackwards(),o=n.start.row,a=n.end.row;if(o==a){if(r)var s=n.end,l=n.start;else s=n.start,l=n.end;return this.addRange(i.fromPoints(l,l)),void this.addRange(i.fromPoints(s,s))}var c=[],u=this.getLineRange(o,!0);u.start.column=n.start.column,c.push(u);for(var d=o+1;d1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),o=this.session.documentToScreenPosition(this.selectionAnchor);this.rectangularRangeBlock(r,o).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],o=e.column0;)v--;if(v>0)for(var y=0;r[y].isEmpty();)y++;for(var w=v;w>=y;w--)r[w].isEmpty()&&r.splice(w,1)}return r}}.call(o.prototype);var h=e("./editor").Editor;function p(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",a),e.commands.addCommands(c.defaultCommands),function(e){var t=e.textInput.getElement(),n=!1;function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}s.addListener(t,"keydown",function(t){var i=18==t.keyCode&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),s.addListener(t,"keyup",r),s.addListener(t,"blur",r)}(e))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);-1!=t&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,n=e.length;n--;){var r=e[n];if(r.marker){this.session.removeMarker(r.marker);var i=t.indexOf(r);-1!=i&&t.splice(i,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(c.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(c.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(n.multiSelect){if(t.multiSelectAction)"forEach"==t.multiSelectAction?r=n.forEachSelection(t,e.args):"forEachLine"==t.multiSelectAction?r=n.forEachSelection(t,e.args,!0):"single"==t.multiSelectAction?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});else{var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}return r}},this.forEachSelection=function(e,t,n){if(!this.inVirtualSelectionMode){var r,i=n&&n.keepOrder,a=1==n||n&&n.$byLines,s=this.session,l=this.selection,c=l.rangeList,u=(i?l:c).ranges;if(!u.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var d=l._eventRegistry;l._eventRegistry={};var h=new o(s);this.inVirtualSelectionMode=!0;for(var p=u.length;p--;){if(a)for(;p>0&&u[p].start.row==u[p-1].end.row;)p--;h.fromOrientedRange(u[p]),h.index=p,this.selection=s.selection=h;var f=e.exec?e.exec(this,t||{}):e(this,t||{});r||void 0===f||(r=f),h.toOrientedRange(u[p])}h.detach(),this.selection=s.selection=l,this.inVirtualSelectionMode=!1,l._eventRegistry=d,l.mergeOverlappingRanges();var m=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),m&&m.from==m.to&&this.renderer.animateScrolling(m.from),r}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,n=[],r=0;ra&&(a=n.column),ru?e.insert(r,l.stringRepeat(" ",o-u)):e.remove(new i(r.row,r.column,r.row,r.column-o+u)),t.start.column=t.end.column=a,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var u=this.selection.getRange(),d=u.start.row,h=u.end.row,p=d==h;if(p){var f,m=this.session.getLength();do{f=this.session.getLine(h)}while(/[=:]/.test(f)&&++h0);d<0&&(d=0),h>=m&&(h=m-1)}var g=this.session.removeFullLines(d,h);g=this.$reAlignText(g,p),this.session.insert({row:d,column:0},g.join("\n")+"\n"),p||(u.start.column=0,u.end.column=g[g.length-1].length),this.selection.setRange(u)}},this.$reAlignText=function(e,t){var n,r,i,o=!0,a=!0;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?null==n?(n=t[1].length,r=t[2].length,i=t[3].length,t):(n+r+i!=t[1].length+t[2].length+t[3].length&&(a=!1),n!=t[1].length&&(o=!1),n>t[1].length&&(n=t[1].length),rt[3].length&&(i=t[3].length),t):[e]}).map(t?c:o?a?function(e){return e[2]?s(n+r-e[2].length)+e[2]+s(i)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:c:function(e){return e[2]?s(n)+e[2]+s(i)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]});function s(e){return l.stringRepeat(" ",e)}function c(e){return e[2]?s(n)+e[2]+s(r-e[2].length+i)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}}}).call(h.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=p,e("./config").defineOptions(h.prototype,"editor",{enableMultiselect:{set:function(e){p(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",a)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",a))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,o=e.getLine(t),a=o.search(i);if(-1!=a){for(var s=n||o.length,l=e.getLength(),c=t,u=t;++tc){var h=e.getLine(u).length;return new r(c,s,u,h)}}},this.openingBracketBlock=function(e,t,n,i,o){var a={row:n,column:i+1},s=e.$findClosingBracket(t,a,o);if(s){var l=e.foldWidgets[s.row];return null==l&&(l=e.getFoldWidget(s.row)),"start"==l&&s.row>a.row&&(s.row--,s.column=e.getLine(s.row).length),r.fromPoints(a,s)}},this.closingBracketBlock=function(e,t,n,i,o){var a={row:n,column:i},s=e.$findOpeningBracket(t,a);if(s)return s.column++,a.column--,r.fromPoints(s,a)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',e("../lib/dom").importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";e("./lib/oop");var r=e("./lib/dom");e("./range").Range;function i(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(n&&e.action){for(var r=e.data,i=r.start.row,o=r.end.row,a="add"==e.action,s=i+1;s0&&!r[i];)i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var a=i;a<=o;a++){var s=r[a];if(s&&s.el)if(s.hidden)s.el.style.top=-100-(s.pixelHeight||0)+"px";else{s._inDocument||(s._inDocument=!0,t.container.appendChild(s.el));var l=t.$cursorLayer.getPixelPosition({row:a,column:0},!0).top;s.coverLine||(l+=n.lineHeight*this.session.getRowLineCount(s.row)),s.el.style.top=l-n.offset+"px";var c=s.coverGutter?0:t.gutterWidth;s.fixedWidth||(c-=t.scrollLeft),s.el.style.left=c+"px",s.fullWidth&&s.screenWidth&&(s.el.style.minWidth=n.width+2*n.padding+"px"),s.fixedWidth?s.el.style.right=t.scrollBar.getWidth()+"px":s.el.style.right=""}}}}}).call(i.prototype),t.LineWidgets=i}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),o=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var a=e.getCursorPosition(),s=a.row,l=n.widgetManager.getWidgetsAtRow(s).filter(function(e){return"errorMarker"==e.type})[0];l?l.destroy():s-=t;var c,u=function(e,t,n){var r=e.getAnnotations().sort(o.comparePoints);if(r.length){var i=function(e,t,n){for(var r=0,i=e.length-1;r<=i;){var o=r+i>>1,a=n(t,e[o]);if(a>0)r=o+1;else{if(!(a<0))return o;i=o-1}}return-(r+1)}(r,{row:t,column:-1},o.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:0===i&&n<0&&(i=r.length-1);var a=r[i];if(a&&n){if(a.row===t){do{a=r[i+=n]}while(a&&a.row===t);if(!a)return r.slice()}var s=[];t=a.row;do{s[n<0?"unshift":"push"](a),a=r[i+=n]}while(a&&a.row==t);return s.length&&s}}}(n,s,t);if(u){var d=u[0];a.column=(d.pos&&"number"!=typeof d.column?d.pos.sc:d.column)||0,a.row=d.row,c=e.renderer.$gutterLayer.$annotations[a.row]}else{if(l)return;c={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(a.row),e.selection.moveToPosition(a);var h={row:a.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),f=h.el.appendChild(i.createElement("div"));f.className="error_widget_arrow "+c.className;var m=e.renderer.$cursorLayer.getPixelPosition(a).left;f.style.left=m+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+c.className,p.innerHTML=c.text.join("
"),p.appendChild(i.createElement("div"));var g=function(e,t,n){if(0===t&&("esc"===n||"return"===n))return h.destroy(),{command:"null"}};h.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(g),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy))},e.keyBinding.addKeyboardHandler(g),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,r){"use strict";e("./lib/fixoldbrowsers");var i=e("./lib/dom"),o=e("./lib/event"),a=e("./editor").Editor,s=e("./edit_session").EditSession,l=e("./undomanager").UndoManager,c=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.acequire=e,t.define=n(24),t.edit=function(e){if("string"==typeof e){var n=e;if(!(e=document.getElementById(n)))throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof a)return e.env.editor;var r="";if(e&&/input|textarea/i.test(e.tagName)){var s=e;r=s.value,e=i.createElement("pre"),s.parentNode.replaceChild(e,s)}else e&&(r=i.getInnerText(e),e.innerHTML="");var l=t.createEditSession(r),u=new a(new c(e));u.setSession(l);var d={document:l,editor:u,onResize:u.resize.bind(u,null)};return s&&(d.textarea=s),o.addListener(window,"resize",d.onResize),u.on("destroy",function(){o.removeListener(window,"resize",d.onResize),d.editor.container.env=null}),u.container.env=u.env=d,u},t.createEditSession=function(e,t){var n=new s(e,t);return n.setUndoManager(new l),n},t.EditSession=s,t.UndoManager=l,t.version="1.2.9"}),ace.acequire(["ace/ace"],function(e){for(var t in e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e),e)e.hasOwnProperty(t)&&(window.ace[t]=e[t])}),e.exports=window.ace.acequire("ace/ace")},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(22);n(23);var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(0)),o=l(n(10)),a=l(n(20)),s=l(n(48));function l(e){return e&&e.__esModule?e:{default:e}}function c(e){return(c="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){for(var n=0;n0&&e.handleMarkers(k,t);for(var C=0;C1)for(var n=1;n=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(e){return r.exec(e).slice(1)};function o(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r=-1&&!r;i--){var a=i>=0?arguments[i]:e.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(t=a+"/"+t,r="/"===a.charAt(0))}return(r?"/":"")+(t=n(o(t.split("/"),function(e){return!!e}),!r).join("/"))||"."},t.normalize=function(e){var r=t.isAbsolute(e),i="/"===a(e,-1);return(e=n(o(e.split("/"),function(e){return!!e}),!r).join("/"))||r||(e="."),e&&i&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(o(e,function(e,t){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,n){function r(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var i=r(e.split("/")),o=r(n.split("/")),a=Math.min(i.length,o.length),s=a,l=0;l=97&&t<=122||t>=65&&t<=90}},function(e,t,n){"use strict";e.exports={position:!0,gfm:!0,commonmark:!1,footnotes:!1,pedantic:!1,blocks:n(81)}},function(e,t,n){"use strict";e.exports=function(e){var t,n=0,i=0,o=e.charAt(n),a={};for(;o in r;)t=r[o],i+=t,t>1&&(i=Math.floor(i/t)*t),a[i]=n,o=e.charAt(++n);return{indent:i,stops:a}};var r={" ":1,"\t":4}},function(e,t,n){"use strict";var r="<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\u0000-\\u0020]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",i="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";t.openCloseTag=new RegExp("^(?:"+r+"|"+i+")"),t.tag=new RegExp("^(?:"+r+"|"+i+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)")},function(e,t,n){"use strict";e.exports=function(e,t){return e.indexOf("<",t)}},function(e,t,n){"use strict";e.exports=function(e,t){var n=e.indexOf("[",t),r=e.indexOf("![",t);if(-1===r)return n;return n0&&t.push(u.ofType(n,r));e.allowNode&&t.push(u.ifNotMatch(e.allowNode,r));var i=!e.escapeHtml&&!e.skipHtml,o=(e.astPlugins||[]).some(function(e){var t=Array.isArray(e)?e[0]:e;return t.identity===g.HtmlParser});i&&!o&&t.push(c);return e.astPlugins?t.concat(e.astPlugins):t}(e),k=s.runSync(f),x=w.reduce(function(e,t){return t(e,v)},k);return d(x,v)};function y(e,t){return Array.isArray(t)?e.use.apply(e,r(t)):e.use(t)}v.defaultProps={renderers:{},escapeHtml:!0,skipHtml:!1,sourcePos:!1,rawSourcePos:!1,transformLinkUri:f,astPlugins:[],plugins:[],parserOptions:{}},v.propTypes={className:s.string,source:s.string,children:s.string,sourcePos:s.bool,rawSourcePos:s.bool,escapeHtml:s.bool,skipHtml:s.bool,allowNode:s.func,allowedTypes:s.arrayOf(s.oneOf(b)),disallowedTypes:s.arrayOf(s.oneOf(b)),transformLinkUri:s.oneOfType([s.func,s.bool]),linkTarget:s.oneOfType([s.func,s.string]),transformImageUri:s.func,astPlugins:s.arrayOf(s.func),unwrapDisallowed:s.bool,renderers:s.object,plugins:s.array,parserOptions:s.object},v.types=b,v.renderers=m,v.uriTransformer=f,e.exports=v},function(e,t,n){!function(e){"use strict";function t(){}function n(e,t,n,r,i){for(var o=0,a=t.length,s=0,l=0;oe.length?n:e}),c.value=e.join(d)}else c.value=e.join(n.slice(s,s+c.count));s+=c.count,c.added||(l+=c.count)}}var h=t[a-1];return a>1&&"string"===typeof h.value&&(h.added||h.removed)&&e.equals("",h.value)&&(t[a-2].value+=h.value,t.pop()),t}t.prototype={diff:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.callback;"function"===typeof r&&(i=r,r={}),this.options=r;var o=this;function a(e){return i?(setTimeout(function(){i(void 0,e)},0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var s=(t=this.removeEmpty(this.tokenize(t))).length,l=e.length,c=1,u=s+l,d=[{newPos:-1,components:[]}],h=this.extractCommon(d[0],t,e,0);if(d[0].newPos+1>=s&&h+1>=l)return a([{value:this.join(t),count:t.length}]);function p(){for(var r=-1*c;r<=c;r+=2){var i=void 0,u=d[r-1],h=d[r+1],p=(h?h.newPos:0)-r;u&&(d[r-1]=void 0);var f=u&&u.newPos+1=s&&p+1>=l)return a(n(o,i.components,t,e,o.useLongestToken));d[r]=i}else d[r]=void 0}var g;c++}if(i)!function e(){setTimeout(function(){if(c>u)return i();p()||e()},0)}();else for(;c<=u;){var f=p();if(f)return f}},pushComponent:function(e,t,n){var r=e[e.length-1];r&&r.added===t&&r.removed===n?e[e.length-1]={count:r.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,r){for(var i=t.length,o=n.length,a=e.newPos,s=a-r,l=0;a+11&&void 0!==arguments[1]?arguments[1]:{},n=e.split(/\r\n|[\n\v\f\r\x85]/),r=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],i=[],o=0;function a(){var e={};for(i.push(e);o2&&void 0!==arguments[2]?arguments[2]:{};if("string"===typeof t&&(t=v(t)),Array.isArray(t)){if(t.length>1)throw new Error("applyPatch only works with a single input.");t=t[0]}var r,i,o=e.split(/\r\n|[\n\v\f\r\x85]/),a=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=t.hunks,l=n.compareLine||function(e,t,n,r){return t===r},c=0,u=n.fuzzFactor||0,d=0,h=0;function p(e,t){for(var n=0;n0?r[0]:" ",a=r.length>0?r.substr(1):r;if(" "===i||"-"===i){if(!l(t+1,o[t],i,a)&&++c>u)return!1;t++}}return!0}for(var f=0;f0?T[0]:" ",F=T.length>0?T.substr(1):T,L=_.linedelimiters[S];if(" "===A)C++;else if("-"===A)o.splice(C,1),a.splice(C,1);else if("+"===A)o.splice(C,0,F),a.splice(C,0,L),C++;else if("\\"===A){var R=_.lines[S-1]?_.lines[S-1][0]:null;"+"===R?r=!0:"-"===R&&(i=!0)}}}if(r)for(;!o[o.length-1];)o.pop(),a.pop();else i&&(o.push(""),a.push("\n"));for(var N=0;N0?l(c.lines.slice(-a.context)):[],d-=f.length,h-=f.length)}(o=f).push.apply(o,p(i.map(function(e){return(t.added?"+":"-")+e}))),t.added?g+=i.length:m+=i.length}else{if(d)if(i.length<=2*a.context&&e=s.length-2&&i.length<=a.context){var k=/\n$/.test(n),x=/\n$/.test(r),E=0==i.length&&f.length>w.oldLines;!k&&E&&f.splice(w.oldLines,0,"\\ No newline at end of file"),(k||E)&&x||f.push("\\ No newline at end of file")}u.push(w),d=0,h=0,f=[]}m+=i.length,g+=i.length}},v=0;ve.length)return!1;for(var n=0;n/g,">")).replace(/"/g,""")}b.tokenize=function(e){return e.slice()},b.join=b.removeEmpty=function(e){return e},e.Diff=t,e.diffChars=function(e,t,n){return r.diff(e,t,n)},e.diffWords=function(e,t,n){return n=i(n,{ignoreWhitespace:!0}),s.diff(e,t,n)},e.diffWordsWithSpace=function(e,t,n){return s.diff(e,t,n)},e.diffLines=c,e.diffTrimmedLines=function(e,t,n){var r=i(n,{ignoreWhitespace:!0});return l.diff(e,t,r)},e.diffSentences=function(e,t,n){return u.diff(e,t,n)},e.diffCss=function(e,t,n){return d.diff(e,t,n)},e.diffJson=function(e,t,n){return m.diff(e,t,n)},e.diffArrays=function(e,t,n){return b.diff(e,t,n)},e.structuredPatch=k,e.createTwoFilesPatch=x,e.createPatch=function(e,t,n,r,i,o){return x(e,e,t,n,r,i,o)},e.applyPatch=w,e.applyPatches=function(e,t){"string"===typeof e&&(e=v(e));var n=0;!function r(){var i=e[n++];if(!i)return t.complete();t.loadFile(i,function(e,n){if(e)return t.complete(e);var o=w(n,i,t);t.patched(i,o,function(e){if(e)return t.complete(e);r()})})}()},e.parsePatch=v,e.merge=function(e,t,n){e=C(e,n),t=C(t,n);var r={};(e.index||t.index)&&(r.index=e.index||t.index),(e.newFileName||t.newFileName)&&(S(e)?S(t)?(r.oldFileName=T(r,e.oldFileName,t.oldFileName),r.newFileName=T(r,e.newFileName,t.newFileName),r.oldHeader=T(r,e.oldHeader,t.oldHeader),r.newHeader=T(r,e.newHeader,t.newHeader)):(r.oldFileName=e.oldFileName,r.newFileName=e.newFileName,r.oldHeader=e.oldHeader,r.newHeader=e.newHeader):(r.oldFileName=t.oldFileName||e.oldFileName,r.newFileName=t.newFileName||e.newFileName,r.oldHeader=t.oldHeader||e.oldHeader,r.newHeader=t.newHeader||e.newHeader)),r.hunks=[];for(var i=0,o=0,a=0,s=0;i"):r.removed&&t.push(""),t.push(j(r.value)),r.added?t.push(""):r.removed&&t.push("")}return t.join("")},e.canonicalize=g,Object.defineProperty(e,"__esModule",{value:!0})}(t)},,function(e,t,n){"use strict";var r=n(19),i="function"===typeof Symbol&&Symbol.for,o=i?Symbol.for("react.element"):60103,a=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,c=i?Symbol.for("react.profiler"):60114,u=i?Symbol.for("react.provider"):60109,d=i?Symbol.for("react.context"):60110,h=i?Symbol.for("react.forward_ref"):60112,p=i?Symbol.for("react.suspense"):60113;i&&Symbol.for("react.suspense_list");var f=i?Symbol.for("react.memo"):60115,m=i?Symbol.for("react.lazy"):60116;i&&Symbol.for("react.fundamental"),i&&Symbol.for("react.responder"),i&&Symbol.for("react.scope");var g="function"===typeof Symbol&&Symbol.iterator;function b(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nR.length&&R.push(e)}function D(e,t,n){return null==e?0:function e(t,n,r,i){var s=typeof t;"undefined"!==s&&"boolean"!==s||(t=null);var l=!1;if(null===t)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case o:case a:l=!0}}if(l)return r(i,t,""===n?"."+M(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c