This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | webpackJsonpTexteditor([7],{"./node_modules/brace/mode/lua.js":function(e,t,n){ace.define("ace/mode/lua_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({keyword:"break|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while|or|and|not","support.function":"string|xpcall|package|tostring|print|os|unpack|acequire|getfenv|setmetatable|next|assert|tonumber|io|rawequal|collectgarbage|getmetatable|module|rawset|math|debug|pcall|table|newproxy|type|coroutine|_G|select|gcinfo|pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|load|error|loadfile|sub|upper|len|gfind|rep|find|match|char|dump|gmatch|reverse|byte|format|gsub|lower|preload|loadlib|loaded|loaders|cpath|config|path|seeall|exit|setlocale|date|getenv|difftime|remove|time|clock|tmpname|rename|execute|lines|write|close|flush|open|output|type|read|stderr|stdin|input|stdout|popen|tmpfile|log|max|acos|huge|ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|gethook|setmetatable|setlocal|traceback|setfenv|getinfo|setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|foreachi|maxn|foreach|concat|sort|remove|resume|yield|status|wrap|create|running|__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber","keyword.deprecated":"setn|foreach|foreachi|gcinfo|log10|maxn","constant.library":"string|package|os|io|math|debug|table|coroutine","constant.language":"true|false|nil|_G|_VERSION","variable.language":"self"},"identifier");this.$rules={start:[{stateName:"bracketedComment",onMatch:function(e,t,n){return n.unshift(this.next,e.length-2,t),"comment"},regex:/\-\-\[=*\[/,next:[{onMatch:function(e,t,n){return e.length==n[1]?(n.shift(),n.shift(),this.next=n.shift()):this.next="","comment"},regex:/\]=*\]/,next:"start"},{defaultToken:"comment"}]},{token:"comment",regex:"\\-\\-.*$"},{stateName:"bracketedString",onMatch:function(e,t,n){return n.unshift(this.next,e.length,t),"string.start"},regex:/\[=*\[/,next:[{onMatch:function(e,t,n){return e.length==n[1]?(n.shift(),n.shift(),this.next=n.shift()):this.next="","string.end"},regex:/\]=*\]/,next:"start"},{defaultToken:"string"}]},{token:"string",regex:'"(?:[^\\\\]|\\\\.)*?"'},{token:"string",regex:"'(?:[^\\\\]|\\\\.)*?'"},{token:"constant.numeric",regex:"(?:(?:(?:(?:\\d+)?(?:\\.\\d+))|(?:(?:\\d+)\\.)))"},{token:"constant.numeric",regex:"(?:(?:(?:[1-9]\\d*)|(?:0))|(?:0[xX][\\dA-Fa-f]+))\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+|\\w+"}]},this.normalizeRules()};r.inherits(o,i),t.LuaHighlightRules=o}),ace.define("ace/mode/folding/lua",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,o=e("../../range").Range,a=e("../../token_iterator").TokenIterator,s=t.FoldMode=function(){};r.inherits(s,i),function(){this.foldingStartMarker=/\b(function|then|do|repeat)\b|{\s*$|(\[=*\[)/,this.foldingStopMarker=/\bend\b|^\s*}|\]=*\]/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=this.foldingStartMarker.test(r),o=this.foldingStopMarker.test(r);if(i&&!o){var a;if("then"==(a=r.match(this.foldingStartMarker))[1]&&/\belseif\b/.test(r))return;if(a[1]){if("keyword"===e.getTokenAt(n,a.index+1).type)return"start"}else{if(!a[2])return"start";if("bracketedComment"==(s=e.bgTokenizer.getState(n)||"")[0]||"bracketedString"==s[0])return"start"}}if("markbeginend"!=t||!o||i&&o)return"";if("end"===(a=r.match(this.foldingStopMarker))[0]){if("keyword"===e.getTokenAt(n,a.index+1).type)return"end"}else{if("]"!==a[0][0])return"end";var s;if("bracketedComment"==(s=e.bgTokenizer.getState(n-1)||"")[0]||"bracketedString"==s[0])return"end"}},this.getFoldWidgetRange=function(e,t,n){var r,i=e.doc.getLine(n);return(r=this.foldingStartMarker.exec(i))?r[1]?this.luaBlock(e,n,r.index+1):r[2]?e.getCommentFoldRange(n,r.index+1):this.openingBracketBlock(e,"{",n,r.index):(r=this.foldingStopMarker.exec(i))?"end"===r[0]&&"keyword"===e.getTokenAt(n,r.index+1).type?this.luaBlock(e,n,r.index+1):"]"===r[0][0]?e.getCommentFoldRange(n,r.index+1):this.closingBracketBlock(e,"}",n,r.index+r[0].length):void 0},this.luaBlock=function(e,t,n){var r=new a(e,t,n),i={function:1,do:1,then:1,elseif:-1,end:-1,repeat:1,until:-1},s=r.getCurrentToken();if(s&&"keyword"==s.type){var c=s.value,l=[c],u=i[c];if(u){var p=-1===u?r.getCurrentTokenColumn():e.getLine(t).length,d=t;for(r.step=-1===u?r.stepBackward:r.stepForward;s=r.step();)if("keyword"===s.type){var f=u*i[s.value];if(f>0)l.unshift(s.value);else if(f<=0){if(l.shift(),!l.length&&"elseif"!=s.value)break;0===f&&l.unshift(s.value)}}t=r.getCurrentTokenRow();return-1===u?new o(t,e.getLine(t).length,d,p):new o(d,p,t,r.getCurrentTokenColumn())}}}}.call(s.prototype)}),ace.define("ace/mode/lua",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lua_highlight_rules","ace/mode/folding/lua","ace/range","ace/worker/worker_client"],function(e,t,r){"use strict";var i=e("../lib/oop"),o=e("./text").Mode,a=e("./lua_highlight_rules").LuaHighlightRules,s=e("./folding/lua").FoldMode,c=e("../range").Range,l=e("../worker/worker_client").WorkerClient,u=function(){this.HighlightRules=a,this.foldingRules=new s,this.$behaviour=this.$defaultBehaviour};i.inherits(u,o),function(){this.lineCommentStart="--",this.blockComment={start:"--[",end:"]--"};var e={function:1,then:1,do:1,else:1,elseif:1,repeat:1,end:-1,until:-1},t=["else","elseif","end","until"];function r(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];"keyword"==i.type?i.value in e&&(n+=e[i.value]):"paren.lparen"==i.type?n+=i.value.length:"paren.rparen"==i.type&&(n-=i.value.length)}return n<0?-1:n>0?1:0}this.getNextLineIndent=function(e,t,n){var i=this.$getIndent(t),o=0,a=this.getTokenizer().getLineTokens(t,e).tokens;return"start"==e&&(o=r(a)),o>0?i+n:o<0&&i.substr(i.length-n.length)==n&&!this.checkOutdent(e,t,"\n")?i.substr(0,i.length-n.length):i},this.checkOutdent=function(e,n,r){if("\n"!=r&&"\r"!=r&&"\r\n"!=r)return!1;if(n.match(/^\s*[\)\}\]]$/))return!0;var i=this.getTokenizer().getLineTokens(n.trim(),e).tokens;return!(!i||!i.length)&&("keyword"==i[0].type&&-1!=t.indexOf(i[0].value))},this.autoOutdent=function(e,t,n){var i=t.getLine(n-1),o=this.$getIndent(i).length,a=this.getTokenizer().getLineTokens(i,"start").tokens,s=o+t.getTabString().length*r(a);this.$getIndent(t.getLine(n)).length<=s||t.outdentRows(new c(n,0,n+2,0))},this.createWorker=function(e){var t=new l(["ace"],n("./node_modules/brace/worker/lua.js"),"Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/lua"}.call(u.prototype),t.Mode=u})},"./node_modules/brace/worker/lua.js":function(e,t){e.exports.id="ace/mode/lua_worker",e.exports.src='"no use strict";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail="";testPath;){var alias=paths[testPath];if("string"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,"/")+(tail||alias.main||alias.name);if(alias===!1)return"";var i=testPath.lastIndexOf("/");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:"error",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf("!")){var chunks=moduleName.split("!");return window.normalizeModule(parentId,chunks[0])+"!"+window.normalizeModule(parentId,chunks[1])}if("."==moduleName.charAt(0)){var base=parentId.split("/").slice(0,-1).join("/");for(moduleName=(base?base+"/":"")+moduleName;-1!==moduleName.indexOf(".")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,"").replace(/\\/\\.\\//,"/").replace(/[^\\/]+\\/\\.\\.\\//,"")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error("worker.js acequire() accepts only (parentId, id) as arguments");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log("unable to load "+id);var path=resolveModuleId(id,window.acequire.tlns);return".js"!=path.slice(-3)&&(path+=".js"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,"string"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),"function"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=["require","exports","module"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case"require":return req;case"exports":return module.exports;case"module":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire("ace/lib/event_emitter").EventEmitter,oop=window.acequire("ace/lib/oop"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:"call",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:"event",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error("Unknown command:"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire("ace/lib/es5-shim"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define("ace/lib/oop",["require","exports","module"],function(acequire,exports){"use strict";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define("ace/range",["require","exports","module"],function(acequire,exports){"use strict";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){"object"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){"object"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define("ace/apply_delta",["require","exports","module"],function(acequire,exports){"use strict";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||"";switch(delta.action){case"insert":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case"remove":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(acequire,exports){"use strict";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){"object"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?"unshift":"push"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(acequire,exports){"use strict";var oop=acequire("./lib/oop"),EventEmitter=acequire("./lib/event_emitter").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert="insert"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal("change",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(acequire,exports){"use strict";var oop=acequire("./lib/oop"),applyDelta=acequire("./apply_delta").applyDelta,EventEmitter=acequire("./lib/event_emitter").EventEmitter,Range=acequire("./range").Range,Anchor=acequire("./anchor").Anchor,Document=function(textOrLines){this.$lines=[""],0===textOrLines.length?this.$lines=[""]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0==="aaa".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,"\\n").split("\\n")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[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(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return"\\r\\n"==text||"\\r"==text||"\\n"==text},this.getLine=function(row){return this.$lines[row]||""},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||"").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, [\'\', \'\']) instead."),this.insertMergedLines(position,["",""])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:"insert",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([""]),column=0):(lines=[""].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:"insert",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:"remove",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:"remove",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:"remove",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:"remove",lines:["",""]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert="insert"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal("change",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(""),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:"insert"==delta.action?"remove":"insert",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define("ace/lib/lang",["require","exports","module"],function(acequire,exports){"use strict";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split("").reverse().join("")},exports.stringRepeat=function(string,count){for(var result="";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,"")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,"")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&"object"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if("object"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if("[object Object]"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,"\\\\$1")},exports.escapeHTML=function(str){return str.replace(/&/g,"&").replace(/"/g,""").replace(/\'/g,"'").replace(/</g,"<")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"],function(acequire,exports){"use strict";acequire("../range").Range;var Document=acequire("../document").Document,lang=acequire("../lib/lang"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(""),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on("change",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:"insert",start:data[i],lines:data[i+1]};else var d={action:"remove",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define("ace/mode/lua/luaparse",["require","exports","module"],function(acequire,exports){(function(root,name,factory){factory(exports)})(this,"luaparse",function(exports){"use strict";function finishNode(node){if(trackLocations){var location=locations.pop();location.complete(),options.locations&&(node.loc=location.loc),options.ranges&&(node.range=location.range)}return node}function indexOfObject(array,property,element){for(var i=0,length=array.length;length>i;i++)if(array[i][property]===element)return i;return-1}function sprintf(format){var args=slice.call(arguments,1);return format=format.replace(/%(\\d)/g,function(match,index){return""+args[index-1]||""})}function extend(){for(var src,prop,args=slice.call(arguments),dest={},i=0,length=args.length;length>i;i++){src=args[i];for(prop in src)src.hasOwnProperty(prop)&&(dest[prop]=src[prop])}return dest}function raise(token){var error,col,message=sprintf.apply(null,slice.call(arguments,1));throw token.line!==void 0?(col=token.range[0]-token.lineStart,error=new SyntaxError(sprintf("[%1:%2] %3",token.line,col,message)),error.line=token.line,error.index=token.range[0],error.column=col):(col=index-lineStart+1,error=new SyntaxError(sprintf("[%1:%2] %3",line,col,message)),error.index=index,error.line=line,error.column=col),error}function raiseUnexpectedToken(type,token){raise(token,errors.expectedToken,type,token.value)}function unexpected(found,near){if(near===void 0&&(near=lookahead.value),found.type!==void 0){var type;switch(found.type){case StringLiteral:type="string";break;case Keyword:type="keyword";break;case Identifier:type="identifier";break;case NumericLiteral:type="number";break;case Punctuator:type="symbol";break;case BooleanLiteral:type="boolean";break;case NilLiteral:return raise(found,errors.unexpected,"symbol","nil",near)}return raise(found,errors.unexpected,type,found.value,near)}return raise(found,errors.unexpected,"symbol",found,near)}function lex(){for(skipWhiteSpace();45===input.charCodeAt(index)&&45===input.charCodeAt(index+1);)scanComment(),skipWhiteSpace();if(index>=length)return{type:EOF,value:"<eof>",line:line,lineStart:lineStart,range:[index,index]};var charCode=input.charCodeAt(index),next=input.charCodeAt(index+1);if(tokenStart=index,isIdentifierStart(charCode))return scanIdentifierOrKeyword();switch(charCode){case 39:case 34:return scanStringLiteral();case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return scanNumericLiteral();case 46:return isDecDigit(next)?scanNumericLiteral():46===next?46===input.charCodeAt(index+2)?scanVarargLiteral():scanPunctuator(".."):scanPunctuator(".");case 61:return 61===next?scanPunctuator("=="):scanPunctuator("=");case 62:return 61===next?scanPunctuator(">="):scanPunctuator(">");case 60:return 61===next?scanPunctuator("<="):scanPunctuator("<");case 126:return 61===next?scanPunctuator("~="):scanPunctuator("~");case 58:return 58===next?scanPunctuator("::"):scanPunctuator(":");case 91:return 91===next||61===next?scanLongStringLiteral():scanPunctuator("[");case 42:case 47:case 94:case 37:case 44:case 123:case 125:case 93:case 40:case 41:case 59:case 35:case 45:case 43:return scanPunctuator(input.charAt(index))}return unexpected(input.charAt(index))}function skipWhiteSpace(){for(;length>index;){var charCode=input.charCodeAt(index);if(isWhiteSpace(charCode))index++;else{if(!isLineTerminator(charCode))break;line++,lineStart=++index}}}function scanIdentifierOrKeyword(){for(var value,type;isIdentifierPart(input.charCodeAt(++index)););return value=input.slice(tokenStart,index),isKeyword(value)?type=Keyword:"true"===value||"false"===value?(type=BooleanLiteral,value="true"===value):"nil"===value?(type=NilLiteral,value=null):type=Identifier,{type:type,value:value,line:line,lineStart:lineStart,range:[tokenStart,index]}}function scanPunctuator(value){return index+=value.length,{type:Punctuator,value:value,line:line,lineStart:lineStart,range:[tokenStart,index]}}function scanVarargLiteral(){return index+=3,{type:VarargLiteral,value:"...",line:line,lineStart:lineStart,range:[tokenStart,index]}}function scanStringLiteral(){for(var charCode,delimiter=input.charCodeAt(index++),stringStart=index,string="";length>index&&(charCode=input.charCodeAt(index++),delimiter!==charCode);)92===charCode?(string+=input.slice(stringStart,index-1)+readEscapeSequence(),stringStart=index):(index>=length||isLineTerminator(charCode))&&(string+=input.slice(stringStart,index-1),raise({},errors.unfinishedString,string+String.fromCharCode(charCode)));return string+=input.slice(stringStart,index-1),{type:StringLiteral,value:string,line:line,lineStart:lineStart,range:[tokenStart,index]}}function scanLongStringLiteral(){var string=readLongString();return!1===string&&raise(token,errors.expected,"[",token.value),{type:StringLiteral,value:string,line:line,lineStart:lineStart,range:[tokenStart,index]}\n}function scanNumericLiteral(){var character=input.charAt(index),next=input.charAt(index+1),value="0"===character&&"xX".indexOf(next||null)>=0?readHexLiteral():readDecLiteral();return{type:NumericLiteral,value:value,line:line,lineStart:lineStart,range:[tokenStart,index]}}function readHexLiteral(){var digit,fractionStart,exponentStart,digitStart,fraction=0,binaryExponent=1,binarySign=1;for(digitStart=index+=2,isHexDigit(input.charCodeAt(index))||raise({},errors.malformedNumber,input.slice(tokenStart,index));isHexDigit(input.charCodeAt(index));)index++;if(digit=parseInt(input.slice(digitStart,index),16),"."===input.charAt(index)){for(fractionStart=++index;isHexDigit(input.charCodeAt(index));)index++;fraction=input.slice(fractionStart,index),fraction=fractionStart===index?0:parseInt(fraction,16)/Math.pow(16,index-fractionStart)}if("pP".indexOf(input.charAt(index)||null)>=0){for(index++,"+-".indexOf(input.charAt(index)||null)>=0&&(binarySign="+"===input.charAt(index++)?1:-1),exponentStart=index,isDecDigit(input.charCodeAt(index))||raise({},errors.malformedNumber,input.slice(tokenStart,index));isDecDigit(input.charCodeAt(index));)index++;binaryExponent=input.slice(exponentStart,index),binaryExponent=Math.pow(2,binaryExponent*binarySign)}return(digit+fraction)*binaryExponent}function readDecLiteral(){for(;isDecDigit(input.charCodeAt(index));)index++;if("."===input.charAt(index))for(index++;isDecDigit(input.charCodeAt(index));)index++;if("eE".indexOf(input.charAt(index)||null)>=0)for(index++,"+-".indexOf(input.charAt(index)||null)>=0&&index++,isDecDigit(input.charCodeAt(index))||raise({},errors.malformedNumber,input.slice(tokenStart,index));isDecDigit(input.charCodeAt(index));)index++;return parseFloat(input.slice(tokenStart,index))}function readEscapeSequence(){var sequenceStart=index;switch(input.charAt(index)){case"n":return index++,"\\n";case"r":return index++,"\\r";case"t":return index++,"\t";case"v":return index++,"\v";case"b":return index++,"\\b";case"f":return index++,"\\f";case"z":return index++,skipWhiteSpace(),"";case"x":return isHexDigit(input.charCodeAt(index+1))&&isHexDigit(input.charCodeAt(index+2))?(index+=3,"\\\\"+input.slice(sequenceStart,index)):"\\\\"+input.charAt(index++);default:if(isDecDigit(input.charCodeAt(index))){for(;isDecDigit(input.charCodeAt(++index)););return"\\\\"+input.slice(sequenceStart,index)}return input.charAt(index++)}}function scanComment(){tokenStart=index,index+=2;var character=input.charAt(index),content="",isLong=!1,commentStart=index,lineStartComment=lineStart,lineComment=line;if("["===character&&(content=readLongString(),!1===content?content=character:isLong=!0),!isLong){for(;length>index&&!isLineTerminator(input.charCodeAt(index));)index++;options.comments&&(content=input.slice(commentStart,index))}if(options.comments){var node=ast.comment(content,input.slice(tokenStart,index));options.locations&&(node.loc={start:{line:lineComment,column:tokenStart-lineStartComment},end:{line:line,column:index-lineStart}}),options.ranges&&(node.range=[tokenStart,index]),comments.push(node)}}function readLongString(){var character,stringStart,level=0,content="",terminator=!1;for(index++;"="===input.charAt(index+level);)level++;if("["!==input.charAt(index+level))return!1;for(index+=level+1,isLineTerminator(input.charCodeAt(index))&&(line++,lineStart=index++),stringStart=index;length>index;){if(character=input.charAt(index++),isLineTerminator(character.charCodeAt(0))&&(line++,lineStart=index),"]"===character){terminator=!0;for(var i=0;level>i;i++)"="!==input.charAt(index+i)&&(terminator=!1);"]"!==input.charAt(index+level)&&(terminator=!1)}if(terminator)break}return content+=input.slice(stringStart,index-1),index+=level+1,content}function next(){previousToken=token,token=lookahead,lookahead=lex()}function consume(value){return value===token.value?(next(),!0):!1}function expect(value){value===token.value?next():raise(token,errors.expected,value,token.value)}function isWhiteSpace(charCode){return 9===charCode||32===charCode||11===charCode||12===charCode}function isLineTerminator(charCode){return 10===charCode||13===charCode}function isDecDigit(charCode){return charCode>=48&&57>=charCode}function isHexDigit(charCode){return charCode>=48&&57>=charCode||charCode>=97&&102>=charCode||charCode>=65&&70>=charCode}function isIdentifierStart(charCode){return charCode>=65&&90>=charCode||charCode>=97&&122>=charCode||95===charCode}function isIdentifierPart(charCode){return charCode>=65&&90>=charCode||charCode>=97&&122>=charCode||95===charCode||charCode>=48&&57>=charCode}function isKeyword(id){switch(id.length){case 2:return"do"===id||"if"===id||"in"===id||"or"===id;case 3:return"and"===id||"end"===id||"for"===id||"not"===id;case 4:return"else"===id||"goto"===id||"then"===id;case 5:return"break"===id||"local"===id||"until"===id||"while"===id;case 6:return"elseif"===id||"repeat"===id||"return"===id;case 8:return"function"===id}return!1}function isUnary(token){return Punctuator===token.type?"#-~".indexOf(token.value)>=0:Keyword===token.type?"not"===token.value:!1}function isCallExpression(expression){switch(expression.type){case"CallExpression":case"TableCallExpression":case"StringCallExpression":return!0}return!1}function isBlockFollow(token){if(EOF===token.type)return!0;if(Keyword!==token.type)return!1;switch(token.value){case"else":case"elseif":case"end":case"until":return!0;default:return!1}}function createScope(){scopes.push(Array.apply(null,scopes[scopeDepth++]))}function exitScope(){scopes.pop(),scopeDepth--}function scopeIdentifierName(name){-1===indexOf(scopes[scopeDepth],name)&&scopes[scopeDepth].push(name)}function scopeIdentifier(node){scopeIdentifierName(node.name),attachScope(node,!0)}function attachScope(node,isLocal){isLocal||-1!==indexOfObject(globals,"name",node.name)||globals.push(node),node.isLocal=isLocal}function scopeHasName(name){return-1!==indexOf(scopes[scopeDepth],name)}function createLocationMarker(){return new Marker(token)}function Marker(token){options.locations&&(this.loc={start:{line:token.line,column:token.range[0]-token.lineStart},end:{line:0,column:0}}),options.ranges&&(this.range=[token.range[0],0])}function markLocation(){trackLocations&&locations.push(createLocationMarker())}function pushLocation(marker){trackLocations&&locations.push(marker)}function parseChunk(){next(),markLocation();var body=parseBlock();return EOF!==token.type&&unexpected(token),trackLocations&&!body.length&&(previousToken=token),finishNode(ast.chunk(body))}function parseBlock(){var statement,block=[];for(options.scope&&createScope();!isBlockFollow(token);){if("return"===token.value){block.push(parseStatement());break}statement=parseStatement(),statement&&block.push(statement)}return options.scope&&exitScope(),block}function parseStatement(){if(markLocation(),Keyword===token.type)switch(token.value){case"local":return next(),parseLocalStatement();case"if":return next(),parseIfStatement();case"return":return next(),parseReturnStatement();case"function":next();var name=parseFunctionName();return parseFunctionDeclaration(name);case"while":return next(),parseWhileStatement();case"for":return next(),parseForStatement();case"repeat":return next(),parseRepeatStatement();case"break":return next(),parseBreakStatement();case"do":return next(),parseDoStatement();case"goto":return next(),parseGotoStatement()}return Punctuator===token.type&&consume("::")?parseLabelStatement():(trackLocations&&locations.pop(),consume(";")?void 0:parseAssignmentOrCallStatement())}function parseLabelStatement(){var name=token.value,label=parseIdentifier();return options.scope&&(scopeIdentifierName("::"+name+"::"),attachScope(label,!0)),expect("::"),finishNode(ast.labelStatement(label))}function parseBreakStatement(){return finishNode(ast.breakStatement())}function parseGotoStatement(){var name=token.value,label=parseIdentifier();return options.scope&&(label.isLabel=scopeHasName("::"+name+"::")),finishNode(ast.gotoStatement(label))}function parseDoStatement(){var body=parseBlock();return expect("end"),finishNode(ast.doStatement(body))}function parseWhileStatement(){var condition=parseExpectedExpression();expect("do");var body=parseBlock();return expect("end"),finishNode(ast.whileStatement(condition,body))}function parseRepeatStatement(){var body=parseBlock();expect("until");var condition=parseExpectedExpression();return finishNode(ast.repeatStatement(condition,body))}function parseReturnStatement(){var expressions=[];if("end"!==token.value){var expression=parseExpression();for(null!=expression&&expressions.push(expression);consume(",");)expression=parseExpectedExpression(),expressions.push(expression);consume(";")}return finishNode(ast.returnStatement(expressions))}function parseIfStatement(){var condition,body,marker,clauses=[];for(trackLocations&&(marker=locations[locations.length-1],locations.push(marker)),condition=parseExpectedExpression(),expect("then"),body=parseBlock(),clauses.push(finishNode(ast.ifClause(condition,body))),trackLocations&&(marker=createLocationMarker());consume("elseif");)pushLocation(marker),condition=parseExpectedExpression(),expect("then"),body=parseBlock(),clauses.push(finishNode(ast.elseifClause(condition,body))),trackLocations&&(marker=createLocationMarker());return consume("else")&&(trackLocations&&(marker=new Marker(previousToken),locations.push(marker)),body=parseBlock(),clauses.push(finishNode(ast.elseClause(body)))),expect("end"),finishNode(ast.ifStatement(clauses))}function parseForStatement(){var body,variable=parseIdentifier();if(options.scope&&scopeIdentifier(variable),consume("=")){var start=parseExpectedExpression();expect(",");var end=parseExpectedExpression(),step=consume(",")?parseExpectedExpression():null;return expect("do"),body=parseBlock(),expect("end"),finishNode(ast.forNumericStatement(variable,start,end,step,body))}for(var variables=[variable];consume(",");)variable=parseIdentifier(),options.scope&&scopeIdentifier(variable),variables.push(variable);expect("in");var iterators=[];do{var expression=parseExpectedExpression();iterators.push(expression)}while(consume(","));return expect("do"),body=parseBlock(),expect("end"),finishNode(ast.forGenericStatement(variables,iterators,body))}function parseLocalStatement(){var name;if(Identifier===token.type){var variables=[],init=[];do name=parseIdentifier(),variables.push(name);while(consume(","));if(consume("="))do{var expression=parseExpectedExpression();init.push(expression)}while(consume(","));if(options.scope)for(var i=0,l=variables.length;l>i;i++)scopeIdentifier(variables[i]);return finishNode(ast.localStatement(variables,init))}return consume("function")?(name=parseIdentifier(),options.scope&&scopeIdentifier(name),parseFunctionDeclaration(name,!0)):(raiseUnexpectedToken("<name>",token),void 0)}function parseAssignmentOrCallStatement(){var expression,marker,previous=token;if(trackLocations&&(marker=createLocationMarker()),expression=parsePrefixExpression(),null==expression)return unexpected(token);if(",=".indexOf(token.value)>=0){for(var exp,variables=[expression],init=[];consume(",");)exp=parsePrefixExpression(),null==exp&&raiseUnexpectedToken("<expression>",token),variables.push(exp);expect("=");do exp=parseExpectedExpression(),init.push(exp);while(consume(","));return pushLocation(marker),finishNode(ast.assignmentStatement(variables,init))}return isCallExpression(expression)?(pushLocation(marker),finishNode(ast.callStatement(expression))):unexpected(previous)}function parseIdentifier(){markLocation();var identifier=token.value;return Identifier!==token.type&&raiseUnexpectedToken("<name>",token),next(),finishNode(ast.identifier(identifier))}function parseFunctionDeclaration(name,isLocal){var parameters=[];if(expect("("),!consume(")"))for(;;)if(Identifier===token.type){var parameter=parseIdentifier();if(options.scope&&scopeIdentifier(parameter),parameters.push(parameter),consume(","))continue;if(consume(")"))break}else{if(VarargLiteral===token.type){parameters.push(parsePrimaryExpression()),expect(")");break}raiseUnexpectedToken("<name> or \'...\'",token)}var body=parseBlock();return expect("end"),isLocal=isLocal||!1,finishNode(ast.functionStatement(name,parameters,isLocal,body))}function parseFunctionName(){var base,name,marker;for(trackLocations&&(marker=createLocationMarker()),base=parseIdentifier(),options.scope&&attachScope(base,!1);consume(".");)pushLocation(marker),name=parseIdentifier(),options.scope&&attachScope(name,!1),base=finishNode(ast.memberExpression(base,".",name));return consume(":")&&(pushLocation(marker),name=parseIdentifier(),options.scope&&attachScope(name,!1),base=finishNode(ast.memberExpression(base,":",name))),base}function parseTableConstructor(){for(var key,value,fields=[];;){if(markLocation(),Punctuator===token.type&&consume("["))key=parseExpectedExpression(),expect("]"),expect("="),value=parseExpectedExpression(),fields.push(finishNode(ast.tableKey(key,value)));else if(Identifier===token.type)key=parseExpectedExpression(),consume("=")?(value=parseExpectedExpression(),fields.push(finishNode(ast.tableKeyString(key,value)))):fields.push(finishNode(ast.tableValue(key)));else{if(null==(value=parseExpression())){locations.pop();break}fields.push(finishNode(ast.tableValue(value)))}if(",;".indexOf(token.value)>=0)next();else if("}"===token.value)break}return expect("}"),finishNode(ast.tableConstructorExpression(fields))}function parseExpression(){var expression=parseSubExpression(0);return expression}function parseExpectedExpression(){var expression=parseExpression();return null!=expression?expression:(raiseUnexpectedToken("<expression>",token),void 0)}function binaryPrecedence(operator){var charCode=operator.charCodeAt(0),length=operator.length;if(1===length)switch(charCode){case 94:return 10;case 42:case 47:case 37:return 7;case 43:case 45:return 6;case 60:case 62:return 3}else if(2===length)switch(charCode){case 46:return 5;case 60:case 62:case 61:case 126:return 3;case 111:return 1}else if(97===charCode&&"and"===operator)return 2;return 0}function parseSubExpression(minPrecedence){var expression,marker,operator=token.value;if(trackLocations&&(marker=createLocationMarker()),isUnary(token)){markLocation(),next();var argument=parseSubExpression(8);null==argument&&raiseUnexpectedToken("<expression>",token),expression=finishNode(ast.unaryExpression(operator,argument))}if(null==expression&&(expression=parsePrimaryExpression(),null==expression&&(expression=parsePrefixExpression())),null==expression)return null;for(var precedence;;){if(operator=token.value,precedence=Punctuator===token.type||Keyword===token.type?binaryPrecedence(operator):0,0===precedence||minPrecedence>=precedence)break;("^"===operator||".."===operator)&&precedence--,next();var right=parseSubExpression(precedence);null==right&&raiseUnexpectedToken("<expression>",token),trackLocations&&locations.push(marker),expression=finishNode(ast.binaryExpression(operator,expression,right))}return expression}function parsePrefixExpression(){var base,name,marker,isLocal;if(trackLocations&&(marker=createLocationMarker()),Identifier===token.type)name=token.value,base=parseIdentifier(),options.scope&&attachScope(base,isLocal=scopeHasName(name));else{if(!consume("("))return null;base=parseExpectedExpression(),expect(")"),options.scope&&(isLocal=base.isLocal)}for(var expression,identifier;;)if(Punctuator===token.type)switch(token.value){case"[":pushLocation(marker),next(),expression=parseExpectedExpression(),base=finishNode(ast.indexExpression(base,expression)),expect("]");break;case".":pushLocation(marker),next(),identifier=parseIdentifier(),options.scope&&attachScope(identifier,isLocal),base=finishNode(ast.memberExpression(base,".",identifier));break;case":":pushLocation(marker),next(),identifier=parseIdentifier(),options.scope&&attachScope(identifier,isLocal),base=finishNode(ast.memberExpression(base,":",identifier)),pushLocation(marker),base=parseCallExpression(base);break;case"(":case"{":pushLocation(marker),base=parseCallExpression(base);break;default:return base}else{if(StringLiteral!==token.type)break;pushLocation(marker),base=parseCallExpression(base)}return base}function parseCallExpression(base){if(Punctuator===token.type)switch(token.value){case"(":next();var expressions=[],expression=parseExpression();for(null!=expression&&expressions.push(expression);consume(",");)expression=parseExpectedExpression(),expressions.push(expression);return expect(")"),finishNode(ast.callExpression(base,expressions));case"{":markLocation(),next();var table=parseTableConstructor();return finishNode(ast.tableCallExpression(base,table))}else if(StringLiteral===token.type)return finishNode(ast.stringCallExpression(base,parsePrimaryExpression()));raiseUnexpectedToken("function arguments",token)}function parsePrimaryExpression(){var marker,literals=StringLiteral|NumericLiteral|BooleanLiteral|NilLiteral|VarargLiteral,value=token.value,type=token.type;if(trackLocations&&(marker=createLocationMarker()),type&literals){pushLocation(marker);var raw=input.slice(token.range[0],token.range[1]);return next(),finishNode(ast.literal(type,value,raw))}return Keyword===type&&"function"===value?(pushLocation(marker),next(),parseFunctionDeclaration(null)):consume("{")?(pushLocation(marker),parseTableConstructor()):void 0}function parse(_input,_options){return _options===void 0&&"object"==typeof _input&&(_options=_input,_input=void 0),_options||(_options={}),input=_input||"",options=extend(defaultOptions,_options),index=0,line=1,lineStart=0,length=input.length,scopes=[[]],scopeDepth=0,globals=[],locations=[],options.comments&&(comments=[]),options.wait?exports:end()}function write(_input){return input+=_input+"",length=input.length,exports}function end(_input){_input!==void 0&&write(_input),length=input.length,trackLocations=options.locations||options.ranges,lookahead=lex();var chunk=parseChunk();if(options.comments&&(chunk.comments=comments),options.scope&&(chunk.globals=globals),locations.length>0)throw Error("Location tracking failed. This is most likely a bug in luaparse");return chunk}exports.version="0.1.4";var input,options,length,defaultOptions=exports.defaultOptions={wait:!1,comments:!0,scope:!1,locations:!1,ranges:!1},EOF=1,StringLiteral=2,Keyword=4,Identifier=8,NumericLiteral=16,Punctuator=32,BooleanLiteral=64,NilLiteral=128,VarargLiteral=256;exports.tokenTypes={EOF:EOF,StringLiteral:StringLiteral,Keyword:Keyword,Identifier:Identifier,NumericLiteral:NumericLiteral,Punctuator:Punctuator,BooleanLiteral:BooleanLiteral,NilLiteral:NilLiteral,VarargLiteral:VarargLiteral};var index,token,previousToken,lookahead,comments,tokenStart,line,lineStart,errors=exports.errors={unexpected:"Unexpected %1 \'%2\' near \'%3\'",expected:"\'%1\' expected near \'%2\'",expectedToken:"%1 expected near \'%2\'",unfinishedString:"unfinished string near \'%1\'",malformedNumber:"malformed number near \'%1\'"},ast=exports.ast={labelStatement:function(label){return{type:"LabelStatement",label:label}},breakStatement:function(){return{type:"BreakStatement"}},gotoStatement:function(label){return{type:"GotoStatement",label:label}},returnStatement:function(args){return{type:"ReturnStatement",arguments:args}},ifStatement:function(clauses){return{type:"IfStatement",clauses:clauses}},ifClause:function(condition,body){return{type:"IfClause",condition:condition,body:body}},elseifClause:function(condition,body){return{type:"ElseifClause",condition:condition,body:body}},elseClause:function(body){return{type:"ElseClause",body:body}},whileStatement:function(condition,body){return{type:"WhileStatement",condition:condition,body:body}},doStatement:function(body){return{type:"DoStatement",body:body}},repeatStatement:function(condition,body){return{type:"RepeatStatement",condition:condition,body:body}},localStatement:function(variables,init){return{type:"LocalStatement",variables:variables,init:init}},assignmentStatement:function(variables,init){return{type:"AssignmentStatement",variables:variables,init:init}},callStatement:function(expression){return{type:"CallStatement",expression:expression}},functionStatement:function(identifier,parameters,isLocal,body){return{type:"FunctionDeclaration",identifier:identifier,isLocal:isLocal,parameters:parameters,body:body}},forNumericStatement:function(variable,start,end,step,body){return{type:"ForNumericStatement",variable:variable,start:start,end:end,step:step,body:body}},forGenericStatement:function(variables,iterators,body){return{type:"ForGenericStatement",variables:variables,iterators:iterators,body:body}},chunk:function(body){return{type:"Chunk",body:body}},identifier:function(name){return{type:"Identifier",name:name}},literal:function(type,value,raw){return type=type===StringLiteral?"StringLiteral":type===NumericLiteral?"NumericLiteral":type===BooleanLiteral?"BooleanLiteral":type===NilLiteral?"NilLiteral":"VarargLiteral",{type:type,value:value,raw:raw}},tableKey:function(key,value){return{type:"TableKey",key:key,value:value}},tableKeyString:function(key,value){return{type:"TableKeyString",key:key,value:value}},tableValue:function(value){return{type:"TableValue",value:value}},tableConstructorExpression:function(fields){return{type:"TableConstructorExpression",fields:fields}},binaryExpression:function(operator,left,right){var type="and"===operator||"or"===operator?"LogicalExpression":"BinaryExpression";return{type:type,operator:operator,left:left,right:right}},unaryExpression:function(operator,argument){return{type:"UnaryExpression",operator:operator,argument:argument}},memberExpression:function(base,indexer,identifier){return{type:"MemberExpression",indexer:indexer,identifier:identifier,base:base}},indexExpression:function(base,index){return{type:"IndexExpression",base:base,index:index}},callExpression:function(base,args){return{type:"CallExpression",base:base,arguments:args}},tableCallExpression:function(base,args){return{type:"TableCallExpression",base:base,arguments:args}},stringCallExpression:function(base,argument){return{type:"StringCallExpression",base:base,argument:argument}},comment:function(value,raw){return{type:"Comment",value:value,raw:raw}}},slice=Array.prototype.slice,indexOf=(Object.prototype.toString,function indexOf(array,element){for(var i=0,length=array.length;length>i;i++)if(array[i]===element)return i;return-1});exports.lex=lex;var scopes,scopeDepth,globals,trackLocations,locations=[];Marker.prototype.complete=function(){options.locations&&(this.loc.end.line=previousToken.line,this.loc.end.column=previousToken.range[1]-previousToken.lineStart),options.ranges&&(this.range[1]=previousToken.range[1])},exports.parse=parse,exports.write=write,exports.end=end})}),ace.define("ace/mode/lua_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/lua/luaparse"],function(acequire,exports){"use strict";var oop=acequire("../lib/oop"),Mirror=acequire("../worker/mirror").Mirror,luaparse=acequire("../mode/lua/luaparse"),Worker=exports.Worker=function(sender){Mirror.call(this,sender),this.setTimeout(500)};oop.inherits(Worker,Mirror),function(){this.onUpdate=function(){var value=this.doc.getValue(),errors=[];try{luaparse.parse(value)}catch(e){e instanceof SyntaxError&&errors.push({row:e.line-1,column:e.column,text:e.message,type:"error"})}this.sender.emit("annotate",errors)}}.call(Worker.prototype)}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,"sentinel",{}),"sentinel"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if("function"!=typeof target)throw new TypeError("Function.prototype.bind called on incompatible "+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,"__defineGetter__"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,"XXX"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return"[object Array]"==_toString(obj)});var boxedString=Object("a"),splitString="a"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,thisp=arguments[1],i=-1,length=self.length>>>0;if("[object Function]"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,result=[],thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0;if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");if(!length&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError("reduce of empty array with no initial value")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&"[object String]"==_toString(this)?this.split(""):object,length=self.length>>>0;if("[object Function]"!=_toString(fun))throw new TypeError(fun+" is not a function");if(!length&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError("reduceRight of empty array with no initial value")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&"[object String]"==_toString(this)?this.split(""):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&"[object String]"==_toString(this)?this.split(""):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(object,property){if("object"!=typeof object&&"function"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if("object"!=typeof prototype)throw new TypeError("typeof prototype["+typeof prototype+"] != \'object\'");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype\n}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom="undefined"==typeof document||doesDefinePropertyWork(document.createElement("div"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR="Property description must be an object: ",ERR_NON_OBJECT_TARGET="Object.defineProperty called on non-object: ",ERR_ACCESSORS_NOT_SUPPORTED="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(object,property,descriptor){if("object"!=typeof object&&"function"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if("object"!=typeof descriptor&&"function"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,"value"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,"get")&&defineGetter(object,property,descriptor.get),owns(descriptor,"set")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return"function"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name="";owns(object,name);)name+="?";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if("object"!=typeof object&&"function"!=typeof object||null===object)throw new TypeError("Object.keys called on a non-object");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws="\t\\n\v\\f\\r \\u2028\\u2029\ufeff";if(!String.prototype.trim||ws.trim()){ws="["+ws+"]";var trimBeginRegexp=RegExp("^"+ws+ws+"*"),trimEndRegexp=RegExp(ws+ws+"*$");String.prototype.trim=function(){return(this+"").replace(trimBeginRegexp,"").replace(trimEndRegexp,"")}}var toObject=function(o){if(null==o)throw new TypeError("can\'t convert "+o+" to object");return Object(o)}});'}}); |
||
0 ignored issues
–
show
Bug
introduced
by
![]() Did you forget to assign or call a function?
This error message can for example pop up if you forget to assign the result of a function call to a variable or pass it to another function: function someFunction(x) {
(x > 0) ? callFoo() : callBar();
}
// JSHint expects you to assign the result to a variable:
function someFunction(x) {
var rs = (x > 0) ? callFoo() : callBar();
}
// If you do not use the result, you could also use if statements in the
// case above.
function someFunction(x) {
if (x > 0) {
callFoo();
} else {
callBar();
}
}
![]() Are you sure that this assignment is correct, and you did not intend to make a comparison?
Even if this assignment is intended here, we recommend to make this explicit in order to make your code more readable and your intention clear: 1. Assignment invar x;
if (x = 0) { // Very likely a bug.
var b = 1;
}
// Instead
var x;
if (x === 0) {
var b = 1;
}
2. Assignment infuncton setHeight(node, height) {
do {
node.height = height;
} while (node = node.parentNode);
}
// Instead you could use
function setHeight(node, height) {
do {
node.height = height;
} while ((node = node.parentNode) !== null);
}
3. Uninitialized loop variablevar i = 0, sum;
for (i < 10; i += 1) {
sum += i;
}
// Instead
var i = 0, sum;
for (i = 0; i < 10; i += 1) {
sum += i;
}
![]() The variable
s seems to be used out of scope.
This error can usually be fixed by declaring the variable in the scope where it is used: function someFunction() {
(function() {
var i = 0;
})();
// i is not defined.
alert(i);
}
// This can be fixed by moving the var statement to the outer scope.
function someFunction() {
var i;
(function() {
i = 1;
})();
alert(i);
};
![]() The variable
a seems to be used out of scope.
This error can usually be fixed by declaring the variable in the scope where it is used: function someFunction() {
(function() {
var i = 0;
})();
// i is not defined.
alert(i);
}
// This can be fixed by moving the var statement to the outer scope.
function someFunction() {
var i;
(function() {
i = 1;
})();
alert(i);
};
![]() |
|||
2 | //# sourceMappingURL=lua-mode.bundle.js.map |