define("ace/mode/scheme_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function i(){var e=this.createKeywordMapper({"keyword.control":"case|do|let|loop|if|else|when","keyword.operator":"eq?|eqv?|equal?|and|or|not|null?","constant.language":"#t|#f","support.function":"cons|car|cdr|cond|lambda|lambda*|syntax-rules|format|set!|quote|eval|append|list|list?|member?|load"},"identifier",!0);this.$rules={start:[{token:"comment",regex:";.*$"},{token:["storage.type.function-type.scheme","text","entity.name.function.scheme"],regex:"(?:\\b(?:(define|define-syntax|define-macro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)"},{token:"punctuation.definition.constant.character.scheme",regex:"#:\\S+"},{token:["punctuation.definition.variable.scheme","variable.other.global.scheme","punctuation.definition.variable.scheme"],regex:"(\\*)(\\S*)(\\*)"},{token:"constant.numeric",regex:"#[xXoObB][0-9a-fA-F]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?"},{token:e,regex:"[a-zA-Z_#][a-zA-Z0-9_\\-\\?\\!\\*]*"},{token:"string",regex:'"(?=.)',next:"qqstring"}],qqstring:[{token:"constant.character.escape.scheme",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+',merge:!0},{token:"string",regex:"\\\\$",next:"qqstring",merge:!0},{token:"string",regex:'"|$',next:"start",merge:!0}]}}var o=e("../lib/oop"),e=e("./text_highlight_rules").TextHighlightRules;o.inherits(i,e),t.SchemeHighlightRules=i}),define("ace/mode/matching_parens_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(){}var o=e("../range").Range;(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\)/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\))/);if(!n)return 0;var i=n[1].length,n=e.findMatchingBracket({row:t,column:i});if(!n||n.row==t)return 0;n=this.$getIndent(e.getLine(n.row));e.replace(new o(t,0,t,i-1),n)},this.$getIndent=function(e){e=e.match(/^(\s+)/);return e?e[1]:""}}).call(i.prototype),t.MatchingParensOutdent=i}),define("ace/mode/scheme",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/scheme_highlight_rules","ace/mode/matching_parens_outdent"],function(e,t,n){"use strict";function i(){this.HighlightRules=s,this.$outdent=new c,this.$behaviour=this.$defaultBehaviour}var o=e("../lib/oop"),r=e("./text").Mode,s=e("./scheme_highlight_rules").SchemeHighlightRules,c=e("./matching_parens_outdent").MatchingParensOutdent;o.inherits(i,r),function(){this.lineCommentStart=";",this.minorIndentFunctions=["define","lambda","define-macro","define-syntax","syntax-rules","define-record-type","define-structure"],this.$toIndent=function(e){return e.split("").map(function(e){return/\s/.exec(e)?e:" "}).join("")},this.$calculateIndent=function(e,t){for(var n,i,o=this.$getIndent(e),r=0,s=e.length-1;0<=s&&("("===(i=e[s])?(r--,n=!0):"["===i||"{"===i?(r--,n=!1):")"!==i&&"]"!==i&&"}"!==i||r++,!(r<0));s--);if(!(r<0&&n))return r<0&&!n?this.$toIndent(e.substring(0,s+1)):o=0<r?o.substring(0,o.length-t.length):o;for(var c=s+=1,a="";;){if(" "===(i=e[s])||"\t"===i)return-1!==this.minorIndentFunctions.indexOf(a)?this.$toIndent(e.substring(0,c-1)+t):this.$toIndent(e.substring(0,s+1));if(void 0===i)return this.$toIndent(e.substring(0,c-1)+t);a+=e[s],s++}},this.getNextLineIndent=function(e,t,n){return this.$calculateIndent(t,n)},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/scheme"}.call(i.prototype),t.Mode=i}),window.require(["ace/mode/scheme"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});