this.trace(e)},parse:function(e){functiont(){vare;returne=f.lex()||p,"number"!=typeofe&&(e=n.symbols_[e]||e),e}varn=this,i=[0],r=[null],s=[],o=this.table,a="",c=0,l=0,h=0,u=2,p=1,d=s.slice.call(arguments,1),f=Object.create(this.lexer),m={yy:{}};for(varginthis.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(m.yy[g]=this.yy[g]);f.setInput(e,m.yy),m.yy.lexer=f,m.yy.parser=this,f.yylloc===void0&&(f.yylloc={});varv=f.yylloc;s.push(v);varb=f.options&&f.options.ranges;this.parseError="function"==typeofm.yy.parseError?m.yy.parseError:Object.getPrototypeOf(this).parseError;for(vary,k,w,T,C,F,E,N,L,x={};;){if(w=i[i.length-1],this.defaultActions[w]?T=this.defaultActions[w]:((null===y||y===void0)&&(y=t()),T=o[w]&&o[w][y]),T===void0||!T.length||!T[0]){varS="";L=[];for(Fino[w])this.terminals_[F]&&F>u&&L.push("'"+this.terminals_[F]+"'");S=f.showPosition?"Parse error on line "+(c+1)+":\n"+f.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(c+1)+": Unexpected "+(y==p?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(S,{text:f.match,token:this.terminals_[y]||y,line:f.yylineno,loc:v,expected:L})}if(T[0]instanceofArray&&T.length>1)throwError("Parse Error: multiple actions possible at state: "+w+", token: "+y);switch(T[0]){case1:i.push(y),r.push(f.yytext),s.push(f.yylloc),i.push(T[1]),y=null,k?(y=k,k=null):(l=f.yyleng,a=f.yytext,c=f.yylineno,v=f.yylloc,h>0&&h--);break;case2:if(E=this.productions_[T[1]][1],x.$=r[r.length-E],x._$={first_line:s[s.length-(E||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(E||1)].first_column,last_column:s[s.length-1].last_column},b&&(x._$.range=[s[s.length-(E||1)].range[0],s[s.length-1].range[1]]),C=this.performAction.apply(x,[a,l,c,m.yy,T[1],r,s].concat(d)),C!==void0)returnC;E&&(i=i.slice(0,2*-1*E),r=r.slice(0,-1*E),s=s.slice(0,-1*E)),i.push(this.productions_[T[1]][0]),r.push(x.$),s.push(x._$),N=o[i[i.length-2]][i[i.length-1]],i.push(N);break;case3:return!0}}return!0}};returne.prototype=vn,vn.Parser=e,newe}();returnrequire!==void0&&e!==void0&&(e.parser=n,e.Parser=n.Parser,e.parse=function(){returnn.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));varn=require("fs").readFileSync(require("path").normalize(t[1]),"utf8");returne.parser.parse(n)},t!==void0&&require.main===t&&e.main(process.argv.slice(1))),t.exports}(),require["./scope"]=function(){vare={},t={exports:e};returnfunction(){vart,n=[].indexOf||function(e){for(vart=0,n=this.length;n>t;t++)if(tinthis&&this[t]===e)returnt;return-1};e.Scope=t=function(){functione(e,t,n,i){varr,s;this.parent=e,this.expressions=t,this.method=n,this.referencedVars=i,this.variables=[{name:"arguments",type:"arguments"}],this.positions={},this.parent||(this.utilities={}),this.root=null!=(r=null!=(s=this.parent)?s.root:void0)?r:this}returne.prototype.add=function(e,t,n){returnthis.shared&&!n?this.parent.add(e,t,n):Object.prototype.hasOwnProperty.call(this.positions,e)?this.variables[this.positions[e]].type=t:this.positions[e]=this.variables.push({name:e,type:t})-1},e.prototype.namedMethod=function(){vare;return(null!=(e=this.method)?e.name:void0)||!this.parent?this.method:this.parent.namedMethod()},e.prototype.find=function(e){returnthis.check(e)?!0:(this.add(e,"var"),!1)},e.prototype.parameter=function(e){returnthis.shared&&this.parent.check(e,!0)?void0:this.add(e,"param")},e.prototype.check=function(e){vart;return!!(this.type(e)||(null!=(t=this.parent)?t.check(e):void0))},e.prototype.temporary=function(e,t,n){returnnull==n&&(n=!1),n?(t+parseInt(e,36)).toString(36).replace(/\d/g,"a"):e+(t||"")},e.prototype.type=function(e){vart,n,i,r;for(i=this.variables,t=0,n=i.length;n>t;t++)if(r=i[t],r.name===e)returnr.type;returnnull},e.prototype.freeVariable=function(e,t){vari,r,s;for(null==t&&(t={}),i=0;;){if(s=this.temporary(e,i,t.single),!(this.check(s)||n.call(this.root.referencedVars,s)>=0))break;i++}return(null!=(r=t.reserve)?r:!0)&&this.add(s,"var",!0),s},e.prototype.assign=f
}returnkt(n,e),n.prototype.children=["variable","value"],n.prototype.isStatement=function(e){return(null!=e?e.level:void0)===L&&null!=this.context&&Tt.call(this.context,"?")>=0},n.prototype.assigns=function(e){returnthis["object"===this.context?"value":"variable"].assigns(e)},n.prototype.unfoldSoak=function(e){returnbt(e,this,"variable")},n.prototype.compileNode=function(e){vart,n,i,r,s,o,a,l,h,u,p,d,f,m;if(i=this.variableinstanceofz){if(this.variable.isArray()||this.variable.isObject())returnthis.compilePatternMatch(e);if(this.variable.isSplice())returnthis.compileSplice(e);if("||="===(l=this.context)||"&&="===l||"?="===l)returnthis.compileConditional(e);if("**="===(h=this.context)||"//="===h||"%%="===h)returnthis.compileSpecialMath(e)}returnthis.valueinstanceofc&&(this.value["static"]?(this.value.klass=this.variable.base,this.value.name=this.variable.properties[0],this.value.variable=this.variable):(null!=(u=this.variable.properties)?u.length:void0)>=2&&(p=this.variable.properties,o=p.length>=3?Ct.call(p,0,r=p.length-2):(r=0,[]),a=p[r++],s=p[r++],"prototype"===(null!=(d=a.name)?d.value:void0)&&(this.value.klass=newz(this.variable.base,o),this.value.name=s,this.value.variable=this.variable))),this.context||(m=this.variable.unwrapAll(),m.isAssignable()||this.variable.error('"'+this.variable.compile(e)+'" cannot be assigned'),("function"==typeofm.hasProperties?m.hasProperties():void0)||(this.param?e.scope.add(m.value,"var"):e.scope.find(m.value))),f=this.value.compileToFragments(e,F),i&&this.variable.baseinstanceofA&&(this.variable.front=!0),n=this.variable.compileToFragments(e,F),"object"===this.context?n.concat(this.makeCode(": "),f):(t=n.concat(this.makeCode(" "+(this.context||"=")+" "),f),F>=e.level?t:this.wrapInBraces(t))},n.prototype.compilePatternMatch=function(e){vari,r,s,o,a,c,l,h,u,d,f,m,v,b,y,k,T,C,N,S,D,R,A,_,O,j,M,B;if(_=e.level===L,j=this.value,y=this.variable.base.objects,!(k=y.length))returns=j.compileToFragments(e),e.level>=E?this.wrapInBraces(s):s;if(b=y[0],1===k&&binstanceofp&&b.error("Destructuring assignment has no target"),u=this.variable.isObject(),_&&1===k&&!(binstanceofG))returno=null,binstanceofn&&"object"===b.context?(C=b,N=C.variable,h=N.base,b=C.value,binstanceofn&&(o=b.value,b=b.variable)):(binstanceofn&&(o=b.value,b=b.variable),h=u?b["this"]?b.properties[0].name:b:newx(0)),i=g.test(h.unwrap().value),j=newz(j),j.properties.push(new(i?t:w)(h)),S=b.unwrap().value,Tt.call($,S)>=0&&b.error("assignment to a reserved word: "+b.compile(e)),o&&(j=newI("?",j,o)),newn(b,j,null,{param:this.param}).compileToFragments(e,L);for(M=j.compileToFragments(e,F),B=st(M),r=[],a=!1,(!g.test(B)||this.variable.assigns(B))&&(r.push([this.makeCode((T=e.scope.freeVariable("ref"))+" = ")].concat(Ct.call(M))),M=[this.makeCode(T)],B=T),l=f=0,m=y.length;m>f;l=++f){if(b=y[l],h=l,!a&&binstanceofG)v=b.name.unwrap().value,b=b.unwrap(),O=k+" <= "+B+".length ? "+yt("slice",e)+".call("+B+", "+l,(A=k-l-1)?(d=e.scope.freeVariable("i",{single:!0}),O+=", "+d+" = "+B+".length - "+A+") : ("+d+" = "+l+", [])"):O+=") : []",O=newx(O),a=d+"++";else{if(!a&&binstanceofp){(A=k-l-1)&&(1===A?a=B+".length - 1":(d=e.scope.freeVariable("i",{single:!0}),O=newx(d+" = "+B+".length - "+A),a=d+"++",r.push(O.compileToFragments(e,F))));continue}(binstanceofG||binstanceofp)&&b.error("multiple splats/expansions are disallowed in an assignment"),o=null,binstanceofn&&"object"===b.context?(D=b,R=D.variable,h=R.base,b=D.value,binstanceofn&&(o=b.value,b=b.variable)):(binstanceofn&&(o=b.value,b=b.variable),h=u?b["this"]?b.properties[0].name:b:newx(a||h)),v=b.unwrap().value,i=g.test(h.unwrap().value),O=newz(newx(B),[new(i?t:w)(h)]),o&&(O=newI("?",O,o))}null!=v&&Tt.call($,v)>=0&&b.error("assignment to a reserved word: "+b.compile(e)),r.push(newn(b,O,null,{param:this.param,subpattern:!0}).compileToFragments(e,F))}return_||this.subpattern||r.push(M),c=this.joinFragmentArrays(r,", "),F>e.level?c:this.wrapInBraces(c)},n.prototype.compileConditional=function(e){vart,i,r,s;returnr=this.variable.cacheReference
}()},t}(),t.exports=n}.call(this),t.exports}(),require["./coffee-script"]=function(){vare={},t={exports:e};returnfunction(){vart,n,i,r,s,o,a,c,l,h,u,p,d,f,m,g,v,b,y={}.hasOwnProperty,k=[].indexOf||function(e){for(vart=0,n=this.length;n>t;t++)if(tinthis&&this[t]===e)returnt;return-1};if(a=require("fs"),v=require("vm"),f=require("path"),t=require("./lexer").Lexer,d=require("./parser").parser,l=require("./helpers"),n=require("./sourcemap"),e.VERSION="1.10.0",e.FILE_EXTENSIONS=[".coffee",".litcoffee",".coffee.md"],e.helpers=l,b=function(e){returnfunction(t,n){vari,r;null==n&&(n={});try{returne.call(this,t,n)}catch(r){if(i=r,"string"!=typeoft)throwi;throwl.updateSyntaxError(i,t,n.filename)}}},e.compile=r=b(function(e,t){vari,r,s,o,a,c,h,u,f,m,g,v,b,y,k;for(v=l.merge,o=l.extend,t=o({},t),t.sourceMap&&(g=newn),k=p.tokenize(e,t),t.referencedVars=function(){vare,t,n;for(n=[],e=0,t=k.length;t>e;e++)y=k[e],y.variable&&n.push(y[1]);returnn}(),c=d.parse(k).compileToFragments(t),s=0,t.header&&(s+=1),t.shiftLine&&(s+=1),r=0,f="",u=0,m=c.length;m>u;u++)a=c[u],t.sourceMap&&(a.locationData&&!/^[;\s]*$/.test(a.code)&&g.add([a.locationData.first_line,a.locationData.first_column],[s,r],{noReplace:!0}),b=l.count(a.code,"\n"),s+=b,b?r=a.code.length-(a.code.lastIndexOf("\n")+1):r+=a.code.length),f+=a.code;returnt.header&&(h="Generated by CoffeeScript "+this.VERSION,f="// "+h+"\n"+f),t.sourceMap?(i={js:f},i.sourceMap=g,i.v3SourceMap=g.generate(t,e),i):f}),e.tokens=b(function(e,t){returnp.tokenize(e,t)}),e.nodes=b(function(e,t){return"string"==typeofe?d.parse(p.tokenize(e,t)):d.parse(e)}),e.run=function(e,t){varn,i,s,o;returnnull==t&&(t={}),s=require.main,s.filename=process.argv[1]=t.filename?a.realpathSync(t.filename):".",s.moduleCache&&(s.moduleCache={}),i=t.filename?f.dirname(a.realpathSync(t.filename)):a.realpathSync("."),s.paths=require("module")._nodeModulePaths(i),(!l.isCoffee(s.filename)||require.extensions)&&(n=r(e,t),e=null!=(o=n.js)?o:n),s._compile(e,s.filename)},e.eval=function(e,t){varn,i,s,o,a,c,l,h,u,p,d,m,g,b,k,w,T;if(null==t&&(t={}),e=e.trim()){if(o=null!=(m=v.Script.createContext)?m:v.createContext,c=null!=(g=v.isContext)?g:function(){returnt.sandboxinstanceofo().constructor},o){if(null!=t.sandbox){if(c(t.sandbox))w=t.sandbox;else{w=o(),b=t.sandbox;for(hinb)y.call(b,h)&&(T=b[h],w[h]=T)}w.global=w.root=w.GLOBAL=w}elsew=global;if(w.__filename=t.filename||"eval",w.__dirname=f.dirname(w.__filename),w===global&&!w.module&&!w.require){for(n=require("module"),w.module=i=newn(t.modulename||"eval"),w.require=s=function(e){returnn._load(e,i,!0)},i.filename=w.__filename,k=Object.getOwnPropertyNames(require),a=0,u=k.length;u>a;a++)d=k[a],"paths"!==d&&"arguments"!==d&&"caller"!==d&&(s[d]=require[d]);s.paths=i.paths=n._nodeModulePaths(process.cwd()),s.resolve=function(e){returnn._resolveFilename(e,i)}}}p={};for(hint)y.call(t,h)&&(T=t[h],p[h]=T);returnp.bare=!0,l=r(e,p),w===global?v.runInThisContext(l):v.runInContext(l,w)}},e.register=function(){returnrequire("./register")},require.extensions)for(m=this.FILE_EXTENSIONS,h=0,u=m.length;u>h;h++)s=m[h],null==(i=require.extensions)[s]&&(i[s]=function(){throwError("Use CoffeeScript.register() or require the coffee-script/register module to require "+s+" files.")});e._compileFile=function(e,t){varn,i,s,o,c;null==t&&(t=!1),o=a.readFileSync(e,"utf8"),c=65279===o.charCodeAt(0)?o.substring(1):o;try{n=r(c,{filename:e,sourceMap:t,literate:l.isLiterate(e)})}catch(s){throwi=s,l.updateSyntaxError(i,c,e)}returnn},p=newt,d.lexer={lex:function(){vare,t;returnt=d.tokens[this.pos++],t?(e=t[0],this.yytext=t[1],this.yylloc=t[2],d.errorToken=t.origin||t,this.yylineno=this.yylloc.first_line):e="",e},setInput:function(e){returnd.tokens=e,this.pos=0},upcomingInput:function(){return""}},d.yy=require("./nodes"),d.yy.parseError=function(e,t){varn,i,r,s,o,a;returno=t.token,s=d.errorToken,a=d.tokens,i=s[0],r=s[1],n=s[2],r=function(){switch(!1){cases!==a[a.length-1]:return"end of input";case"INDENT"!==i&&"OUTDENT"!==i:return"indentation";case"IDENTIFIER"!==i&&"NUMBER"!==i&&"STRI