ace.define("ace/mode/pascal_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(n,c,h){"use strict";var u=n("../lib/oop"),s=n("./text_highlight_rules").TextHighlightRules,r=function(){var l=this.createKeywordMapper({"keyword.control":"absolute|abstract|all|and|and_then|array|as|asm|attribute|begin|bindable|case|class|const|constructor|destructor|div|do|do|else|end|except|export|exports|external|far|file|finalization|finally|for|forward|goto|if|implementation|import|in|inherited|initialization|interface|interrupt|is|label|library|mod|module|name|near|nil|not|object|of|only|operator|or|or_else|otherwise|packed|pow|private|program|property|protected|public|published|qualified|record|repeat|resident|restricted|segment|set|shl|shr|then|to|try|type|unit|until|uses|value|var|view|virtual|while|with|xor"},"identifier",!0);this.$rules={start:[{caseInsensitive:!0,token:["variable","text","storage.type.prototype","entity.name.function.prototype"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?(?=(?:\\(.*?\\))?;\\s*(?:attribute|forward|external))"},{caseInsensitive:!0,token:["variable","text","storage.type.function","entity.name.function"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?"},{caseInsensitive:!0,token:l,regex:/\b[a-z_]+\b/},{token:"constant.numeric",regex:"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"punctuation.definition.comment",regex:"--.*$"},{token:"punctuation.definition.comment",regex:"//.*$"},{token:"punctuation.definition.comment",regex:"\\(\\*",push:[{token:"punctuation.definition.comment",regex:"\\*\\)",next:"pop"},{defaultToken:"comment.block.one"}]},{token:"punctuation.definition.comment",regex:"\\{",push:[{token:"punctuation.definition.comment",regex:"\\}",next:"pop"},{defaultToken:"comment.block.two"}]},{token:"punctuation.definition.string.begin",regex:'"',push:[{token:"constant.character.escape",regex:"\\\\."},{token:"punctuation.definition.string.end",regex:'"',next:"pop"},{defaultToken:"string.quoted.double"}]},{token:"punctuation.definition.string.begin",regex:"'",push:[{token:"constant.character.escape.apostrophe",regex:"''"},{token:"punctuation.definition.string.end",regex:"'",next:"pop"},{defaultToken:"string.quoted.single"}]},{token:"keyword.operator",regex:"[+\\-;,/*%]|:=|="}]},this.normalizeRules()};u.inherits(r,s),c.PascalHighlightRules=r}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(n,c,h){"use strict";var u=n("../../lib/oop"),s=n("./fold_mode").FoldMode,r=n("../../range").Range,l=c.FoldMode=function(){};u.inherits(l,s),function(){this.getFoldWidgetRange=function(e,v,t){var d=this.indentationBlock(e,t);if(d)return d;var i=/\S/,o=e.getLine(t),g=o.search(i);if(-1!=g&&"#"==o[g]){for(var a=o.length,f=e.getLength(),m=t,p=t;++t<f;){var x=(o=e.getLine(t)).search(i);if(-1!=x){if("#"!=o[x])break;p=t}}if(p>m){var b=e.getLine(p).length;return new r(m,a,p,b)}}},this.getFoldWidget=function(e,v,t){var d=e.getLine(t),i=d.search(/\S/),o=e.getLine(t+1),g=e.getLine(t-1),a=g.search(/\S/),f=o.search(/\S/);if(-1==i)return e.foldWidgets[t-1]=-1!=a&&a<f?"start":"","";if(-1==a){if(i==f&&"#"==d[i]&&"#"==o[i])return e.foldWidgets[t-1]="",e.foldWidgets[t+1]="","start"}else if(a==i&&"#"==d[i]&&"#"==g[i]&&-1==e.getLine(t-2).search(/\S/))return e.foldWidgets[t-1]="start",e.foldWidgets[t+1]="","";return e.foldWidgets[t-1]=-1!=a&&a<i?"start":"",i<f?"start":""}}.call(l.prototype)}),ace.define("ace/mode/pascal",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/pascal_highlight_rules","ace/mode/folding/coffee"],function(n,c,h){"use strict";var u=n("../lib/oop"),s=n("./text").Mode,r=n("./pascal_highlight_rules").PascalHighlightRules,l=n("./folding/coffee").FoldMode,e=function(){this.HighlightRules=r,this.foldingRules=new l,this.$behaviour=this.$defaultBehaviour};u.inherits(e,s),function(){this.lineCommentStart=["--","//"],this.blockComment=[{start:"(*",end:"*)"},{start:"{",end:"}"}],this.$id="ace/mode/pascal"}.call(e.prototype),c.Mode=e}),ace.require(["ace/mode/pascal"],function(n){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=n)});