imba-source 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3288 @@
1
+ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Imbac = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
2
+ !function(){function e(e,r){return void 0===r&&(r={}),u.tokenize(e,r)}function r(e,r){return void 0===r&&(r={}),u.rewrite(e,r)}function t(e,r){return u.parse(e,r)}function i(e,r){return void 0===r&&(r={}),u.compile(e,r)}function n(e,r){return void 0===r&&(r={}),u.highlight(e,r)}function o(e,r){return void 0===r&&(r={}),u.analyze(e,r)}var u=require("./compiler");u.parser;exports.tokenize=e,exports.rewrite=r,exports.parse=t,exports.compile=i,exports.highlight=n,exports.analyze=o}();
3
+ },{"./compiler":2}],2:[function(require,module,exports){
4
+ (function (process){
5
+ !function(){function e(e,r){void 0===r&&(r={});try{return u.reset(),u.tokenize(e,r)}catch(i){throw i}}function r(e,r){void 0===r&&(r={});var i=new l;try{return i.rewrite(e,r)}catch(n){throw n}}function i(r,i){void 0===i&&(i={});var n=r instanceof Array?r:e(r,i);try{return i._tokens=n,s.parse(n)}catch(t){throw i.filename&&(t._filename=i.filename),t}}function n(e,r){void 0===r&&(r={});var n=i(e,r);try{return n.compile(r)}catch(t){throw r.filename&&(t._filename=r.filename),t}}function t(e,r){void 0===r&&(r={});var n;try{var t=i(e,r);n=t.analyze({loglevel:0})}catch(o){if(!(o instanceof f.ImbaParseError)){if(!o.lexer)throw o;o=new f.ImbaParseError(o,{tokens:o.lexer.tokens,pos:o.lexer.pos})}n={warnings:[o]}}return n}function o(r,n){void 0===n&&(n={});var t=n.tokens||e(r,n),o=n.ast||i(t,n),a=new x(r,t,o,n);return a.process()}function a(e,r){r&&r.constructor===Object||(r={});var i=void 0!==r.filename?r.filename:null,t=require.main;t.filename=process.argv[1]=i?c.realpathSync(i):".",t.moduleCache&&(t.moduleCache={});var o=require("module").Module;if(t.paths=o._nodeModulePaths(m.dirname(i)),".imba"!=m.extname(t.filename)||require.extensions){var a=n(e,arguments[1]);return t._compile(a.js||a,t.filename)}return t._compile(e,t.filename)}var s,u,l,c=require("fs"),m=require("path"),f=(require("./token"),require("./errors")),p=require("./lexer"),h=require("./rewriter");module.exports.parser=s=require("./parser").parser;var v=require("./nodes");module.exports.lex=u=new p.Lexer,module.exports.Rewriter=l=h.Rewriter;var x=require("./highlighter").Highlighter;s.lexer=u.jisonBridge(),s.yy=v,exports.tokenize=e,exports.rewrite=r,exports.parse=i,exports.compile=n,exports.analyze=t,exports.highlight=o,exports.run=a,require.extensions&&(require.extensions[".imba"]=function(e,r){var i=n(c.readFileSync(r,"utf8"),{filename:r});return e._compile(i.js||i,r)})}();
6
+ }).call(this,require('_process'))
7
+ },{"./errors":3,"./highlighter":5,"./lexer":6,"./nodes":7,"./parser":8,"./rewriter":9,"./token":11,"_process":18,"fs":12,"module":12,"path":17}],3:[function(require,module,exports){
8
+ !function(){function t(t,o){for(var e in o)o.hasOwnProperty(e)&&(t[e]=o[e]);t.prototype=Object.create(o.prototype),t.__super__=t.prototype.__super__=o.prototype,t.prototype.initialize=t.prototype.constructor=t}function o(t,o){this.error=t,this.message=t.message,this.filename=t.filename,this.line=t.line,this._options=o||{}}t(o,Error),exports.ImbaParseError=o,o.wrap=function(t){return new o(t)},o.prototype.set=function(t){this._options||(this._options={});for(var o=0,e=Object.keys(t),r=e.length;r>o;o++)this._options[e[o]]=t[e[o]];return this},o.prototype.start=function(){for(var t=this._options,o=t.pos-1,e=t.tokens&&t.tokens[o];e&&-1==e._col;)e=t.tokens[--o];return e},o.prototype.toJSON=function(){var t=(this._options,this.start());return{warn:!0,message:this.message,loc:t.region(),col:t._col,line:t._line}}}();
9
+ },{}],4:[function(require,module,exports){
10
+ !function(){function e(e){var n=e.match(/\n/);return n?"{"+e+"\n}":"{\n"+e+"\n}"}function n(e){var r=[];return e.forEach(function(e){return e instanceof Array?r.push.apply(r,n(e)):r.push(e)}),r}function r(e){return e.replace(/(^|[\-\_\s])(\w)/g,function(e,n,r){return r.toUpperCase()})}function t(e){return e=String(e),e.replace(/([\-\_\s])(\w)/g,function(e,n,r){return r.toUpperCase()})}function o(e){var e=e.replace(/([\-\s])(\w)/g,"_");return e.replace(/()([A-Z])/g,"_$1",function(e,n,r){return r.toUpperCase()})}function u(e){return t("set-"+e)}function p(e){return'"'+e+'"'}function s(e){return"'"+e+"'"}function c(e){e=String(e);var n=e.charAt(e.length-1);return"="==n&&(e="set"+e[0].toUpperCase()+e.slice(1,-1)),e.indexOf("-")>=0&&(e=e.replace(/([\-\s])(\w)/g,function(e,n,r){return r.toUpperCase()})),e}function a(e){return String(e).replace(/^/g," ").replace(/\n/g,"\n ").replace(/\n\t$/g,"\n")}function i(e,n){return void 0===n&&(n=!0),n&&(e="\n"+a(e)+"\n"),"{"+e+"}"}function f(e){return"("+String(e)+")"}exports.brace=e,exports.flatten=n,exports.pascalCase=r,exports.camelCase=t,exports.snakeCase=o,exports.setterSym=u,exports.quote=p,exports.singlequote=s,exports.symbolize=c,exports.indent=a,exports.bracketize=i,exports.parenthesize=f}();
11
+ },{}],5:[function(require,module,exports){
12
+ !function(){function e(e,t,r,o){return void 0===o&&(o={}),this._code=e,this._tokens=t,this._ast=r,this._options=o,this._options.nextVarCounter||(this._options.nextVarCounter=0),this._varRefs={},this}var t=require("./lexer"),r=require("./compiler"),o={"+":"_imop op add math","++":"_imop op incr math","--":"_imop op decr math","-":"_imop op sub math","=":"_imop op eq","/":"_imop op div math","*":"_imop op mult math","?":"_imop op ternary",",":"_imop comma",":":"_imop op colon",".":"_imop op dot",".:":"_imop op cdot","?.":"_imop op qdot","[":["s","_imopen sb sbl"],"]":["s","_imclose sb sbr"],"(":["s","_imopen rb rbl"],")":["s","_imclose rb rbr"],"{":["s","_imopen cb cbl"],"}":["s","_imclose cb cbr"],call_start:["s","_imopen call rb rbl"],call_end:["s","_imclose call rb rbr"],tag_start:["s","_imopen tag_open"],tag_end:["s","_imclose tag_close"],compound_assign:"op assign compound",str:"_imstr string",num:"_imnum number",string:"_imstr string",number:"_imnum number",math:"_imop op math",forin:"keyword in",forof:"keyword of",own:"keyword own",compare:"_imop op compare",herecomment:["blockquote","comment"],relation:"keyword relation","export":"keyword export",global:"keyword global",extern:"keyword global",extend:"keyword extend",require:"keyword require",from:"keyword from",logic:"keyword logic",post_if:"keyword if post_if",post_for:"keyword for post_for",prop:"keyword prop",attr:"keyword attr"};exports.Highlighter=e,e.prototype.__options={name:"options"},e.prototype.options=function(e){return this._options},e.prototype.setOptions=function(e){return this._options=e,this},e.prototype.varRef=function(e){var t,r=this._options.nested,o=r?"i":"";return this._varRefs[t=e._ref]||(this._varRefs[t]=o+this._options.nextVarCounter++)},e.prototype.process=function(){function e(e){return a.plain?e:e.replace(/(\#)([^\n]*)/g,function(e,t,r){return r=p.inlineLexer(r,[],{}),"<q><s>"+t+"</s>"+r+"</q>"})}function i(e,t){t&&t.constructor===Object||(t={});var r=void 0!==t.type?t.type:"code",o=void 0!==t.reset?t.reset:!0,i={content:e,type:r};return l.push(i),o&&(d=""),i}var n,s=this,a=s.options(),p=require("marked"),_=new p.Renderer;_.heading=function(e,t){return"<h"+t+"><span>"+e+"</span></h"+t+">"},p.setOptions({highlight:function(e,t){if(e.match(/^\s*\>/)||t||(t="imba"),console.log("highlighting here!",e,t),"imba"==t){var o=r.highlight(e,{bare:!0,nested:!0});return o}return o}});var c=s._code,m=s._tokens.length,l=[];if(s._ast)try{s._ast.analyze({})}catch(u){}var d="";m=0;for(var h,f,g=0,b={tag_start:"_imtag tag",selector_start:"_imsel sel",index_start:"index",indent:"_indent","(":"_imparens paren","{":"_imcurly curly","[":"_imsquare square",'("':"_iminterstr string"},y={tag_end:"tag",selector_end:"sel",index_end:"index",outdent:"_indent",")":"paren","]":"square","}":"curly",'")':"string"};n=s._tokens[m++];){s._tokens[m];f&&(d+="</i>",f=null);var v=n._type.toLowerCase(),k=n._loc,w=n._value,q=n._len,x=n._meta;if(k>g){var R=c.substring(g,k);d+=e(R),g=k}if(f=y[v],(h=b[v])&&(h=b[w]||h,d+="<i class='"+h+"'>"),0!=q&&"terminator"!=v&&"indent"!=v&&"outdent"!=v&&-1!=n._col){var C="span",j=c.substr(k,q);"const"==v&&"require"==j&&(v="require");var O=o[v]||v;if(O instanceof Array&&(C=O[0],O=O[1]),O=O.split(" "),t.ALL_KEYWORDS.indexOf(v)>=0&&O.unshift("keyword"),g=k+q,"identifier"==v&&("#"==j[0]?O.push("idref"):O.unshift("_imtok"),x&&"ACCESS"==x.type&&O.push("access")),n._variable){O.push("_lvar");var L=s.varRef(n._variable);O.push("ref-"+L)}if("herecomment"!=v||a.plain){"string"==v&&j.match(/^['"]?\.?\.\//)&&O.push("pathname");var A=O.join(" ");A.match(/\b\_/)||(A="_imtok "+A),d+="<"+C+" class='"+A+"'>"+j+("</"+C+">")}else i(d),j=j.replace(/(^\s*###[\s\n]*|[\n\s]*###\s*$)/g,""),j=p(j,{renderer:_}),d+="<s>###</s>"+j+"<s>###</s>",i(d,{type:"comment"})}}f&&(d+="</i>",f=null),g<c.length-1&&(d+=e(c.slice(g))),0==s._tokens.length&&(d=s._code);if(a.plain)return d;i(d,{type:"code"});var S="";if(s.options().json)return l;for(var V,E=0,z=l.length;z>E;E++){V=l[E];var D=V.content;v={code:"code",comment:"blockquote"}[V.type]||"div",S+="<"+v+" class='"+V.type+" imbalang'>"+D+("</"+v+">")}return s.options().bare||(S='<link rel="stylesheet" href="imba.css" media="screen"></link><script src="imba.js"></script>'+S+'<script src="hl.js"></script>'),S}}();
13
+ },{"./compiler":2,"./lexer":6,"marked":19}],6:[function(require,module,exports){
14
+ !function(){function t(t,e){return e&&e.indexOf?e.indexOf(t):[].indexOf.call(t,e)}function e(t){return t?t.toArray?t.toArray():t:[]}function n(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);t.prototype=Object.create(e.prototype),t.__super__=t.prototype.__super__=e.prototype,t.prototype.initialize=t.prototype.constructor=t}function s(t,e,n){return this.message=t,this.file=e,this.line=n,this}function i(t,e){return void 0===e&&(e=0),t[t.length-e-1]}function h(t,e){return t.split(e).length-1}function r(t,e){for(var n="";e>0;)e%2==1&&(n+=t),t+=t,e>>=1;return n}function o(){this.reset()}var a,l=require("./token"),u=l.Token,c=require("./rewriter"),p=c.Rewriter,_=c.INVERSES,f=require("./errors"),T=["true","false","null","this","delete","typeof","in","instanceof","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","return"],k=["undefined","then","unless","until","loop","of","by","when","def","tag","do","elif","begin","var","let","self","await","import"],E=["extend","static","local","export","global","prop"],d={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",isa:"instanceof","case":"switch",nil:"null"},R=Object.keys(d);k=k.concat(R),module.exports.ALL_KEYWORDS=a=["true","false","null","this","delete","typeof","in","instanceof","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","return","undefined","then","unless","until","loop","of","by","when","def","tag","do","elif","begin","var","let","self","await","import","and","or","is","isnt","not","yes","no","isa","case","nil"];var g=["case","default","function","void","with","const","enum","native"],A=(T.concat(g),/^((([\x23]?[\$A-Za-z_\x7f-\uffff][$\-\w\x7f-\uffff]*)([\=\!]?))|(<=>|\|(?![\|=])))/),N=/^((\$|@@|@|\#)[\wA-Za-z_\-\x7f-\uffff][$\w\x7f-\uffff]*(\-[$\w\x7f-\uffff]+)*|[$A-Za-z_][$\w\x7f-\uffff]*(\-[$\w\x7f-\uffff]+)*)([^\n\S]*:(?![\*\=:$\w\x7f-\uffff]))?/,S=/^((\$|@@|@|)[$A-Za-z_\x7f-\uffff\-][$\w\x7f-\uffff\-]*)([^\n\S\s]*:(?![\*\=:$\w\x7f-\uffff]))/,O=/^(\<|%)(?=[A-Za-z\#\.\{\@])/,I=/^(\w[\w\d]*:)?(\w[\w\d]*)(-[\w\d]+)*/,v=/^#((\w[\w\d]*)(-[\w\d]+)*)/,x=/^([\.\:]?[\w\_]+([\-\:][\w]+)*)(\s)*\=/,y=/^([%\$]{1,2})([\(\w\#\.\[])/,D=/^(\#|\.|:|::)?([\w]+(\-[\w]+)*)/,L=/^ (\+|\>|\~)*\s*(?=[\w\.\#\:\{\*\[])/,G=/^\[([\w\_\-]+)(\$=|\~=|\^=|\*=|\|=|=|\!=)/,w=/^\:((([\*\@$\w\x7f-\uffff]+)+([\-\\/\\\:][\w\x7f-\uffff]+)*[!\?\=]?)|==|\<=\>|\[\]|\[\]\=|\*|[\\/,\\])/,C=/^0x[\da-f]+|^0b[01]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,b=/^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/,M=/^(?:[-=]=>|===|->|!==|[-+*\/%<>&|^!?=]=|=<|>>>=?|([-+:])\1|([&|<>])\2=?|\?\.|\?\:|\.{2,3}|\*(?=[a-zA-Z\_]))/,m=/^[^\n\S]+/,F=/^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)?$)/,U=/^(\s*)(#[ \t\!](.*)|#[ \t]?(?=\n|$))+/,P=/^[-=]=>/,V=/^(?:\n[^\n\S]*)+/,$=/^'[^\\']*(?:\\.[^\\']*)*'/,H=/^`[^\\`]*(?:\\.[^\\`]*)*`/,B=/^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/,z=/^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/,Y=/\s+(?:#.*)?/g,K=/\n/g,X=/\n+([^\n\S]*)/g,q=/\*\//,W=/^\s*(?:,|\??\.(?![.\d])|::)/,Z=/^[A-Z]/,j=/^\$\d$/,J=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|=","=<"],Q=["!","~","NEW","TYPEOF","DELETE"],tt=["&&","||","&","|","^"],et=["<<",">>",">>>"],nt=["===","!==","==","!=","<",">","<=",">=","===","!=="],st=["<=>","<<",".."],it=["*","/","%","∪","∩","√"],ht=["IN","OF","INSTANCEOF","ISA"],rt=["NUMBER","REGEX","BOOL","TRUE","FALSE","++","--","]"],ot=["NUMBER","REGEX","BOOL","TRUE","FALSE","++","--","]",")","}","THIS","SELF","IDENTIFIER","STRING"],at=["\\",".","?.","?:","UNARY","MATH","+","-","SHIFT","RELATION","COMPARE","LOGIC","COMPOUND_ASSIGN","THROW","EXTENDS"],lt=["IDENTIFIER","STRING","REGEX",")","]","THIS","SUPER","TAG_END","IVAR","GVAR","SELF","CONST","NEW","ARGVAR","SYMBOL","RETURN"],ut=["IDENTIFIER","STRING","REGEX",")","]","THIS","SUPER","TAG_END","IVAR","GVAR","SELF","CONST","NEW","ARGVAR","SYMBOL","RETURN","NUMBER","BOOL","TAG_SELECTOR","IDREF","ARGUMENTS","}"],ct=["INDENT","OUTDENT","TERMINATOR"];n(s,SyntaxError),exports.LexerError=s;var pt=l.typ,_t=l.val,ft=l.setTyp,Tt=l.setVal;exports.Lexer=o,o.prototype.reset=function(){return this._code=null,this._chunk=null,this._opts=null,this._indent=0,this._indebt=0,this._outdebt=0,this._indents=[],this._ends=[],this._contexts=[],this._scopes=[],this._nextScope=null,this._tokens=[],this._seenFor=!1,this._line=0,this._col=0,this._loc=0,this._locOffset=0,this._end=null,this._char=null,this._bridge=null,this._last=null,this._lastTyp="",this._lastVal=null,this},o.prototype.jisonBridge=function(t){return this._bridge={lex:l.lex,setInput:function(t){return this.tokens=t,this.pos=0},upcomingInput:function(){return""}}},o.prototype.tokenize=function(t,e){return void 0===e&&(e={}),0==t.length?[]:m.test(t)&&(t="\n"+t,t.match(/^\s*$/g))?[]:(e.inline||(t=t.replace(/\r/g,"").replace(/[\t ]+$/g,"")),this._last=null,this._lastTyp=null,this._lastVal=null,this._code=t,this._opts=e,this._line=e.line||0,this._locOffset=e.loc||0,e.profile&&console.time("tokenize:lexer"),this.parse(t),e.inline||this.closeIndentation(),!e.silent&&this._ends.length&&this.error("missing "+this._ends.pop()),e.profile&&console.timeEnd("tokenize:lexer"),0==e.rewrite||e.norewrite?this._tokens:(new p).rewrite(this._tokens,e))},o.prototype.parse=function(t){for(var e=0,n=0,s=this._line;this._chunk=t.slice(e);)this._line!=s&&(this._col=this._colOffset||0,s=this._line),this._loc=this._locOffset+e,n="TAG"==this._end&&this.tagDefContextToken()||this._inTag&&this.tagContextToken()||this.basicContext(),this._col+=n,e+=n},o.prototype.basicContext=function(){return this.selectorToken()||this.symbolToken()||this.methodNameToken()||this.identifierToken()||this.whitespaceToken()||this.lineToken()||this.commentToken()||this.heredocToken()||this.tagToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken()||0},o.prototype.moveCaret=function(t){return this._loc+=t,this._col+=t},o.prototype.context=function(){return this._ends[this._ends.length-1]},o.prototype.inContext=function(t){var e=this._contexts[this._contexts.length-1];return e&&e[t]},o.prototype.pushEnd=function(t){return this._ends.push(t),this._contexts.push(null),this._end=t,this.refreshScope(),this},o.prototype.popEnd=function(t){return this._ends.pop(),this._contexts.pop(),this._end=this._ends[this._ends.length-1],this.refreshScope(),this},o.prototype.refreshScope=function(){var t=this._ends[this._ends.length-1],e=this._ends[this._ends.length-2];return this._inTag="TAG_END"==t||"TAG_END"==e&&"OUTDENT"==t},o.prototype.queueScope=function(t){return this._scopes[this._indents.length]=t,this},o.prototype.popScope=function(t){return this._scopes.pop(),this},o.prototype.getScope=function(){return this._scopes[this._indents.length-1]},o.prototype.scope=function(t,e){this._ends.push(this._end=t);return this._contexts.push(e||null),t},o.prototype.closeSelector=function(){return"%"==this._end?(this.token("SELECTOR_END","%",0),this.pair("%")):void 0},o.prototype.openDef=function(){return this.pushEnd("DEF")},o.prototype.closeDef=function(){if("DEF"==this.context()){var t,e=i(this._tokens);"DEF_FRAGMENT"==pt(e)||("TERMINATOR"==pt(e)&&(t=this._tokens.pop()),this.token("DEF_BODY","DEF_BODY",0),t&&this._tokens.push(t)),this.pair("DEF")}},o.prototype.tagContextToken=function(){var t;if(t=x.exec(this._chunk)){"TAG_NAME"!=this._lastTyp&&("TERMINATOR"==this._lastTyp||this.token(",",","));var e=t[0].length;return this.token("TAG_ATTR",t[1],e-1),this._loc+=e-1,this.token("=","=",1),e}return 0},o.prototype.tagDefContextToken=function(){var t;if(t=I.exec(this._chunk))return this.token("TAG_TYPE",t[0],t[0].length),t[0].length;if(t=v.exec(this._chunk)){var e=t[0];return this.token("TAG_ID",e,e.length),e.length}return 0},o.prototype.tagToken=function(){var t,n;if(!(t=O.exec(this._chunk)))return 0;var n=e(t),s=n[0],i=n[1],h=n[2];if("<"==i&&(this.token("TAG_START","<",1),this.pushEnd(_.TAG_START),h)){if("{"==h.substr(0,1))return i.length;this.token("TAG_NAME",s.substr(1),0)}return s.length},o.prototype.selectorToken=function(){var n,s;if("%"==this._end){var i=this._chunk.charAt(0),h=this.inContext("open");if(h&&(" "==i||"\n"==i||","==i||"+"==i||"~"==i||")"==i||"]"==i))return this.token("SELECTOR_END","%",0),this.pair("%"),0;if(s=L.exec(this._chunk))return this.token("SELECTOR_COMBINATOR",s[1]||" "),s[0].length;if(s=D.exec(this._chunk)){var r=s[1],o=s[2];switch(r){case".":a="SELECTOR_CLASS";break;case"#":a="SELECTOR_ID";break;case":":a="SELECTOR_PSEUDO_CLASS";break;case"::":a="SELECTOR_PSEUDO_CLASS";break;default:var a="SELECTOR_TAG"}return this.token(a,s[2],s[0].length),s[0].length}if("["==i)return this.token("[","[",1),this.pushEnd("]"),(s=G.exec(this._chunk))?(this.token("IDENTIFIER",s[1],0),this.token("SELECTOR_ATTR_OP",s[2],0),s[0].length):1;if("|"==i){var l=this._tokens[this._tokens.length-1];return ft(l,"SELECTOR_NS"),1}if(","==i)return this.token("SELECTOR_GROUP",",",1),1;if("*"==i)return this.token("UNIVERSAL_SELECTOR","*",1),1;if(")"==i)return this.pair("%"),this.token("SELECTOR_END",")",1),1;if(t(i,[")","}","]",""])>=0)return this.pair("%"),0}if(!(s=y.exec(this._chunk)))return 0;var n=e(s),o=(n[0],n[1]),u=n[2];return"("==u?(this.token("SELECTOR_START",o),this.pushEnd("%"),o.length+1):"%"==o?"%"==this.context()?1:(this.token("SELECTOR_START",o),this.scope("%",{open:!0}),o.length):0},o.prototype.methodNameToken=function(){if(" "==this._chunk.charAt(0))return 0;var t;if(")"==this._end){var e=this._ends[this._ends.length-2];if("%"==e&&(t=x.exec(this._chunk)))return this.token("TAG_ATTR_SET",t[1]),t[0].length}if(!(t=A.exec(this._chunk)))return 0;var n=t[0].length,s=t[0],i=this._lastTyp,h="IDENTIFIER",r=s.charAt(0),o=!1,a=t[4];return"."==i||"DEF"==i||"!"==a||"?"==a||t[5]?"self"==s||"this"==s||"super"==s?0:("new"==s&&(h="NEW"),"..."==s&&[",","(","CALL_START","BLOCK_PARAM_START","PARAM_START"].indexOf(i)>=0?0:"|"==s?"("==i||"CALL_START"==i?(this.token("DO","DO",0),this.pushEnd("|"),this.token("BLOCK_PARAM_START",s,0),n):"DO"==i||"{"==i?(this.pushEnd("|"),this.token("BLOCK_PARAM_START",s,0),n):"|"==this._ends[this._ends.length-1]?(this.token("BLOCK_PARAM_END","|",0),this.pair("|"),n):0:["&","^","<<","<<<",">>"].indexOf(s)>=0||"|"==s&&"|"!=this.context()?0:(st.indexOf(s)>=0&&(o=!0),"@"==r?h="IVAR":"$"==r?h="GVAR":"#"==r?h="TAGID":(Z.test(r)||"require"==s||"global"==s||"exports"==s)&&(h="CONST"),t[5]&&["IDENTIFIER","CONST","GVAR","CVAR","IVAR","SELF","THIS","]","}",")","NUMBER","STRING","IDREF"].indexOf(i)>=0&&this.token(".",".",0),this.token(h,s,n),o&&(this._last.spaced=!0),n)):0},o.prototype.inTag=function(){var t=this._ends.length;if(t>0){var e=this._ends[t-1],n=t>1?this._ends[t-2]:e;return"TAG_END"==e||"TAG_END"==n&&"OUTDENT"==e}return!1},o.prototype.isKeyword=function(t){if("attr"==t||"prop"==t){var e=this.getScope(),n="CLASS"==e||"TAG"==e;if(n)return!0}return a.indexOf(t)>=0},o.prototype.identifierToken=function(){var n,s,h,r=this._ends[this._ends.length-1],o=this._ends[this._ends.length-2],a=!1,l="TAG_END"==r||"TAG_END"==o&&"OUTDENT"==r;if(l&&(s=x.exec(this._chunk))){"TAG_NAME"!=this._lastTyp&&("TERMINATOR"==this._lastTyp||this.token(",",","));var u=s[0].length;return this.token("TAG_ATTR",s[1],u-1),this._loc+=u-1,this.token("=","=",1),u}if(s=S.exec(this._chunk)){var c=s[1];return h="IDENTIFIER",this.token(h,c,c.length),this.moveCaret(c.length),this.token(":",":",s[3].length),this.moveCaret(-c.length),s[0].length}if(!(s=N.exec(this._chunk)))return 0;var n=e(s),p=n[0],c=n[1],h=n[2],_=(n[3],n[4],n[5]),f=c.length;if("own"==c&&"FOR"==this.lastTokenType())return this.token("OWN",c,c.length),c.length;var T,k=i(this._tokens),g=this._lastTyp;T=_||"."==g||"?."==g,_&&"?"==g&&(T=!1),"tag"==c&&0==this._chunk.indexOf("tag(")&&(T=!0);var A=!1;if("$"==h&&j.test(c))"$0"==c?h="ARGUMENTS":(h="ARGVAR",c=c.substr(1));else if("@"==h)h="IVAR";else if("#"==h)h="IDENTIFIER",this.token("#","#"),c=c.substr(1);else if("@@"==h)h="CVAR";else if("$"!=h||_)if(Z.test(c)||"require"==c||"global"==c||"exports"==c)h="CONST";else{if("elif"==c)return this.token("ELSE","elif",c.length),this.token("IF","if"),c.length;h="IDENTIFIER"}else h="GVAR";if(!T&&(A=this.isKeyword(c))&&(h=c.toUpperCase(),a=!0,"YES"==h?h="TRUE":"NO"==h?h="FALSE":"NIL"==h?h="NULL":"VAR"==h?"export"==this._lastVal&&ft(k,"EXPORT"):"IF"==h||"ELSE"==h||"TRUE"==h||"FALSE"==h||"NULL"==h||("TAG"==h?this.pushEnd("TAG"):"DEF"==h?this.openDef():"DO"==h?"DEF"==this.context()&&this.closeDef():"WHEN"==h&&ct.indexOf(this.lastTokenType())>=0?h="LEADING_WHEN":"FOR"==h?this._seenFor=!0:"UNLESS"==h?h="IF":Q.indexOf(h)>=0?h="UNARY":ht.indexOf(h)>=0&&("INSTANCEOF"!=h&&"ISA"!=h&&this._seenFor?(h="FOR"+h,this._seenFor=!1):(h="RELATION","!"==this.value().toString()&&(this._tokens.pop(),c="!"+c))))),"super"==c&&(h="SUPER"),!T)switch(A&&R.indexOf(c)>=0&&(c=d[c]),c){case"!":h="UNARY";break;case"==":case"!=":case"===":case"!==":h="COMPARE";break;case"&&":case"||":h="LOGIC";break;case"break":case"continue":case"debugger":case"arguments":h=c.toUpperCase()}var O=p.length;if("CLASS"==h||"DEF"==h||"TAG"==h){this.queueScope(h);for(var I=this._tokens.length;I;){k=this._tokens[--I];var v=""+_t(k);if(!(t(v,E)>=0))break;ft(k,v.toUpperCase())}}else"IF"==h?this.queueScope(h):"IMPORT"==h?this.pushEnd("IMPORT"):"from"==c&&"IMPORT"==r?(h="FROM",this.pair("IMPORT")):"as"==c&&"IMPORT"==r&&(h="AS",this.pair("IMPORT"));return"IDENTIFIER"==h&&"CATCH"==g&&(h="CATCH_VAR"),_?(this.token(h,c,f),this.moveCaret(f),this.token(":",":",_.length),this.moveCaret(-f)):this.token(h,c,f),O},o.prototype.numberToken=function(){var t,e,n,s;if(!(e=C.exec(this._chunk)))return 0;n=e[0],s=n.length,(t=/0b([01]+)/.exec(n))&&(n=""+parseInt(t[1],2));var h=i(this._tokens);return"."==e[0][0]&&h&&!h.spaced&&["IDENTIFIER",")","}","]","NUMBER"].indexOf(pt(h))>=0&&(this.token(".","."),n=n.substr(1)),this.token("NUMBER",n,s),s},o.prototype.symbolToken=function(){var e,n,s;if(!(e=w.exec(this._chunk)))return 0;if(n=e[0].substr(1),s=i(this._tokens),s&&!s.spaced&&-1==t(pt(s),["(","{","[",".","CALL_START","INDEX_START",",","=","INDENT","TERMINATOR"])){this.token(".:",":",1);var h=n.split(/[\:\\\/]/)[0];return this.token("IDENTIFIER",h,h.length,1),h.length+1}return this.token("SYMBOL",n,e[0].length),e[0].length},o.prototype.stringToken=function(){var t,e;switch(this._chunk.charAt(0)){case"'":if(!(t=$.exec(this._chunk)))return 0;this.token("STRING",(e=t[0]).replace(K,"\\\n"),e.length);break;case'"':if(!(e=this.balancedString(this._chunk,'"')))return 0;e.indexOf("{")>=0?this.interpolateString(e.slice(1,-1)):this.token("STRING",this.escapeLines(e),e.length);break;default:return 0}return this.moveHead(e),e.length},o.prototype.heredocToken=function(){var t,e,n,s;return(t=b.exec(this._chunk))?(e=t[0],n=e.charAt(0),s=this.sanitizeHeredoc(t[2],{quote:n,indent:null}),'"'==n&&s.indexOf("{")>=0?this.interpolateString(s,{heredoc:!0}):this.token("STRING",this.makeString(s,n,!0),0),this.moveHead(e),e.length):0},o.prototype.commentToken=function(){var t,e,n,s,h,r="HERECOMMENT";if(t=U.exec(this._chunk)){e=t[0].length,s=t[1],n=t[2],h=i(this._tokens);var o=h&&pt(h),a="//"+n.substr(1);return this._last&&this._last.spaced&&(a=" "+a),o&&"INDENT"!=o&&"TERMINATOR"!=o||!o?this.token("TERMINATOR",a,e):"TERMINATOR"==o?Tt(h,_t(h)+a):"INDENT"==o?this.addLinebreaks(1,a):this.token(r,n.substr(2),e),e}if(!(t=F.exec(this._chunk)))return 0;n=t[0];var l=t[1];return l?(this.token("HERECOMMENT",this.sanitizeHeredoc(l,{herecomment:!0,indent:Array(this._indent+1).join(" ")}),n.length),this.token("TERMINATOR","\n")):(this.token("HERECOMMENT",n,n.length),this.token("TERMINATOR","\n")),this.moveHead(n),n.length},o.prototype.jsToken=function(){var t,e;return"`"==this._chunk.charAt(0)&&(t=H.exec(this._chunk))?(this.token("JS",(e=t[0]).slice(1,-1)),e.length):0},o.prototype.regexToken=function(){var n,s,h,r;if("/"!=this._chunk.charAt(0))return 0;if(s=z.exec(this._chunk))return h=this.heregexToken(s),this.moveHead(s[0]),h;if(r=i(this._tokens),r&&t(pt(r),r.spaced?rt:ot)>=0)return 0;if(!(s=B.exec(this._chunk)))return 0;var n=e(s),o=n[0],a=n[1],l=n[2];return"//"==a&&(a="/(?:)/"),this.token("REGEX",""+a+l,o.length),o.length},o.prototype.heregexToken=function(t){var n,n=e(t),s=n[0],i=n[1],h=n[2];if(0>i.indexOf("#{")){var r=i.replace(Y,"").replace(/\//g,"\\/");return r.match(/^\*/)&&this.error("regular expressions cannot begin with `*`"),this.token("REGEX","/"+(r||"(?:)")+"/"+h,s.length),s.length}this.token("CONST","RegExp"),this._tokens.push(l.token("CALL_START","(",0));for(var o,a=[],u=0,c=e(this.interpolateString(i,{regex:!0})),p=c.length;p>u;u++){o=c[u];var _=pt(o),f=_t(o);if("TOKENS"==_)a.push.apply(a,f);else{if(f||console.log("what??"),!(f=f.replace(Y,"")))continue;f=f.replace(/\\/g,"\\\\"),a.push(l.token("STRING",this.makeString(f,'"',!0),0))}a.push(l.token("+","+",0))}return a.pop(),a[0]&&"STRING"==pt(a[0])||this._tokens.push(l.token("STRING",'""'),l.token("+","+")),this._tokens.push.apply(this._tokens,a),h&&(this._tokens.push(l.token(",",",",0)),this._tokens.push(l.token("STRING",'"'+h+'"',0))),this.token(")",")",0),s.length},o.prototype.lineToken=function(){var t;if(!(t=V.exec(this._chunk)))return 0;var e=t[0],n=this.moveHead(e);this._seenFor=!1;var s=(i(this._tokens,1),e.length-1-e.lastIndexOf("\n")),h=this.unfinished();if(/^\n#\s/.test(this._chunk))return this.addLinebreaks(1),0;if(s-this._indebt==this._indent)return h?this.suppressNewlines():this.newlineToken(n),e.length;if(s>this._indent){if(h)return this._indebt=s-this._indent,this.suppressNewlines(),e.length;if(this.inTag())return e.length;var r=s-this._indent+this._outdebt;this.closeDef();var o=i(this._tokens);o&&"TERMINATOR"==pt(o)?(ft(o,"INDENT"),o._meta||(o._meta={pre:_t(o),post:""})):this.token("INDENT",""+r,0),this._indents.push(r),this.pushEnd("OUTDENT"),this._outdebt=this._indebt=0,this.addLinebreaks(n)}else this._indebt=0,this.outdentToken(this._indent-s,h,n),this.addLinebreaks(n-1);return this._indent=s,e.length},o.prototype.outdentToken=function(t,e,n){for(var s=0;t>0;){var i=this._indents.length-1;void 0==this._indents[i]?t=0:this._indents[i]==this._outdebt?(t-=this._outdebt,this._outdebt=0):this._indents[i]<this._outdebt?(this._outdebt-=this._indents[i],t-=this._indents[i]):(s=this._indents.pop()-this._outdebt,t-=s,this._outdebt=0,e||this.addLinebreaks(1),this.pair("OUTDENT"),this.token("OUTDENT",""+s,0))}for(s&&(this._outdebt-=t);";"==this.lastTokenValue();)this._tokens.pop();"TERMINATOR"==this.lastTokenType()||e||this.token("TERMINATOR","\n",0),this._scopes.length=this._indents.length;var h=this.context();return("%"==h||"TAG"==h)&&this.pair(h),this.closeDef(),this},o.prototype.whitespaceToken=function(){var t,e,n;return(t=m.exec(this._chunk))||(e="\n"==this._chunk.charAt(0))?(n=i(this._tokens),n?t?(n.spaced=!0,t[0].length):(n.newLine=!0,0):void 0):0},o.prototype.addNewline=function(){return this.token("TERMINATOR","\n")},o.prototype.moveHead=function(t){var e=h(t,"\n");if(this._line+=e,e>0){for(var n=t.length,s=0;n>0&&"\n"!=t[--n];)s++;this._col=this._colOffset=s}return e},o.prototype.addLinebreaks=function(t,e){var n;if(!e&&0==t)return this;var s=this._last;if(e||(n=1==t?"\n":2==t?"\n\n":3==t?"\n\n\n":r("\n",t)),s){var i=s._type,h=_t(s);if("INDENT"==i){var o=s._meta||(s._meta={pre:"",post:""});return o.post+=e||n,this}if("TERMINATOR"==i)return Tt(s,h+(e||n)),this}this.token("TERMINATOR",n,0)},o.prototype.newlineToken=function(t){for(;";"==this.lastTokenValue();)console.log("pop token",this._tokens[this._tokens.length-1]),this._tokens.pop();this.addLinebreaks(t);var e=this.context();return("TAG"==e||"IMPORT"==e)&&this.pair(e),this.closeDef(),this},o.prototype.suppressNewlines=function(){return"\\"==this.value()&&this._tokens.pop(),this},o.prototype.literalToken=function(){var e,n;(e=M.exec(this._chunk))?(n=e[0],P.test(n)&&this.tagParameters()):n=this._chunk.charAt(0);var s=this._ends[this._ends.length-1],h=this._ends[this._ends.length-2],r="TAG_END"==s||"OUTDENT"==s&&"TAG_END"==h,o=n,a=i(this._tokens),l=a&&pt(a),u=a&&_t(a);n.length;if("="==n&&a&&("||"==u||"&&"==u))return ft(a,"COMPOUND_ASSIGN"),Tt(a,u+"="),n.length;switch(";"==n?(this._seenFor=!1,o="TERMINATOR"):"("==n&&r&&"="!=l&&a.spaced?this.token(",",","):"->"==n&&r?(o="TAG_END",this.pair("TAG_END")):"/>"==n&&r?(o="TAG_END",this.pair("TAG_END")):">"==n&&r?(o="TAG_END",this.pair("TAG_END")):">"==n&&"DEF"==this.context()?o="DEF_FRAGMENT":"TERMINATOR"==n&&"DEF"==s?this.closeDef():"&"==n&&"DEF"==this.context()?o="BLOCK_ARG":"*"==n&&this._chunk.charAt(1).match(/[A-Za-z\_\@\[]/)&&(a.spaced||[",","(","[","{","|","\n"," "].indexOf(u)>=0)?o="SPLAT":"√"==n?o="SQRT":"ƒ"==n?o="FUNC":t(n,it)>=0?o="MATH":t(n,nt)>=0?o="COMPARE":t(n,J)>=0?o="COMPOUND_ASSIGN":t(n,Q)>=0?o="UNARY":t(n,et)>=0?o="SHIFT":t(n,tt)>=0?o="LOGIC":a&&!a.spaced&&("("==n&&"%"==s?o="TAG_ATTRS_START":"("==n&&t(l,lt)>=0?o="CALL_START":"["==n&&t(l,ut)>=0&&(o="INDEX_START","?"==l&&ft(a,"INDEX_SOAK"))),n){case"(":case"{":case"[":this.pushEnd(_[n]);break;case")":case"}":case"]":this.pair(n)}return this.token(o,n,n.length),n.length},o.prototype.sanitizeHeredoc=function(t,e){var n,s=e.indent,i=e.herecomment;if(i){if(q.test(t)&&this.error("block comment cannot contain '*/' starting"),t.indexOf("\n")<=0)return t}else for(var h;n=X.exec(t);){var r=n[1];(null==s||0<(h=r.length)&&h<s.length)&&(s=r)}return s&&(t=t.replace(RegExp("\\n"+s,"g"),"\n")),i||(t=t.replace(/^\n/,"")),t},o.prototype.tagParameters=function(){var t;if(")"!=this.lastTokenType())return this;var e=[],n=this._tokens,s=n.length;for(ft(n[--s],"PARAM_END");t=n[--s];){var i=pt(t);switch(i){case")":e.push(t);break;case"(":case"CALL_START":if(!e.length)return"("==i?(ft(t,"PARAM_START"),this):this;e.pop()}}return this},o.prototype.closeIndentation=function(){return this.closeDef(),this.closeSelector(),this.outdentToken(this._indent,!1,0)},o.prototype.balancedString=function(t,e){for(var n,s,i,h=[e],r=0;r<t.length-1;){switch(r++,s=t.charAt(r)){case"\\":r++;continue;case e:if(h.pop(),!h.length){var o=t.slice(0,r+1);return o}e=h[h.length-1];continue}"}"!=e||'"'!=s&&"'"!=s?"}"==e&&"/"==s&&(n=z.exec(t.slice(r))||B.exec(t.slice(r)))?r+=n[0].length-1:"}"==e&&"{"==s?h.push(e="}"):'"'==e&&"{"==s&&h.push(e="}"):h.push(e=s),i=s}return this._opts.silent?void 0:this.error("missing "+h.pop()+", starting")},o.prototype.interpolateString=function(t,n){var s,i;void 0===n&&(n={});var h,r,a=n.heredoc,c=n.regex,p=(n.prefix,this._loc),_=[],f=0,T=-1;for(t.length;h=t.charAt(T+=1);)if("\\"!=h){if("{"==t.charAt(T)&&(r=this.balancedString(t.slice(T),"}"))){if(T>f){var k=l.token("NEOSTRING",t.slice(f,T));k._loc=this._loc+f,k._len=T-f+2,_.push(k)}var E=r.slice(1,-1);if(E=E.replace(/^[^\n\S]+/,""),E.length){var d=this._loc+T+(r.length-E.length),R=(new o).tokenize(E,{inline:!0,line:this._line,rewrite:!1,loc:d});R[0]&&"TERMINATOR"==pt(R[0])&&R.shift(),(s=R.length)&&(s>1&&(R.unshift(new u("(","(",this._line,0,0)),R.push(new u(")",")",this._line,0,0))),_.push(l.token("TOKENS",R,0)))}T+=r.length-1,f=T+1}}else T+=1;if(T>f&&f<t.length&&_.push(l.token("NEOSTRING",t.slice(f),0)),c)return _;if(!_.length)return this.token("STRING",'""');"NEOSTRING"!=pt(_[0])&&_.unshift(l.token("","",0)),(i=_.length>1)&&this.token("(",'("',0);for(var g,A=0,N=_.length;N>A;A++){g=_[A],A&&this.token("+","+",0);var S=pt(g),O=_t(g);if("TOKENS"==S)for(var I,v=0,x=e(O),y=x.length;y>v;v++)I=x[v],this._tokens.push(I),this._loc=I._loc+I._len;else"NEOSTRING"==S&&(this._loc=g._loc),this.token("STRING",this.makeString(O,'"',a)),this._loc+=g._len}return i&&(this._loc+=2,this._loc=p+t.length+2,this.token(")",'")',0)),_},o.prototype.balancedSelector=function(t,e){for(var n,s,i=[e],h=t.length,r=1;h>r;r++){switch(s=t.charAt(r)){case"\\":r++;continue;case e:if(i.pop(),!i.length)return t.slice(0,r+1);e=i[i.length-1];continue}"}"==e&&s==[")"]?i.push(e=s):"}"==e&&"{"==s?i.push(e="}"):")"==e&&"{"==s&&i.push(e="}"),n=s}return this.error("missing "+i.pop()+", starting")},o.prototype.pair=function(t){var e=i(this._ends);if(t!=e){"OUTDENT"!=e&&this.error("unmatched "+t);var n=i(this._indents);return this._indent-=n,this.outdentToken(n,!0,0),this.pair(t)}return this.popEnd()},o.prototype.token=function(t,e,n,s){this._lastTyp=t,this._lastVal=e;var i=this._last=new u(t,e,this._line,this._loc+(s||0),n||0);i._col=this._col+(s||0),this._tokens.push(i)},o.prototype.lastTokenType=function(){var t=this._tokens[this._tokens.length-1];return t?pt(t):"NONE"},o.prototype.lastTokenValue=function(){var t=this._tokens[this._tokens.length-1];return t?t._value:""},o.prototype.tokid=function(t,e){var n;return(n=i(this._tokens,t))?(e&&ft(n,e),pt(n)):null},o.prototype.value=function(t,e){var n;return(n=i(this._tokens,t))?(e&&Tt(n,e),_t(n)):null},o.prototype.unfinished=function(){return W.test(this._chunk)?!0:at.indexOf(this._lastTyp)>=0},o.prototype.escapeLines=function(t,e){return t.replace(K,e?"\\n":"")},o.prototype.makeString=function(t,e,n){return t?(t=t.replace(/\\([\s\S])/g,function(t,n){return"\n"==n||n==e?n:t}),t=t.replace(RegExp(""+e,"g"),"\\$&"),e+this.escapeLines(t,n)+e):e+e},o.prototype.error=function(t,e){var n=""+t+" on line "+this._line;e&&(n+=" ["+this._loc+":"+(this._loc+e)+"]");var s=new SyntaxError(n);throw s.line=this._line,s=new f.ImbaParseError(s,{tokens:this._tokens,pos:this._tokens.length})}}();
15
+ },{"./errors":3,"./rewriter":9,"./token":11}],7:[function(require,module,exports){
16
+ !function(){function t(t,e){return e&&e.indexOf?e.indexOf(t):[].indexOf.call(t,e)}function e(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);t.prototype=Object.create(e.prototype),t.__super__=t.prototype.__super__=e.prototype,t.prototype.initialize=t.prototype.constructor=t}function n(t){return t?t.toArray?t.toArray():t:[]}function r(t,e){if(e.lexer){var n=e.lexer.yytext;t="["+n._loc+":"+(n._len||String(n).length)+"] "+t}var r=new Error(t);throw r.lexer=e.lexer,r}function o(t){return"string"==typeof t?t:t.c()}function s(t){return t&&Wn.sourceMapInline&&t.sourceMapMarker?t.sourceMapMarker():""}function i(t){return new vt(t)}function p(t){return t instanceof Array?T.wrap(t):t}function a(t){return Un.symbolize(String(t))}function u(t){return t.map(function(t){return"string"==typeof t?t:t.c()})}function c(t,e){return t instanceof Array?t.map(function(t){return t&&t.dump?t.dump(e):t}):t&&t.dump?t.dump():void 0}function h(t){return t instanceof j?t.compact():t.filter(function(t){return void 0!=t&&null!=t})}function l(t,e){for(var r,o=0,s=n(e),i=s.length;i>o;o++)r=s[o],r instanceof Array?l(t,r):t.push(r)}function f(t,e){void 0===e&&(e=!1);for(var r,o=[],s=0,i=n(t),p=i.length;p>s;s++)r=i[s],r instanceof Array?l(o,r):o.push(r);return o}function _(t,e){this._open=t,this._close=e}function y(){this.reset()}function v(){this.setup()}function d(t){this.setup(),this._value=this.load(t)}function m(){d.apply(this,arguments)}function g(){d.apply(this,arguments)}function x(){g.apply(this,arguments)}function b(t){this._value=t}function w(t){this._traversed=!1,this._value=t||"\n"}function S(){d.apply(this,arguments)}function j(t){this.setup(),this._nodes=this.load(t||[]),this._indentation=null}function E(){j.apply(this,arguments)}function A(){E.apply(this,arguments)}function T(t){this.setup(),this._nodes=t||[],this._head=null,this._indentation=null}function O(){j.apply(this,arguments)}function $(t,e,n){this.setup(),this._open=e,this._close=n,this._value=this.load(t)}function P(){j.apply(this,arguments)}function I(t){return this._traversed=!1,this._value=t instanceof E&&1==t.count()?t.last():t,this}function C(){I.apply(this,arguments)}function R(){C.apply(this,arguments)}function V(){m.apply(this,arguments)}function z(t,e){this.setLiteral(t),this.setExpression(e)}function N(){z.apply(this,arguments)}function L(){z.apply(this,arguments)}function F(){m.apply(this,arguments)}function D(t,e,n){this._traversed=!1,this._name=t,this._defaults=e,this._typ=n,this._variable=null}function M(){D.apply(this,arguments)}function B(){D.apply(this,arguments)}function G(){D.apply(this,arguments)}function U(){D.apply(this,arguments)}function q(){D.apply(this,arguments)}function K(){j.apply(this,arguments)}function H(){D.apply(this,arguments)}function W(){j.apply(this,arguments)}function Y(){j.apply(this,arguments)}function Z(){j.apply(this,arguments)}function J(){D.apply(this,arguments)}function X(t,e){X.__super__.constructor.apply(this,arguments),this._splat=e}function Q(t,e,n){this._traversed=!1,this._type=this.type(),this._left=e,this._right=n}function tt(){v.apply(this,arguments)}function et(t,e){this._traversed=!1,this._body=p(t),this._scope=new Je(this,null),this._options={}}function nt(t,e,n){this._traversed=!1,this._name=t,this._superclass=e,this._scope=new Xe(this),this._body=p(n)}function rt(t,e,n){this._traversed=!1,this._name=t,this._superclass=e,this._scope=new Qe(this),this._body=p(n||[])}function ot(t,e,n,r,o){var s=this.scopetype();this._traversed=!1,this._body=p(e),this._scope||(this._scope=o&&o.scope||new s(this)),this._scope.setParams(this._params=new Y(t)),this._name=n||"",this._target=r,this._options=o,this._type="function",this._variable=null}function st(){ot.apply(this,arguments)}function it(){ot.apply(this,arguments)}function pt(){ot.apply(this,arguments)}function at(){pt.apply(this,arguments)}function ut(t,e,n){this._token=n,this._traversed=!1,this._name=t,this._options=e||new kt(new A)}function ct(t){this._traversed=!1,this._expression=!0,this._cache=null,this._raw=null,this._value=t}function ht(t){this._value=t,this._raw="true"==String(t)?!0:!1}function lt(){ct.apply(this,arguments)}function ft(){ct.apply(this,arguments)}function _t(){ht.apply(this,arguments)}function yt(){ht.apply(this,arguments)}function vt(t){this._traversed=!1,this._value=t}function dt(t){this._traversed=!1,this._expression=!0,this._cache=null,this._value=t}function mt(){j.apply(this,arguments)}function gt(){j.apply(this,arguments)}function xt(){ct.apply(this,arguments)}function bt(){ct.apply(this,arguments)}function wt(){ct.apply(this,arguments)}function kt(){ct.apply(this,arguments)}function St(t,e){this._traversed=!1,this._key=t,this._value=e,this._dynamic=t instanceof Ot}function jt(){v.apply(this,arguments)}function Et(t){this._scope=t}function At(){Et.apply(this,arguments)}function Tt(){Et.apply(this,arguments)}function Ot(t,e,n){return this._expression=!1,this._traversed=!1,this._parens=!1,this._cache=null,this._invert=!1,this._opToken=t,this._op=t&&t._value||t,this._left=e,this._right=n,this}function $t(){Ot.apply(this,arguments)}function Pt(){Ot.apply(this,arguments)}function It(){Ot.apply(this,arguments)}function Ct(){Ot.apply(this,arguments)}function Rt(){Ot.apply(this,arguments)}function Vt(){Ot.apply(this,arguments)}function zt(){Ot.apply(this,arguments)}function Nt(t,e,n){return this._expression=!1,this._traversed=!1,this._parens=!1,this._cache=null,this._invert=!1,this._op=t&&t._value||t,this._left=e,this._right=n,this}function Lt(){Nt.apply(this,arguments)}function Ft(){d.apply(this,arguments)}function Dt(){Nt.apply(this,arguments)}function Mt(t,e,n){return this._traversed=!1,this._invert=!1,this._parens=!1,this._expression=!1,this._cache=null,this._op=t,this._left=e,this._right=n,this}function Bt(){Nt.apply(this,arguments)}function Gt(){Nt.apply(this,arguments)}function Ut(){Nt.apply(this,arguments)}function qt(){Nt.apply(this,arguments)}function Kt(t){this._traversed=!1,this._parens=!1,this._value=t,this._identifier=t,this._token=t._value,this._variable=null}function Ht(t,e){Ht.__super__.constructor.call(this,t),this._export=!1,this._type=e&&String(e),this._variable=null,this._declared=!0}function Wt(t,e,n){if(e instanceof Ht&&e.value()instanceof wt){var r=e.value().nodes().map(function(t){var n;return t instanceof Ee?t.value()instanceof Ht||(t.setValue(n=new Ht(t.value(),e.type())),n):t instanceof Ht||(t=new Ht(t,e.type())),t});return new Qt(t,new gt(r),n)}return e instanceof wt?new Qt(t,new gt(e.nodes()),n):(this._expression=!1,this._traversed=!1,this._parens=!1,this._cache=null,this._invert=!1,this._opToken=t,this._op=t&&t._value||t,this._left=e,this._right=n,this)}function Yt(){Wt.apply(this,arguments)}function Zt(){Wt.apply(this,arguments)}function Jt(){Wt.apply(this,arguments)}function Xt(){Wt.apply(this,arguments)}function Qt(t,e,n){this._traversed=!1,this._op=t,this._left=e,this._right=n,this._temporary=[]}function te(t){this._value=this.load(t),this._symbol=null,this._setter=null,(""+t).indexOf("?")>=0&&(this._safechain=!0)}function ee(t){this._value=t instanceof te?t.value():t}function ne(t){this._value=t instanceof te?t.value():t}function re(){te.apply(this,arguments)}function oe(t){this._value=this.load(t)}function se(){d.apply(this,arguments)}function ie(t,e,n){if(this._traversed=!1,this._expression=!1,this._parens=!1,this._cache=null,this._receiver=null,this._opexists=n,t instanceof Kt){var r=t.value().symbol();if("extern"==r)return t.value().value()._type="EXTERN",new ce(e);if("tag"==r)return new $e(e&&e.index?e.index(0):e[0]);if("export"==r)return new We(e)}this._callee=t,this._args=e||new E([]),e instanceof Array&&(this._args=new E(e))}function pe(){ie.apply(this,arguments)}function ae(){ie.apply(this,arguments)}function ue(){ie.apply(this,arguments)}function ce(){j.apply(this,arguments)}function he(){v.apply(this,arguments)}function le(){he.apply(this,arguments)}function fe(t,e,n){void 0===n&&(n={}),this.setup(),this._test=t,this._body=e,this._alt=null,this._type=n.type,"unless"==this._type&&this.invert(),this._scope=new un(this)}function _e(t){void 0===t&&(t={}),this._traversed=!1,this._options=t,this._body=null}function ye(t,e){this._traversed=!1,this._test=t,this._options=e||{},this._scope=new pn(this),this.option("invert")&&(this._test=t.invert())}function ve(t){void 0===t&&(t={}),this._traversed=!1,this._options=t,this._scope=new an(this),this._catcher=null}function de(){ve.apply(this,arguments)}function me(){ve.apply(this,arguments)}function ge(t){this._nodes=p(t).nodes()}function xe(t,e,n){this._traversed=!1,this._source=t,this._cases=e,this._fallback=n}function be(t,e){this._traversed=!1,this._test=t,this._body=p(e)}function we(t,e,n){this._traversed=!1,this._body=p(t),this._catch=e,this._finally=n}function ke(t,e){this._traversed=!1,this._body=p(t||[]),this._scope=new sn(this),this._varname=e}function Se(t){this._traversed=!1,this._body=p(t||[])}function je(){Ot.apply(this,arguments)}function Ee(){d.apply(this,arguments)}function Ae(){this.p("TagDesc!!!",arguments)}function Te(t){void 0===t&&(t={}),this._traversed=!1,this._parts=[],t.classes||(t.classes=[]),t.attributes||(t.attributes=[]),t.classes||(t.classes=[]),this._options=t,this._reference=null,this._object=null,this._tree=null}function Oe(t,e,n){void 0===n&&(n={}),this._owner=t,this._nodes=this.load(e),this._options=n,this._conditions=[],this._blocks=[this],this._counter=0}function $e(){d.apply(this,arguments)}function Pe(){j.apply(this,arguments)}function Ie(t,e){this._traversed=!1,this._key=t,this._value=e}function Ce(t){this._traversed=!1,this._value=t}function Re(t,e){this._nodes=t||[],this._options=e}function Ve(){d.apply(this,arguments)}function ze(){Ve.apply(this,arguments)}function Ne(){Ve.apply(this,arguments)}function Le(){Ve.apply(this,arguments)}function Fe(){Ve.apply(this,arguments)}function De(){Ve.apply(this,arguments)}function Me(){Ve.apply(this,arguments)}function Be(){Ve.apply(this,arguments)}function Ge(){Ve.apply(this,arguments)}function Ue(t,e,n){this._left=t,this._op=e,this._right=this._value=n}function qe(){d.apply(this,arguments)}function Ke(t,e,n,r,o){Ke.__super__.constructor.call(this,t,e,n,r,o)}function He(t,e,n){this._traversed=!1,this._imports=t,this._source=e,this._ns=n}function We(){d.apply(this,arguments)}function Ye(t){this._args=t}function Ze(t,e){this._head=[],this._node=t,this._parent=e,this._vars=new Z([]),this._closure=this,this._virtual=!1,this._counter=0,this._varmap={},this._varpool=[]}function Je(){Je.__super__.constructor.apply(this,arguments),this.register("global",this,{type:"global"}),this.register("module",this,{type:"global"}),this.register("window",this,{type:"global"}),this.register("document",this,{type:"global"}),this.register("exports",this,{type:"global"}),this.register("console",this,{type:"global"}),this.register("process",this,{type:"global"}),this.register("parseInt",this,{type:"global"}),this.register("parseFloat",this,{type:"global"}),this.register("setTimeout",this,{type:"global"}),this.register("setInterval",this,{type:"global"}),this.register("clearTimeout",this,{type:"global"}),this.register("clearInterval",this,{type:"global"}),this.register("__dirname",this,{type:"global"}),this._warnings=[],this._scopes=[],this._helpers=[],this._head=[this._vars]}function Xe(){Ze.apply(this,arguments)}function Qe(){Xe.apply(this,arguments)}function tn(){Ze.apply(this,arguments)}function en(){Ze.apply(this,arguments)}function nn(){Ze.apply(this,arguments)}function rn(){Ze.apply(this,arguments)}function on(){Ze.apply(this,arguments)}function sn(){on.apply(this,arguments)}function pn(){on.apply(this,arguments)}function an(){on.apply(this,arguments)}function un(){on.apply(this,arguments)}function cn(){on.apply(this,arguments)}function hn(t,e,n,r){this._ref=bn._counter++,this._c=null,this._scope=t,this._name=e,this._alias=null,this._initialized=!0,this._declarator=n,this._autodeclare=!1,this._declared=r&&r.declared||!1,this._resolved=!1,this._options=r||{},this._type=r&&r.type||"var",this._export=!1,this._references=[],this._assignments=[]}function ln(){hn.apply(this,arguments)}function fn(t,e){this._scope=t,this._value=e,this._reference=null}function _n(){fn.apply(this,arguments)}function yn(){v.apply(this,arguments)}var vn,dn,mn,gn,xn,bn,wn,kn,Sn,jn,En,An,Tn,On,$n,Pn,In,Cn,Rn,Vn,zn,Nn,Ln,Fn,Dn,Mn,Bn,Gn,Un=require("./helpers"),qn=null,Kn=require("./token"),Hn=(Kn.Token,require("./sourcemap").SourceMap);module.exports.AST=vn={},module.exports.OP=dn=function(t,e,n){var r=String(t);switch(r){case".":return("string"==typeof n||n instanceof String)&&(n=new te(n)),new Nt(t,e,n);case"=":return e instanceof gt?new Qt(t,e,n):new Wt(t,e,n);case"?=":case"||=":case"&&=":return new Zt(t,e,n);case"+=":case"-=":case"*=":case"/=":case"^=":case"%=":return new Jt(t,e,n);case"?.":return n instanceof Kt&&(n=n.value()),new Mt(t,e,n);case"instanceof":return new Ct(t,e,n);case"in":return new zt(t,e,n);case"typeof":return new Rt(t,e,n);case"delete":return new Vt(t,e,n);case"--":case"++":case"!":case"√":return new It(t,e,n);case">":case"<":case">=":case"<=":case"==":case"===":case"!=":case"!==":return new $t(t,e,n);case"∩":case"∪":return new Pt(t,e,n);case"..":case"...":return new je(t,e,n);default:return new Ot(t,e,n)}},module.exports.OP_COMPOUND=mn=function(t,e,n,r){return"?."==t?(console.log("?. soak operator"),null):"?="==t||"||="==t||"&&="==t?new Zt(e,n,r):new Jt(e,n,r)};var Wn={};module.exports.NODES=gn=[];var Yn=function(t,e,n){var r=new fe(t,e);return n&&r.addElse(n),r},Zn=function(t,e){return new ot(t,e)},Jn=function(t,e){return void 0===e&&(e=[]),new ie(t,e)},Xn=function(t,e){return new ye(t).addBody(e)};module.exports.SPLAT=xn=function(t){return t instanceof Wt?(t.setLeft(new Ee(t.left())),t):new Ee(t)};var Qn=/;(\s*\/\/.*)?[\n\s\t]*$/,tr=/^(default|char)$/;exports.parseError=r,vn.parse=function(t,e){void 0===e&&(e={});t.match(/\t+/)[0];return Imba.parse(t,e)},vn.inline=function(t,e){return void 0===e&&(e={}),this.parse(t,e).body()},vn.node=function(t,e){return"call"==t?("return"==e[0].c()&&(e[0]="tata"),new ie(e[0],e[1],e[2])):void 0},vn.escapeComments=function(t){return t?t:""},exports.Indentation=_,_.prototype.__open={name:"open"},_.prototype.open=function(t){return this._open},_.prototype.setOpen=function(t){return this._open=t,this},_.prototype.__close={name:"close"},_.prototype.close=function(t){return this._close},_.prototype.setClose=function(t){return this._close=t,this},_.prototype.isGenerated=function(){return this._open&&this._open.generated},_.prototype.wrap=function(t){var e=this._open&&this._open._meta,n=e&&e.pre||"",r=e&&e.post||"",o=(vn.escapeComments,this._close);return t=r.replace(/^\n/,"")+t,t=t.replace(/^/g," ").replace(/\n/g,"\n ").replace(/\n\t$/g,"\n"),t=n+"\n"+t,o instanceof b&&(t+=o.c()),"\n"!=t[t.length-1]&&(t+="\n"),t};var er=new _({},{});exports.Stack=y,y.prototype.__loglevel={name:"loglevel"},y.prototype.loglevel=function(t){return this._loglevel},y.prototype.setLoglevel=function(t){return this._loglevel=t,this},y.prototype.__nodes={name:"nodes"},y.prototype.nodes=function(t){return this._nodes},y.prototype.setNodes=function(t){return this._nodes=t,this},y.prototype.__scopes={name:"scopes"},y.prototype.scopes=function(t){return this._scopes},y.prototype.setScopes=function(t){return this._scopes=t,this},y.prototype.reset=function(){return this._nodes=[],this._scoping=[],this._scopes=[],this._loglevel=3,this._counter=0,this},y.prototype.option=function(t){return this._options&&this._options[t]},y.prototype.addScope=function(t){return this._scopes.push(t),this},y.prototype.traverse=function(t){return this},y.prototype.push=function(t){return this._nodes.push(t),this},y.prototype.pop=function(t){return this._nodes.pop(),this},y.prototype.parent=function(){return this._nodes[this._nodes.length-2]},y.prototype.current=function(){return this._nodes[this._nodes.length-1]},y.prototype.up=function(t){if(t||(t=function(t){return!(t instanceof Kt)}),t.prototype instanceof v){var e=t;t=function(t){return t instanceof e}}for(var n=this._nodes.length-2;n>=0;){var r=this._nodes[n];if(t(r))return r;n-=1}return null},y.prototype.relative=function(t,e){void 0===e&&(e=0);var n=this._nodes.indexOf(t);return n>=0?this._nodes[n+e]:null},y.prototype.scope=function(t){void 0===t&&(t=0);for(var e=this._nodes.length-1-t;e>=0;){var n=this._nodes[e];if(n._scope)return n._scope;e-=1}return null},y.prototype.scopes=function(){for(var t=[],e=this._nodes.length-1;e>=0;){var n=this._nodes[e];n._scope&&t.push(n._scope),e-=1}return t},y.prototype.method=function(){return this.up(pt)},y.prototype.isExpression=function(){for(var t=this._nodes.length-1;t>=0;){var e=this._nodes[t];if(e instanceof tt||e instanceof _e)return!1;if(e.isExpression())return!0;t-=1}return!1},y.prototype.toString=function(){return"Stack("+this._nodes.join(" -> ")+")"},y.prototype.scoping=function(){return this._nodes.filter(function(t){return t._scope}).map(function(t){return t._scope})},module.exports.STACK=bn=new y,GLOBSTACK=bn,exports.Node=v,v.prototype.__o={name:"o"},v.prototype.o=function(t){return this._o},v.prototype.setO=function(t){return this._o=t,this},v.prototype.__options={name:"options"},v.prototype.options=function(t){return this._options},v.prototype.setOptions=function(t){return this._options=t,this},v.prototype.__traversed={name:"traversed"},v.prototype.traversed=function(t){return this._traversed},v.prototype.setTraversed=function(t){return this._traversed=t,this},v.prototype.safechain=function(){return!1},v.prototype.p=function(){return bn.loglevel()>0&&console.log.apply(console,arguments),this},v.prototype.setup=function(){return this._expression=!1,this._traversed=!1,this._parens=!1,this._cache=null,this._value=null,this},v.prototype.set=function(t){this._options||(this._options={});for(var e=0,n=Object.keys(t),r=n.length;r>e;e++)this._options[n[e]]=t[n[e]];return this},v.prototype.option=function(t,e){return void 0!=e?(this._options||(this._options={}),this._options[t]=e,this):this._options&&this._options[t]},v.prototype.configure=function(t){return this.set(t)},v.prototype.region=function(){return[0,0]},v.prototype.loc=function(){return[0,0]},v.prototype.token=function(){return null},v.prototype.compile=function(){return this},v.prototype.visit=function(){return this},v.prototype.stack=function(){return bn},v.prototype.isString=function(){return!1},v.prototype.isPrimitive=function(t){return!1},v.prototype.isReserved=function(){return!1},v.prototype.traverse=function(){return this._traversed?this:(this._traversed=!0,bn.push(this),this.visit(bn),bn.pop(this),this)},v.prototype.inspect=function(){return{type:this.constructor.toString()}},v.prototype.js=function(t){return"NODE"},v.prototype.toString=function(){return""+this.constructor.name},v.prototype.consume=function(t){return t instanceof Yt?new Yt(t.op(),t.left(),this):t instanceof Wt?dn(t.op(),t.left(),this):t instanceof Ot?dn(t.op(),t.left(),this):t instanceof I?new I(this):this},v.prototype.toExpression=function(){return this._expression=!0,this},v.prototype.forceExpression=function(){return this._expression=!0,this},v.prototype.isExpressable=function(){return!0},v.prototype.isExpression=function(){return this._expression||!1},v.prototype.hasSideEffects=function(){return!0},v.prototype.isUsed=function(){return!0},v.prototype.shouldParenthesize=function(){return!1},v.prototype.block=function(){return T.wrap([this])},v.prototype.node=function(){return this},v.prototype.scope__=function(){return bn.scope()},v.prototype.up=function(){return bn.parent()},v.prototype.util=function(){return Ye},v.prototype.receiver=function(){return this},v.prototype.addExpression=function(t){var e=new P([this]);return e.addExpression(t)},v.prototype.indented=function(t,e){return t instanceof _?(this._indentation=t,this):(e instanceof Array&&(this.add(e[0]),e=e[1]),this._indentation||(this._indentation=t&&e?new _(t,e):er),this)},v.prototype.prebreak=function(t){return void 0===t&&(t="\n"),this},v.prototype.invert=function(){return dn("!",this)},v.prototype.cache=function(t){return void 0===t&&(t={}),this._cache=t,t["var"]=this.scope__().temporary(this,t),t.lookups=0,this},v.prototype.cachevar=function(){return this._cache&&this._cache["var"]},v.prototype.decache=function(){return this._cache&&(this.cachevar().free(),this._cache=null),this},v.prototype.predeclare=function(){return this._cache&&this.scope__().vars().swap(this._cache["var"],this),this},v.prototype.alias=function(){return null},v.prototype.warn=function(t,e){return void 0===e&&(e={}),e.message=t,e.loc||(e.loc=this.loc()),this.scope__().root().warn(e),this},v.prototype.c=function(t){var e,n=bn,r=this._cache;if(r&&r.cached)return this.c_cached(r);n.push(this),t&&t.expression&&this.forceExpression(),qn&&console.log(qn.hasFastObjectElements(this)),t&&t.indent&&(this._indentation||(this._indentation=er));var o=this.js(n,t),s=this.shouldParenthesize();if((e=this._indentation)&&(o=e.wrap(o,t)),s&&(o="("+o+")"),t&&t.braces&&(o=e?"{"+o+"}":"{ "+o+" }"),n.pop(this),r=this._cache){r.manual||(o=""+r["var"].c()+"="+o);var i=n.current();(i instanceof Nt||i instanceof Ot)&&(o="("+o+")"),r.cached=!0}return o},v.prototype.c_cached=function(t){return t.lookups++,t.uses==t.lookups&&t["var"].free(),t["var"].c()},e(d,v),exports.ValueNode=d,d.prototype.__value={name:"value"},d.prototype.value=function(t){return this._value},d.prototype.setValue=function(t){return this._value=t,this},d.prototype.load=function(t){return t},d.prototype.js=function(t){return"string"==typeof this._value?this._value:this._value.c()},d.prototype.visit=function(){return this._value instanceof v&&this._value.traverse(),this},d.prototype.region=function(){return[this._value._loc,this._value._loc+this._value._len]},e(m,d),exports.Statement=m,m.prototype.isExpressable=function(){return!1},e(g,d),exports.Meta=g,g.prototype.isPrimitive=function(t){return!0},e(x,g),exports.Comment=x,x.prototype.c=function(t){var e=this._value._value;return t&&t.expression||e.match(/\n/)||"HERECOMMENT"==this._value.type()?"/*"+e+"*/":"// "+e},e(b,g),exports.Terminator=b,b.prototype.traverse=function(){return this},b.prototype.c=function(){return this._value.c()},e(w,b),exports.Newline=w,w.prototype.c=function(){return o(this._value)},e(S,d),exports.Index=S,S.prototype.js=function(t){return this._value.c()},e(j,v),exports.ListNode=j,j.prototype.__nodes={name:"nodes"},j.prototype.nodes=function(t){return this._nodes},j.prototype.setNodes=function(t){return this._nodes=t,this},j.prototype.list=function(){return this._nodes},j.prototype.compact=function(){return this._nodes=h(this._nodes),this},j.prototype.load=function(t){return t},j.prototype.concat=function(t){return this._nodes=this.nodes().concat(t instanceof Array?t:t.nodes()),this},j.prototype.swap=function(t,e){var n=this.indexOf(t);return n>=0&&(this.nodes()[n]=e),this},j.prototype.push=function(t){return this._nodes.push(t),this},j.prototype.pop=function(){var t=this._nodes.pop();return t},j.prototype.add=function(t){return this._nodes.push(t),this},j.prototype.unshift=function(t,e){return e&&this._nodes.unshift(En),this._nodes.unshift(t),this},j.prototype.slice=function(t,e){return new this.constructor(this._nodes.slice(t,e))},j.prototype["break"]=function(t,e){return void 0===e&&(e=!1),"string"==typeof t&&(t=new b(t)),e?this.unshift(t):this.push(t),this},j.prototype.some=function(t){for(var e=0,r=n(this._nodes),o=r.length;o>e;e++)if(t(r[e]))return!0;return!1},j.prototype.every=function(t){for(var e=0,r=n(this._nodes),o=r.length;o>e;e++)if(!t(r[e]))return!1;return!0},j.prototype.filter=function(t){return this._nodes.filter(t)},j.prototype.pluck=function(t){var e=this.filter(t)[0];return e&&this.remove(e),e},j.prototype.indexOf=function(t){return this._nodes.indexOf(t)},j.prototype.index=function(t){return this._nodes[t]},j.prototype.remove=function(t){var e=this._nodes.indexOf(t);return e>=0&&this._nodes.splice(e,1),this},j.prototype.removeAt=function(t){var e=this._nodes[t];return t>=0&&this._nodes.splice(t,1),e},j.prototype.replace=function(t,e){var n=this._nodes.indexOf(t);return n>=0&&(e instanceof Array?this._nodes.splice.apply(this._nodes,[].concat([n,1],[].slice.call(e))):this._nodes[n]=e),this},j.prototype.first=function(){return this._nodes[0]},j.prototype.last=function(){for(var t=this._nodes.length;t;){t-=1;var e=this._nodes[t];if(!(e instanceof g))return e}return null},j.prototype.map=function(t){return this._nodes.map(t)},j.prototype.forEach=function(t){return this._nodes.forEach(t)},j.prototype.remap=function(t){return this._nodes=this.map(t),this},j.prototype.count=function(){return this._nodes.length},j.prototype.realCount=function(){for(var t,e=0,r=0,o=n(this._nodes),s=o.length;s>r;r++)t=o[r],!t||t instanceof g||e++;return e},j.prototype.visit=function(){for(var t,e=0,r=n(this._nodes),o=r.length;o>e;e++)t=r[e],t&&t.traverse();return this},j.prototype.isExpressable=function(){for(var t,e=0,r=n(this.nodes()),o=r.length;o>e;e++)if(t=r[e],t&&!t.isExpressable())return!1;return!0},j.prototype.toArray=function(){return this._nodes},j.prototype.delimiter=function(){return this._delimiter||","},j.prototype.js=function(t,e){e&&e.constructor===Object||(e={});for(var r,o=void 0!==e.nodes?e.nodes:this._nodes,s=",",i=";"!=s,p=this.last(),a=(o.length,""),u=0,c=n(o),h=c.length;h>u;u++){r=c[u];var l="string"==typeof r?r:r?r.c({expression:i}):"";a+=l,!l||i&&r==p||r instanceof g||(a+=s)}return a},j.prototype.indented=function(t,e){return t instanceof _?(this._indentation=t,this):(this._indentation||(this._indentation=t&&e?new _(t,e):er),this)},e(E,j),exports.ArgList=E,e(A,E),exports.AssignList=A,A.prototype.concat=function(t){return 0==this._nodes.length&&t instanceof A?t:(A.__super__.concat.call(this,t),this)},e(T,j),exports.Block=T,T.prototype.__head={name:"head"},T.prototype.head=function(t){return this._head},T.prototype.setHead=function(t){return this._head=t,this},T.wrap=function(t){if(!(t instanceof Array))throw new SyntaxError("what");return 1==t.length&&t[0]instanceof T?t[0]:new T(t)},T.prototype.visit=function(){this._scope&&this._scope.visit();for(var t,e=0,r=n(this._nodes),o=r.length;o>e;e++)t=r[e],t&&t.traverse();return this},T.prototype.block=function(){return this},T.prototype.loc=function(){var t;if(t=this.option("ends")){var e=t[0].loc(),n=t[1].loc();return e||this.p("no loc for "+t[0]),n||this.p("no loc for "+t[1]),[e[0],n[1]]}return[0,0]},T.prototype.unwrap=function(){for(var t,e=[],r=0,o=n(this.nodes()),s=o.length;s>r;r++)t=o[r],t instanceof T?e.push.apply(e,t.unwrap()):e.push(t);return e},T.prototype.push=function(t){return this._nodes.push(t),this},T.prototype.add=function(t){return this._nodes.push(t),this},T.prototype.compile=function(t){void 0===t&&(t={});var e=new et(this,t);return e.compile(t)},T.prototype.analyze=function(t){return void 0===t&&(t={}),this},T.prototype.cpart=function(t){var e="string"==typeof t?t:t?t.c():"";if(null==e||void 0==e||""==e)return"";if(e instanceof Array){for(var n="",r=e.length,o=0;r>o;)n+=this.cpart(e[o++]);return n}var s=Qn.test(e);return s||t instanceof g||(e+=";"),e},T.prototype.js=function(t,e){var r=this._nodes,o=(r.length,this.isExpression()||t.isExpression()||this.option("express")&&this.isExpressable());if(0==r.length)return null;if(o)return T.__super__.js.call(this,t,{nodes:r});for(var s="",i=0,p=n(r),a=p.length;a>i;i++)s+=this.cpart(p[i]);if(this._head&&this._head.length>0){for(var u="",i=0,p=n(this._head),a=p.length;a>i;i++){var c=this.cpart(p[i]);c&&(u+=c+"\n")}s=u+s}return s},T.prototype.defers=function(t,e){var n=this._nodes.indexOf(t);n>=0&&(this._nodes[n]=e);var r=this._nodes.splice(n+1);return r},T.prototype.expressions=function(){for(var t,e=[],r=0,o=n(this.nodes()),s=o.length;s>r;r++)t=o[r],t instanceof b||e.push(t);return e},T.prototype.consume=function(t){var e;if(t instanceof Oe){this._nodes=this._nodes.map(function(e){return e.consume(t)});var n=this.expressions();if(!t._loop&&n.length>1){var r=t.blocks().push(this),o=new wt(new E(this._nodes));o.indented(this._indentation),this._indentation=null,t.reactive()?this._nodes=[Ye.callImba("static",[o,new vt(r)])]:this._nodes=[o]}return this}if(e=this.last()){var s=e.consume(t);s!=e&&(s instanceof T&&(s=s.nodes()),this.replace(e,s))}return this},T.prototype.isExpressable=function(){return this._nodes.every(function(t){return t.isExpressable()})?!0:!1},T.prototype.isExpression=function(){return this.option("express")||this._expression},e(O,j),exports.VarBlock=O,O.prototype.load=function(t){var e=t[0];return e instanceof Wt?this._type=e.left()._type:e instanceof Ht&&(this._type=e._type),t},O.prototype.addExpression=function(t){if(t instanceof Wt)t.left()instanceof Kt&&t.setLeft(new Ht(t.left().value(),this._type)),this.push(t);else{if(t instanceof Wt)return this.addExpression(t.left()),new Qt("=",new gt(this.nodes()),t.right());if(t instanceof Kt)this.push(new Ht(t.value(),this._type));else{if(!(t instanceof Ee&&t.node()instanceof Kt))throw this.p("VarBlock.addExpression "+this+" <- "+t),"VarBlock does not allow non-variable expressions";t.setValue(new Ht(t.node().value(),this._type)),this.push(t)}}return this},O.prototype.isExpressable=function(){return!1},O.prototype.js=function(t){var e=h(f(u(this.nodes())));e=e.filter(function(t){return null!=t&&void 0!=t&&t!=Vn});var n=e.join(",");return t.isExpression()||(n="var "+n),n},O.prototype.consume=function(t){return this},e($,d),exports.Parens=$,$.prototype.load=function(t){return this._noparen=!1,t instanceof T&&1==t.count()?t.first():t},$.prototype.isString=function(){return this._open&&'("'==String(this._open)||this.value().isString()},$.prototype.js=function(t){var e=this.up(),n=this._value,r=null;return n instanceof ot&&(this._noparen=!0),e instanceof T?(t.isExpression()||(this._noparen=!0),r=n instanceof Array?u(n):n.c({expression:t.isExpression()})):r=n instanceof Array?u(n):n.c({expression:!0}),r},$.prototype.set=function(t){return console.log("Parens set "+JSON.stringify(t)),$.__super__.set.call(this,t)},$.prototype.shouldParenthesize=function(){return this._noparen?!1:!0},$.prototype.prebreak=function(t){return $.__super__.prebreak.call(this,t),console.log("PREBREAK"),this._value&&this._value.prebreak(t),this},$.prototype.isExpressable=function(){return this._value.isExpressable()},$.prototype.consume=function(t){return this._value.consume(t)},e(P,j),exports.ExpressionBlock=P,P.prototype.c=function(){return this.map(function(t){return t.c()}).join(",")},P.prototype.consume=function(t){return this.value().consume(t)},P.prototype.addExpression=function(t){return t.node()instanceof Wt?(this.push(t.left()),new Qt("=",new gt(this.nodes()),t.right())):(this.push(t),this)},e(I,m),exports.Return=I,I.prototype.__value={name:"value"},I.prototype.value=function(t){return this._value},I.prototype.setValue=function(t){return this._value=t,this},I.prototype.visit=function(){return this._value&&this._value.traverse?this._value.traverse():void 0},I.prototype.js=function(t){var e=this._value;return e instanceof E?"return ["+e.c({expression:!0})+"]":e?"return "+e.c({expression:!0}):"return"},I.prototype.c=function(){return!this.value()||this.value().isExpressable()?I.__super__.c.apply(this,arguments):this.value().consume(this).c()},I.prototype.consume=function(t){return this},e(C,I),exports.ImplicitReturn=C,e(R,C),exports.GreedyReturn=R,e(V,m),exports.Throw=V,V.prototype.js=function(t){return"throw "+this.value().c()},V.prototype.consume=function(t){return this},e(z,m),exports.LoopFlowStatement=z,z.prototype.__literal={name:"literal"},z.prototype.literal=function(t){return this._literal},z.prototype.setLiteral=function(t){return this._literal=t,this},z.prototype.__expression={name:"expression"},z.prototype.expression=function(t){return this._expression},z.prototype.setExpression=function(t){return this._expression=t,this},z.prototype.visit=function(){return this.expression()?this.expression().traverse():void 0},z.prototype.consume=function(t){return this},
17
+ z.prototype.c=function(){if(!this.expression())return z.__super__.c.apply(this,arguments);var t=bn.up(_e),e=this.expression();if(t.catcher()){e=e.consume(t.catcher());var n=new this.constructor(this.literal());return new T([e,n]).c()}return e?(n=new this.constructor(this.literal()),new T([e,n]).c()):z.__super__.c.apply(this,arguments)},e(N,z),exports.BreakStatement=N,N.prototype.js=function(t){return"break"},e(L,z),exports.ContinueStatement=L,L.prototype.js=function(t){return"continue"},e(F,m),exports.DebuggerStatement=F,e(D,v),exports.Param=D,D.prototype.__name={name:"name"},D.prototype.name=function(t){return this._name},D.prototype.setName=function(t){return this._name=t,this},D.prototype.__index={name:"index"},D.prototype.index=function(t){return this._index},D.prototype.setIndex=function(t){return this._index=t,this},D.prototype.__defaults={name:"defaults"},D.prototype.defaults=function(t){return this._defaults},D.prototype.setDefaults=function(t){return this._defaults=t,this},D.prototype.__splat={name:"splat"},D.prototype.splat=function(t){return this._splat},D.prototype.setSplat=function(t){return this._splat=t,this},D.prototype.__variable={name:"variable"},D.prototype.variable=function(t){return this._variable},D.prototype.setVariable=function(t){return this._variable=t,this},D.prototype.varname=function(){return this._variable?this._variable.c():this.name()},D.prototype.js=function(t){return this._variable?this._variable.c():this.defaults()?"if("+this.name().c()+" == null) "+this.name().c()+" = "+this.defaults().c():void 0},D.prototype.visit=function(){var t,e;return this._defaults&&this._defaults.traverse(),(t=this.variable())||(this.setVariable(e=this.scope__().register(this.name(),this)),e),this._name instanceof te&&(this._name._value&&(this._name._value._type="PARAMVAR"),this._name.references(this._variable)),this},D.prototype.assignment=function(){return dn("=",this.variable().accessor(),this.defaults())},D.prototype.isExpressable=function(){return!this.defaults()||this.defaults().isExpressable()},D.prototype.dump=function(){return{loc:this.loc()}},D.prototype.loc=function(){return this._name&&this._name.region()},e(M,D),exports.SplatParam=M,M.prototype.loc=function(){var t=this.name().region();return[t[0]-1,t[1]]},e(B,D),exports.BlockParam=B,B.prototype.c=function(){return"blockparam"},B.prototype.loc=function(){var t=this.name().region();return[t[0]-1,t[1]]},e(G,D),exports.OptionalParam=G,e(U,D),exports.NamedParam=U,e(q,D),exports.RequiredParam=q,e(K,j),exports.NamedParams=K,K.prototype.__index={name:"index"},K.prototype.index=function(t){return this._index},K.prototype.setIndex=function(t){return this._index=t,this},K.prototype.__variable={name:"variable"},K.prototype.variable=function(t){return this._variable},K.prototype.setVariable=function(t){return this._variable=t,this},K.prototype.load=function(t){var e=function(t){return new U(t.key(),t.value())};return t instanceof kt?t.value().map(e):t},K.prototype.visit=function(){var t=this.scope__();return this._variable||(this._variable=t.temporary(this,{pool:"keypars"})),this._variable.predeclared(),K.__super__.visit.apply(this,arguments),this},K.prototype.varname=function(){return this.variable().c()},K.prototype.name=function(){return this.varname()},K.prototype.js=function(t){return"namedpar"},e(H,D),exports.IndexedParam=H,H.prototype.__parent={name:"parent"},H.prototype.parent=function(t){return this._parent},H.prototype.setParent=function(t){return this._parent=t,this},H.prototype.__subindex={name:"subindex"},H.prototype.subindex=function(t){return this._subindex},H.prototype.setSubindex=function(t){return this._subindex=t,this},H.prototype.visit=function(){var t,e;return(t=this.variable())||(this.setVariable(e=this.scope__().register(this.name(),this)),e),this.variable().proxy(this.parent().variable(),this.subindex()),this},e(W,j),exports.ArrayParams=W,W.prototype.__index={name:"index"},W.prototype.index=function(t){return this._index},W.prototype.setIndex=function(t){return this._index=t,this},W.prototype.__variable={name:"variable"},W.prototype.variable=function(t){return this._variable},W.prototype.setVariable=function(t){return this._variable=t,this},W.prototype.visit=function(){var t=this.scope__();return this._variable||(this._variable=t.temporary(this,{pool:"keypars"})),this._variable.predeclared(),W.__super__.visit.apply(this,arguments)},W.prototype.name=function(){return this.variable().c()},W.prototype.load=function(t){var e=this;return t instanceof wt?t.splat()?void 0:t.value().map(function(t,n){var r=t;return t instanceof Kt&&(r=t.value().value()),e.parse(r,t,n)}):null},W.prototype.parse=function(t,e,n){var r=new H(t,null);return r.setParent(this),r.setSubindex(n),r},W.prototype.head=function(t){return this},e(Y,j),exports.ParamList=Y,Y.prototype.__splat={name:"splat"},Y.prototype.splat=function(t){return this._splat},Y.prototype.setSplat=function(t){return this._splat=t,this},Y.prototype.__block={name:"block"},Y.prototype.block=function(t){return this._block},Y.prototype.setBlock=function(t){return this._block=t,this},Y.prototype.at=function(t,e,n){if(void 0===e&&(e=!1),void 0===n&&(n=null),e)for(;this.count()<=t;)this.add(new D(this.count()==t&&n||"_"+this.count()));return this.list()[t]},Y.prototype.visit=function(){this._splat=this.filter(function(t){return t instanceof M})[0];var t=this.filter(function(t){return t instanceof B});return t.length>1?t[1].warn("a method can only have one &block parameter"):t[0]&&t[0]!=this.last()&&t[0].warn("&block must be the last parameter of a method"),Y.__super__.visit.apply(this,arguments)},Y.prototype.js=function(t){if(0==this.count())return Vn;if(t.parent()instanceof T)return this.head(t);if(t.parent()instanceof tt){var e=this.nodes();return this._splat&&(e=this.filter(function(t){return t instanceof q||t instanceof G})),h(e.map(function(t){return o(t.varname())})).join(",")}throw"not implemented paramlist js"},Y.prototype.head=function(t){var e=[],r=[],o=null,s=null,i=null,p=[],a=[],u=0;if(this.nodes().forEach(function(t,n){return t.setIndex(u),t instanceof K?(a.push("named"),i=t):t instanceof G?(a.push("opt"),r.push(t)):t instanceof B?(a.push("blk"),o=t):t instanceof M?(a.push("splat"),s=t,u-=1):t instanceof W?(p.push(t),a.push("ary")):(a.push("reg"),e.push(t)),u++}),i)var c=i.variable();var h=[],l=function(t){return"typeof "+t+" == 'function'"},f=function(t){return""+t+".constructor === Object"},_=function(t){return""+t+".constructor !== Object"};if(!i&&!s&&!o&&r.length>0&&a.join(" ").match(/opt$/))for(var y,v=0,d=r.length;d>v;v++)y=r[v],h.push("if("+y.name().c()+" === undefined) "+y.name().c()+" = "+y.defaults().c());else if(!i||s||o||0!=r.length)if(!o||1!=r.length||s||i){if(o&&i&&0==r.length&&!s)$=o.name().c(),h.push("if("+$+"==undefined && "+l(c.c())+") "+$+" = "+c.c()+","+c.c()+" = {}"),h.push("else if(!"+c.c()+"||"+_(c.c())+") "+c.c()+" = {}");else if(r.length>0||s){var m=this.scope__().temporary(this,{pool:"arguments"}).predeclared().c(),g=this.scope__().temporary(this,{pool:"counter"}).predeclared().c(),x=""+m+"["+g+"-1]",b=""+m+"[--"+g+"]";h.push("var "+m+" = arguments, "+g+" = "+m+".length"),o&&($=o.name().c(),s?h.push("var "+$+" = "+l(x)+" ? "+b+" : null"):e.length>0?h.push("var "+$+" = "+g+" > "+e.length+" && "+l(x)+" ? "+b+" : null"):h.push("var "+$+" = "+l(x)+" ? "+b+" : null")),i&&h.push("var "+c.c()+" = "+x+"&&"+f(x)+" ? "+b+" : {}");for(var w,k=0,d=r.length;d>k;k++)w=r[k],h.push("if("+g+" < "+(w.index()+1)+") "+w.name().c()+" = "+w.defaults().c());if(s){var S=s.name().c(),j=s.index();0==j?(h.push("var "+S+" = new Array("+g+">"+j+" ? "+g+" : 0)"),h.push("while("+g+">"+j+") "+S+"["+g+"-1] = "+b)):(h.push("var "+S+" = new Array("+g+">"+j+" ? "+g+"-"+j+" : 0)"),h.push("while("+g+">"+j+") "+S+"[--"+g+" - "+j+"] = "+m+"["+g+"]"))}}else if(r.length>0)for(var E,A=0,d=r.length;d>A;A++)E=r[A],h.push("if("+E.name().c()+" === undefined) "+E.name().c()+" = "+E.defaults().c())}else{var T=r[0],O=T.name().c(),$=o.name().c();h.push("if("+$+"==undefined && "+l(O)+") "+$+" = "+O+","+O+" = "+T.defaults().c())}else h.push("if(!"+c.c()+"||"+_(c.c())+") "+c.c()+" = {}");if(i)for(var P,I=0,C=n(i.nodes()),d=C.length;d>I;I++)P=C[I],T=dn(".",c,P.c()).c(),h.push("var "+P.c()+" = "+T+" !== undefined ? "+T+" : "+P.defaults().c());if(p.length)for(var R=0,d=p.length;d>R;R++)this.p("adding arrayparams"),p[R].head(t,h,this);return h.length>0?h.join(";\n")+";":Vn},e(Z,j),exports.VariableDeclaration=Z,Z.prototype.__kind={name:"kind"},Z.prototype.kind=function(t){return this._kind},Z.prototype.setKind=function(t){return this._kind=t,this},Z.prototype.add=function(t,e,n){void 0===n&&(n=-1);var r=new J(t,e);return t instanceof hn&&(r.setVariable(t),t),0==n?this.unshift(r):this.push(r),r},Z.prototype.load=function(t){return t.map(function(t){return new J(t.name(),t.defaults(),t.splat())})},Z.prototype.isExpressable=function(){return this.nodes().every(function(t){return t.isExpressable()})},Z.prototype.js=function(t){if(0==this.count())return Vn;if(1==this.count()&&!this.isExpressable()){this.first().variable().autodeclare();var e=this.first().assignment();return e.c()}var n=h(u(this.nodes())).join(", ");return n?"var "+n:""},e(J,D),exports.VariableDeclarator=J,J.prototype.visit=function(){var t,e;return(t=this.variable())||(this.setVariable(e=this.scope__().register(this.name(),null)),e),this.defaults()&&this.defaults().traverse(),this.variable().setDeclarator(this),this.variable().addReference(this.name()),this},J.prototype.js=function(t){if(this.variable()._proxy)return null;var e=this.defaults();return null!=e&&void 0!=e?(e instanceof v&&(e=e.c({expression:!0})),""+this.variable().c()+"="+e):""+this.variable().c()},J.prototype.accessor=function(){return this},e(X,d),exports.VarName=X,X.prototype.__variable={name:"variable"},X.prototype.variable=function(t){return this._variable},X.prototype.setVariable=function(t){return this._variable=t,this},X.prototype.__splat={name:"splat"},X.prototype.splat=function(t){return this._splat},X.prototype.setSplat=function(t){return this._splat=t,this},X.prototype.visit=function(){var t,e;return(t=this.variable())||(this.setVariable(e=this.scope__().register(this.value().c(),null)),e),this.variable().setDeclarator(this),this.variable().addReference(this.value()),this},X.prototype.js=function(t){return this.variable().c()},X.prototype.c=function(){return this.variable().c()},e(Q,v),exports.VarList=Q,Q.prototype.__type={name:"type"},Q.prototype.type=function(t){return this._type},Q.prototype.setType=function(t){return this._type=t,this},Q.prototype.__left={name:"left"},Q.prototype.left=function(t){return this._left},Q.prototype.setLeft=function(t){return this._left=t,this},Q.prototype.__right={name:"right"},Q.prototype.right=function(t){return this._right},Q.prototype.setRight=function(t){return this._right=t,this},Q.prototype.visit=function(){for(var t,e=0,r=n(this.left()),o=r.length;o>e;e++)r[e].traverse(),(t=this.right()[e])&&t.traverse();return this},Q.prototype.js=function(t){var e=[],r=this.left().length,o=this.right().length,s=null;if(r>1&&1==o){this.p("multiassign!");var p=this.right()[0];p.cache();for(var a,u=0,c=n(this.left()),h=c.length;h>u;u++){if(a=c[u],a.splat())throw"not supported?";s=dn(".",p,i(u)),e.push(dn("=",a,s))}}else for(var l,f=0,c=n(this.left()),h=c.length;h>f;f++)l=c[f],p=this.right()[f],e.push(p?dn("=",l.variable().accessor(),p):l);return"var "+e.c()},e(tt,v),exports.Code=tt,tt.prototype.__head={name:"head"},tt.prototype.head=function(t){return this._head},tt.prototype.setHead=function(t){return this._head=t,this},tt.prototype.__body={name:"body"},tt.prototype.body=function(t){return this._body},tt.prototype.setBody=function(t){return this._body=t,this},tt.prototype.__scope={name:"scope"},tt.prototype.scope=function(t){return this._scope},tt.prototype.setScope=function(t){return this._scope=t,this},tt.prototype.__params={name:"params"},tt.prototype.params=function(t){return this._params},tt.prototype.setParams=function(t){return this._params=t,this},tt.prototype.scopetype=function(){return Ze},tt.prototype.visit=function(){return this._scope&&this._scope.visit(),this},e(et,tt),exports.Root=et,et.prototype.visit=function(){return this.scope().visit(),this.body().traverse()},et.prototype.compile=function(t){bn.reset(),bn._options=t,this._options=t||{},Wn=t,this.traverse();var e=this.c(),n={js:e,ast:this,warnings:this.scope().warnings(),options:t,toString:function(){return this.js}};return t.sourceMapInline&&new Hn(n).generate(),n},et.prototype.js=function(t){var e;this._options.bare?e=this.scope().c():(e=this.scope().c({indent:!0}),e=e.replace(/^\n?/,"\n"),e=e.replace(/\n?$/,"\n\n"),e="(function(){"+e+"})()");var n=[];return e=e.replace(/^[ \t]*\/\/(\!.+)$/gm,function(t,e){return e=e.replace(/\bimba\b/g,"node"),n.push("#"+e+"\n"),""}),e=n.join("")+e},et.prototype.analyze=function(t){t&&t.constructor===Object||(t={});var e=void 0!==t.loglevel?t.loglevel:0;return bn.setLoglevel(e),bn._analyzing=!0,this.traverse(),bn._analyzing=!1,this.scope().dump()},et.prototype.inspect=function(){return!0},e(nt,tt),exports.ClassDeclaration=nt,nt.prototype.__name={name:"name"},nt.prototype.name=function(t){return this._name},nt.prototype.setName=function(t){return this._name=t,this},nt.prototype.__superclass={name:"superclass"},nt.prototype.superclass=function(t){return this._superclass},nt.prototype.setSuperclass=function(t){return this._superclass=t,this},nt.prototype.__initor={name:"initor"},nt.prototype.initor=function(t){return this._initor},nt.prototype.setInitor=function(t){return this._initor=t,this},nt.prototype.visit=function(){return this.scope().visit(),this.body().traverse(),this},nt.prototype.js=function(t){if(this.scope().virtualize(),this.scope().context().setValue(this.name()),this.option("extension"))return this.body().c();var e=[],t=this._options||{},r=this.name()instanceof Nt?this.name().right():this.name(),o=this.name()!=r,i=null,p=this.superclass(),a=-1,u=(this.body().filter(function(t){return t instanceof b}),s(this.option("keyword")));this.body().map(function(t,e){return t instanceof pt&&"constructor"==t.type()?a=e:void 0}),a>=0&&(i=this.body().removeAt(a)),"string"!=typeof r&&(r=r.c());var c="string"==typeof this.name()?this.name():this.name().c();i?(i.setName(r),i=i.c()+";"):i=p?""+u+"function "+r+"(){ return "+p.c()+".apply(this,arguments) };\n\n":""+u+"function "+r+"(){ };\n\n",o&&(i=""+c+" = "+i),e.push(i),a>=0&&this.body().index(a)instanceof b&&e.push(this.body().removeAt(a)),p&&e.push(new Ye.Subclass([this.name(),p])),t.global&&!o&&e.push("global."+r+" = "+c+"; // global class \n"),t["export"]&&!o&&e.push("exports."+r+" = "+c+"; // export class \n");for(var h=0,l=n(e.reverse()),f=l.length;f>h;h++)this.body().unshift(l[h]);this.body()._indentation=null;var _=this.body().index(this.body().count()-1);_ instanceof b&&1==_.c().length&&this.body().pop();var y=this.body().c();return y},e(rt,tt),exports.TagDeclaration=rt,rt.prototype.__name={name:"name"},rt.prototype.name=function(t){return this._name},rt.prototype.setName=function(t){return this._name=t,this},rt.prototype.__superclass={name:"superclass"},rt.prototype.superclass=function(t){return this._superclass},rt.prototype.setSuperclass=function(t){return this._superclass=t,this},rt.prototype.__initor={name:"initor"},rt.prototype.initor=function(t){return this._initor},rt.prototype.setInitor=function(t){return this._initor=t,this},rt.prototype.visit=function(){return this.scope().visit(),this.body().traverse()},rt.prototype.id=function(){return this.name().id()},rt.prototype.js=function(t){this.scope().context().setValue(this._ctx=this.scope().declare("tag",null,{system:!0}));var e=s(this.option("keyword")),n=this.body().c(),r=this.body().count()?", function("+this._ctx.c()+"){"+n+"}":"";if(this.option("extension"))return""+e+"Imba.extendTag('"+(this.name().id()||this.name().func())+"'"+r+")";var o=this.superclass()&&","+Un.singlequote(this.superclass().func())||"",i=this.name().id()?""+e+"Imba.defineSingletonTag('"+this.name().id()+"'"+o+r+")":""+e+"Imba.defineTag('"+this.name().func()+"'"+o+r+")";return i},e(ot,tt),exports.Func=ot,ot.prototype.__name={name:"name"},ot.prototype.name=function(t){return this._name},ot.prototype.setName=function(t){return this._name=t,this},ot.prototype.__params={name:"params"},ot.prototype.params=function(t){return this._params},ot.prototype.setParams=function(t){return this._params=t,this},ot.prototype.__target={name:"target"},ot.prototype.target=function(t){return this._target},ot.prototype.setTarget=function(t){return this._target=t,this},ot.prototype.__options={name:"options"},ot.prototype.options=function(t){return this._options},ot.prototype.setOptions=function(t){return this._options=t,this},ot.prototype.__type={name:"type"},ot.prototype.type=function(t){return this._type},ot.prototype.setType=function(t){return this._type=t,this},ot.prototype.__context={name:"context"},ot.prototype.context=function(t){return this._context},ot.prototype.setContext=function(t){return this._context=t,this},ot.prototype.scopetype=function(){return en},ot.prototype.visit=function(){return this.scope().visit(),this._context=this.scope().parent(),this._params.traverse(),this._body.traverse()},ot.prototype.js=function(t){this.option("noreturn")||this.body().consume(new C);var e=this.body()._indentation;e&&e.isGenerated()&&(this.body()._indentation=null);var n=this.scope().c({indent:!e||!e.isGenerated(),braces:!0}),r="string"==typeof this._name?this._name:this._name.c();r=r?" "+r.replace(/\./g,"_"):"";var o="function"+r+"("+this.params().c()+") "+n;return this.option("eval")&&(o="("+o+")()"),o},ot.prototype.shouldParenthesize=function(t){return void 0===t&&(t=this.up()),t instanceof ie&&t.callee()==this},e(st,ot),exports.Lambda=st,st.prototype.scopetype=function(){return rn},e(it,ot),exports.TagFragmentFunc=it,e(pt,ot),exports.MethodDeclaration=pt,pt.prototype.__variable={name:"variable"},pt.prototype.variable=function(t){return this._variable},pt.prototype.setVariable=function(t){return this._variable=t,this},pt.prototype.scopetype=function(){return nn},pt.prototype.visit=function(){if(this.scope().visit(),"initialize"==String(this.name())&&this.setType("constructor"),this.option("greedy")){this.warn("deprecated");var t=new Oe;this._body=this.body().consume(t)}return this._context=this.scope().parent().closure(),this._params.traverse(),this.target()instanceof Et&&(this._target=this._context.context(),this.set({"static":!0})),this.context()instanceof Xe&&(this._target||(this._target=this.context().context())),this._target||(this._variable=this.context().register(this.name(),this,{type:"meth"})),this._body.traverse(),this},pt.prototype.supername=function(){return"constructor"==this.type()?this.type():this.name()},pt.prototype.js=function(t){"constructor"==this.type()||this.option("noreturn")||(this.option("greedy")?this.body().consume(new R):this.body().consume(new C));var e=this.scope().c({indent:!0,braces:!0}),n="string"==typeof this._name?this._name:this._name.c();n=n.replace(/\./g,"_");var r="("+this.params().c()+")"+e,o=this.target();!this.option("global")&&!this.option("export");o instanceof fn&&(o=null);var i=this.context(),p="",u=s(this.option("def")),c=a(this.name()),h=c;return p=i instanceof Xe&&!o?"constructor"==this.type()?""+u+"function "+c+r:this.option("static")?""+u+i.context().c()+"."+c+" = function "+r:""+u+i.context().c()+".prototype."+c+" = function "+r:i instanceof Je&&!o?""+u+"function "+h+r:o&&this.option("static")?""+u+o.c()+"."+c+" = function "+r:o?""+u+o.c()+".prototype."+c+" = function "+r:""+u+"function "+h+r,this.option("global")&&(p=""+c+" = "+p),this.option("export")&&(p=""+p+"; exports."+c+" = "+c+";"),p},e(at,pt),exports.TagFragmentDeclaration=at;var nr="${headers}\n${path}.__${getter} = ${options};\n${path}.${getter} = function(v){ return ${get}; }\n${path}.${setter} = function(v){ ${set}; return this; }\n${init}",rr="${headers}\n${path}.__${getter} = ${options};\n${path}.${getter} = function(v){ return ${get}; }\n${path}.${setter} = function(v){\n var a = this.${getter}();\n if(v != a) { v = ${set}; }\n if(v != a) { ${ondirty} }\n return this;\n}\n${init}";e(ut,v),exports.PropertyDeclaration=ut,ut.prototype.__name={name:"name"},ut.prototype.name=function(t){return this._name},ut.prototype.setName=function(t){return this._name=t,this},ut.prototype.__options={name:"options"},ut.prototype.options=function(t){return this._options},ut.prototype.setOptions=function(t){return this._options=t,this},ut.prototype.visit=function(){return this._options.traverse(),this},ut.prototype.c=function(){var t=this.options(),e=this.name().c(),n=bn.scope(),r=this.options().key("default"),o=(r?"self:prototype.@"+e+" = "+r.value().c():"",t.hash()),s=(this._token&&"attr"==String(this._token)||t.key("attr"),{key:e,getter:e,setter:a("set-"+e),scope:""+n.context().c(),path:"${scope}.prototype",set:"this._"+e+" = v",get:"this._"+e,init:"",headers:"",ondirty:""}),i=nr;if(t.add("name",new xt(e)),o.watch){o.watch instanceof ht&&!o.watch.truthy()||(i=rr);var p=""+e+"DidSet";o.watch instanceof xt?p=o.watch:o.watch instanceof ht&&t.key("watch").setValue(new xt(""+e+"DidSet"));var u=dn(".",new Tt,p);s.ondirty=dn("&&",u,Jn(u,["v","a","this.__"+e])).c()}o.observe&&(o.observe instanceof ht&&t.key("observe").setValue(new xt(""+e+"DidEmit")),i=rr,s.ondirty="Imba.observeProperty(this,'"+e+"',"+t.key("observe").value().c()+",v,a);"+(s.ondirty||"")),this._token&&"attr"==String(this._token)||t.key("dom")||t.key("attr")?(s.set="this.setAttribute('"+e+"',v)",s.get="this.getAttribute('"+e+"')"):t.key("delegate")&&(s.set="this.__"+e+".delegate.set(this,'"+e+"',v,this.__"+e+")",s.get="this.__"+e+".delegate.get(this,'"+e+"',this.__"+e+")"),r&&(t.key("dom")?s.init=""+s.scope+".dom().setAttribute('"+e+"',"+r.value().c()+");":s.init=""+s.scope+".prototype._"+e+" = "+r.value().c()+";"),t.key("chainable")&&(s.get="v !== undefined ? (this."+s.setter+"(v),this) : "+s.get),s.options=t.c();var c=/\$\{(\w+)\}/gm,h=i.replace(c,function(t,e){return s[e]});return h=h.replace(c,function(t,e){return s[e]}),h=h.replace(/\n\s*$/,"")},e(ct,d),exports.Literal=ct,ct.prototype.toString=function(){return""+this.value()},ct.prototype.hasSideEffects=function(){return!1},e(ht,ct),exports.Bool=ht,ht.prototype.cache=function(){return this},ht.prototype.isPrimitive=function(){return!0},ht.prototype.truthy=function(){return"true"==String(this.value())},ht.prototype.js=function(t){return String(this._value)},ht.prototype.c=function(){return bn._counter+=1,String(this._value)},e(lt,ct),exports.Undefined=lt,lt.prototype.isPrimitive=function(){return!0},lt.prototype.c=function(){return s(this._value)+"undefined"},e(ft,ct),exports.Nil=ft,ft.prototype.isPrimitive=function(){return!0},ft.prototype.c=function(){return s(this._value)+"null"},e(_t,ht),exports.True=_t,_t.prototype.raw=function(){return!0},_t.prototype.c=function(){return s(this._value)+"true"},e(yt,ht),exports.False=yt,yt.prototype.raw=function(){return!1},yt.prototype.c=function(){return s(this._value)+"false"},e(vt,ct),exports.Num=vt,vt.prototype.toString=function(){return String(this._value)},vt.prototype.isPrimitive=function(t){return!0},vt.prototype.shouldParenthesize=function(t){return void 0===t&&(t=this.up()),t instanceof Nt&&t.left()==this},vt.prototype.js=function(t){var e=String(this._value);return e},vt.prototype.c=function(t){if(this._cache)return vt.__super__.c.call(this,t);var e=String(this._value),n=bn.current(),r=n instanceof Nt&&n.left()==this;return r?"("+s(this._value)+e+")":s(this._value)+e},vt.prototype.cache=function(t){return t&&(t.cache||t.pool)?vt.__super__.cache.call(this,t):this},vt.prototype.raw=function(){return JSON.parse(String(this.value()))},e(dt,ct),exports.Str=dt,dt.prototype.isString=function(){return!0},dt.prototype.isPrimitive=function(t){return!0},dt.prototype.raw=function(){return this._raw||(this._raw=String(this.value()).slice(1,-1))},dt.prototype.isValidIdentifier=function(){return this.raw().match(/^[a-zA-Z\$\_]+[\d\w\$\_]*$/)?!0:!1},dt.prototype.js=function(t){return String(this._value)},dt.prototype.c=function(t){return this._cache?dt.__super__.c.call(this,t):String(this._value)},e(mt,j),exports.InterpolatedString=mt,mt.prototype.js=function(t){return"interpolated string"},e(gt,j),exports.Tuple=gt,gt.prototype.c=function(){return new wt(this.nodes()).c()},gt.prototype.hasSplat=function(){return this.filter(function(t){return t instanceof Ee})[0]},gt.prototype.consume=function(t){if(1==this.count())return this.first().consume(t);throw"multituple cannot consume"},e(xt,ct),exports.Symbol=xt,xt.prototype.isValidIdentifier=function(){return this.raw().match(/^[a-zA-Z\$\_]+[\d\w\$\_]*$/)?!0:!1},xt.prototype.isPrimitive=function(t){return!0},xt.prototype.raw=function(){return this._raw||(this._raw=a(this.value()))},xt.prototype.js=function(t){return"'"+a(this.value())+"'"},e(bt,ct),exports.RegExp=bt,bt.prototype.isPrimitive=function(){return!0},e(wt,ct),exports.Arr=wt,wt.prototype.load=function(t){return t instanceof Array?new E(t):t},wt.prototype.push=function(t){return this.value().push(t),this},wt.prototype.count=function(){return this.value().length},wt.prototype.nodes=function(){var t=this.value();return t instanceof Array?t:t.nodes()},wt.prototype.splat=function(){return this.value().some(function(t){return t instanceof Ee})},wt.prototype.visit=function(){return this._value&&this._value.traverse&&this._value.traverse(),this},wt.prototype.isPrimitive=function(t){return!this.value().some(function(t){return!t.isPrimitive(!0)})},wt.prototype.js=function(t){var e=this._value;if(!e)return"[]";var r=this.splat(),o=e instanceof Array?e:e.nodes();if(r){for(var s,i=[],p=null,a=0,c=n(o),h=c.length;h>a;a++)s=c[a],s instanceof Ee?(i.push(s),p=null):(p||i.push(p=new wt([])),p.push(s));return"[].concat("+u(i).join(", ")+")"}var l=e instanceof Array?u(e):e.c();return"["+l+"]"},wt.prototype.hasSideEffects=function(){return this.value().some(function(t){return t.hasSideEffects()})},wt.prototype.toString=function(){return"Arr"},wt.prototype.indented=function(t,e){return this._value.indented(t,e),this},wt.wrap=function(t){return new wt(t)},e(kt,ct),exports.Obj=kt,kt.prototype.load=function(t){return t instanceof Array?new A(t):t},kt.prototype.visit=function(){return this._value&&this._value.traverse(),this},kt.prototype.js=function(t){var e=this.value().filter(function(t){return t instanceof St&&t.key()instanceof Ot});if(e.length>0){var n=this.value().indexOf(e[0]),r=this.scope__().temporary(this),o=this.value().slice(0,n),s=new kt(o),i=[dn("=",r,s)];return this.value().slice(n).forEach(function(t){return i.push(dn("=",dn(".",r,t.key()),t.value()))}),i.push(r),new $(i).c()}return"{"+this.value().c()+"}"},kt.prototype.add=function(t,e){("string"==typeof t||t instanceof String)&&(t=new te(t));var n=new St(t,e);return this.value().push(n),n},kt.prototype.hash=function(){for(var t,e={},r=0,o=n(this.value()),s=o.length;s>r;r++)t=o[r],t instanceof St&&(e[t.key().symbol()]=t.value());return e},kt.prototype.key=function(t){for(var e,r=0,o=n(this.value()),s=o.length;s>r;r++)if(e=o[r],e instanceof St&&e.key().symbol()==t)return e;return null},kt.prototype.indented=function(t,e){return this._value.indented(t,e),this},kt.prototype.hasSideEffects=function(){return this.value().some(function(t){return t.hasSideEffects()})},kt.wrap=function(t){for(var e,n=[],r=0,o=Object.keys(t),s=o.length;s>r;r++)e=t[o[r]],e instanceof Array?e=wt.wrap(e):e.constructor==Object&&(e=kt.wrap(e)),n.push(new St(o[r],e));return new kt(n)},kt.prototype.toString=function(){return"Obj"},e(St,v),exports.ObjAttr=St,St.prototype.__key={name:"key"},St.prototype.key=function(t){return this._key},St.prototype.setKey=function(t){return this._key=t,this},St.prototype.__value={name:"value"},St.prototype.value=function(t){return this._value},St.prototype.setValue=function(t){return this._value=t,this},St.prototype.__options={name:"options"},St.prototype.options=function(t){return this._options},St.prototype.setOptions=function(t){return this._options=t,this},St.prototype.visit=function(){return this.key().traverse(),this.value().traverse()},St.prototype.js=function(t){var e=this.key().isReserved()?"'"+this.key().c()+"'":this.key().c();return""+e+": "+this.value().c()},St.prototype.hasSideEffects=function(){return!0},e(jt,v),exports.ArgsReference=jt,jt.prototype.c=function(){return"arguments"},e(Et,ct),exports.Self=Et,Et.prototype.__scope={name:"scope"},Et.prototype.scope=function(t){return this._scope},Et.prototype.setScope=function(t){return this._scope=t,this},Et.prototype.cache=function(){return this},Et.prototype.reference=function(){return this},Et.prototype.c=function(){var t=this.scope__();return t?t.context().c():"this"},e(At,Et),exports.ImplicitSelf=At,e(Tt,Et),exports.This=Tt,Tt.prototype.cache=function(){return this},Tt.prototype.reference=function(){return this},Tt.prototype.c=function(){return"this"},e(Ot,v),exports.Op=Ot,Ot.prototype.__op={name:"op"},Ot.prototype.op=function(t){return this._op},Ot.prototype.setOp=function(t){return this._op=t,this},Ot.prototype.__left={name:"left"},Ot.prototype.left=function(t){return this._left},Ot.prototype.setLeft=function(t){return this._left=t,this},Ot.prototype.__right={name:"right"},Ot.prototype.right=function(t){return this._right},Ot.prototype.setRight=function(t){return this._right=t,this},Ot.prototype.visit=function(){return this._right&&this._right.traverse(),this._left&&this._left.traverse(),this},Ot.prototype.isExpressable=function(){return!this.right()||this.right().isExpressable()},Ot.prototype.js=function(t){var e=null,n=this._op,r=this._left,o=this._right;return r instanceof v&&(r=r.c()),o instanceof v&&(o=o.c()),r&&o?e=""+r+" "+s(this._opToken)+n+" "+o:r&&(e=""+s(this._opToken)+n+r),e},Ot.prototype.shouldParenthesize=function(){return this._parens},Ot.prototype.precedence=function(){return 10},Ot.prototype.consume=function(t){if(this.isExpressable())return Ot.__super__.consume.apply(this,arguments);var e=(this.scope__().declare("tmp",null,{system:!0}),dn(this.op(),this.left(),null)),n=this.right().consume(e);return t&&n.consume(t),n},e($t,Ot),exports.ComparisonOp=$t,$t.prototype.invert=function(){var t=this._op,e=["==","!=","===","!==",">","<=","<",">="],n=e.indexOf(t);return n+=n%2?-1:1,this.setOp(e[n]),this._invert=!this._invert,this},$t.prototype.c=function(){return this.left()instanceof $t?(this.left().right().cache(),dn("&&",this.left(),dn(this.op(),this.left().right(),this.right())).c()):$t.__super__.c.apply(this,arguments)},$t.prototype.js=function(t){var e=this._op,n=this._left,r=this._right;return n instanceof v&&(n=n.c()),r instanceof v&&(r=r.c()),""+n+" "+s(this._opToken)+e+" "+r},e(Pt,Ot),exports.MathOp=Pt,Pt.prototype.c=function(){return"∪"==this.op()?this.util().union(this.left(),this.right()).c():"∩"==this.op()?this.util().intersect(this.left(),this.right()).c():void 0},e(It,Ot),exports.UnaryOp=It,It.prototype.invert=function(){return"!"==this.op()?this.left():It.__super__.invert.apply(this,arguments)},It.prototype.js=function(t){var e=this._left,n=this._right;if("!"==this.op()){var r=e.c(),o=e.shouldParenthesize(this);return r.match(/^\!?([\w\.]+)$/)||e instanceof $||o||e instanceof Nt||e instanceof ie||(r="("+r+")"),""+this.op()+r}return"√"==this.op()?"Math.sqrt("+e.c()+")":this.left()?""+e.c()+this.op():""+this.op()+n.c()},It.prototype.normalize=function(){if("!"==this.op()||"√"==this.op())return this;var t=(this.left()||this.right()).node();if(!(t instanceof Mt))return this;t instanceof Nt&&t.left()&&t.left().cache();var e=new vt(1),n=dn("=",t,dn(this.op()[0],t,e));return this.left()&&(n=dn("-"==this.op()[0]?"+":"-",n,e)),n},It.prototype.consume=function(t){var e=this.normalize();return e==this?It.__super__.consume.apply(this,arguments):e.consume(t)},It.prototype.c=function(){var t=this.normalize();return t==this?It.__super__.c.apply(this,arguments):t.c()},e(Ct,Ot),exports.InstanceOf=Ct,
18
+ Ct.prototype.js=function(e){if(this.right()instanceof re){var n=o(this.right().value()),r=this.left().node();if(t(n,["String","Number","Boolean"])>=0)return r instanceof Lt||r.cache(),"(typeof "+r.c()+"=='"+n.toLowerCase()+"'||"+r.c()+" instanceof "+n+")"}var s=""+this.left().c()+" "+this.op()+" "+this.right().c();return e.parent()instanceof Ot&&(s=Un.parenthesize(s)),s},e(Rt,Ot),exports.TypeOf=Rt,Rt.prototype.js=function(t){return"typeof "+this.left().c()},e(Vt,Ot),exports.Delete=Vt,Vt.prototype.js=function(t){var e=this.left(),n=this.scope__().temporary(this,{pool:"val"}),t=dn("=",n,e);return"("+t.c()+",delete "+e.c()+", "+n.c()+")"},Vt.prototype.shouldParenthesize=function(){return!0},e(zt,Ot),exports.In=zt,zt.prototype.invert=function(){return this._invert=!this._invert,this},zt.prototype.js=function(t){var e=this._invert?"== -1":">= 0",n=Ye.indexOf(this.left(),this.right());return""+n.c()+" "+e},module.exports.K_IVAR=wn=1,module.exports.K_SYM=kn=2,module.exports.K_STR=Sn=3,module.exports.K_PROP=jn=4,e(Nt,Ot),exports.Access=Nt,Nt.prototype.clone=function(t,e){var n=this.constructor;return new n(this.op(),t,e)},Nt.prototype.js=function(t){var e,n=null,r=this.right(),o=this.left()||this.scope__().context(),s="";if(r instanceof vt)return o.c()+"["+r.c()+"]";r instanceof S&&(r.value()instanceof dt||r.value()instanceof xt)&&(r=r.value()),r instanceof dt&&r.isValidIdentifier()?n=r.raw():r instanceof xt&&r.isValidIdentifier()?n=r.raw():r instanceof te&&r.isValidIdentifier()&&(n=r.c()),this.safechain()&&o&&(o.cache({force:!0}),s=o.c()+" && ");var i=n?o?""+o.c()+"."+n:n:(e=r instanceof v?r.c({expression:!0}):r,""+o.c()+"["+e+"]");return s+i},Nt.prototype.visit=function(){this.left()&&this.left().traverse(),this.right()&&this.right().traverse()},Nt.prototype.isExpressable=function(){return!0},Nt.prototype.alias=function(){return this.right()instanceof te?this.right().alias():Nt.__super__.alias.call(this)},Nt.prototype.safechain=function(){return"?."==String(this._op)||"?:"==String(this._op)},Nt.prototype.cache=function(t){return this.right()instanceof ne&&!this.left()?this:Nt.__super__.cache.call(this,t)},e(Lt,Nt),exports.LocalVarAccess=Lt,Lt.prototype.__safechain={name:"safechain"},Lt.prototype.safechain=function(t){return this._safechain},Lt.prototype.setSafechain=function(t){return this._safechain=t,this},Lt.prototype.js=function(t){return this.right()instanceof hn&&"meth"==this.right().type()&&!(this.up()instanceof ie)?""+this.right().c()+"()":this.right().c()},Lt.prototype.variable=function(){return this.right()},Lt.prototype.cache=function(t){return void 0===t&&(t={}),t.force&&Lt.__super__.cache.call(this,t),this},Lt.prototype.alias=function(){return this.variable()._alias||Lt.__super__.alias.call(this)},e(Ft,d),exports.GlobalVarAccess=Ft,Ft.prototype.js=function(t){return this.value().c()},e(Dt,Nt),exports.ObjectAccess=Dt,e(Mt,Nt),exports.PropertyAccess=Mt,Mt.prototype.visit=function(){return this._right&&this._right.traverse(),this._left&&this._left.traverse(),this},Mt.prototype.js=function(t){var e;if(e=this.receiver()){var n=Jn(dn(".",this.left(),this.right()),[]);return n.setReceiver(e),n.c()}var r=this.up();if(!(r instanceof ie))return n=Jn(new Nt(this.op(),this.left(),this.right()),[]),n.c();var o=""+Mt.__super__.js.call(this,t);return r instanceof ie||r instanceof Ye.IsFunction||(o+="()"),o},Mt.prototype.receiver=function(){return this.left()instanceof qt||this.left()instanceof yn?Tn:null},e(Bt,Nt),exports.IvarAccess=Bt,Bt.prototype.cache=function(){return this},e(Gt,Nt),exports.ConstAccess=Gt,e(Ut,Nt),exports.IndexAccess=Ut,Ut.prototype.cache=function(t){return void 0===t&&(t={}),t.force?Ut.__super__.cache.apply(this,arguments):(this.right().cache(),this)},e(qt,Nt),exports.SuperAccess=qt,qt.prototype.js=function(t){var e=t.method(),n=t.parent(),r=(t.parent()instanceof Nt,""+this.left().c()+".__super__");return n instanceof Nt||(r+="."+e.supername().c(),n instanceof ie||(r+=".apply("+e.scope().context().c()+",arguments)")),r},qt.prototype.receiver=function(){return Tn},e(Kt,d),exports.VarOrAccess=Kt,Kt.prototype.visit=function(){var t=this.scope__(),e=t.lookup(this.value());return e&&e.declarator()&&(e._initialized||t.closure()!=e.scope().closure())?(this._variable=e,e.addReference(this),this._value=e,this._token._variable=e,this):this.value().symbol().indexOf("$")>=0?(this._value=new Ft(this.value()),this):(this._value=new Mt(".",t.context(),this.value()),this._token._meta={type:"ACCESS"},this)},Kt.prototype.c=function(){return s(this._token)+(this._variable?Kt.__super__.c.call(this):this.value().c())},Kt.prototype.js=function(t){var e;if(e=this._variable){var n=e.c();return"meth"!=e._type||t.up()instanceof ie||(n+="()"),n}return"NONO"},Kt.prototype.node=function(){return this._variable?this:this.value()},Kt.prototype.symbol=function(){return this._identifier.symbol()},Kt.prototype.cache=function(t){return void 0===t&&(t={}),this._variable?t.force&&Kt.__super__.cache.call(this,t):this.value().cache(t)},Kt.prototype.decache=function(){return this._variable?Kt.__super__.decache.call(this):this.value().decache(),this},Kt.prototype.dom=function(){return this.value().dom()},Kt.prototype.safechain=function(){return this._identifier.safechain()},Kt.prototype.dump=function(){return{loc:this.loc()}},Kt.prototype.loc=function(){var t=this._identifier.region();return t||[0,0]},Kt.prototype.region=function(){return this._identifier.region()},Kt.prototype.toString=function(){return"VarOrAccess("+this.value()+")"},e(Ht,d),exports.VarReference=Ht,Ht.prototype.__variable={name:"variable"},Ht.prototype.variable=function(t){return this._variable},Ht.prototype.setVariable=function(t){return this._variable=t,this},Ht.prototype.__declared={name:"declared"},Ht.prototype.declared=function(t){return this._declared},Ht.prototype.setDeclared=function(t){return this._declared=t,this},Ht.prototype.__type={name:"type"},Ht.prototype.type=function(t){return this._type},Ht.prototype.setType=function(t){return this._type=t,this},Ht.prototype.loc=function(){return this._value.region()},Ht.prototype.set=function(t){return t["export"]&&(this._export=!0),this},Ht.prototype.js=function(t){var e=this._variable,n=e.c();return e&&!e._declared&&(t.up(O)?e._declared=!0:t.isExpression()||this._export?e.autodeclare():(n="var "+s(this._value)+n,e._declared=!0)),this._export&&(n="module.exports."+e.c()+" = "+e.c()),n},Ht.prototype.declare=function(){return this},Ht.prototype.consume=function(t){return this._variable&&this._variable.autodeclare(),this},Ht.prototype.visit=function(){var t=this.value().c(),e=this._variable||(this._variable=this.scope__().register(t,this,{type:this._type}));return e.declarator()||e.setDeclarator(this),this._value&&e.addReference(this._value),this._value._value._variable=e,this},Ht.prototype.refnr=function(){return this.variable().references().indexOf(this.value())},Ht.prototype.addExpression=function(t){return new O([this]).addExpression(t)},e(Wt,Ot),exports.Assign=Wt,Wt.prototype.isExpressable=function(){return!this.right()||this.right().isExpressable()},Wt.prototype.isUsed=function(){return this.up()instanceof T?!1:!0},Wt.prototype.visit=function(){var t=this._left,e=this._right;t&&t.traverse();var n=t instanceof Ht&&t.variable();return n&&n.declarator()==t?(n._initialized=!1,e&&e.traverse(),n._initialized=!0):e&&e.traverse(),(t instanceof Ht||t._variable)&&t._variable.assigned(e,this),this},Wt.prototype.c=function(t){return this.right().isExpressable()?Wt.__super__.c.call(this,t):this.right().consume(this).c(t)},Wt.prototype.js=function(t){if(!this.right().isExpressable())return this.p("Assign#js right is not expressable "),this.right().consume(this).c();var e=this.left().node();this.right();if(e instanceof Et){var n=this.scope__().context();e=n.reference()}if(e instanceof Mt){var r=Jn(dn(".",e.left(),e.right().setter()),[this.right()]);return r.setReceiver(e.receiver()),this.isUsed()&&(this.right().cachevar()||this.right().cache({pool:"val",uses:1}),r=new $(p([r,this.right()]))),r.c({expression:!0})}var o=""+e.c()+" "+s(this._opToken)+this.op()+" "+this.right().c({expression:!0});return o},Wt.prototype.shouldParenthesize=function(t){return void 0===t&&(t=this.up()),t instanceof Ot&&"="!=t.op()},Wt.prototype.consume=function(t){if(this.isExpressable())return this.forceExpression(),Wt.__super__.consume.call(this,t);var e=this.right().consume(this);return e.consume(t)},Wt.prototype.addExpression=function(t){var e=P;this._left&&this._left instanceof Ht&&(e=O);var n=new e([this]);return n.addExpression(t)},e(Yt,Wt),exports.PushAssign=Yt,Yt.prototype.js=function(t){return""+this.left().c()+".push("+this.right().c()+")"},Yt.prototype.consume=function(t){return this},e(Zt,Wt),exports.ConditionalAssign=Zt,Zt.prototype.consume=function(t){return this.normalize().consume(t)},Zt.prototype.normalize=function(){var t=this.left().node(),e=t;t instanceof Nt&&(t.left()&&t.left().cache(),e=t.clone(t.left(),t.right()),t instanceof Mt&&t.cache(),t instanceof Ut&&t.right().cache());var n=this.right().isExpressable(),r=null;return n&&"||="==this.op()?r=dn("||",t,dn("=",e,this.right())):n&&"&&="==this.op()?r=dn("&&",t,dn("=",e,this.right())):(r=Yn(this.condition(),dn("=",e,this.right()),t),r.setScope(null)),r.isExpressable()&&r.toExpression(),r},Zt.prototype.c=function(){return this.normalize().c()},Zt.prototype.condition=function(){return"?="==this.op()?dn("==",this.left(),zn):"||="==this.op()?dn("!",this.left()):"&&="==this.op()?this.left():"!?="==this.op()?dn("!=",this.left(),zn):this.left()},Zt.prototype.js=function(t){var e=Yn(this.condition(),dn("=",this.left(),this.right()),this.left());return e.setScope(null),e.isExpressable()&&e.toExpression(),e.c()},e(Jt,Wt),exports.CompoundAssign=Jt,Jt.prototype.consume=function(t){if(this.isExpressable())return Jt.__super__.consume.apply(this,arguments);var e=this.normalize();return e!=this?e.consume(t):(e=this.right().consume(this),e.consume(t))},Jt.prototype.normalize=function(){var t=this.left().node();if(!(t instanceof Mt))return this;t instanceof Nt&&t.left()&&t.left().cache();var e=dn("=",this.left(),dn(this.op()[0],this.left(),this.right()));return e.isExpressable()&&e.toExpression(),e},Jt.prototype.c=function(){var t=this.normalize();if(t==this)return Jt.__super__.c.apply(this,arguments);var e=bn.current();return e instanceof T&&e.replace(this,t),t.c()},e(Xt,Wt),exports.AsyncAssign=Xt,e(Qt,Wt),exports.TupleAssign=Qt,Qt.prototype.__op={name:"op"},Qt.prototype.op=function(t){return this._op},Qt.prototype.setOp=function(t){return this._op=t,this},Qt.prototype.__left={name:"left"},Qt.prototype.left=function(t){return this._left},Qt.prototype.setLeft=function(t){return this._left=t,this},Qt.prototype.__right={name:"right"},Qt.prototype.right=function(t){return this._right},Qt.prototype.setRight=function(t){return this._right=t,this},Qt.prototype.__type={name:"type"},Qt.prototype.type=function(t){return this._type},Qt.prototype.setType=function(t){return this._type=t,this},Qt.prototype.isExpressable=function(){return this.right().isExpressable()},Qt.prototype.addExpression=function(t){return this.right()instanceof gt?this.right().push(t):this.setRight(new gt([this.right(),t])),this},Qt.prototype.visit=function(){return this.left().first().node()instanceof Ht&&(this.setType("var"),this._vars=this.left().nodes().filter(function(t){return t instanceof Ht})),this.right().traverse(),this.left().traverse(),this},Qt.prototype.js=function(t){var e=this;if(!e.right().isExpressable())return e.right().consume(e).c();var r=new T([]),o=e.left(),s=e.right(),p=e.type(),a=0,u=o.count(),c=u,h=o.filter(function(t){return t instanceof Ee})[0];s instanceof wt&&!s.splat()&&(s=new gt(s.nodes()));var l=s instanceof gt?s.count():null;if(h||s!=Rn)if(l){var f=o.map(function(t,e){var n=null;if(t==h){n=new E([]);for(var r=l-(u-e);r>=a;)n.push(s.index(a++));n=new wt(n)}else n=s.index(a++);return[t.node(),n]}),_=!0;f.map(function(t,n){var o=t[0],s=t[1];return _&&(o instanceof Ht&&0==o.refnr()?_=!0:(_=!1,f.slice(n).map(function(t){return t[1].hasSideEffects()?(e._temporary.push(t[1]),r.push(t[1].cache({force:!0,pool:"swap",declared:"var"==p}))):void 0}))),r.last()==s?(s.decache(),r.replace(s,dn("=",o,s))):r.push(dn("=",o,s))})}else{var y=new O,v=e.util().iterable(s,!0);if(r.push(y),y.push(v),h){var d=e.util().len(v,!0),m=e.util().counter(0,!0);y.push(d),y.push(m)}var g="var"==p?O:T,x=new g([]);r.push(x),o.map(function(t,n){if(t==h){var o=t.node(),s=c-n-1;if("var"!=p){var a=e.util().array(dn("-",d,i(n+s)),!0);y.push(a),o=a.cachevar()}else x||r.push(x=new g),a=e.util().array(dn("-",d,i(n+s))),x.push(dn("=",o,a));var u=s?dn("-",d,s):d,l=dn("=",dn(".",o,dn("-",m,i(n))),dn(".",v,dn("++",m)));return r.push(Xn(dn("<",m,u),l)),"var"!=p?(r.push(x=new T),x.push(dn("=",t.node(),o))):x=null}return h?(x||r.push(x=new g),x.push(dn("=",t,dn(".",v,dn("++",m))))):(x||r.push(x=new g),x.push(dn("=",t,dn(".",v,i(n)))))})}else{var b=e.scope__().params();o.map(function(t,e){return r.push(dn("=",t.node(),b.at(e,!0).visit().variable()))})}if(t.isExpression()&&e._vars)for(var w=0,k=n(e._vars),S=k.length;S>w;w++)k[w].variable().autodeclare();else if(e._vars)for(var w=0,k=n(e._vars),S=k.length;S>w;w++)k[w].variable().predeclared();if(r.isExpressable()){var j=r.c({expression:!0});return p&&!t.isExpression()&&(j=""+p+" "+j),j}return j=r.c()},Qt.prototype.c=function(t){var e=Qt.__super__.c.call(this,t);return this._temporary&&this._temporary.length&&this._temporary.map(function(t){return t.decache()}),e},e(te,v),exports.Identifier=te,te.prototype.__safechain={name:"safechain"},te.prototype.safechain=function(t){return this._safechain},te.prototype.setSafechain=function(t){return this._safechain=t,this},te.prototype.__value={name:"value"},te.prototype.value=function(t){return this._value},te.prototype.setValue=function(t){return this._value=t,this},te.prototype.references=function(t){return this._value&&(this._value._variable=t),this},te.prototype.sourceMapMarker=function(){return this._value.sourceMapMarker()},te.prototype.load=function(t){return t instanceof te?t.value():t},te.prototype.traverse=function(){return this},te.prototype.visit=function(){return this._value instanceof v&&this._value.traverse(),this},te.prototype.region=function(){return[this._value._loc,this._value._loc+this._value._len]},te.prototype.isValidIdentifier=function(){return!0},te.prototype.isReserved=function(){return this._value.reserved||tr.test(String(this._value))},te.prototype.symbol=function(){return this._symbol||(this._symbol=a(this.value()))},te.prototype.setter=function(){return this._setter||(this._setter=new te("set-"+this.value().c()))},te.prototype.toString=function(){return String(this._value)},te.prototype.alias=function(){return a(this._value)},te.prototype.js=function(t){return this.symbol()},te.prototype.c=function(){return this.symbol()},te.prototype.dump=function(){return{loc:this.region()}},e(ee,te),exports.TagId=ee,ee.prototype.c=function(){return"id$('"+this.value().c()+"')"},e(ne,te),exports.Ivar=ne,ne.prototype.name=function(){return Un.camelCase(this._value).replace(/^@/,"")},ne.prototype.alias=function(){return"_"+this.name()},ne.prototype.js=function(t){return"_"+this.name()},ne.prototype.c=function(){return s(this._value)+"_"+Un.camelCase(this._value).slice(1)},e(re,te),exports.Const=re,re.prototype.symbol=function(){return this._symbol||(this._symbol=a(this.value()))},re.prototype.js=function(t){return this.symbol()},re.prototype.c=function(){return s(this._value)+this.symbol()},e(oe,te),exports.TagTypeIdentifier=oe,oe.prototype.__name={name:"name"},oe.prototype.name=function(t){return this._name},oe.prototype.setName=function(t){return this._name=t,this},oe.prototype.__ns={name:"ns"},oe.prototype.ns=function(t){return this._ns},oe.prototype.setNs=function(t){return this._ns=t,this},oe.prototype.load=function(t){this._str=""+t;var e=this._str.split(":");return this._raw=t,this._name=e.pop(),this._ns=e.shift(),this._str},oe.prototype.js=function(t){return"IMBA_TAGS."+this._str.replace(":","$")},oe.prototype.c=function(){return this.js()},oe.prototype.func=function(){var t=this._name.replace(/-/g,"_").replace(/\#/,"");return this._ns&&(t+="$"+this._ns.toLowerCase()),t},oe.prototype.id=function(){var t=this._str.match(/\#([\w\-\d\_]+)\b/);return t?t[1]:null},oe.prototype.flag=function(){return"_"+this.name().replace(/--/g,"_").toLowerCase()},oe.prototype.sel=function(){return"."+this.flag()},oe.prototype.string=function(){return this.value()},e(se,d),exports.Argvar=se,se.prototype.c=function(){var t=parseInt(String(this.value()));if(0==t)return"arguments";var e=this.scope__(),n=e.params().at(t-1,!0);return""+o(n.name())},e(ie,v),exports.Call=ie,ie.prototype.__callee={name:"callee"},ie.prototype.callee=function(t){return this._callee},ie.prototype.setCallee=function(t){return this._callee=t,this},ie.prototype.__receiver={name:"receiver"},ie.prototype.receiver=function(t){return this._receiver},ie.prototype.setReceiver=function(t){return this._receiver=t,this},ie.prototype.__args={name:"args"},ie.prototype.args=function(t){return this._args},ie.prototype.setArgs=function(t){return this._args=t,this},ie.prototype.__block={name:"block"},ie.prototype.block=function(t){return this._block},ie.prototype.setBlock=function(t){return this._block=t,this},ie.prototype.visit=function(){return this.args().traverse(),this.callee().traverse(),this._block&&this._block.traverse()},ie.prototype.addBlock=function(t){var e=this._args.filter(function(t,e){return"&"==t})[0];return e?this.args().replace(e,t):this.args().push(t),this},ie.prototype.receiver=function(){return this._receiver||(this._receiver=this.callee()instanceof Nt&&this.callee().left()||zn)},ie.prototype.safechain=function(){return this.callee().safechain()},ie.prototype.js=function(t){var e=this.args(),n=e.some(function(t){return t instanceof Ee}),r=null,o=null,s=null,i=null,p=this._callee=this._callee.node();if(p instanceof Nt&&(o=p.left(),s=p.right()),(p instanceof yn||p instanceof qt)&&(this._receiver=this.scope__().context()),p instanceof Mt&&(this._receiver=p.receiver(),p=this._callee=new Nt(p.op(),p.left(),p.right())),p.safechain()){var a=new Ye.IsFunction([p]);i=[""+a.c()+" && ",""],p=dn(".",p.left(),p.right())}if(n){var u=1==e.count()?new d(e.first().value()):new wt(e.list());this.receiver().cache(),r=""+p.c({expression:!0})+".apply("+this.receiver().c()+","+u.c({expression:!0})+")"}else this._receiver?(this._receiver instanceof fn||this._receiver.cache(),e.unshift(this.receiver()),r=""+p.c({expression:!0})+".call("+e.c({expression:!0})+")"):r=""+p.c({expression:!0})+"("+e.c({expression:!0})+")";return i&&(this._cache&&(this._cache.manual=!0,r="("+this.cachevar().c()+"="+r+")"),r=[i[0],r,i[1]].join("")),r},e(pe,ie),exports.ImplicitCall=pe,pe.prototype.js=function(t){return""+this.callee().c()+"()"},e(ae,ie),exports.New=ae,ae.prototype.js=function(t){var e="new "+this.callee().c();return t.parent()instanceof ie||(e+="()"),e},e(ue,ie),exports.SuperCall=ue,ue.prototype.js=function(t){var e=t.method();return this.setReceiver(Tn),this.setCallee(""+e.target().c()+".super$.prototype."+e.name().c()),ue.__super__.js.apply(this,arguments)},e(ce,j),exports.ExternDeclaration=ce,ce.prototype.visit=function(){this.setNodes(this.map(function(t){return t.node()}));for(var t,e=this.scope__(),r=0,o=n(this.nodes()),s=o.length;s>r;r++){t=o[r];var i=e.register(t.symbol(),t,{type:"global"});i.addReference(t)}return this},ce.prototype.c=function(){return"// externs"},e(he,v),exports.ControlFlow=he,e(le,he),exports.ControlFlowStatement=le,le.prototype.isExpressable=function(){return!1},e(fe,he),exports.If=fe,fe.prototype.__test={name:"test"},fe.prototype.test=function(t){return this._test},fe.prototype.setTest=function(t){return this._test=t,this},fe.prototype.__body={name:"body"},fe.prototype.body=function(t){return this._body},fe.prototype.setBody=function(t){return this._body=t,this},fe.prototype.__alt={name:"alt"},fe.prototype.alt=function(t){return this._alt},fe.prototype.setAlt=function(t){return this._alt=t,this},fe.prototype.__scope={name:"scope"},fe.prototype.scope=function(t){return this._scope},fe.prototype.setScope=function(t){return this._scope=t,this},fe.ternary=function(t,e,n){var r=new fe(t,new T([e]),{type:"?"});return r.addElse(new T([n])),r},fe.prototype.addElse=function(t){return this.alt()&&this.alt()instanceof fe?this.alt().addElse(t):this.setAlt(t),this},fe.prototype.invert=function(){return this._test instanceof $t?this._test=this._test.invert():this._test=new It("!",this._test,null)},fe.prototype.visit=function(){var t=this.alt();return this._scope&&this._scope.visit(),this.test()&&this.test().traverse(),this.body()&&this.body().traverse(),t&&(bn.pop(this),t._scope||(t._scope=new cn(t)),t.traverse(),bn.push(this)),"?"==this._type&&this.isExpressable()&&this.toExpression(),this},fe.prototype.js=function(t){var e=this.body(),n={braces:!0,indent:!0},r=this.test().c({expression:!0});if(t.isExpression()){var o=e.c();return o="("+o+")",this.alt()?""+r+" ? "+o+" : ("+this.alt().c()+")":"("+r+") && "+o}o=null,e instanceof T&&1==e.count()&&(e=e.first()),o=e.c({braces:!0});var i=""+s(this._type)+"if ("+r+") "+o;return this.alt()&&(i+=" else "+this.alt().c(this.alt()instanceof fe?{}:n)),i},fe.prototype.sourceMapMarker=function(){return this},fe.prototype.consume=function(t){if(t instanceof Oe)return this._body=this._body.consume(t),this._alt&&(this._alt=this._alt.consume(t)),this;var e=t instanceof I;return this._expression||(!e||"?"==this._type)&&this.isExpressable()?(this.toExpression(),fe.__super__.consume.call(this,t)):(this._body=this._body.consume(t),this._alt&&(this._alt=this._alt.consume(t)),this)},fe.prototype.isExpressable=function(){var t=this.body().isExpressable()&&(!this.alt()||this.alt().isExpressable());return t},e(_e,m),exports.Loop=_e,_e.prototype.__scope={name:"scope"},_e.prototype.scope=function(t){return this._scope},_e.prototype.setScope=function(t){return this._scope=t,this},_e.prototype.__options={name:"options"},_e.prototype.options=function(t){return this._options},_e.prototype.setOptions=function(t){return this._options=t,this},_e.prototype.__body={name:"body"},_e.prototype.body=function(t){return this._body},_e.prototype.setBody=function(t){return this._body=t,this},_e.prototype.__catcher={name:"catcher"},_e.prototype.catcher=function(t){return this._catcher},_e.prototype.setCatcher=function(t){return this._catcher=t,this},_e.prototype.set=function(t){this._options||(this._options={});for(var e,r=Object.keys(t),o=0,s=n(r),i=s.length;i>o;o++)e=s[o],this._options[e]=t[e];return this},_e.prototype.addBody=function(t){return this.setBody(p(t)),this},_e.prototype.c=function(t){var e=this.stack();e.current();if(this.stack().isExpression()||this.isExpression()){var n=Jn(Zn([],[this]),[]);return n.c(t)}return this.stack().current()instanceof T||e.up()instanceof T&&e.current()._consumer==this?_e.__super__.c.call(this,t):(n=Jn(Zn([],[this]),[]),n.c(t))},e(ye,_e),exports.While=ye,ye.prototype.__test={name:"test"},ye.prototype.test=function(t){return this._test},ye.prototype.setTest=function(t){return this._test=t,this},ye.prototype.visit=function(){return this.scope().visit(),this.test()&&this.test().traverse(),this.body()?this.body().traverse():void 0},ye.prototype.consume=function(t){if(this.isExpressable())return ye.__super__.consume.apply(this,arguments);if(t instanceof Oe)return this.scope().context().reference(),Jn(Zn([],[this]),[]);var e=this.scope().declare("res",new wt([]),{system:!0});this._catcher=new Yt("push",e,null),this.body().consume(this._catcher);var n=new T([this,e.accessor()]);return n.consume(t)},ye.prototype.js=function(t){var e="while ("+this.test().c({expression:!0})+")"+this.body().c({braces:!0,indent:!0});return this.scope().vars().count()>0?[this.scope().vars().c(),e]:e},e(ve,_e),exports.For=ve,ve.prototype.visit=function(){if(this.scope().visit(),this.options().source.traverse(),this.declare(),this.options().guard){var t=Yn(this.options().guard.invert(),T.wrap([new L("continue")]));this.body().unshift(t,En)}return this.body().traverse()},ve.prototype.isBare=function(t){return t&&t._variable&&t._variable._isArray},ve.prototype.declare=function(){var t=this.options(),e=this.scope(),n=t.source,r=t.vars={},o=t.index,s=this.isBare(n);if(n instanceof je)r.len=e.declare("len",n.right()),r.index=e.register(t.name,e,{type:"let",declared:!0}),e.vars().push(r.index.assignment(n.left())),r.value=r.index;else{var i=r.index=o?e.declare(o,0,{type:"let"}):this.util().counter(0,!0,e).predeclare();r.source=s?n:this.util().iterable(n,!0).predeclare(),r.len=this.util().len(r.source,!0).predeclare(),r.value=e.declare(t.name,null,{type:"let"}),r.value.addReference(t.name),o&&i.addReference(o)}return this},ve.prototype.consume=function(t){var e;if(this.isExpressable())return ve.__super__.consume.apply(this,arguments);if(t instanceof Oe){this.scope().context().reference();var n=t.root().reference();t._loop=this,this.body().consume(t),t._loop=null;var r=new st([new D(n)],[this]);return r.scope().wrap(this.scope()),Jn(r,[n])}if(this._resvar){var o=new T([this,En,this._resvar.accessor()]);return o.consume(t),o}var s=null,i=!1,p=null;return t instanceof Wt&&(e=t.left())&&(p=e._variable,e._variable&&(i=!0)),i&&p?(p.resolve(),this.scope().vars().unshift(dn("=",p,new wt([]))),s=this._resvar=p,t._consumer=this,t=null):s=this._resvar=this.scope().declare("res",new wt([]),{system:!0}),this._catcher=new Yt("push",s,null),this.body().consume(this._catcher),t?o=new T([this,En,s.accessor().consume(t)]):this},ve.prototype.js=function(t){var e,n=this.options().vars,r=n.index,o=n.value,i=dn("<",r,n.len),p=this.options().source,a=this.options().step?dn("=",r,dn("+",r,this.options().step)):dn("++",r);p instanceof je?p.inclusive()&&(i.setOp(e="<="),e):o.refcount()<3&&0==o.assignments().length?o.proxy(n.source,r):this.body().unshift(dn("=",o,dn(".",n.source,r)),En);var u=""+s(this.options().keyword)+"for ("+this.scope().vars().c()+"; "+i.c()+"; "+a.c()+") ";return u+this.body().c({braces:!0,indent:!0})},ve.prototype.head=function(){var t=this.options().vars;return dn("=",t.value,dn(".",t.source,t.index))},e(de,ve),exports.ForIn=de,e(me,ve),exports.ForOf=me,me.prototype.declare=function(){var t=this.options(),e=t.vars={},n=e.source=t.source._variable||this.scope().declare("o",t.source,{system:!0,type:"let"});if(t.index)var r=e.value=this.scope().declare(t.index,null,{let:!0});if(t.own)var o=(e.index=this.scope().declare("i",0,{system:!0,type:"let"}),e.keys=this.scope().declare("keys",Ye.keys(n.accessor()),{system:!0,type:"let"})),s=(e.len=this.scope().declare("l",Ye.len(o.accessor()),{system:!0,type:"let"}),e.key=this.scope().register(t.name,t.name,{type:"let"}));else s=e.key=this.scope().register(t.name,t.name,{type:"let"});return r&&t.index&&r.addReference(t.index),s&&t.name&&s.addReference(t.name),this},me.prototype.js=function(t){var e=this.options().vars,t=e.source,n=e.key,r=e.value,o=e.index;if(r&&(r.refcount()<3?r.proxy(t,n):this.body().unshift(dn("=",r,dn(".",t,n)))),this.options().own){n.refcount()<3?n.proxy(e.keys,o):this.body().unshift(dn("=",n,dn(".",e.keys,o)));var i=""+s(this.options().keyword)+"for ("+this.scope().vars().c()+"; "+dn("<",o,e.len).c()+"; "+dn("++",o).c()+")";return i+this.body().c({indent:!0,braces:!0})}var p=this.body().c({braces:!0,indent:!0});return this.scope().vars().c()+(";\n"+s(this.options().keyword)+"for (var "+n.c()+" in "+t.c()+")")+p},me.prototype.head=function(){var t=this.options().vars;return[dn("=",t.key,dn(".",t.keys,t.index)),t.value&&dn("=",t.value,dn(".",t.source,t.key))]},e(ge,T),exports.Begin=ge,ge.prototype.shouldParenthesize=function(){return this.isExpression()},e(xe,le),exports.Switch=xe,xe.prototype.__source={name:"source"},xe.prototype.source=function(t){return this._source},xe.prototype.setSource=function(t){return this._source=t,this},xe.prototype.__cases={name:"cases"},xe.prototype.cases=function(t){return this._cases},xe.prototype.setCases=function(t){return this._cases=t,this},xe.prototype.__fallback={name:"fallback"},xe.prototype.fallback=function(t){return this._fallback},xe.prototype.setFallback=function(t){return this._fallback=t,this},xe.prototype.visit=function(){for(var t=0,e=n(this.cases()),r=e.length;r>t;t++)e[t].traverse();this.fallback()&&this.fallback().visit(),this.source()&&this.source().visit()},xe.prototype.consume=function(t){return this._cases=this._cases.map(function(e){return e.consume(t)}),this._fallback&&(this._fallback=this._fallback.consume(t)),this},xe.prototype.js=function(t){for(var e,r=[],o=0,s=n(this.cases()),i=s.length;i>o;o++)e=s[o],e.autobreak(),r.push(e);return this.fallback()&&r.push("default:\n"+this.fallback().c({indent:!0})),"switch ("+this.source().c()+") "+Un.bracketize(u(r).join("\n"),!0)},e(be,le),exports.SwitchCase=be,be.prototype.__test={name:"test"},be.prototype.test=function(t){return this._test},be.prototype.setTest=function(t){return this._test=t,this},be.prototype.__body={name:"body"},be.prototype.body=function(t){return this._body},be.prototype.setBody=function(t){return this._body=t,this},be.prototype.visit=function(){return this.body().traverse()},be.prototype.consume=function(t){return this.body().consume(t),this},be.prototype.autobreak=function(){return this.body().last()instanceof N||this.body().push(new N),this},be.prototype.js=function(t){this._test instanceof Array||(this._test=[this._test]);var e=this._test.map(function(t){return"case "+t.c()+":"});return e.join("\n")+this.body().c({indent:!0})},e(we,le),exports.Try=we,we.prototype.__body={name:"body"},we.prototype.body=function(t){return this._body},we.prototype.setBody=function(t){return this._body=t,this},we.prototype.consume=function(t){return this._body=this._body.consume(t),this._catch&&(this._catch=this._catch.consume(t)),this._finally&&(this._finally=this._finally.consume(t)),this},we.prototype.visit=function(){return this._body.traverse(),this._catch&&this._catch.traverse(),this._finally?this._finally.traverse():void 0},we.prototype.js=function(t){var e="try "+this.body().c({braces:!0,indent:!0});return this._catch&&(e+=" "+this._catch.c()),this._finally&&(e+=" "+this._finally.c()),this._catch||this._finally||(e+=" catch (e) { }"),e+=";"},e(ke,le),exports.Catch=ke,ke.prototype.__body={name:"body"},ke.prototype.body=function(t){return this._body},ke.prototype.setBody=function(t){return this._body=t,this},ke.prototype.consume=function(t){return this._body=this._body.consume(t),this},ke.prototype.visit=function(){return this._scope.visit(),this._variable=this._scope.register(this._varname,this,{pool:"catchvar"}),this._body.traverse()},ke.prototype.js=function(t){return"catch ("+this._variable.c()+") "+this._body.c({braces:!0,indent:!0})},e(Se,le),exports.Finally=Se,Se.prototype.visit=function(){return this._body.traverse()},Se.prototype.consume=function(t){return this},Se.prototype.js=function(t){return"finally "+this._body.c({braces:!0,indent:!0})},e(je,Ot),exports.Range=je,je.prototype.inclusive=function(){return".."==this.op()},je.prototype.c=function(){return"range"},e(Ee,d),exports.Splat=Ee,Ee.prototype.js=function(t){var e=this.stack().parent();return e instanceof E||e instanceof wt?"[].slice.call("+this.value().c()+")":(this.p("what is the parent? "+e),"SPLAT")},Ee.prototype.node=function(){return this.value()},TAG_TYPES={},TAG_ATTRS={},TAG_TYPES.HTML="a abbr address area article aside audio b base bdi bdo big blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hr html i iframe img input ins kbd keygen label legend li link main map mark menu menuitem meta meter nav noscript object ol optgroup option output p param pre progress q rp rt ruby s samp script section select small source span strong style sub summary sup table tbody td textarea tfoot th thead time title tr track u ul var video wbr".split(" "),
19
+ TAG_TYPES.SVG="circle defs ellipse g line linearGradient mask path pattern polygon polyline radialGradient rect stop svg text tspan".split(" "),TAG_ATTRS.HTML="accept accessKey action allowFullScreen allowTransparency alt async autoComplete autoFocus autoPlay cellPadding cellSpacing charSet checked className cols colSpan content contentEditable contextMenu controls coords crossOrigin data dateTime defer dir disabled download draggable encType form formNoValidate frameBorder height hidden href hrefLang htmlFor httpEquiv icon id label lang list loop max maxLength mediaGroup method min multiple muted name noValidate pattern placeholder poster preload radioGroup readOnly rel required role rows rowSpan sandbox scope scrollLeft scrolling scrollTop seamless selected shape size span spellCheck src srcDoc srcSet start step style tabIndex target title type useMap value width wmode",TAG_ATTRS.SVG="cx cy d dx dy fill fillOpacity fontFamily fontSize fx fy gradientTransform gradientUnits markerEnd markerMid markerStart offset opacity patternContentUnits patternUnits points preserveAspectRatio r rx ry spreadMethod stopColor stopOpacity stroke strokeDasharray strokeLinecap strokeOpacity strokeWidth textAnchor transform version viewBox x1 x2 x y1 y2 y",e(Ae,v),exports.TagDesc=Ae,Ae.prototype.classes=function(){return this.p("TagDescClasses",arguments),this},e(Te,v),exports.Tag=Te,Te.prototype.__parts={name:"parts"},Te.prototype.parts=function(t){return this._parts},Te.prototype.setParts=function(t){return this._parts=t,this},Te.prototype.__object={name:"object"},Te.prototype.object=function(t){return this._object},Te.prototype.setObject=function(t){return this._object=t,this},Te.prototype.__reactive={name:"reactive"},Te.prototype.reactive=function(t){return this._reactive},Te.prototype.setReactive=function(t){return this._reactive=t,this},Te.prototype.__parent={name:"parent"},Te.prototype.parent=function(t){return this._parent},Te.prototype.setParent=function(t){return this._parent=t,this},Te.prototype.__tree={name:"tree"},Te.prototype.tree=function(t){return this._tree},Te.prototype.setTree=function(t){return this._tree=t,this},Te.prototype.set=function(t){for(var e,r=0,o=Object.keys(t),s=o.length;s>r;r++)if(k=o[r],e=t[k],"attributes"!=k)this._options[k]=e;else for(var i=0,p=n(e),a=p.length;a>i;i++)this.addAttribute(p[i]);return this},Te.prototype.addClass=function(t){return t instanceof Ce||(t=new Ce(t)),this._options.classes.push(t),this._parts.push(t),this},Te.prototype.addIndex=function(t){return this._parts.push(t),this._object=t,this},Te.prototype.addSymbol=function(t){return 0==this._parts.length&&(this._parts.push(t),this._options.ns=t),this},Te.prototype.addAttribute=function(t){return this._parts.push(t),this._options.attributes.push(t),this},Te.prototype.enclosing=function(){return this._options.close&&this._options.close.value()},Te.prototype.type=function(){return this._options.type||"div"},Te.prototype.consume=function(t){this._options;return t instanceof Oe?(this.setParent(t.root()),t._loop?(this.setReactive(!!this.option("key")),this.option("ivar")&&this.warn("Tag inside loop can not have a static reference "+this.option("ivar"),{type:"error",token:this.option("ivar").value()})):this.setReactive(t.reactive()||!!this.option("ivar")),this):Te.__super__.consume.apply(this,arguments)},Te.prototype.visit=function(){var t=this._options;(t.ivar||t.key)&&this.setReactive(!0);var e=this.enclosing();("->"==e||"=>"==e)&&(this._tree=new Oe(this,t.body,{root:this,reactive:this.reactive()}),t.body=new it([],T.wrap([this._tree]))),t.key&&t.key.traverse(),t.body&&t.body.traverse(),t.id&&t.id.traverse();for(var r=0,o=n(this._parts),s=o.length;s>r;r++)o[r].traverse();return this},Te.prototype.reference=function(){return this._reference||(this._reference=this.scope__().temporary(this,{pool:"tag"}).resolve())},Te.prototype.js=function(t){for(var e,r,t=this._options,o={},i=(this.enclosing(),[]),p=[],a=this.scope__(),u="end",c=t.body,h=this.type()instanceof Et,l=h?"setChildren":"setContent",f=!0,_=0,y=n(t.attributes),d=y.length;d>_;_++)r=y[_],o[r.key()]=r.value();var m=function(t){return Un.singlequote(t)},g=t.id instanceof v?t.id.c():t.id&&m(t.id.c()),x=this._tree||null,b=this.parent(),w=h?(u="synced",this.setReactive(!0),this._reference=a.context(),a.context().c()):t.id?""+s(t.open)+"ti$('"+this.type().func()+"',"+g+")":""+s(t.open)+"t$('"+this.type().func()+"')";t.ivar&&(this.setReactive(!0),p.push(".setRef("+m(t.ivar.name())+","+a.context().c()+")")),t.body instanceof ot?l="setTemplate":t.body&&(t.body instanceof E&&1==t.body.count()&&t.body.first().isString()?l="setText":(x=new Oe(this,t.body,{root:this,reactive:this.reactive()}),c=x,this.setTree(x))),x&&x.resolve();for(var k,_=0,y=n(this._parts),d=y.length;d>_;_++){k=y[_];var S,j=!1;if(k instanceof Ie){var A=String(k.key()),T=k.value();j=T.isPrimitive(),"."==A[0]?(j=!1,S=".flag("+m(A.substr(1))+","+T.c()+")"):S=":"==A[0]?".setHandler("+m(A.substr(1))+","+T.c()+","+a.context().c()+")":"."+s(k.key())+Un.setterSym(A)+"("+T.c()+")"}else k instanceof Ce&&(S=k.c(),j=!0);S&&(f&&j?p.push(S):i.push(S))}if(this.object()&&i.push(".setObject("+this.object().c()+")"),this.reactive()&&x&&x.hasTags()&&this.reference(),this.reactive()&&b&&b.tree()&&(t.treeRef=b.tree().nextCacheKey(this)),(e=c&&c.c({expression:!0}))&&i.push("."+l+"("+e+")"),i.push("."+u+"()"),p.length&&(w+=p.join("")),(t.ivar||t.key||this.reactive())&&!(this.type()instanceof Et)){var O,$,P=b&&b.tree();t.key?(O=b&&b.reference(),$=dn("+",new dt("'_'"),t.key)):t.ivar?(O=a.context(),$=t.ivar):(O=b&&b.reference(),$=t.treeRef||P&&P.nextCacheKey());var I=dn(".",O,$).c();w=this._reference?"("+this.reference().c()+" = "+I+" || ("+I+" = "+w+"))":"("+I+" = "+I+" || "+w+")"}return this._reference instanceof hn&&this._reference.free(),w+i.join("")},e(Oe,j),exports.TagTree=Oe,Oe.prototype.__counter={name:"counter"},Oe.prototype.counter=function(t){return this._counter},Oe.prototype.setCounter=function(t){return this._counter=t,this},Oe.prototype.__conditions={name:"conditions"},Oe.prototype.conditions=function(t){return this._conditions},Oe.prototype.setConditions=function(t){return this._conditions=t,this},Oe.prototype.__blocks={name:"blocks"},Oe.prototype.blocks=function(t){return this._blocks},Oe.prototype.setBlocks=function(t){return this._blocks=t,this},Oe.prototype.__cacher={name:"cacher"},Oe.prototype.cacher=function(t){return this._cacher},Oe.prototype.setCacher=function(t){return this._cacher=t,this},Oe.prototype.parent=function(){return this._parent||(this._parent=this._owner.parent())},Oe.prototype.nextCacheKey=function(){for(var t=(this._owner,++this._counter),e="A".charCodeAt(0),n="";;)if(t-=1,n=String.fromCharCode(e+t%26)+n,t=Math.floor(t/26),0>=t)break;return n=(this._owner.type()instanceof Et?"$":"$$")+n.toLowerCase()},Oe.prototype.load=function(t){return t instanceof j?(t.count()>1&&(this._indentation||(this._indentation=t._indentation)),t.nodes()):h(t instanceof Array?t:[t])},Oe.prototype.root=function(){return this.option("root")},Oe.prototype.reactive=function(){return this.option("reactive")},Oe.prototype.resolve=function(){var t=this;return this.remap(function(e){return e.consume(t)}),t},Oe.prototype["static"]=function(){return null==this._static?this._static=this.every(function(t){return t instanceof Te}):this._static},Oe.prototype.hasTags=function(){return this.some(function(t){return t instanceof Te})},Oe.prototype.c=function(t){var e=this.realCount(),n=1==e,r=Oe.__super__.c.call(this,t);return n||(r=this.reactive()||this._owner.reactive()?"Imba.static(["+r+"],1)":"["+r+"]"),r},e($e,d),exports.TagWrapper=$e,$e.prototype.visit=function(){return this.value()instanceof Array?this.value().map(function(t){return t.traverse()}):this.value().traverse(),this},$e.prototype.c=function(){return"tag$wrap("+this.value().c({expression:!0})+")"},e(Pe,j),exports.TagAttributes=Pe,Pe.prototype.get=function(t){for(var e,r=0,o=n(this.nodes()),s=o.length,i=[];s>r;r++)if(e=o[r],e.key()==t)return e;return i},e(Ie,v),exports.TagAttr=Ie,Ie.prototype.__key={name:"key"},Ie.prototype.key=function(t){return this._key},Ie.prototype.setKey=function(t){return this._key=t,this},Ie.prototype.__value={name:"value"},Ie.prototype.value=function(t){return this._value},Ie.prototype.setValue=function(t){return this._value=t,this},Ie.prototype.visit=function(){return this.value()&&this.value().traverse(),this},Ie.prototype.populate=function(t){return t.add(this.key(),this.value()),this},Ie.prototype.c=function(){return"attribute"},e(Ce,v),exports.TagFlag=Ce,Ce.prototype.__value={name:"value"},Ce.prototype.value=function(t){return this._value},Ce.prototype.setValue=function(t){return this._value=t,this},Ce.prototype.__toggler={name:"toggler"},Ce.prototype.toggler=function(t){return this._toggler},Ce.prototype.setToggler=function(t){return this._toggler=t,this},Ce.prototype.visit=function(){return"string"==typeof this._value||this._value instanceof String||this._value.traverse(),this},Ce.prototype.c=function(){return this.value()instanceof v?".flag("+this.value().c()+")":".flag("+Un.singlequote(this.value())+")"},e(Re,j),exports.Selector=Re,Re.prototype.add=function(t,e){return this.push(t),this},Re.prototype.group=function(){return this._nodes.push(new ze(",")),this},Re.prototype.query=function(){for(var t="",e=0,r=n(this.nodes()),o=r.length;o>e;e++){var s=r[e].c();("string"==typeof s||s instanceof String)&&(t=""+t+s)}return"'"+t+"'"},Re.prototype.js=function(t){var e=this.option("type"),n=o(this.query());return"%"==e?"q$("+n+","+t.scope().context().c({explicit:!0})+")":"%%"==e?"q$$("+n+","+t.scope().context().c({explicit:!0})+")":"q"+e+"("+n+")"},e(Ve,d),exports.SelectorPart=Ve,Ve.prototype.c=function(){return o(this._value)},e(ze,Ve),exports.SelectorGroup=ze,ze.prototype.c=function(){return","},e(Ne,Ve),exports.SelectorType=Ne,Ne.prototype.c=function(){var e=this.value().name();return t(e,TAG_TYPES.HTML)>=0?e:this.value().sel()},e(Le,Ve),exports.SelectorUniversal=Le,e(Fe,Ve),exports.SelectorNamespace=Fe,e(De,Ve),exports.SelectorClass=De,De.prototype.c=function(){return this._value instanceof v?".'+"+this._value.c()+"+'":"."+o(this._value)},e(Me,Ve),exports.SelectorId=Me,Me.prototype.c=function(){return this._value instanceof v?"#'+"+this._value.c()+"+'":"#"+o(this._value)},e(Be,Ve),exports.SelectorCombinator=Be,Be.prototype.c=function(){return""+o(this._value)},e(Ge,Ve),exports.SelectorPseudoClass=Ge,e(Ue,Ve),exports.SelectorAttribute=Ue,Ue.prototype.c=function(){return this._right instanceof dt?"["+this._left.c()+this._op+this._right.c()+"]":this._right?"["+this._left.c()+this._op+"\"'+"+o(this._right)+"+'\"]":"["+this._left.c()+"]"},e(qe,d),exports.Await=qe,qe.prototype.__func={name:"func"},qe.prototype.func=function(t){return this._func},qe.prototype.setFunc=function(t){return this._func=t,this},qe.prototype.js=function(t){return Jn(dn(".",new Ye.Promisify([this.value()]),"then"),[this.func()]).c()},qe.prototype.visit=function(t){var e=this;e.value().traverse();var n=t.up(T),r=t.relative(n,1),o=t.relative(e,-1);if(e.setFunc(new Ke([],[])),e.func().body().setNodes(n.defers(r,e)),o instanceof Wt){o.left().traverse();var s=o.left().node();s instanceof Ht?e.func().params().at(0,!0,s.variable().name()):s instanceof gt?"var"!=o.type()||s.hasSplat()?(o.setRight(Rn),e.func().body().unshift(o)):s.map(function(t,n){return e.func().params().at(n,!0,t.value())}):(o.setRight(e.func().params().at(0,!0)),e.func().body().unshift(o))}return e.func().traverse(),e},e(Ke,ot),exports.AsyncFunc=Ke,Ke.prototype.scopetype=function(){return rn},e(He,m),exports.ImportStatement=He,He.prototype.__ns={name:"ns"},He.prototype.ns=function(t){return this._ns},He.prototype.setNs=function(t){return this._ns=t,this},He.prototype.__imports={name:"imports"},He.prototype.imports=function(t){return this._imports},He.prototype.setImports=function(t){return this._imports=t,this},He.prototype.__source={name:"source"},He.prototype.source=function(t){return this._source},He.prototype.setSource=function(t){return this._source=t,this},He.prototype.visit=function(){if(this._ns)this._nsvar||(this._nsvar=this.scope__().register(this._ns,this));else{var t=this.source().c(),e=t.match(/(\w+)(\.js|imba)?[\"\']$/);this._alias=e?e[1]+"$":"mod$"}if(this._imports){var r=this._declarations=new Z([]);if(1==this._imports.length)return this._alias=this._imports[0],r.add(this._alias,dn(".",Jn(new te("require"),[this.source()]),this._alias)),r.traverse(),this;if(this._moduledecl=r.add(this._alias,Jn(new te("require"),[this.source()])),this._moduledecl.traverse(),this._imports.length>1)for(var o,s=0,i=n(this._imports),p=i.length;p>s;s++)o=i[s],this._declarations.add(o,dn(".",this._moduledecl.variable(),o));r.traverse()}return this},He.prototype.js=function(t){var e;if(this._declarations)return this._declarations.c();var r=Jn(new te("require"),[this.source()]);if(this._ns)return"var "+this._nsvar.c()+" = "+r.c();if(this._imports){var o=this.source().c(),s=[];new O([]);(e=o.match(/(\w+)(\.js|imba)?[\"\']$/))&&s.push(e[1]);for(var i,p=[r.cache({names:s}).c()],a=0,u=n(this._imports),c=u.length;c>a;a++){i=u[a];var t=dn("=",i,dn(".",r,i));p.push("var "+t.c())}return p}return r.c()},He.prototype.consume=function(t){return this},e(We,d),exports.ExportStatement=We,We.prototype.js=function(t){var e=this._value.map(function(t){return"module.exports."+t.c()+" = "+t.c()+";\n"});return e.join("")},e(Ye,v),exports.Util=Ye,Ye.prototype.__args={name:"args"},Ye.prototype.args=function(t){return this._args},Ye.prototype.setArgs=function(t){return this._args=t,this},Ye.extend=function(t,e){return new Ye.Extend([t,e])},Ye.callImba=function(t,e){return Jn(dn(".",new re("Imba"),new te(t)),e)},Ye.repeat=function(t,e){for(var n="";e>0;)e%2==1&&(n+=t),t+=t,e>>=1;return n},Ye.keys=function(t){var e=new re("Object"),n=new te("keys");return Jn(dn(".",e,n),[t])},Ye.len=function(t,e){var n=new te("length"),r=dn(".",t,n);return e&&r.cache({force:!0,pool:"len"}),r},Ye.indexOf=function(t,e){var n=new Ye.IndexOf([t,e]);return n},Ye.slice=function(t,e,n){var r=new te("slice");return console.log("slice "+e+" "+n),Jn(dn(".",t,r),h([e,n]))},Ye.iterable=function(t,e){var n=new Ye.Iterable([t]);return e&&n.cache({force:!0,pool:"iter"}),n},Ye.union=function(t,e){return new Ye.Union([t,e])},Ye.intersect=function(t,e){return new Ye.Intersect([t,e])},Ye.counter=function(t,e){var n=new vt(t);return e&&n.cache({force:!0,pool:"counter"}),n},Ye.array=function(t,e){var n=new Ye.Array([t]);return e&&n.cache({force:!0,pool:"list"}),n},Ye.defineTag=function(t,e,n){return Jn(Bn,[t,e,n])},Ye.defineClass=function(t,e,n){return Jn(Mn,[t||n,this.sup()])},Ye.prototype.js=function(t){return"helper"},Ye.Union=function(){Ye.apply(this,arguments)},e(Ye.Union,Ye),Ye.Union.prototype.helper=function(){return"function union$(a,b){\n if(a && a.__union) return a.__union(b);\n\n var u = a.slice(0);\n for(var i=0,l=b.length;i<l;i++) if(u.indexOf(b[i]) == -1) u.push(b[i]);\n return u;\n};\n"},Ye.Union.prototype.js=function(t){return this.scope__().root().helper(this,this.helper()),"union$("+this.args().map(function(t){return t.c()}).join(",")+")"},Ye.Intersect=function(){Ye.apply(this,arguments)},e(Ye.Intersect,Ye),Ye.Intersect.prototype.helper=function(){return"function intersect$(a,b){\n if(a && a.__intersect) return a.__intersect(b);\n var res = [];\n for(var i=0, l=a.length; i<l; i++) {\n var v = a[i];\n if(b.indexOf(v) != -1) res.push(v);\n }\n return res;\n};\n"},Ye.Intersect.prototype.js=function(t){return this.scope__().root().helper(this,this.helper()),"intersect$("+this.args().map(function(t){return t.c()}).join(",")+")"},Ye.Extend=function(){Ye.apply(this,arguments)},e(Ye.Extend,Ye),Ye.Extend.prototype.js=function(t){return"extend$("+h(u(this.args())).join(",")+")"},Ye.IndexOf=function(){Ye.apply(this,arguments)},e(Ye.IndexOf,Ye),Ye.IndexOf.prototype.helper=function(){return"function idx$(a,b){\n return (b && b.indexOf) ? b.indexOf(a) : [].indexOf.call(a,b);\n};\n"},Ye.IndexOf.prototype.js=function(t){return this.scope__().root().helper(this,this.helper()),"idx$("+this.args().map(function(t){return t.c()}).join(",")+")"},Ye.Subclass=function(){Ye.apply(this,arguments)},e(Ye.Subclass,Ye),Ye.Subclass.prototype.helper=function(){return"// helper for subclassing\nfunction subclass$(obj,sup) {\n for (var k in sup) {\n if (sup.hasOwnProperty(k)) obj[k] = sup[k];\n };\n // obj.__super__ = sup;\n obj.prototype = Object.create(sup.prototype);\n obj.__super__ = obj.prototype.__super__ = sup.prototype;\n obj.prototype.initialize = obj.prototype.constructor = obj;\n};\n"},Ye.Subclass.prototype.js=function(t){return this.scope__().root().helper(this,this.helper()),"subclass$("+this.args().map(function(t){return t.c()}).join(",")+");\n"},Ye.Promisify=function(){Ye.apply(this,arguments)},e(Ye.Promisify,Ye),Ye.Promisify.prototype.helper=function(){return"function promise$(a){ return a instanceof Array ? Promise.all(a) : (a && a.then ? a : Promise.resolve(a)); }"},Ye.Promisify.prototype.js=function(t){return this.scope__().root().helper(this,this.helper()),"promise$("+this.args().map(function(t){return t.c()}).join(",")+")"},Ye.Class=function(){Ye.apply(this,arguments)},e(Ye.Class,Ye),Ye.Class.prototype.js=function(t){return"class$("+this.args().map(function(t){return t.c()}).join(",")+")"},Ye.Iterable=function(){Ye.apply(this,arguments)},e(Ye.Iterable,Ye),Ye.Iterable.prototype.helper=function(){return"function iter$(a){ return a ? (a.toArray ? a.toArray() : a) : []; };"},Ye.Iterable.prototype.js=function(t){return this.args()[0]instanceof wt?this.args()[0].c():(this.scope__().root().helper(this,this.helper()),"iter$("+this.args()[0].c()+")")},Ye.IsFunction=function(){Ye.apply(this,arguments)},e(Ye.IsFunction,Ye),Ye.IsFunction.prototype.js=function(t){return""+this.args()[0].c()},Ye.Array=function(){Ye.apply(this,arguments)},e(Ye.Array,Ye),Ye.Array.prototype.js=function(t){return"new Array("+this.args().map(function(t){return t.c()})+")"},exports.Scope=Ze,Ze.prototype.__level={name:"level"},Ze.prototype.level=function(t){return this._level},Ze.prototype.setLevel=function(t){return this._level=t,this},Ze.prototype.__context={name:"context"},Ze.prototype.context=function(t){return this._context},Ze.prototype.setContext=function(t){return this._context=t,this},Ze.prototype.__node={name:"node"},Ze.prototype.node=function(t){return this._node},Ze.prototype.setNode=function(t){return this._node=t,this},Ze.prototype.__parent={name:"parent"},Ze.prototype.parent=function(t){return this._parent},Ze.prototype.setParent=function(t){return this._parent=t,this},Ze.prototype.__varmap={name:"varmap"},Ze.prototype.varmap=function(t){return this._varmap},Ze.prototype.setVarmap=function(t){return this._varmap=t,this},Ze.prototype.__varpool={name:"varpool"},Ze.prototype.varpool=function(t){return this._varpool},Ze.prototype.setVarpool=function(t){return this._varpool=t,this},Ze.prototype.__params={name:"params"},Ze.prototype.params=function(t){return this._params},Ze.prototype.setParams=function(t){return this._params=t,this},Ze.prototype.__head={name:"head"},Ze.prototype.head=function(t){return this._head},Ze.prototype.setHead=function(t){return this._head=t,this},Ze.prototype.__vars={name:"vars"},Ze.prototype.vars=function(t){return this._vars},Ze.prototype.setVars=function(t){return this._vars=t,this},Ze.prototype.__counter={name:"counter"},Ze.prototype.counter=function(t){return this._counter},Ze.prototype.setCounter=function(t){return this._counter=t,this},Ze.prototype.p=function(){return bn.loglevel()>0&&console.log.apply(console,arguments),this},Ze.prototype.context=function(){return this._context||(this._context=new fn(this))},Ze.prototype.traverse=function(){return this},Ze.prototype.visit=function(){return this._parent?this:(this._parent=bn.scope(1),this._level=bn.scopes().length-1,bn.addScope(this),this.root().scopes().push(this),this)},Ze.prototype.wrap=function(t){return this._parent=t._parent,t._parent=this,this},Ze.prototype.virtualize=function(){return this},Ze.prototype.root=function(){for(var t=this;t;){if(t instanceof Je)return t;t=t.parent()}return null},Ze.prototype.register=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n={}),t=Un.symbolize(t);var r=this._varmap.hasOwnProperty(t)&&this._varmap[t];if(r)return r;var o=new hn(this,t,e,n);return n.system||(this._varmap[t]=o),o},Ze.prototype.declare=function(t,e,n){var r;void 0===e&&(e=null),void 0===n&&(n={});var o=this.register(t,null,n),s=this._vars.add(o,e);return(r=o.declarator())||(o.setDeclarator(s),s),o},Ze.prototype.temporary=function(t,e,r){if(void 0===e&&(e={}),void 0===r&&(r=null),e.pool)for(var o,s=0,i=n(this._varpool),p=i.length;p>s;s++)if(o=i[s],o.pool()==e.pool&&null==o.declarator())return o.reuse(t);var a=new ln(this,r,t,e);return this._varpool.push(a),this._vars.push(a),a},Ze.prototype.lookup=function(t){var e=null;return t=Un.symbolize(t),e=this._varmap.hasOwnProperty(t)?this._varmap[t]:this.parent()&&this.parent().lookup(t)},Ze.prototype.autodeclare=function(t){return this.vars().push(t)},Ze.prototype.free=function(t){return t.free(),this},Ze.prototype.isClosed=function(){return!1},Ze.prototype.closure=function(){return this._closure},Ze.prototype.finalize=function(){return this},Ze.prototype.klass=function(){for(var t=this;t;)if(t=t.parent(),t instanceof Xe)return t;return null},Ze.prototype.head=function(){return[this._vars,this._params]},Ze.prototype.c=function(t){var e;return void 0===t&&(t={}),t.expression=!1,this.node().body().setHead(this.head()),e=this.node().body().c(t)},Ze.prototype.region=function(){return this.node().body().region()},Ze.prototype.dump=function(){var t=this,e=Object.keys(this._varmap).map(function(e){var n=t._varmap[e];return n.references().length?c(n):null});return{type:t.constructor.name,level:t.level()||0,vars:h(e),loc:t.region()}},Ze.prototype.toString=function(){return""+this.constructor.name},e(Je,Ze),exports.FileScope=Je,Je.prototype.__warnings={name:"warnings"},Je.prototype.warnings=function(t){return this._warnings},Je.prototype.setWarnings=function(t){return this._warnings=t,this},Je.prototype.__scopes={name:"scopes"},Je.prototype.scopes=function(t){return this._scopes},Je.prototype.setScopes=function(t){return this._scopes=t,this},Je.prototype.context=function(){return this._context||(this._context=new _n(this))},Je.prototype.lookup=function(t){return t=Un.symbolize(t),this._varmap.hasOwnProperty(t)?this._varmap[t]:void 0},Je.prototype.visit=function(){return bn.addScope(this),this},Je.prototype.helper=function(t,e){return-1==this._helpers.indexOf(e)&&(this._helpers.push(e),this._head.unshift(e)),this},Je.prototype.head=function(){return this._head},Je.prototype.warn=function(t){return t.node=null,this._warnings.push(t),this},Je.prototype.dump=function(){var t=this._scopes.map(function(t){return t.dump()});t.unshift(Je.__super__.dump.call(this));var e={warnings:c(this._warnings),scopes:t};return e},e(Xe,Ze),exports.ClassScope=Xe,Xe.prototype.virtualize=function(){for(var t=this.parent(),e=this._varmap,n=0,r=Object.keys(e),o=r.length;o>n;n++)e[r[n]].resolve(t,!0);return this},Xe.prototype.isClosed=function(){return!0},e(Qe,Xe),exports.TagScope=Qe,e(tn,Ze),exports.ClosureScope=tn,e(en,Ze),exports.FunctionScope=en,e(nn,Ze),exports.MethodScope=nn,nn.prototype.isClosed=function(){return!0},e(rn,Ze),exports.LambdaScope=rn,rn.prototype.context=function(){return this._context||(this._context=this.parent().context().reference(this))},e(on,Ze),exports.FlowScope=on,on.prototype.params=function(){return this._parent?this._parent.params():void 0},on.prototype.register=function(t,e,n){var r;return void 0===e&&(e=null),void 0===n&&(n={}),"let"!=n.type&&this.closure()!=this?((r=this.lookup(t))&&"let"==r.type()&&(this.p(""+t+" already exists as a block-variable "+e),e&&e.warn("Variable already exists in block")),this.closure().register(t,e,n)):on.__super__.register.call(this,t,e,n)},on.prototype.autodeclare=function(t){return this.parent().autodeclare(t)},on.prototype.closure=function(){return this._parent.closure()},on.prototype.context=function(){return this.parent().context()},e(sn,on),exports.CatchScope=sn,e(pn,on),exports.WhileScope=pn,pn.prototype.autodeclare=function(t){return this.vars().push(t)},e(an,on),exports.ForScope=an,an.prototype.autodeclare=function(t){return this.vars().push(t)},e(un,on),exports.IfScope=un,un.prototype.temporary=function(t,e,n){return void 0===e&&(e={}),void 0===n&&(n=null),this.parent().temporary(t,e,n)},e(cn,on),exports.BlockScope=cn,cn.prototype.temporary=function(t,e,n){return void 0===e&&(e={}),void 0===n&&(n=null),this.parent().temporary(t,e,n)},cn.prototype.region=function(){return this.node().region()},e(hn,v),exports.Variable=hn,hn.prototype.__scope={name:"scope"},hn.prototype.scope=function(t){return this._scope},hn.prototype.setScope=function(t){return this._scope=t,this},hn.prototype.__name={name:"name"},hn.prototype.name=function(t){return this._name},hn.prototype.setName=function(t){return this._name=t,this},hn.prototype.__alias={name:"alias"},hn.prototype.alias=function(t){return this._alias},hn.prototype.setAlias=function(t){return this._alias=t,this},hn.prototype.__type={name:"type"},hn.prototype.type=function(t){return this._type},hn.prototype.setType=function(t){return this._type=t,this},hn.prototype.__options={name:"options"},hn.prototype.options=function(t){return this._options},hn.prototype.setOptions=function(t){return this._options=t,this},hn.prototype.__initialized={name:"initialized"},hn.prototype.initialized=function(t){return this._initialized},hn.prototype.setInitialized=function(t){return this._initialized=t,this},hn.prototype.__declared={name:"declared"},hn.prototype.declared=function(t){return this._declared},hn.prototype.setDeclared=function(t){return this._declared=t,this},hn.prototype.__declarator={name:"declarator"},hn.prototype.declarator=function(t){return this._declarator},hn.prototype.setDeclarator=function(t){return this._declarator=t,this},hn.prototype.__autodeclare={name:"autodeclare"},hn.prototype.autodeclare=function(t){return this._autodeclare},hn.prototype.setAutodeclare=function(t){return this._autodeclare=t,this},hn.prototype.__references={name:"references"},hn.prototype.references=function(t){return this._references},hn.prototype.setReferences=function(t){return this._references=t,this},hn.prototype.__export={name:"export"},hn.prototype["export"]=function(t){return this._export},hn.prototype.setExport=function(t){return this._export=t,this},hn.prototype.pool=function(){return null},hn.prototype.closure=function(){return this._scope.closure()},hn.prototype.assignments=function(){return this._assignments},hn.prototype.assigned=function(t,e){return this._assignments.push(t),t instanceof wt?this._isArray=!0:this._isArray=!1,this},hn.prototype.resolve=function(t,e){if(void 0===t&&(t=this.scope()),void 0===e&&(e=!1),this._resolved&&!e)return this;this._resolved=!0;var n=this._scope.closure(),r=t.lookup(this._name);if(this._scope!=n&&"let"==this._type&&(r=n.lookup(this._name),t=n),r==this)return t.varmap()[this._name]=this,this;if(r)if(r.scope()==t||!this.options().let&&"let"!=this._type||(t.varmap()[this._name]=this),this._options.proxy);else for(var o=0,s=this._name;t.lookup(this._name);)this._name=""+s+(o+=1);return t.varmap()[this._name]=this,n.varmap()[this._name]=this,this},hn.prototype.reference=function(){return this},hn.prototype.node=function(){return this},hn.prototype.traverse=function(){return this},hn.prototype.free=function(t){return this._declarator=null,this},hn.prototype.reuse=function(t){return this._declarator=t,this},hn.prototype.proxy=function(t,e){return this._proxy=[t,e],this},hn.prototype.refcount=function(){return this._references.length},hn.prototype.c=function(){if(this._c)return this._c;if(this._proxy)this._c=this._proxy[0].c()+"["+this._proxy[1].c()+"]";else{this._resolved||this.resolve();var t=this.alias()||this.name();this._c="string"==typeof t?t:t.c(),Ln.test(this._c)&&(this._c=""+this.c()+"$")}return this._c},hn.prototype.consume=function(t){return this},hn.prototype.accessor=function(t){var e=new Lt(".",null,this);return e},hn.prototype.assignment=function(t){return new Wt("=",this,t)},hn.prototype.addReference=function(t){return t instanceof te&&t.references(this),t.region&&t.region()&&this._references.push(t),this},hn.prototype.autodeclare=function(){return this._declared?this:(this._autodeclare=!0,this.scope().autodeclare(this),this._declared=!0,this)},hn.prototype.predeclared=function(){return this._declared=!0,this},hn.prototype.toString=function(){return String(this.name())},hn.prototype.dump=function(t){var e=this.name();return e[0].match(/[A-Z]/)?null:{type:this.type(),name:e,refs:c(this._references,t)}},e(ln,hn),exports.SystemVariable=ln,ln.prototype.pool=function(){return this._options.pool},ln.prototype.predeclared=function(){return this.scope().vars().remove(this),this},ln.prototype.resolve=function(){var t,e;if(this._resolved||this._name)return this;this._resolved=!0;var n=this._options.pool,r=[].concat(this._options.names),o=null,s=null,i=this.scope();if("tag"==n)for(var p=0;!this._name;)o="t"+p++,i.lookup(o)||(this._name=o);else"iter"==n?r=["ary__","ary_","coll","array","items","ary"]:"val"==n?r=["v_"]:"arguments"==n?r=["$_","$0"]:"keypars"==n?r=["opts","options","pars"]:"counter"==n?r=["i__","i_","k","j","i"]:"len"==n?r=["len__","len_","len"]:"list"==n&&(r=["tmplist_","tmplist","tmp"]);for(;!this._name&&(o=r.pop());)i.lookup(o)||(this._name=o);for(!this._name&&this._declarator&&(s=this.declarator().node())&&(t=s.alias())&&r.push(t+"_");!this._name&&(o=r.pop());)i.lookup(o)||(this._name=o);return this._name||(this._name="$"+(i.setCounter(e=i.counter()+1),e)),i.varmap()[this._name]=this,this},ln.prototype.name=function(){return this.resolve(),this._name},e(fn,v),exports.ScopeContext=fn,fn.prototype.__scope={name:"scope"},fn.prototype.scope=function(t){return this._scope},fn.prototype.setScope=function(t){return this._scope=t,this},fn.prototype.__value={name:"value"},fn.prototype.value=function(t){return this._value},fn.prototype.setValue=function(t){return this._value=t,this},fn.prototype.reference=function(){return this._reference||(this._reference=this.scope().declare("self",new Tt))},fn.prototype.c=function(){var t=this._value||this._reference;return t?t.c():"this"},e(_n,fn),exports.RootScopeContext=_n,_n.prototype.c=function(t){var e=this._value||this._reference;return e&&e!=this?e.c():"this"},e(yn,v),exports.Super=yn,yn.prototype.c=function(){var t=bn.method(),e=null,n=bn.current();return e=""+t.target().c()+".__super__",n instanceof Nt||(e+="."+o(t.supername()),n instanceof ie||(e+=".apply("+t.scope().context().c()+",arguments)")),e},module.exports.BR=En=new w("\n"),module.exports.BR2=An=new w("\n\n"),module.exports.SELF=Tn=new Et,module.exports.SUPER=On=new yn,module.exports.TRUE=$n=new _t("true"),module.exports.FALSE=Pn=new yt("false"),module.exports.UNDEFINED=In=new lt,module.exports.NIL=Cn=new ft,module.exports.ARGUMENTS=Rn=new jt("arguments"),module.exports.EMPTY=Vn="",module.exports.NULL=zn="null",module.exports.RESERVED=Nn=["default","native","enum","with"],module.exports.RESERVED_REGEX=Ln=/^(default|native|enum|with|new|char)$/,module.exports.UNION=Fn=new re("union$"),module.exports.INTERSECT=Dn=new re("intersect$"),module.exports.CLASSDEF=Mn=new re("imba$class"),module.exports.TAGDEF=Bn=new re("Imba.Tag.define"),module.exports.NEWTAG=Gn=new te("tag$")}();
20
+ },{"./helpers":4,"./sourcemap":10,"./token":11}],8:[function(require,module,exports){
21
+ (function (process){
22
+ var parser=function(){function e(){this.yy={}}var a=function(e,a,r,s){for(r=r||{},s=e.length;s--;r[e[s]]=a);return r},r=[1,4],s=[1,6],c=[1,32],n=[1,33],t=[1,34],o=[1,35],b=[1,75],k=[1,115],l=[1,127],$=[1,120],i=[1,121],T=[1,122],w=[1,119],d=[1,123],E=[1,130],A=[1,114],S=[1,80],O=[1,81],u=[1,82],R=[1,83],p=[1,84],L=[1,85],I=[1,86],y=[1,73],N=[1,117],C=[1,95],g=[1,91],h=[1,88],D=[1,71],_=[1,65],P=[1,66],f=[1,111],m=[1,90],F=[1,87],B=[1,28],M=[1,29],U=[1,96],G=[1,94],v=[1,112],x=[1,113],V=[1,125],W=[1,67],H=[1,68],Y=[1,118],j=[1,11],X=[1,126],K=[1,78],q=[1,37],J=[1,43],Q=[1,110],z=[1,69],Z=[1,89],ee=[1,124],ae=[1,59],re=[1,74],se=[1,105],ce=[1,106],ne=[1,107],te=[1,128],oe=[1,129],be=[1,63],ke=[1,104],le=[1,51],$e=[1,52],ie=[1,53],Te=[1,54],we=[1,55],de=[1,56],Ee=[1,132],Ae=[1,6,11,130],Se=[1,134],Oe=[1,6,11,14,130],ue=[1,142],Re=[1,143],pe=[1,145],Le=[1,146],Ie=[1,139],ye=[1,138],Ne=[1,140],Ce=[1,141],ge=[1,144],he=[1,149],De=[1,6,10,11,14,22,83,90,99,104,118,128,130,140,163,192,193,204,205,206,211,212,221,230,231,234,235,238,239,240],_e=[2,254],Pe=[1,156],fe=[1,162],me=[1,160],Fe=[1,158],Be=[1,159],Me=[1,163],Ue=[1,161],Ge=[1,6,10,11,14,22,83,90,130],ve=[1,6,11,14,130,204,206,211,212,230],xe=[1,6,10,11,14,21,22,81,82,83,90,99,103,104,118,128,130,137,140,163,172,173,175,188,192,193,204,205,206,211,212,221,230,231,234,235,238,239,240],Ve=[2,222],We=[1,176],He=[1,174],Ye=[1,6,10,11,14,21,22,81,82,83,90,99,103,104,109,118,128,130,137,140,163,172,173,175,188,192,193,204,205,206,211,212,221,230,231,234,235,238,239,240],je=[2,218],Xe=[6,14,53,54,81,84,99,103,105,108],Ke=[1,209],qe=[1,214],Je=[1,6,10,11,14,21,22,81,82,83,90,99,103,104,109,118,128,130,137,140,163,172,173,175,188,192,193,204,205,206,211,212,221,230,231,234,235,236,237,238,239,240,241],Qe=[1,224],ze=[1,221],Ze=[1,226],ea=[6,10,14,83],aa=[2,235],ra=[1,254],sa=[1,244],ca=[1,273],na=[1,274],ta=[51,82],oa=[78,79,80,81,84,85,86,87,88,89,93,95],ba=[1,282],ka=[1,6,10,11,14,21,22,53,54,81,82,83,84,90,99,103,104,105,108,109,118,128,130,137,140,163,172,173,175,188,192,193,204,205,206,211,212,221,230,231,234,235,236,237,238,239,240,241],la=[1,288],$a=[51,82,89,217],ia=[1,6,10,11,14,21,22,81,82,83,90,99,103,104,118,128,130,137,140,163,172,173,175,188,192,193,199,200,204,205,206,211,212,221,224,226,229,230,231,234,235,238,239,240],Ta=[51,53,54,58],wa=[1,319],da=[1,320],Ea=[1,6,10,11,14,22,83,90,99,104,128,130,140,192,193,204,205,206,211,212,221,230],Aa=[1,333],Sa=[1,337],Oa=[1,6,11,14,22,83,90,99,104,118,128,130,140,163,192,193,204,205,206,211,212,221,230,231,234,235,238,239,240],ua=[6,14,99],Ra=[1,347],pa=[1,6,10,11,14,21,22,82,83,90,99,104,118,128,130,140,163,192,193,204,205,206,211,212,221,230,231,234,235,238,239,240],La=[14,28],Ia=[1,6,11,14,28,130,204,206,211,212,230],ya=[2,275],Na=[1,6,10,11,14,21,22,81,82,83,90,99,103,104,109,118,128,130,137,140,163,172,173,175,188,192,193,204,205,206,211,212,219,220,221,230,231,234,235,236,237,238,239,240,241],Ca=[2,175],ga=[1,362],ha=[6,10,11,14,22,90],Da=[14,140],_a=[2,177],Pa=[1,372],fa=[1,373],ma=[1,374],Fa=[1,378],Ba=[6,10,11,14,83],Ma=[6,10,11,14,83,128],Ua=[1,6,10,11,14,22,83,90,99,104,128,130,140,192,193,212,221,230],Ga=[1,6,10,11,14,22,83,90,99,104,128,130,140,192,193,205,212,221,230],va=[219,220],xa=[14,219,220],Va=[1,6,11,14,22,83,90,99,104,128,130,140,163,192,193,204,205,206,211,212,221,230,231,234,235,238,239,240],Wa=[81,84],Ha=[21,81,84,155],Ya=[1,6,10,11,14,22,83,90,99,104,118,128,130,140,163,192,193,204,205,206,211,212,221,230,231,234,235,239,240],ja=[1,6,10,11,14,22,83,90,99,104,128,130,140,192,193,205,221],Xa=[19,20,23,24,26,32,51,53,54,56,58,60,62,64,66,67,68,69,70,71,72,73,76,82,84,89,96,104,114,115,116,123,129,136,137,144,145,147,149,150,151,167,176,177,180,185,186,189,190,196,202,204,206,208,211,212,222,228,232,233,234,235,236,237],Ka=[1,6,10,11,14,22,83,90,99,104,118,128,130,140,163,192,193,204,205,206,211,212,221,224,229,230,231,234,235,238,239,240],qa=[11,224,226],Ja=[1,442],Qa=[2,176],za=[6,10,11],Za=[1,450],er=[14,22,140],ar=[1,458],rr=[1,6,10,11,14,22,83,90,99,104,128,130,140,192,193,204,206,211,212,221,230],sr=[51,58,82],cr=[14,22],nr=[1,481],tr=[10,14],or=[1,531],br=[6,10],kr={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Block:5,TERMINATOR:6,BODYSTART:7,Line:8,Terminator:9,INDENT:10,OUTDENT:11,Splat:12,Expression:13,",":14,Comment:15,Statement:16,Return:17,Throw:18,STATEMENT:19,BREAK:20,CALL_START:21,CALL_END:22,CONTINUE:23,DEBUGGER:24,ImportStatement:25,IMPORT:26,ImportArgList:27,FROM:28,ImportFrom:29,AS:30,ImportArg:31,STRING:32,VarIdentifier:33,Await:34,Value:35,Code:36,Operation:37,Assign:38,If:39,Ternary:40,Try:41,While:42,For:43,Switch:44,Class:45,Module:46,TagDeclaration:47,Tag:48,Property:49,Identifier:50,IDENTIFIER:51,Ivar:52,IVAR:53,CVAR:54,Gvar:55,GVAR:56,Const:57,CONST:58,Argvar:59,ARGVAR:60,Symbol:61,SYMBOL:62,AlphaNumeric:63,NUMBER:64,Literal:65,JS:66,REGEX:67,BOOL:68,TRUE:69,FALSE:70,NULL:71,UNDEFINED:72,RETURN:73,Arguments:74,TagSelector:75,SELECTOR_START:76,TagSelectorType:77,SELECTOR_NS:78,SELECTOR_ID:79,SELECTOR_CLASS:80,".":81,"{":82,"}":83,"#":84,SELECTOR_COMBINATOR:85,SELECTOR_PSEUDO_CLASS:86,SELECTOR_GROUP:87,UNIVERSAL_SELECTOR:88,"[":89,"]":90,SELECTOR_ATTR_OP:91,TagSelectorAttrValue:92,SELECTOR_TAG:93,Selector:94,SELECTOR_END:95,TAG_START:96,TagOptions:97,TagAttributes:98,TAG_END:99,TagBody:100,TagTypeName:101,Self:102,INDEX_START:103,INDEX_END:104,"@":105,TagAttr:106,OptComma:107,TAG_ATTR:108,"=":109,TagAttrValue:110,ArgList:111,TagTypeDef:112,TagDeclarationBlock:113,EXTEND:114,LOCAL:115,TAG:116,TagType:117,COMPARE:118,TagDeclKeywords:119,TAG_TYPE:120,TAG_ID:121,TagId:122,IDREF:123,Assignable:124,Outdent:125,AssignObj:126,ObjAssignable:127,":":128,"(":129,")":130,HERECOMMENT:131,COMMENT:132,Method:133,Do:134,Begin:135,BEGIN:136,DO:137,BLOCK_PARAM_START:138,ParamList:139,BLOCK_PARAM_END:140,PropType:141,PropertyIdentifier:142,Object:143,PROP:144,ATTR:145,TupleAssign:146,VAR:147,MethodDeclaration:148,GLOBAL:149,EXPORT:150,DEF:151,MethodScope:152,MethodScopeType:153,MethodIdentifier:154,DEF_BODY:155,MethodBody:156,MethodReceiver:157,This:158,Param:159,Array:160,ParamVar:161,SPLAT:162,LOGIC:163,BLOCK_ARG:164,VarReference:165,VarAssignable:166,LET:167,SimpleAssignable:168,NEW:169,Super:170,SoakableOp:171,"?:":172,".:":173,IndexValue:174,"?.":175,SUPER:176,AWAIT:177,Parenthetical:178,Range:179,ARGUMENTS:180,Invocation:181,Slice:182,AssignList:183,ClassStart:184,CLASS:185,MODULE:186,OptFuncExist:187,FUNC_EXIST:188,THIS:189,SELF:190,RangeDots:191,"..":192,"...":193,Arg:194,SimpleArgs:195,TRY:196,Catch:197,Finally:198,FINALLY:199,CATCH:200,CATCH_VAR:201,THROW:202,WhileSource:203,WHILE:204,WHEN:205,UNTIL:206,Loop:207,LOOP:208,ForBody:209,ForKeyword:210,FOR:211,POST_FOR:212,ForBlock:213,ForStart:214,ForSource:215,ForVariables:216,OWN:217,ForValue:218,FORIN:219,FOROF:220,BY:221,SWITCH:222,Whens:223,ELSE:224,When:225,LEADING_WHEN:226,IfBlock:227,IF:228,ELIF:229,POST_IF:230,"?":231,UNARY:232,SQRT:233,"-":234,"+":235,"--":236,"++":237,MATH:238,SHIFT:239,RELATION:240,COMPOUND_ASSIGN:241,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",7:"BODYSTART",10:"INDENT",11:"OUTDENT",14:",",19:"STATEMENT",20:"BREAK",21:"CALL_START",22:"CALL_END",23:"CONTINUE",24:"DEBUGGER",26:"IMPORT",28:"FROM",30:"AS",32:"STRING",51:"IDENTIFIER",53:"IVAR",54:"CVAR",56:"GVAR",58:"CONST",60:"ARGVAR",62:"SYMBOL",64:"NUMBER",66:"JS",67:"REGEX",68:"BOOL",69:"TRUE",70:"FALSE",71:"NULL",72:"UNDEFINED",73:"RETURN",76:"SELECTOR_START",78:"SELECTOR_NS",79:"SELECTOR_ID",80:"SELECTOR_CLASS",81:".",82:"{",83:"}",84:"#",85:"SELECTOR_COMBINATOR",86:"SELECTOR_PSEUDO_CLASS",87:"SELECTOR_GROUP",88:"UNIVERSAL_SELECTOR",89:"[",90:"]",91:"SELECTOR_ATTR_OP",93:"SELECTOR_TAG",95:"SELECTOR_END",96:"TAG_START",99:"TAG_END",103:"INDEX_START",104:"INDEX_END",105:"@",108:"TAG_ATTR",109:"=",114:"EXTEND",115:"LOCAL",116:"TAG",118:"COMPARE",120:"TAG_TYPE",121:"TAG_ID",123:"IDREF",128:":",129:"(",130:")",131:"HERECOMMENT",132:"COMMENT",136:"BEGIN",137:"DO",138:"BLOCK_PARAM_START",140:"BLOCK_PARAM_END",144:"PROP",145:"ATTR",147:"VAR",149:"GLOBAL",150:"EXPORT",151:"DEF",155:"DEF_BODY",162:"SPLAT",163:"LOGIC",164:"BLOCK_ARG",167:"LET",169:"NEW",172:"?:",173:".:",175:"?.",176:"SUPER",177:"AWAIT",180:"ARGUMENTS",185:"CLASS",186:"MODULE",188:"FUNC_EXIST",189:"THIS",190:"SELF",192:"..",193:"...",196:"TRY",199:"FINALLY",200:"CATCH",201:"CATCH_VAR",202:"THROW",204:"WHILE",205:"WHEN",206:"UNTIL",208:"LOOP",211:"FOR",212:"POST_FOR",217:"OWN",219:"FORIN",220:"FOROF",221:"BY",222:"SWITCH",224:"ELSE",226:"LEADING_WHEN",228:"IF",229:"ELIF",230:"POST_IF",231:"?",232:"UNARY",233:"SQRT",234:"-",235:"+",236:"--",237:"++",238:"MATH",239:"SHIFT",240:"RELATION",241:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[3,2],[4,1],[4,1],[4,3],[4,2],[9,1],[5,2],[5,3],[5,4],[8,1],[8,1],[8,3],[8,3],[8,1],[8,1],[16,1],[16,1],[16,1],[16,1],[16,4],[16,1],[16,4],[16,1],[16,1],[25,4],[25,4],[25,2],[29,1],[27,1],[27,3],[31,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[50,1],[52,1],[52,1],[55,1],[57,1],[59,1],[61,1],[63,1],[63,1],[63,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[65,1],[17,2],[17,2],[17,1],[75,1],[75,2],[75,2],[75,2],[75,2],[75,5],[75,5],[75,2],[75,2],[75,2],[75,2],[75,4],[75,6],[77,1],[94,2],[92,1],[92,1],[92,3],[48,4],[48,5],[48,5],[101,1],[101,1],[101,0],[97,1],[97,3],[97,4],[97,3],[97,5],[97,5],[97,3],[97,2],[97,5],[98,0],[98,1],[98,3],[98,4],[106,1],[106,3],[110,1],[100,3],[100,3],[112,1],[112,3],[47,1],[47,2],[47,2],[113,2],[113,3],[113,4],[113,5],[119,0],[119,1],[117,1],[117,1],[122,1],[122,2],[38,3],[38,5],[126,1],[126,3],[126,5],[126,1],[127,1],[127,1],[127,1],[127,1],[127,1],[127,3],[15,1],[15,1],[36,1],[36,1],[36,1],[135,2],[134,2],[134,5],[134,6],[49,3],[49,5],[49,2],[141,1],[141,1],[142,1],[142,3],[146,4],[133,1],[133,2],[133,2],[148,9],[148,6],[148,7],[148,4],[153,1],[153,1],[154,1],[154,1],[154,3],[156,1],[156,1],[152,1],[152,1],[152,1],[152,1],[107,0],[107,1],[139,0],[139,1],[139,3],[159,1],[159,1],[159,1],[159,2],[159,2],[159,2],[159,3],[161,1],[12,2],[165,3],[165,2],[165,2],[165,3],[165,2],[33,1],[33,1],[166,1],[166,1],[166,1],[168,1],[168,1],[168,1],[168,1],[168,1],[168,1],[168,1],[168,3],[168,3],[168,3],[168,3],[168,3],[168,3],[168,3],[168,3],[168,4],[171,1],[171,1],[170,1],[124,1],[124,1],[124,1],[34,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[174,1],[174,1],[143,4],[183,0],[183,1],[183,3],[183,4],[183,6],[45,1],[45,2],[45,2],[45,2],[45,2],[45,3],[184,2],[184,3],[184,4],[184,5],[46,2],[46,3],[181,3],[181,2],[187,0],[187,1],[74,2],[74,4],[158,1],[102,1],[160,2],[160,4],[191,1],[191,1],[179,5],[182,3],[182,2],[182,2],[111,1],[111,3],[111,4],[111,4],[111,6],[125,2],[125,1],[194,1],[194,1],[194,1],[194,1],[195,1],[195,3],[41,2],[41,3],[41,3],[41,4],[198,2],[197,3],[18,2],[178,3],[178,5],[203,2],[203,4],[203,2],[203,4],[42,2],[42,2],[42,2],[42,1],[207,2],[207,2],[43,2],[43,2],[43,2],[210,1],[210,1],[213,2],[209,2],[209,2],[214,2],[214,3],[218,1],[218,1],[218,1],[216,1],[216,3],[215,2],[215,2],[215,4],[215,4],[215,4],[215,6],[215,6],[44,5],[44,7],[44,4],[44,6],[223,1],[223,2],[225,3],[225,4],[227,3],[227,5],[227,4],[227,3],[39,1],[39,3],[39,3],[40,5],[37,2],[37,2],[37,2],[37,2],[37,2],[37,2],[37,2],[37,2],[37,3],[37,3],[37,3],[37,3],[37,3],[37,3],[37,3],[37,3],[37,5]],performAction:function(e,a,r,s,c,n,t){var o=t.length-1;switch(n){case 1:return e.$=new c.Root([]);case 2:return e.$=new c.Root(t[o]);case 3:return e.$=t[o-1];case 4:e.$=new c.Block([]);break;case 5:e.$=new c.Block([t[o]]);break;case 6:e.$=t[o-2]["break"](t[o-1]).add(t[o]);break;case 7:e.$=t[o-1]["break"](t[o]);break;case 8:e.$=new c.Terminator(t[o]);break;case 9:e.$=new c.Block([]).indented(t[o-1],t[o]);break;case 10:case 111:e.$=t[o-1].indented(t[o-2],t[o]);break;case 11:e.$=t[o-1].prebreak(t[o-2]).indented(t[o-3],t[o]);break;case 12:case 13:case 16:case 17:case 18:case 19:case 26:case 30:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 59:case 60:case 86:case 87:case 92:case 110:case 115:case 122:case 133:case 134:case 135:case 136:case 137:case 138:case 142:case 143:case 144:case 152:case 153:case 154:case 157:case 166:case 167:case 169:case 171:case 172:case 173:case 174:case 175:case 176:case 187:case 194:case 195:case 196:case 197:case 198:case 199:case 201:case 202:case 203:case 204:case 218:case 219:case 220:case 222:case 223:case 224:case 225:case 226:case 228:case 229:case 230:case 231:case 240:case 274:case 275:case 276:case 277:case 278:case 279:case 297:case 303:case 304:case 310:case 326:case 334:e.$=t[o];break;case 14:case 15:e.$=t[o-2].addExpression(t[o]);break;case 20:case 61:e.$=new c.Literal(t[o]);break;case 21:e.$=new c.BreakStatement(t[o]);break;case 22:e.$=new c.BreakStatement(t[o-3],t[o-1]);break;case 23:e.$=new c.ContinueStatement(t[o]);break;case 24:e.$=new c.ContinueStatement(t[o-3],t[o-1]);break;case 25:e.$=new c.DebuggerStatement(t[o]);break;case 27:e.$=new c.ImportStatement(t[o-2],t[o]);break;case 28:e.$=new c.ImportStatement(null,t[o-2],t[o]);break;case 29:e.$=new c.ImportStatement(null,t[o]);break;case 31:case 105:case 178:case 313:e.$=[t[o]];break;case 32:case 106:case 179:e.$=t[o-2].concat(t[o]);break;case 50:e.$=new c.Identifier(t[o]);break;case 51:case 52:e.$=new c.Ivar(t[o]);break;case 53:e.$=new c.Gvar(t[o]);break;case 54:e.$=new c.Const(t[o]);break;case 55:e.$=new c.Argvar(t[o]);break;case 56:e.$=new c.Symbol(t[o]);break;case 57:e.$=new c.Num(t[o]);break;case 58:e.$=new c.Str(t[o]);break;case 62:e.$=new c.RegExp(t[o]);break;case 63:e.$=new c.Bool(t[o]);break;case 64:e.$=c.TRUE;break;case 65:e.$=c.FALSE;break;case 66:e.$=c.NIL;break;case 67:e.$=c.UNDEFINED;break;case 68:case 69:e.$=new c.Return(t[o]);break;case 70:e.$=new c.Return;break;case 71:e.$=new c.Selector([],{type:t[o]});break;case 72:e.$=t[o-1].add(new c.SelectorType(t[o]),"tag");break;case 73:e.$=t[o-1].add(new c.SelectorNamespace(t[o]),"ns");break;case 74:e.$=t[o-1].add(new c.SelectorId(t[o]),"id");break;case 75:e.$=t[o-1].add(new c.SelectorClass(t[o]),"class");break;case 76:e.$=t[o-4].add(new c.SelectorClass(t[o-1]),"class");break;case 77:e.$=t[o-4].add(new c.SelectorId(t[o-1]),"id");break;case 78:e.$=t[o-1].add(new c.SelectorCombinator(t[o]),"sep");break;case 79:e.$=t[o-1].add(new c.SelectorPseudoClass(t[o]),"pseudoclass");break;case 80:e.$=t[o-1].group();break;case 81:e.$=t[o-1].add(new c.SelectorUniversal(t[o]),"universal");break;case 82:e.$=t[o-3].add(new c.SelectorAttribute(t[o-1]),"attr");break;case 83:e.$=t[o-5].add(new c.SelectorAttribute(t[o-3],t[o-2],t[o-1]),"attr");break;case 84:case 93:case 124:case 125:e.$=new c.TagTypeIdentifier(t[o]);break;case 85:case 88:case 112:case 139:case 155:case 168:case 273:e.$=t[o-1];break;case 89:e.$=t[o-2].set({attributes:t[o-1],open:t[o-3],close:t[o]});break;case 90:e.$=t[o-3].set({attributes:t[o-2],body:t[o],open:t[o-4],close:t[o-1]});break;case 91:e.$=new c.TagWrapper(t[o-2],t[o-4],t[o]);break;case 94:e.$=new c.TagTypeIdentifier("div");break;case 95:e.$=new c.Tag({type:t[o]});break;case 96:e.$=t[o-2].addSymbol(t[o]);break;case 97:e.$=t[o-3].addIndex(t[o-1]);break;case 98:e.$=t[o-2].addClass(t[o]);break;case 99:e.$=t[o-4].addClass(t[o-1]);break;case 100:e.$=t[o-4].set({key:t[o-1]});break;case 101:e.$=t[o-2].set({id:t[o]});break;case 102:e.$=t[o-1].set({ivar:t[o]});break;case 103:e.$=t[o-4].set({id:t[o-1]});break;case 104:case 177:e.$=[];break;case 107:e.$=t[o-3].concat(t[o]);break;case 108:e.$=new c.TagAttr(t[o],t[o]);break;case 109:e.$=new c.TagAttr(t[o-2],t[o],t[o-1]);break;case 113:e.$=new c.TagDesc(t[o]);break;case 114:e.$=t[o-2].classes(t[o]);break;case 116:e.$=t[o].set({extension:!0});break;case 117:e.$=t[o].set({local:!0});break;case 118:e.$=new c.TagDeclaration(t[o]).set({keyword:t[o-1]});break;case 119:e.$=new c.TagDeclaration(t[o-1],null,t[o]).set({keyword:t[o-2]});break;case 120:e.$=new c.TagDeclaration(t[o-2],t[o]).set({keyword:t[o-3]});break;case 121:e.$=new c.TagDeclaration(t[o-3],t[o-1],t[o]).set({keyword:t[o-4]});break;case 123:e.$=["yy.extend"];break;case 126:case 127:e.$=new c.TagId(t[o]);break;case 128:e.$=new c.Assign(t[o-1],t[o-2],t[o]);break;case 129:e.$=new c.Assign(t[o-3],t[o-4],t[o-1].indented(t[o-2],t[o]));break;case 130:e.$=new c.ObjAttr(t[o]);break;case 131:e.$=new c.ObjAttr(t[o-2],t[o],"object");break;case 132:e.$=new c.ObjAttr(t[o-4],t[o-1].indented(t[o-2],t[o]),"object");break;case 140:e.$=new c.Comment(t[o],!0);break;case 141:e.$=new c.Comment(t[o],!1);break;case 145:e.$=new c.Begin(t[o]);break;case 146:e.$=new c.Lambda([],t[o],null,null,{bound:!0});break;case 147:e.$=new c.Lambda(t[o-2],t[o],null,null,{bound:!0});break;case 148:e.$=new c.Lambda(t[o-3],t[o-1],null,null,{bound:!0});break;case 149:e.$=new c.PropertyDeclaration(t[o-1],t[o],t[o-2]);break;case 150:e.$=new c.PropertyDeclaration(t[o-3],t[o-1],t[o-4]);break;case 151:e.$=new c.PropertyDeclaration(t[o],null,t[o-1]);break;case 156:e.$=t[o-3];break;case 158:case 243:e.$=t[o].set({global:t[o-1]});break;case 159:case 193:case 244:e.$=t[o].set({"export":t[o-1]});break;case 160:e.$=new c.MethodDeclaration(t[o-3],t[o],t[o-5],t[o-7],t[o-6]).set({def:t[o-8]});break;case 161:e.$=new c.MethodDeclaration([],t[o],t[o-2],t[o-4],t[o-3]).set({def:t[o-5]});break;case 162:e.$=new c.MethodDeclaration(t[o-3],t[o],t[o-5],null).set({def:t[o-6]});break;case 163:e.$=new c.MethodDeclaration([],t[o],t[o-2],null).set({def:t[o-3]});break;case 164:e.$={"static":!0};break;case 165:e.$={};break;case 170:e.$=t[o].body();break;case 180:e.$=new c.NamedParams(t[o]);break;case 181:e.$=new c.ArrayParams(t[o]);break;case 182:e.$=new c.RequiredParam(t[o]);break;case 183:e.$=new c.SplatParam(t[o],null,t[o-1]);break;case 184:case 185:e.$=new c.BlockParam(t[o],null,t[o-1]);break;case 186:e.$=new c.OptionalParam(t[o-2],t[o],t[o-1]);break;case 188:e.$=c.SPLAT(t[o]);break;case 189:case 192:e.$=c.SPLAT(new c.VarReference(t[o],t[o-2]),t[o-1]);break;case 190:case 191:e.$=new c.VarReference(t[o],t[o-1]);break;case 200:e.$=new c.IvarAccess(".",null,t[o]);break;case 205:e.$=new c.VarOrAccess(t[o]);break;case 206:e.$=new c.New(t[o-2]);break;case 207:e.$=new c.SuperAccess(".",t[o-2],t[o]);break;case 208:e.$=new c.PropertyAccess(t[o-1],t[o-2],t[o]);break;case 209:case 210:case 211:case 213:e.$=new c.Access(t[o-1],t[o-2],t[o]);break;case 212:e.$=new c.Access(".",t[o-2],new c.Identifier(t[o].value()));break;case 214:e.$=new c.IndexAccess(".",t[o-3],t[o-1]);break;case 217:e.$=c.SUPER;break;case 221:e.$=new c.Await(t[o]).set({keyword:t[o-1]});break;case 227:e.$=c.ARGUMENTS;break;case 232:e.$=new c.Index(t[o]);break;case 233:e.$=new c.Slice(t[o]);break;case 234:e.$=new c.Obj(t[o-2],t[o-3].generated);break;case 235:e.$=new c.AssignList([]);break;case 236:e.$=new c.AssignList([t[o]]);break;case 237:case 269:e.$=t[o-2].add(t[o]);break;case 238:case 270:e.$=t[o-3].add(t[o-1]).add(t[o]);break;case 239:e.$=t[o-5].concat(t[o-2].indented(t[o-3],t[o]));break;case 241:e.$=t[o].set({extension:t[o-1]});break;case 242:e.$=t[o].set({local:t[o-1]});break;case 245:e.$=t[o].set({"export":t[o-2],local:t[o-1]});break;case 246:e.$=new c.ClassDeclaration(t[o],null,[]).set({keyword:t[o-1]});break;case 247:e.$=new c.ClassDeclaration(t[o-1],null,t[o]).set({keyword:t[o-2]});break;case 248:e.$=new c.ClassDeclaration(t[o-2],t[o],[]).set({keyword:t[o-3]});break;case 249:e.$=new c.ClassDeclaration(t[o-3],t[o-1],t[o]).set({keyword:t[o-4]});break;case 250:e.$=new c.Module(t[o]);break;case 251:e.$=new c.Module(t[o-1],null,t[o]);break;case 252:e.$=new c.Call(t[o-2],t[o],t[o-1]);break;case 253:e.$=t[o-1].addBlock(t[o]);break;case 254:e.$=!1;break;case 255:e.$=!0;break;case 256:e.$=new c.ArgList([]);break;case 257:e.$=t[o-2];break;case 258:e.$=new c.This(t[o]);break;case 259:e.$=new c.Self(t[o]);break;case 260:e.$=new c.Arr(new c.ArgList([]));break;case 261:e.$=new c.Arr(t[o-2]);break;case 262:e.$="..";break;case 263:e.$="...";break;case 264:e.$=c.OP(t[o-2],t[o-3],t[o-1]);break;case 265:e.$=new c.Range(t[o-2],t[o],t[o-1]);break;case 266:e.$=new c.Range(t[o-1],null,t[o]);break;case 267:e.$=new c.Range(null,t[o],t[o-1]);break;case 268:e.$=new c.ArgList([t[o]]);break;case 271:e.$=t[o-2].indented(t[o-3],t[o]);break;case 272:e.$=t[o-5].concat(t[o-2]);break;case 280:e.$=[].concat(t[o-2],t[o]);break;case 281:e.$=new c.Try(t[o]);break;case 282:e.$=new c.Try(t[o-1],t[o]);break;case 283:e.$=new c.Try(t[o-1],null,t[o]);break;case 284:e.$=new c.Try(t[o-2],t[o-1],t[o]);break;case 285:e.$=new c.Finally(t[o]);break;case 286:e.$=new c.Catch(t[o],t[o-1]);break;case 287:e.$=new c.Throw(t[o]);break;case 288:e.$=new c.Parens(t[o-1],t[o-2],t[o]);break;case 289:e.$=new c.Parens(t[o-2],t[o-4],t[o]);break;case 290:e.$=new c.While(t[o]);break;case 291:e.$=new c.While(t[o-2],{guard:t[o]});break;case 292:e.$=new c.While(t[o],{invert:!0});break;case 293:e.$=new c.While(t[o-2],{invert:!0,guard:t[o]});break;case 294:case 302:case 305:e.$=t[o-1].addBody(t[o]);break;case 295:case 296:e.$=t[o].addBody(c.Block.wrap([t[o-1]]));break;case 298:e.$=new c.While(new c.Literal("true")).addBody(t[o]);break;case 299:e.$=new c.While(new c.Literal("true")).addBody(c.Block.wrap([t[o]]));break;case 300:case 301:e.$=t[o].addBody([t[o-1]]);break;case 306:e.$={source:new c.ValueNode(t[o])};break;case 307:e.$=t[o].configure({own:t[o-1].own,name:t[o-1][0],index:t[o-1][1],keyword:t[o-1].keyword});break;case 308:e.$=(t[o].keyword=t[o-1])&&t[o];break;case 309:e.$=(t[o].own=!0)&&(t[o].keyword=t[o-2])&&t[o];break;case 311:case 312:e.$=new c.ValueNode(t[o]);break;case 314:e.$=[t[o-2],t[o]];break;case 315:e.$=new c.ForIn({source:t[o]});break;case 316:e.$=new c.ForOf({source:t[o],object:!0});break;case 317:e.$=new c.ForIn({source:t[o-2],guard:t[o]});break;case 318:e.$=new c.ForOf({source:t[o-2],guard:t[o],object:!0});break;case 319:e.$=new c.ForIn({source:t[o-2],step:t[o]});break;case 320:e.$=new c.ForIn({source:t[o-4],guard:t[o-2],step:t[o]});break;case 321:e.$=new c.ForIn({source:t[o-4],step:t[o-2],guard:t[o]});break;case 322:e.$=new c.Switch(t[o-3],t[o-1]);break;case 323:e.$=new c.Switch(t[o-5],t[o-3],t[o-1]);break;case 324:e.$=new c.Switch(null,t[o-1]);break;case 325:e.$=new c.Switch(null,t[o-3],t[o-1]);break;case 327:e.$=t[o-1].concat(t[o]);break;case 328:e.$=[new c.SwitchCase(t[o-1],t[o])];break;case 329:e.$=[new c.SwitchCase(t[o-2],t[o-1])];break;case 330:e.$=new c.If(t[o-1],t[o],{type:t[o-2]});break;case 331:e.$=t[o-4].addElse(new c.If(t[o-1],t[o],{type:t[o-2]}));break;case 332:e.$=t[o-3].addElse(new c.If(t[o-1],t[o],{type:t[o-2]}));break;case 333:e.$=t[o-2].addElse(t[o]);break;case 335:e.$=new c.If(t[o],new c.Block([t[o-2]]),{type:t[o-1],statement:!0});break;case 336:e.$=new c.If(t[o],new c.Block([t[o-2]]),{type:t[o-1]});break;case 337:e.$=c.If.ternary(t[o-4],t[o-2],t[o]);break;case 338:case 339:e.$=c.OP(t[o-1],t[o]);break;case 340:e.$=new c.Op("-",t[o]);break;case 341:e.$=new c.Op("+",t[o]);break;case 342:e.$=new c.UnaryOp("--",null,t[o]);break;case 343:e.$=new c.UnaryOp("++",null,t[o]);break;case 344:e.$=new c.UnaryOp("--",t[o-1],null,!0);break;case 345:e.$=new c.UnaryOp("++",t[o-1],null,!0);break;case 346:case 347:e.$=new c.Op(t[o-1],t[o-2],t[o]);break;case 348:case 349:case 350:case 351:e.$=c.OP(t[o-1],t[o-2],t[o]);break;case 352:e.$=function(){return"!"==t[o-1].charAt(0)?c.OP(t[o-1].slice(1),t[o-2],t[o]).invert():c.OP(t[o-1],t[o-2],t[o])}();break;case 353:e.$=c.OP_COMPOUND(t[o-1]._value,t[o-1],t[o-2],t[o]);break;case 354:e.$=c.OP_COMPOUND(t[o-3]._value,t[o-4],t[o-1].indented(t[o-2],t[o]))}},table:[{1:[2,1],3:1,4:2,5:3,7:r,8:5,10:s,12:7,13:8,15:9,16:10,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{1:[3]},{1:[2,2],6:Ee,9:131},{6:[1,133]},a(Ae,[2,4]),a(Ae,[2,5],{14:Se}),{4:136,6:[1,137],7:r,8:5,11:[1,135],12:7,13:8,15:9,16:10,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Oe,[2,12]),a(Oe,[2,13],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(Oe,[2,16]),a(Oe,[2,17],{210:108,214:109,203:150,209:151,204:se,206:ce,211:te,212:oe,230:he}),{13:152,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,34]),a(De,[2,35],{187:154,134:155,171:157,21:_e,81:Pe,82:fe,103:me,137:G,172:Fe,173:Be,175:Me,188:Ue}),a(De,[2,36]),a(De,[2,37]),a(De,[2,38]),a(De,[2,39]),a(De,[2,40]),a(De,[2,41]),a(De,[2,42]),a(De,[2,43]),a(De,[2,44]),a(De,[2,45]),a(De,[2,46]),a(De,[2,47]),a(De,[2,48]),a(De,[2,49]),a(Ge,[2,140]),a(Ge,[2,141]),a(ve,[2,18]),a(ve,[2,19]),a(ve,[2,20]),a(ve,[2,21],{21:[1,164]}),a(ve,[2,23],{21:[1,165]}),a(ve,[2,25]),a(ve,[2,26]),{13:166,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(xe,Ve,{109:[1,167]}),a(xe,[2,223]),a(xe,[2,224]),a(xe,[2,225]),a(xe,[2,226]),a(xe,[2,227]),a(xe,[2,228]),a(xe,[2,229]),a(xe,[2,230]),a(xe,[2,231]),a(De,[2,142]),a(De,[2,143]),a(De,[2,144]),{13:168,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:169,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:170,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:171,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{32:k,35:173,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,75:92,76:N,82:We,84:g,89:h,94:46,102:101,122:45,123:m,124:175,129:F,143:77,147:V,150:He,158:44,160:76,165:102,167:X,168:172,170:39,176:K,178:41,179:42,180:J,181:47,189:Z,190:ee},{32:k,35:173,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,75:92,76:N,82:We,84:g,89:h,94:46,102:101,122:45,123:m,124:175,129:F,143:77,147:V,150:He,158:44,160:76,165:102,167:X,168:177,170:39,176:K,178:41,179:42,180:J,181:47,189:Z,190:ee},a(Ye,je,{236:[1,178],237:[1,179],241:[1,180]}),a(De,[2,334],{224:[1,181],229:[1,182]}),{5:183,10:s},{5:184,10:s},a(De,[2,297]),{5:185,10:s},{10:[1,187],13:186,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,
23
+ 212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,240]),{113:189,116:f,184:188,185:Q},{113:191,116:f,184:190,185:Q},{148:193,151:Y,184:192,185:Q},{115:[1,195],147:V,148:196,150:He,151:Y,165:197,167:X,184:194,185:Q},{32:k,35:173,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,75:92,76:N,82:We,84:g,89:h,94:46,102:101,122:45,123:m,124:175,129:F,143:77,147:V,150:He,158:44,160:76,165:102,167:X,168:198,170:39,176:K,178:41,179:42,180:J,181:47,189:Z,190:ee},a(De,[2,115]),a(Xe,[2,94],{97:199,101:201,102:202,51:[1,203],82:[1,200],190:ee}),{50:205,51:l,82:[1,206],142:204},a(ve,[2,70],{34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,17:30,18:31,25:36,124:38,170:39,65:40,178:41,179:42,158:44,122:45,94:46,181:47,133:48,134:49,135:50,168:57,227:58,203:60,207:61,209:62,184:64,113:70,141:72,160:76,143:77,63:79,75:92,148:93,57:97,52:98,55:99,59:100,102:101,165:102,50:103,210:108,214:109,61:116,16:153,13:207,74:208,19:c,20:n,21:Ke,23:t,24:o,26:b,32:k,51:l,53:$,54:i,56:T,58:w,60:d,62:E,64:A,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,76:N,82:C,84:g,89:h,96:D,114:_,115:P,116:f,123:m,129:F,136:U,137:G,144:v,145:x,147:V,149:W,150:H,151:Y,167:X,176:K,177:q,180:J,185:Q,186:z,189:Z,190:ee,196:ae,202:re,208:ne,222:be,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de}),{13:210,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{27:211,29:212,31:213,32:qe,33:215,50:217,51:l,57:216,58:w},a(Ye,[2,219]),a(Ye,[2,220]),a(Je,[2,217]),a(xe,[2,60]),a(xe,[2,61]),a(xe,[2,62]),a(xe,[2,63]),a(xe,[2,64]),a(xe,[2,65]),a(xe,[2,66]),a(xe,[2,67]),{4:218,7:r,8:5,10:[1,219],12:7,13:8,15:9,16:10,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{10:Qe,12:225,13:220,15:227,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,90:ze,94:46,96:D,102:101,111:222,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,163:Ze,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,194:223,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a([1,6,10,11,14,21,22,81,82,83,84,90,99,103,104,118,128,130,137,140,163,172,173,175,188,192,193,204,205,206,211,212,221,230,231,234,235,238,239,240],[2,258]),a(xe,[2,126]),{50:228,51:l},{77:230,78:[1,231],79:[1,232],80:[1,233],81:[1,234],84:[1,235],85:[1,236],86:[1,237],87:[1,238],88:[1,239],89:[1,240],93:[1,241],95:[1,229]},a(De,[2,157]),{5:242,10:s,138:[1,243]},a(ea,aa,{61:116,183:245,126:246,127:247,15:248,50:249,57:250,63:251,52:252,55:253,32:k,51:l,53:$,54:i,56:T,58:w,62:E,64:A,129:ra,131:B,132:M,138:sa}),{5:255,10:s},a(Je,[2,199]),a(Je,[2,200]),a(Je,[2,201]),a(Je,[2,202]),a(Je,[2,203]),a(Je,[2,204]),a(Je,[2,205]),{13:256,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:257,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:258,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{5:259,10:s,13:260,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{50:265,51:l,82:We,89:h,143:267,160:266,179:261,216:262,217:[1,263],218:264},{215:268,219:[1,269],220:[1,270]},{32:k,35:173,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,75:92,76:N,82:We,84:g,89:h,94:46,102:101,122:45,123:m,124:175,129:F,143:77,147:V,150:He,158:44,160:76,165:102,167:X,168:271,170:39,176:K,178:41,179:42,180:J,181:47,189:Z,190:ee},{117:272,120:ca,121:na},a(ta,[2,152]),a(ta,[2,153]),a(xe,[2,57]),a(xe,[2,58]),a(xe,[2,59]),a(oa,[2,71]),{50:280,51:l,55:279,56:T,57:281,58:w,82:ba,102:278,152:275,154:276,158:277,189:Z,190:ee},a([1,6,10,11,14,21,22,28,81,82,83,84,90,99,103,104,109,118,128,130,137,140,155,163,172,173,175,188,192,193,204,205,206,211,212,221,230,231,234,235,236,237,238,239,240,241],[2,54]),a(ka,[2,51]),a(ka,[2,52]),a([1,6,10,11,14,21,22,81,82,83,84,90,99,103,104,109,118,128,130,137,140,163,172,173,175,188,192,193,204,205,206,211,212,221,230,231,234,235,236,237,238,239,240,241],[2,53]),a(Je,[2,55]),a(ka,[2,259]),{50:286,51:l,57:285,58:w,89:la,160:287,162:[1,283],166:284},{50:286,51:l,57:285,58:w,89:la,160:287,162:[1,290],166:289},a([1,6,10,11,14,21,22,28,81,82,83,84,90,91,99,103,104,109,118,128,130,137,140,155,163,172,173,175,188,192,193,204,205,206,211,212,219,220,221,230,231,234,235,236,237,238,239,240,241],[2,50]),a($a,[2,303]),a($a,[2,304]),a(Je,[2,56]),a(Ae,[2,7],{12:7,13:8,15:9,16:10,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,17:30,18:31,25:36,124:38,170:39,65:40,178:41,179:42,158:44,122:45,94:46,181:47,133:48,134:49,135:50,168:57,227:58,203:60,207:61,209:62,184:64,113:70,141:72,160:76,143:77,63:79,75:92,148:93,57:97,52:98,55:99,59:100,102:101,165:102,50:103,210:108,214:109,61:116,8:291,19:c,20:n,23:t,24:o,26:b,32:k,51:l,53:$,54:i,56:T,58:w,60:d,62:E,64:A,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,76:N,82:C,84:g,89:h,96:D,114:_,115:P,116:f,123:m,129:F,131:B,132:M,136:U,137:G,144:v,145:x,147:V,149:W,150:H,151:Y,162:j,167:X,176:K,177:q,180:J,185:Q,186:z,189:Z,190:ee,196:ae,202:re,204:se,206:ce,208:ne,211:te,212:oe,222:be,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de}),a([1,6,11,19,20,23,24,26,32,51,53,54,56,58,60,62,64,66,67,68,69,70,71,72,73,76,82,84,89,96,114,115,116,123,129,130,131,132,136,137,144,145,147,149,150,151,162,163,167,176,177,180,185,186,189,190,196,202,204,206,208,211,212,222,228,232,233,234,235,236,237],[2,8]),{1:[2,3]},{12:293,13:292,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(ia,[2,9]),{6:Ee,9:131,11:[1,294]},{4:295,7:r,8:5,12:7,13:8,15:9,16:10,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:296,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:297,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:298,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:299,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:300,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:301,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:302,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:303,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:304,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,296]),a(De,[2,301]),{13:305,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,295]),a(De,[2,300]),a([1,6,10,11,14,22,90,130],[2,188],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{203:150,204:se,206:ce,209:151,210:108,211:te,212:oe,214:109,230:he},{21:Ke,74:306},a(xe,[2,253]),a(Ta,[2,215],{170:308,61:309,62:E,169:[1,307],176:K}),{50:310,51:l,52:311,53:$,54:i,57:312,58:w},{50:313,51:l},{50:314,51:l},{13:316,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,174:315,176:K,177:q,178:41,179:42,180:J,181:47,182:317,184:64,185:Q,186:z,189:Z,190:ee,191:318,192:wa,193:da,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{21:[2,255]},{138:sa},a(Ta,[2,216]),{13:321,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:322,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Ea,[2,221],{210:108,214:109,203:147,209:148,118:ue,163:Re,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{10:[1,324],13:323,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,338],{210:108,214:109,203:147,209:148}),a(De,[2,339],{210:108,214:109,203:147,209:148}),a(De,[2,340],{210:108,214:109,203:147,209:148}),a(De,[2,341],{210:108,214:109,203:147,209:148}),a(De,[2,342],{21:je,81:je,82:je,103:je,137:je,172:je,173:je,175:je,188:je}),{21:_e,81:Pe,82:fe,103:me,134:155,137:G,171:157,172:Fe,173:Be,175:Me,187:154,188:Ue},{147:V,150:He,165:197,167:X},a([21,81,82,103,137,172,173,175,188],Ve),a(ea,aa,{61:116,183:245,126:246,127:247,15:248,50:249,57:250,63:251,52:252,55:253,32:k,51:l,53:$,54:i,56:T,58:w,62:E,64:A,129:ra,131:B,132:M}),a(De,[2,343],{21:je,81:je,82:je,103:je,137:je,172:je,173:je,175:je,188:je}),a(De,[2,344]),a(De,[2,345]),{10:[1,326],13:325,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{5:328,10:s,228:[1,327]},{13:329,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,281],{197:330,198:331,199:Aa,200:[1,332]}),a(De,[2,294]),a(De,[2,302]),{10:[1,334],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},{223:335,225:336,226:Sa},a(De,[2,241]),a(De,[2,116]),a(De,[2,242]),a(De,[2,117]),a(De,[2,243]),a(De,[2,158]),a(De,[2,244]),{184:338,185:Q},a(De,[2,159]),a(Je,[2,193]),a(Oa,[2,250],{5:339,10:s,21:je,81:je,82:je,103:je,137:je,172:je,173:je,175:je,188:je}),a(ua,[2,104],{98:340,52:345,106:346,53:$,54:i,81:[1,341],84:[1,344],103:[1,342],105:[1,343],108:Ra}),{13:348,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Xe,[2,95]),a(Xe,[2,92]),a(Xe,[2,93]),a(De,[2,151],{143:349,21:[1,350],82:We}),a(pa,[2,154]),{13:351,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(ve,[2,68],{210:108,214:109,203:147,209:148,118:ue,163:Re,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(ve,[2,69]),{10:Qe,12:225,13:354,15:227,16:153,17:30,18:31,19:c,20:n,22:[1,352],23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,111:353,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,163:Ze,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,194:223,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(ve,[2,287],{210:108,214:109,203:147,209:148,118:ue,163:Re,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{14:[1,356],28:[1,355]},a(ve,[2,29],{30:[1,357]}),a(La,[2,31]),a([1,6,11,14,30,130,204,206,211,212,230],[2,30]),a(Ia,[2,33]),a(Ia,[2,194]),a(Ia,[2,195]),{6:Ee,9:131,130:[1,358]},{4:359,7:r,8:5,12:7,13:8,15:9,16:10,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a([6,10,14,90],ya,{210:108,214:109,203:147,209:148,191:360,118:ue,163:Re,192:wa,193:da,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(Na,[2,260]),a([6,10,90],Ca,{107:361,14:ga}),a(ha,[2,268]),{10:Qe,12:225,13:354,15:227,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,111:363,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,163:Ze,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,194:223,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(ha,[2,276]),a(ha,[2,277]),a(ha,[2,278]),a(xe,[2,127]),a(xe,[2,85]),a(oa,[2,72]),a(oa,[2,73]),a(oa,[2,74]),a(oa,[2,75]),{82:[1,364]},{82:[1,365]},a(oa,[2,78]),a(oa,[2,79]),a(oa,[2,80]),a(oa,[2,81]),{50:366,51:l},a(oa,[2,84]),a(xe,[2,146]),a(Da,_a,{139:367,159:368,143:369,160:370,161:371,50:375,51:l,82:We,89:la,162:Pa,163:fa,164:ma}),a(Da,_a,{159:368,143:369,160:370,161:371,50:375,139:376,51:l,82:We,89:la,162:Pa,163:fa,164:ma}),a([6,10,83],Ca,{107:377,14:Fa}),a(Ba,[2,236]),a(Ba,[2,130],{128:[1,379]}),a(Ba,[2,133]),a(Ma,[2,134]),a(Ma,[2,135]),a(Ma,[2,136]),a(Ma,[2,137]),a(Ma,[2,138]),{13:380,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,145]),{5:381,10:s,118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(Ua,[2,290],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,205:[1,382],206:ce,211:te,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(Ua,[2,292],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,205:[1,383],206:ce,211:te,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(De,[2,298]),a(Ga,[2,299],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(De,[2,306]),a(va,[2,308]),{50:265,51:l,82:We,89:la,143:267,160:266,216:384,218:264},a(va,[2,313],{14:[1,385]}),a(xa,[2,310]),a(xa,[2,311]),a(xa,[2,312]),a(De,[2,307]),{13:386,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,
24
+ 36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:387,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Va,[2,246],{5:388,10:s,21:je,81:je,82:je,103:je,137:je,172:je,173:je,175:je,188:je,118:[1,389]}),a(Va,[2,118],{5:390,10:s,118:[1,391]}),a(De,[2,124]),a(De,[2,125]),{81:[1,393],84:[1,394],153:392},a(Wa,[2,171],{21:[1,395],155:[1,396]}),a(Wa,[2,172]),a(Wa,[2,173]),a(Wa,[2,174]),a(Ha,[2,166]),a(Ha,[2,167]),{13:397,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{50:286,51:l,57:285,58:w,89:la,160:287,166:398},a(Je,[2,190]),a(Je,[2,196]),a(Je,[2,197]),a(Je,[2,198]),{10:Qe,12:225,13:354,15:227,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,90:ze,94:46,96:D,102:101,111:222,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,163:Ze,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,194:223,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Je,[2,191]),{50:286,51:l,57:285,58:w,89:la,160:287,166:399},a(Ae,[2,6],{14:Se}),a(Oe,[2,14],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(Oe,[2,15]),a(ia,[2,10]),{6:Ee,9:131,11:[1,400]},a(Ya,[2,346],{210:108,214:109,203:147,209:148,238:Ne}),a(Ya,[2,347],{210:108,214:109,203:147,209:148,238:Ne}),a(De,[2,348],{210:108,214:109,203:147,209:148}),a([1,6,10,11,14,22,83,90,99,104,118,128,130,140,163,192,193,204,205,206,211,212,221,230,231,239,240],[2,349],{210:108,214:109,203:147,209:148,234:Ie,235:ye,238:Ne}),a([1,6,10,11,14,22,83,90,99,104,118,128,130,140,163,192,193,204,205,206,211,212,221,230,231],[2,350],{210:108,214:109,203:147,209:148,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a([1,6,10,11,14,22,83,90,99,104,128,130,140,163,192,193,204,205,206,211,212,221,230,231],[2,351],{210:108,214:109,203:147,209:148,118:ue,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a([1,6,10,11,14,22,83,90,99,104,118,128,130,140,163,192,193,204,205,206,211,212,221,230,231,240],[2,352],{210:108,214:109,203:147,209:148,234:Ie,235:ye,238:Ne,239:Ce}),a(ja,[2,336],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{118:ue,128:[1,401],163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(ja,[2,335],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(xe,[2,252]),a(Je,[2,206]),a(Je,[2,207]),a(Je,[2,212]),a(Je,[2,208]),a(Je,[2,211]),a(Je,[2,213]),a(Je,[2,209]),a(Je,[2,210]),{104:[1,402]},{104:[2,232],118:ue,163:Re,191:403,192:wa,193:da,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},{104:[2,233]},{13:404,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Xa,[2,262]),a(Xa,[2,263]),{22:[1,405],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},{22:[1,406],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(Ea,[2,128],{210:108,214:109,203:147,209:148,118:ue,163:Re,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{13:407,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Ea,[2,353],{210:108,214:109,203:147,209:148,118:ue,163:Re,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{13:408,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:409,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Ka,[2,333]),{5:410,10:s,118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(De,[2,282],{198:411,199:Aa}),a(De,[2,283]),{201:[1,412]},{5:413,10:s},{223:414,225:336,226:Sa},{11:[1,415],224:[1,416],225:417,226:Sa},a(qa,[2,326]),{13:419,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,195:418,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,245]),a(De,[2,251]),{6:Ca,14:[1,421],99:[1,420],107:422},{51:[1,424],62:[1,423],82:[1,425]},{13:426,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{82:[1,427]},{51:[1,428],82:[1,429]},a(Xe,[2,102]),a(ua,[2,105]),a(ua,[2,108],{109:[1,430]}),{83:[1,431],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(De,[2,149]),{82:We,143:432},{83:[1,433],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(xe,[2,256]),a([6,10,22],Ca,{107:434,14:ga}),a(ha,ya,{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{29:435,32:qe},{31:436,33:215,50:217,51:l,57:216,58:w},{31:437,33:215,50:217,51:l,57:216,58:w},a(xe,[2,288]),{6:Ee,9:131,11:[1,438]},{13:439,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{6:Ee,9:441,10:Ja,90:[1,440]},a([6,10,11,22,90],Qa,{34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,17:30,18:31,25:36,124:38,170:39,65:40,178:41,179:42,158:44,122:45,94:46,181:47,133:48,134:49,135:50,168:57,227:58,203:60,207:61,209:62,184:64,113:70,141:72,160:76,143:77,63:79,75:92,148:93,57:97,52:98,55:99,59:100,102:101,165:102,50:103,210:108,214:109,61:116,16:153,12:225,15:227,13:354,194:443,19:c,20:n,23:t,24:o,26:b,32:k,51:l,53:$,54:i,56:T,58:w,60:d,62:E,64:A,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,76:N,82:C,84:g,89:h,96:D,114:_,115:P,116:f,123:m,129:F,131:B,132:M,136:U,137:G,144:v,145:x,147:V,149:W,150:H,151:Y,162:j,163:Ze,167:X,176:K,177:q,180:J,185:Q,186:z,189:Z,190:ee,196:ae,202:re,204:se,206:ce,208:ne,211:te,212:oe,222:be,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de}),a(za,Ca,{107:444,14:ga}),{13:445,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:446,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{90:[1,447],91:[1,448]},{14:Za,140:[1,449]},a(er,[2,178]),a(er,[2,180]),a(er,[2,181]),a(er,[2,182],{109:[1,451]}),{50:375,51:l,161:452},{50:375,51:l,161:453},{50:375,51:l,161:454},a([14,22,109,140],[2,187]),{14:Za,140:[1,455]},{6:Ee,9:457,10:ar,83:[1,456]},a([6,10,11,83],Qa,{61:116,127:247,15:248,50:249,57:250,63:251,52:252,55:253,126:459,32:k,51:l,53:$,54:i,56:T,58:w,62:E,64:A,129:ra,131:B,132:M}),{10:[1,461],13:460,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{118:ue,130:[1,462],163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(Ka,[2,330]),{13:463,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:464,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(va,[2,309]),{50:265,51:l,82:We,89:la,143:267,160:266,218:465},a([1,6,10,11,14,22,83,90,99,104,128,130,140,192,193,204,206,211,212,230],[2,315],{210:108,214:109,203:147,209:148,118:ue,163:Re,205:[1,466],221:[1,467],231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(rr,[2,316],{210:108,214:109,203:147,209:148,118:ue,163:Re,205:[1,468],231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(De,[2,247]),{13:469,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,119]),{117:470,120:ca,121:na},{50:280,51:l,57:281,58:w,82:ba,154:471},a(sr,[2,164]),a(sr,[2,165]),a(cr,_a,{159:368,143:369,160:370,161:371,50:375,139:472,51:l,82:We,89:la,162:Pa,163:fa,164:ma}),{5:474,10:s,82:fe,134:475,137:G,156:473},{83:[1,476],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(Je,[2,189]),a(Je,[2,192]),a(ia,[2,11]),{13:477,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Je,[2,214]),{13:478,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,104:[2,266],113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{104:[2,267],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(ve,[2,22]),a(ve,[2,24]),{6:Ee,9:480,11:nr,118:ue,125:479,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},{6:Ee,9:480,11:nr,118:ue,125:482,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},{5:483,10:s,118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(Ka,[2,332]),a(De,[2,284]),{5:484,10:s},a(De,[2,285]),{11:[1,485],224:[1,486],225:417,226:Sa},a(De,[2,324]),{5:487,10:s},a(qa,[2,327]),{5:488,10:s,14:[1,489]},a(tr,[2,279],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(Oa,[2,89],{100:490,10:[1,491],21:[1,492]}),{6:Qa,106:493,108:Ra},{6:[1,494]},a(Xe,[2,96]),a(Xe,[2,98]),{13:495,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{104:[1,496],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},{13:497,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Xe,[2,101]),{13:498,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:500,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,110:499,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{99:[1,501]},{22:[1,502]},a(pa,[2,155]),{6:Ee,9:441,10:Ja,22:[1,503]},a(ve,[2,27]),a(La,[2,32]),a(ve,[2,28]),{130:[1,504]},{90:[1,505],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(Na,[2,261]),{12:225,13:354,15:227,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,163:Ze,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,194:506,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{10:Qe,12:225,13:354,15:227,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,111:507,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,163:Ze,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,194:223,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(ha,[2,269]),{6:Ee,9:509,10:Ja,11:nr,125:508},{83:[1,510],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},{83:[1,511],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(oa,[2,82]),{32:k,51:[1,513],61:116,62:E,63:514,64:A,82:[1,515],92:512},{5:516,10:s},{50:375,51:l,82:We,89:la,143:369,159:517,160:370,161:371,162:Pa,163:fa,164:ma},{13:518,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(er,[2,183]),a(er,[2,184]),a(er,[2,185]),{5:519,10:s},a([1,6,10,11,14,21,22,81,82,83,90,99,103,104,109,118,128,130,137,140,163,172,173,175,188,192,193,204,205,206,211,212,219,220,221,230,231,234,235,238,239,240],[2,234]),{15:248,32:k,50:249,51:l,52:252,53:$,54:i,55:253,56:T,57:250,58:w,61:116,62:E,63:251,64:A,126:520,127:247,129:ra,131:B,132:M},a([6,10,11,14],aa,{61:116,126:246,127:247,15:248,50:249,57:250,63:251,52:252,55:253,183:521,32:k,51:l,53:$,54:i,56:T,58:w,62:E,64:A,129:ra,131:B,132:M}),a(Ba,[2,237]),a(Ba,[2,131],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{13:522,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(Ma,[2,139]),a(Ga,[2,291],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(Ga,[2,293],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(va,[2,314]),{13:523,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:524,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:525,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a([1,6,11,14,22,83,90,99,104,128,130,140,192,193,205,212,221,230],[2,248],{210:108,214:109,203:147,209:148,5:526,10:s,118:ue,163:Re,204:se,206:ce,211:te,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(Oa,[2,120],{5:527,10:s}),{21:[1,528],155:[1,529]},{14:Za,22:[1,530]},a(De,[2,163]),a(De,[2,169]),a(De,[2,170]),a(Ha,[2,168]),a([1,6,10,11,14,22,83,90,99,104,128,130,140,192,193,204,205,206,211,212,221,230,231],[2,337],{210:108,214:109,203:147,209:148,118:ue,163:Re,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{104:[2,265],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(De,[2,129]),{11:or},a(De,[2,274]),a(De,[2,354]),a(Ka,[2,331]),a([1,6,10,11,14,22,83,90,99,104,118,128,130,140,163,192,193,199,204,205,206,211,212,221,230,231,234,235,238,239,240],[2,286]),a(De,[2,322]),{
25
+ 5:532,10:s},{11:[1,533]},a(qa,[2,328],{6:[1,534]}),{13:535,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(De,[2,90]),{10:Qe,12:225,13:354,15:227,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,111:536,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,163:Ze,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,194:223,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{10:Qe,12:225,13:354,15:227,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,111:537,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,163:Ze,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,194:223,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(ua,[2,106]),{106:538,108:Ra},{83:[1,539],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(Xe,[2,97]),{83:[1,540],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},{83:[1,541],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(ua,[2,109]),a(ua,[2,110],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(De,[2,91]),a(De,[2,150]),a(xe,[2,257]),a(xe,[2,289]),a(xe,[2,264]),a(ha,[2,270]),a(za,Ca,{107:542,14:ga}),a(ha,[2,271]),{11:or,12:225,13:354,15:227,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,131:B,132:M,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,162:j,163:Ze,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,194:506,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(oa,[2,76]),a(oa,[2,77]),{90:[1,543]},{90:[2,86]},{90:[2,87]},{13:544,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},a(xe,[2,147]),a(er,[2,179]),a(er,[2,186],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{83:[1,545]},a(Ba,[2,238]),a(za,Ca,{107:546,14:Fa}),{6:Ee,9:480,11:nr,118:ue,125:547,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a([1,6,10,11,14,22,83,90,99,104,128,130,140,192,193,204,205,206,211,212,230],[2,317],{210:108,214:109,203:147,209:148,118:ue,163:Re,221:[1,548],231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(rr,[2,319],{210:108,214:109,203:147,209:148,118:ue,163:Re,205:[1,549],231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(Ea,[2,318],{210:108,214:109,203:147,209:148,118:ue,163:Re,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(De,[2,249]),a(De,[2,121]),a(cr,_a,{159:368,143:369,160:370,161:371,50:375,139:550,51:l,82:We,89:la,162:Pa,163:fa,164:ma}),{5:474,10:s,82:fe,134:475,137:G,156:551},{155:[1,552]},a(De,[2,273]),{6:Ee,9:480,11:nr,125:553},a(De,[2,325]),a(qa,[2,329]),a(tr,[2,280],{210:108,214:109,203:147,209:148,118:ue,163:Re,204:se,206:ce,211:te,212:oe,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(br,Ca,{107:555,11:[1,554],14:ga}),a(br,Ca,{107:555,14:ga,22:[1,556]}),a(ua,[2,107]),a(Xe,[2,99]),a(Xe,[2,100]),a(Xe,[2,103]),{6:Ee,9:509,10:Ja,11:nr,125:557},a(oa,[2,83]),{83:[1,558],118:ue,163:Re,203:147,204:se,206:ce,209:148,210:108,211:te,212:oe,214:109,230:pe,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge},a(xe,[2,148]),{6:Ee,9:560,10:ar,11:nr,125:559},a(Ba,[2,132]),{13:561,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{13:562,16:153,17:30,18:31,19:c,20:n,23:t,24:o,25:36,26:b,32:k,34:12,35:13,36:14,37:15,38:16,39:17,40:18,41:19,42:20,43:21,44:22,45:23,46:24,47:25,48:26,49:27,50:103,51:l,52:98,53:$,54:i,55:99,56:T,57:97,58:w,59:100,60:d,61:116,62:E,63:79,64:A,65:40,66:S,67:O,68:u,69:R,70:p,71:L,72:I,73:y,75:92,76:N,82:C,84:g,89:h,94:46,96:D,102:101,113:70,114:_,115:P,116:f,122:45,123:m,124:38,129:F,133:48,134:49,135:50,136:U,137:G,141:72,143:77,144:v,145:x,147:V,148:93,149:W,150:H,151:Y,158:44,160:76,165:102,167:X,168:57,170:39,176:K,177:q,178:41,179:42,180:J,181:47,184:64,185:Q,186:z,189:Z,190:ee,196:ae,202:re,203:60,204:se,206:ce,207:61,208:ne,209:62,210:108,211:te,212:oe,214:109,222:be,227:58,228:ke,232:le,233:$e,234:ie,235:Te,236:we,237:de},{14:Za,22:[1,563]},a(De,[2,161]),{5:474,10:s,82:fe,134:475,137:G,156:564},a(De,[2,323]),a(De,[2,111]),{6:Ee,9:441,10:Ja},a(De,[2,112]),a(ha,[2,272]),{90:[2,88]},a(Ba,[2,239]),{11:or,15:248,32:k,50:249,51:l,52:252,53:$,54:i,55:253,56:T,57:250,58:w,61:116,62:E,63:251,64:A,126:520,127:247,129:ra,131:B,132:M},a(Ea,[2,320],{210:108,214:109,203:147,209:148,118:ue,163:Re,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),a(Ea,[2,321],{210:108,214:109,203:147,209:148,118:ue,163:Re,231:Le,234:Ie,235:ye,238:Ne,239:Ce,240:ge}),{155:[1,565]},a(De,[2,162]),{5:474,10:s,82:fe,134:475,137:G,156:566},a(De,[2,160])],defaultActions:{133:[2,3],161:[2,255],317:[2,233],513:[2,86],514:[2,87],558:[2,88]},parseError:function(e,a){if(!a.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function a(e){c.length=c.length-2*e,n.length=n.length-e}function r(){function e(e){for(var a=c.length-1,r=0;;){if($.toString()in t[e])return r;if(0===e||2>a)return!1;a-=2,e=c[a],++r}}var r,n="";if(l?E!==i&&(r=e(A)):(r=e(A),p=[],n=T.showPosition?"Parse error on line "+(b+1)+":\n"+T.showPosition()+"\nExpecting "+p.join(", ")+", got '"+(s.terminals_[d]||d)+"'":"Parse error on line "+(b+1)+": Unexpected "+(d==i?"end of input":"'"+(s.terminals_[d]||d)+"'"),s.parseError(n,{lexer:T,text:T.match,token:s.terminals_[d]||d,line:T.yylineno,expected:p,recoverable:r!==!1})),3==l){if(d===i||E===i)throw new Error(n||"Parsing halted while starting to recover from another error.");k=T.yyleng,o=T.yytext,b=T.yylineno}if(r===!1)throw new Error(n||"Parsing halted. No suitable error recovery rule available.");a(r),E=d==$?null:d,d=$,A=c[c.length-1],S=t[A]&&t[A][$],l=3}var s=this,c=[0],n=[null],t=this.table,o="",b=0,k=0,l=0,$=2,i=1,T=Object.create(this.lexer),w=this.yy;T.setInput(e,w),"function"==typeof w.parseError?this.parseError=w.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var d,E,A,S,O,u,R,p,L={},I=this.symbols_,y=this.productions_;;)switch(A=c[c.length-1],(null===d||"undefined"==typeof d)&&(d=I[T.lex()]||i),S=t[A]&&t[A][d],"undefined"!=typeof S&&S.length&&S[0]||r(),S[0]){case 1:c.push(d),c.push(S[1]),n.push(T.yytext),d=null,E?(d=E,E=null):(o=T.yytext,b=T.yylineno,l>0&&l--);break;case 2:if(u=y[S[1]][1],L.$=n[n.length-u],O=this.performAction(L,o,k,b,w,S[1],n),"undefined"!=typeof O)return O;for(;u>0;)c.pop(),c.pop(),n.pop(),u--;c.push(y[S[1]][0]),R=t[c[c.length-2]][c[c.length-1]],c.push(R),n.push(L.$);break;case 3:return!0}return!0}};return e.prototype=kr,kr.Parser=e,new e}();"undefined"!=typeof require&&"undefined"!=typeof exports&&(exports.parser=parser,exports.Parser=parser.Parser,exports.parse=function(){return parser.parse.apply(parser,arguments)},exports.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),process.exit(1));var a=require("fs").readFileSync(require("path").normalize(e[1]),"utf8");return exports.parser.parse(a)},"undefined"!=typeof module&&require.main===module&&exports.main(process.argv.slice(1)));
26
+ }).call(this,require('_process'))
27
+ },{"_process":18,"fs":12,"path":17}],9:[function(require,module,exports){
28
+ !function(){function e(e,t){return t&&t.indexOf?t.indexOf(e):[].indexOf.call(e,t)}function t(e){return e?e.toArray?e.toArray():e:[]}function n(){}var r,o=require("./token");o.Token;exports.Rewriter=n,n.prototype.tokens=function(){return this._tokens},n.prototype.rewrite=function(e,t){return void 0===t&&(t={}),this._tokens=e,this._options=t,t.profile&&console.time("tokenize:rewrite"),this.step("ensureFirstLine"),this.step("removeLeadingNewlines"),this.step("removeMidExpressionNewlines"),this.step("tagDefArguments"),this.step("closeOpenCalls"),this.step("closeOpenIndexes"),this.step("closeOpenTags"),this.step("closeOpenTagAttrLists"),this.step("addImplicitIndentation"),this.step("tagPostfixConditionals"),this.step("addImplicitBraces"),this.step("addImplicitParentheses"),t.profile&&console.timeEnd("tokenize:rewrite"),this._tokens},n.prototype.step=function(e){this._options.profile&&(console.log("---- starting "+e+" ---- "),console.time(e)),this[e](),this._options.profile&&(console.timeEnd(e),console.log("\n\n"))},n.prototype.scanTokens=function(e){for(var t,n=this._tokens,r=0;t=n[r];)r+=e.call(this,t,r,n);return!0},n.prototype.detectEnd=function(e,t,n){for(var r,i,T=this._tokens,s=0,p=[];r=T[e];){if(0==s&&t.call(this,r,e,p))return n.call(this,r,e);if(!r||0>s)return n.call(this,r,e-1);i=o.typ(r),c.indexOf(i)>=0?(0==s&&p.push(e),s+=1):R.indexOf(i)>=0&&(s-=1),e+=1}return e-1},n.prototype.ensureFirstLine=function(){var e=this._tokens[0];"TERMINATOR"==o.typ(e)&&(this._tokens=[o.token("BODYSTART","BODYSTART")].concat(this._tokens))},n.prototype.removeLeadingNewlines=function(){for(var e=0,n=0,r=t(this._tokens),i=r.length;i>n;n++)if("TERMINATOR"!=o.typ(r[n])){e=n;break}e&&this._tokens.splice(0,e)},n.prototype.removeMidExpressionNewlines=function(){var e=this;return e.scanTokens(function(t,n,r){var i=e.tokenType(n+1);return"TERMINATOR"==o.typ(t)&&u.indexOf(i)>=0?"OUTDENT"==i?1:(r.splice(n,1),0):1})},n.prototype.tagDefArguments=function(){return!0},n.prototype.closeOpenCalls=function(){var e=this,t=function(t,n){var r=o.typ(t);return")"==r||"CALL_END"==r||"OUTDENT"==r&&")"==e.tokenType(n-1)},n=function(t,n){var r=o.typ(t),i=e._tokens["OUTDENT"==r?n-1:n];return o.setTyp(i,"CALL_END")};return e.scanTokens(function(r,i){return"CALL_START"==o.typ(r)&&e.detectEnd(i+1,t,n),1})},n.prototype.closeOpenIndexes=function(){var t=this,n=function(t,n){return e(o.typ(t),["]","INDEX_END"])>=0},r=function(e,t){return o.setTyp(e,"INDEX_END")};return t.scanTokens(function(e,i){return"INDEX_START"==o.typ(e)&&t.detectEnd(i+1,n,r),1})},n.prototype.closeOpenTagAttrLists=function(){var t=this,n=function(t,n){return e(o.typ(t),[")","TAG_ATTRS_END"])>=0},r=function(e,t){return o.setTyp(e,"TAG_ATTRS_END")};return t.scanTokens(function(e,i){return"TAG_ATTRS_START"==o.typ(e)&&t.detectEnd(i+1,n,r),1})},n.prototype.closeOpenTags=function(){var t=this,n=function(t,n){return e(o.typ(t),[">","TAG_END"])>=0},r=function(e,t){return o.setTyp(e,"TAG_END")};return t.scanTokens(function(e,i){return"TAG_START"==o.typ(e)&&t.detectEnd(i+1,n,r),1})},n.prototype.addImplicitCommas=function(){},n.prototype.addImplicitBlockCalls=function(){for(var e,t=1,n=this._tokens;e=n[t];){var r=e._type,i=e._value;"DO"!=r||"INDEX_END"!=i&&"IDENTIFIER"!=i&&"NEW"!=i||(n.splice(t+1,0,o.token("CALL_END",")")),n.splice(t+1,0,o.token("CALL_START","(")),t++),t++}},n.prototype.addImplicitBraces=function(){var e=this,t=[],n=null,r=["IF","TERNARY","FOR"],i=function(t,n){return e._tokens.splice(n,0,o.LBRACKET)},T=function(t,n){return e._tokens.splice(n,0,o.RBRACKET)},s=function(e,t){return[e,t]};return e.scanTokens(function(p,E,N){var A,u=o.typ(p),a=o.val(p),f=t[t.length-1]||[];if(r.indexOf(u)>=0)return t.push(s(u,E)),1;if("?"==a)return t.push(s("TERNARY",E)),1;if(c.indexOf(u)>=0)return"INDENT"==u&&r.indexOf(f[0])>=0&&t.pop(),"INDENT"==u&&"{"==e.tokenType(E-1)?t.push(s("{",E)):t.push(s(u,E)),1;if(R.indexOf(u)>=0)return"TERNARY"==f[0]&&t.pop(),n=t.pop(),n||console.log("NO STACK!!"),n[2]=E,"{"==n[0]&&n.generated?(T(p,E),1):1;if("TERNARY"==f[0]&&("TERMINATOR"==u||"OUTDENT"==u))return t.pop(),1;if(r.indexOf(f[0])>=0&&"INDENT"==u)return console.log("popping noBraceContext"),t.pop(),1;if(","==u)return"{"==f[0]&&f.generated?(N.splice(E,0,o.RBRACKET),t.pop(),2):1;if(":"==u&&"{"!=f[0]&&"TERNARY"!=f[0]&&-1==r.indexOf(f[0])){for(A=n&&n[2]==E-1?n[1]-1:E-2;"HERECOMMENT"==e.tokenType(A-1);)A-=2;var _=N[A-1];if(_&&"}"==o.typ(_)&&_.generated){N.splice(A-1,1);var O=s("{");return O.generated=!0,t.push(O),0}return _&&","==o.typ(_)&&"}"==e.tokenType(A-2)?(N.splice(A-2,1),O=s("{"),O.generated=!0,t.push(O),0):(O=s("{"),O.generated=!0,t.push(O),i(p,A+1),2)}if("DO"==u){var I=o.typ(N[E-1]);if(["NUMBER","STRING","REGEX","SYMBOL","]","}",")"].indexOf(I)>=0){var l=o.token(",",",");if(l.generated=!0,N.splice(E,0,l),f.generated)return T(p,E),t.pop(),2}}return"TERMINATOR"!=u&&"OUTDENT"!=u&&"DEF_BODY"!=u||!f.generated?1:(T(p,E),t.pop(),2)})},n.prototype.addImplicitParentheses=function(){for(var e,t=this,n=["CLASS","IF","UNLESS","TAG","WHILE","FOR","UNTIL","CATCH","FINALLY","MODULE","LEADING_WHEN"],r=function(e,n){return t._tokens.splice(n,0,o.token("CALL_END",")"))},i=t._tokens,T=!1,s=!1,p=!1,E=0;e=i[E];){var N=e._type,A=i[E-1],c=(i[E],i[E+1]),R=A&&A._type,u=c&&c._type;")"!=R&&"]"!=R||"INDENT"!=N||(T=!0),n.indexOf(R)>=0&&(p=!0,T=!0,"FOR"==R&&(s=!0));var l=!1,D=!1;if(!T&&"INDENT"==N&&c){var d=R&&a.indexOf(R)>=0,L=u&&f.indexOf(u)>=0;l=(c.generated&&"{"==u||L)&&d,D=L&&d}var S=!1,y=!1;if(("TERMINATOR"==N||"OUTDENT"==N||"INDENT"==N)&&(p=!1,T=!1),"?"==N&&A&&!A.spaced&&(e.call=!0),e.fromThen)E+=1;else if(l||D||A&&A.spaced&&(A.call||a.indexOf(R)>=0)&&(f.indexOf(N)>=0||!e.spaced&&!e.newLine&&_.indexOf(N)>=0)){i.splice(E,0,o.token("CALL_START","("));var h=function(e,n){var r=o.typ(e);if(!S&&e.fromThen)return!0;var T="IF"==r||"UNLESS"==r||"ELSE"==r;(T||"CATCH"==r)&&(S=!0),(T||"SWITCH"==r||"TRY"==r)&&(y=!0);var E=t.tokenType(n-1);if(("."==r||"?."==r||"::"==r)&&"OUTDENT"==E)return!0;if(p&&("INDENT"==r||"TERMINATOR"==r))return!0;if(("WHEN"==r||"BY"==r)&&!s)return!1;var N=i[n+1],A=N&&o.typ(N);return!e.generated&&","!=E&&(I.indexOf(r)>=0||"INDENT"==r&&!y||"DOS"==r&&"="!=E)&&("INDENT"!=r||"CLASS"!=t.tokenType(n-2)&&-1==O.indexOf(E)&&!(N&&(N.generated&&"{"==A||f.indexOf(A)>=0)))};t.detectEnd(E+1,h,r),"?"==o.typ(A)&&o.setTyp(A,"FUNC_EXIST"),E+=2,p=!1,T=!1,s=!1}else E+=1}},n.prototype.addImplicitIndentation=function(){for(var t,n=this,r=0,i=n._tokens;t=i[r];){var T=o.typ(t),s=n.tokenType(r+1);if("TERMINATOR"!=T||"THEN"!=s)if("CATCH"==T&&e(n.tokenType(r+2),["OUTDENT","TERMINATOR","FINALLY"])>=0)i.splice.apply(i,[].concat([r+2,0],[].slice.call(n.indentation(t)))),r+=4;else{if(l.indexOf(T)>=0&&"INDENT"!=s&&"BLOCK_PARAM_START"!=s&&("ELSE"!=T||"IF"!=s)&&"ELIF"!=T){var p=T,E=o.token("INDENT","2"),N=o.OUTDENT;"THEN"==p&&(E.fromThen=!0),E.generated=!0,i.splice(r+1,0,E);var A=function(e,t){var n=o.typ(e);return";"!=o.val(e)&&D.indexOf(n)>=0&&!("ELSE"==n&&"IF"!=p&&"THEN"!=p)},c=function(e,t){var r=","==n.tokenType(t-1)?t-1:t;return i.splice(r,0,N)};n.detectEnd(r+2,A,c),"THEN"==T&&i.splice(r,1)}r++}else i.splice(r,1)}},n.prototype.tagPostfixConditionals=function(){var t=this,n=function(t,n){return e(o.typ(t),["TERMINATOR","INDENT"])>=0};return t.scanTokens(function(e,r){var i=o.typ(e);if("IF"!=i&&"FOR"!=i)return 1;var T=e;return t.detectEnd(r+1,n,function(e,t){return"INDENT"!=o.typ(e)?o.setTyp(T,"POST_"+o.typ(T)):void 0}),1})},n.prototype.indentation=function(e){return[o.token("INDENT","2"),o.token("OUTDENT","2")]},n.prototype.type=function(e){var t=this._tokens[e];return t&&o.typ(t)},n.prototype.tokenType=function(e){var t=this._tokens[e];return t&&o.typ(t)};var i=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["TAG_START","TAG_END"],["TAG_PARAM_START","TAG_PARAM_END"],["TAG_ATTRS_START","TAG_ATTRS_END"],["BLOCK_PARAM_START","BLOCK_PARAM_END"]];module.exports.INVERSES=r={};for(var T,s=0,p=t(i),E=p.length;E>s;s++){T=p[s];var N=T[0],A=T[1];r[A]=N,r[N]=A}var c=["(","[","{","INDENT","CALL_START","PARAM_START","INDEX_START","TAG_PARAM_START","BLOCK_PARAM_START"],R=[")","]","}","OUTDENT","CALL_END","PARAM_END","INDEX_END","TAG_PARAM_END","BLOCK_PARAM_END"],u=["CATCH","WHEN","ELSE","FINALLY"].concat(R),a=["IDENTIFIER","SUPER",")","INDEX_END","@","THIS","SELF","EVENT","TRIGGER","TAG_END","IVAR","GVAR","CONST","ARGVAR","NEW","BREAK","CONTINUE","RETURN"],f=["SELECTOR","IDENTIFIER","NUMBER","STRING","SYMBOL","JS","REGEX","NEW","PARAM_START","CLASS","IF","UNLESS","TRY","SWITCH","THIS","BOOL","TRUE","FALSE","NULL","UNDEFINED","UNARY","SUPER","IVAR","GVAR","CONST","ARGVAR","SELF","@","[","(","{","--","++","SELECTOR","TAG_START","TAGID","#","SELECTOR_START","IDREF","SPLAT","DO","BLOCK_ARG","FOR"],_=["+","-"],O=["{","[",",","BLOCK_PARAM_END","DO"],I=["POST_IF","POST_UNLESS","POST_FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","DEF_BODY","DEF_FRAGMENT"],l=["ELSE","TRY","FINALLY","THEN","BLOCK_PARAM_END","DO","BEGIN","CATCH_VAR"],D=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]}();
29
+ },{"./token":11}],10:[function(require,module,exports){
30
+ (function (Buffer){
31
+ !function(){function t(t){return t?t.toArray?t.toArray():t:[]}function e(t){this._source=t,this._maps=[],this._map="",this._js=""}var o=require("path");exports.SourceMap=e,e.prototype.source=function(){return this._source},e.prototype.options=function(){return this._source},e.prototype.filename=function(){return this.options().options.filename},e.prototype.targetPath=function(){return this.options().options.targetPath},e.prototype.sourcePath=function(){return this.options().options.sourcePath},e.prototype.sourceName=function(){return o.basename(this.sourcePath())},e.prototype.targetName=function(){return o.basename(this.targetPath())},e.prototype.sourceFiles=function(){return[this.sourceName()]},e.prototype.parse=function(){var e=this,o=/\%\%(\d*)\$(\d*)\%\%/,r=/^(.*?)\%\%(\d*)\$(\d*)\%\%/,s=this.options().js.split(/\n/g);this._maps=[];for(var n,i=0,a=t(s),p=a.length;p>i;i++){n=a[i];var u=0;for(this._maps[i]=[];n.match(o);)n=n.replace(r,function(t,o,r,s){u=o.length;var n=[[parseInt(r),parseInt(s)],[i,u]];return e._maps[i].push(n),o});s[i]=n}return e.source().js=s.join("\n"),e},e.prototype.generate=function(){this.parse();for(var e=0,r=0,s=0,n="",i=0,a=t(this._maps),p=a.length;p>i;i++){e=0;for(var u,c=0,h=t(a[i]),f=h.length;f>c;c++){u=h[c],0!=c&&(n+=",");var _=u[0],m=u[1];n+=this.encodeVlq(m[1]-e),e=m[1],n+=this.encodeVlq(0),n+=this.encodeVlq(_[0]-r),r=_[0],n+=this.encodeVlq(_[1]-s),s=_[1]}n+=";"}var l=o.relative(o.dirname(this.targetPath()),this.sourcePath()),g={version:3,file:this.sourceName().replace(/\.imba/,".js")||"",sourceRoot:this.options().sourceRoot||"",sources:[l],names:[],mappings:n};this.options().sourcemap=g;var y=new Buffer(JSON.stringify(g)).toString("base64");return this.source().js+="\n//# sourceMappingURL=data:application/json;base64,"+y,this},VLQ_SHIFT=5,VLQ_CONTINUATION_BIT=1<<VLQ_SHIFT,VLQ_VALUE_MASK=VLQ_CONTINUATION_BIT-1,BASE64_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e.prototype.encodeVlq=function(t){for(var e,o="",r=0>t?1:0,s=(Math.abs(t)<<1)+r;s||!o;)e=s&VLQ_VALUE_MASK,s>>=VLQ_SHIFT,s&&(e|=VLQ_CONTINUATION_BIT),o+=this.encodeBase64(e);return o},e.prototype.encodeBase64=function(t){return BASE64_CHARS[t]}}();
32
+ }).call(this,require("buffer").Buffer)
33
+ },{"buffer":13,"path":17}],11:[function(require,module,exports){
34
+ !function(){function t(t,e,n,o,r){return this._type=t,this._value=e,this._meta=null,this._line=n||0,this._col=-1,this._loc=o||0,this._len=r||0,this.generated=!1,this.newLine=!1,this.spaced=!1,this}function e(){var t,e,n=this.tokens[this.pos++];return n?(e=n._type,this.yytext=n,(t=n._line)&&(this.yylineno=t)):e="",e}function n(e,n){return new t(e,n,0,0,0)}function o(t){return t._type}function r(t){return t._value}function i(t){return t._line}function u(t){return t._loc}function s(t,e){return t._type=e}function p(t,e){return t._value=e}function l(t,e){return t._line=e}function c(t,e){return t._loc=e}var h,_,a,f,y,x,v;module.exports.TOK=h={};var T=(h.TERMINATOR=1,h.IDENTIFIER=2);T=h.IVAR=2;h.CONST=3,h.VAR=4,h.IF=5,h.ELSE=6,h.DEF=7;exports.Token=t,t.prototype.type=function(){return this._type},t.prototype.value=function(){return this._value},t.prototype.traverse=function(){},t.prototype.c=function(){return""+this._value},t.prototype.toString=function(){return this._value},t.prototype.charAt=function(t){return this._value.charAt(t)},t.prototype.slice=function(t){return this._value.slice(t)},t.prototype.region=function(){return[this._loc,this._loc+(this._len||this._value.length)]},t.prototype.sourceMapMarker=function(){return-1==this._col?"":"%%"+this._line+"$"+this._col+"%%"},exports.lex=e,exports.token=n,exports.typ=o,exports.val=r,exports.line=i,exports.loc=u,exports.setTyp=s,exports.setVal=p,exports.setLine=l,exports.setLoc=c,module.exports.LBRACKET=_=new t("{","{",0,0,0),module.exports.RBRACKET=a=new t("}","}",0,0,0),module.exports.LPAREN=f=new t("(","(",0,0,0),module.exports.RPAREN=y=new t(")",")",0,0,0),_.generated=!0,a.generated=!0,f.generated=!0,y.generated=!0,module.exports.INDENT=x=new t("INDENT","2",0,0,0),module.exports.OUTDENT=v=new t("OUTDENT","2",0,0,0)}();
35
+ },{}],12:[function(require,module,exports){
36
+
37
+ },{}],13:[function(require,module,exports){
38
+ /*!
39
+ * The buffer module from node.js, for the browser.
40
+ *
41
+ * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
42
+ * @license MIT
43
+ */
44
+
45
+ var base64 = require('base64-js')
46
+ var ieee754 = require('ieee754')
47
+ var isArray = require('is-array')
48
+
49
+ exports.Buffer = Buffer
50
+ exports.SlowBuffer = SlowBuffer
51
+ exports.INSPECT_MAX_BYTES = 50
52
+ Buffer.poolSize = 8192 // not used by this implementation
53
+
54
+ var rootParent = {}
55
+
56
+ /**
57
+ * If `Buffer.TYPED_ARRAY_SUPPORT`:
58
+ * === true Use Uint8Array implementation (fastest)
59
+ * === false Use Object implementation (most compatible, even IE6)
60
+ *
61
+ * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
62
+ * Opera 11.6+, iOS 4.2+.
63
+ *
64
+ * Note:
65
+ *
66
+ * - Implementation must support adding new properties to `Uint8Array` instances.
67
+ * Firefox 4-29 lacked support, fixed in Firefox 30+.
68
+ * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
69
+ *
70
+ * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
71
+ *
72
+ * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
73
+ * incorrect length in some situations.
74
+ *
75
+ * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they will
76
+ * get the Object implementation, which is slower but will work correctly.
77
+ */
78
+ Buffer.TYPED_ARRAY_SUPPORT = (function () {
79
+ function Foo () {}
80
+ try {
81
+ var buf = new ArrayBuffer(0)
82
+ var arr = new Uint8Array(buf)
83
+ arr.foo = function () { return 42 }
84
+ arr.constructor = Foo
85
+ return arr.foo() === 42 && // typed array instances can be augmented
86
+ arr.constructor === Foo && // constructor can be set
87
+ typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
88
+ new Uint8Array(1).subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
89
+ } catch (e) {
90
+ return false
91
+ }
92
+ })()
93
+
94
+ function kMaxLength () {
95
+ return Buffer.TYPED_ARRAY_SUPPORT
96
+ ? 0x7fffffff
97
+ : 0x3fffffff
98
+ }
99
+
100
+ /**
101
+ * Class: Buffer
102
+ * =============
103
+ *
104
+ * The Buffer constructor returns instances of `Uint8Array` that are augmented
105
+ * with function properties for all the node `Buffer` API functions. We use
106
+ * `Uint8Array` so that square bracket notation works as expected -- it returns
107
+ * a single octet.
108
+ *
109
+ * By augmenting the instances, we can avoid modifying the `Uint8Array`
110
+ * prototype.
111
+ */
112
+ function Buffer (arg) {
113
+ if (!(this instanceof Buffer)) {
114
+ // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
115
+ if (arguments.length > 1) return new Buffer(arg, arguments[1])
116
+ return new Buffer(arg)
117
+ }
118
+
119
+ this.length = 0
120
+ this.parent = undefined
121
+
122
+ // Common case.
123
+ if (typeof arg === 'number') {
124
+ return fromNumber(this, arg)
125
+ }
126
+
127
+ // Slightly less common case.
128
+ if (typeof arg === 'string') {
129
+ return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
130
+ }
131
+
132
+ // Unusual.
133
+ return fromObject(this, arg)
134
+ }
135
+
136
+ function fromNumber (that, length) {
137
+ that = allocate(that, length < 0 ? 0 : checked(length) | 0)
138
+ if (!Buffer.TYPED_ARRAY_SUPPORT) {
139
+ for (var i = 0; i < length; i++) {
140
+ that[i] = 0
141
+ }
142
+ }
143
+ return that
144
+ }
145
+
146
+ function fromString (that, string, encoding) {
147
+ if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
148
+
149
+ // Assumption: byteLength() return value is always < kMaxLength.
150
+ var length = byteLength(string, encoding) | 0
151
+ that = allocate(that, length)
152
+
153
+ that.write(string, encoding)
154
+ return that
155
+ }
156
+
157
+ function fromObject (that, object) {
158
+ if (Buffer.isBuffer(object)) return fromBuffer(that, object)
159
+
160
+ if (isArray(object)) return fromArray(that, object)
161
+
162
+ if (object == null) {
163
+ throw new TypeError('must start with number, buffer, array or string')
164
+ }
165
+
166
+ if (typeof ArrayBuffer !== 'undefined' && object.buffer instanceof ArrayBuffer) {
167
+ return fromTypedArray(that, object)
168
+ }
169
+
170
+ if (object.length) return fromArrayLike(that, object)
171
+
172
+ return fromJsonObject(that, object)
173
+ }
174
+
175
+ function fromBuffer (that, buffer) {
176
+ var length = checked(buffer.length) | 0
177
+ that = allocate(that, length)
178
+ buffer.copy(that, 0, 0, length)
179
+ return that
180
+ }
181
+
182
+ function fromArray (that, array) {
183
+ var length = checked(array.length) | 0
184
+ that = allocate(that, length)
185
+ for (var i = 0; i < length; i += 1) {
186
+ that[i] = array[i] & 255
187
+ }
188
+ return that
189
+ }
190
+
191
+ // Duplicate of fromArray() to keep fromArray() monomorphic.
192
+ function fromTypedArray (that, array) {
193
+ var length = checked(array.length) | 0
194
+ that = allocate(that, length)
195
+ // Truncating the elements is probably not what people expect from typed
196
+ // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
197
+ // of the old Buffer constructor.
198
+ for (var i = 0; i < length; i += 1) {
199
+ that[i] = array[i] & 255
200
+ }
201
+ return that
202
+ }
203
+
204
+ function fromArrayLike (that, array) {
205
+ var length = checked(array.length) | 0
206
+ that = allocate(that, length)
207
+ for (var i = 0; i < length; i += 1) {
208
+ that[i] = array[i] & 255
209
+ }
210
+ return that
211
+ }
212
+
213
+ // Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
214
+ // Returns a zero-length buffer for inputs that don't conform to the spec.
215
+ function fromJsonObject (that, object) {
216
+ var array
217
+ var length = 0
218
+
219
+ if (object.type === 'Buffer' && isArray(object.data)) {
220
+ array = object.data
221
+ length = checked(array.length) | 0
222
+ }
223
+ that = allocate(that, length)
224
+
225
+ for (var i = 0; i < length; i += 1) {
226
+ that[i] = array[i] & 255
227
+ }
228
+ return that
229
+ }
230
+
231
+ function allocate (that, length) {
232
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
233
+ // Return an augmented `Uint8Array` instance, for best performance
234
+ that = Buffer._augment(new Uint8Array(length))
235
+ } else {
236
+ // Fallback: Return an object instance of the Buffer class
237
+ that.length = length
238
+ that._isBuffer = true
239
+ }
240
+
241
+ var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
242
+ if (fromPool) that.parent = rootParent
243
+
244
+ return that
245
+ }
246
+
247
+ function checked (length) {
248
+ // Note: cannot use `length < kMaxLength` here because that fails when
249
+ // length is NaN (which is otherwise coerced to zero.)
250
+ if (length >= kMaxLength()) {
251
+ throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
252
+ 'size: 0x' + kMaxLength().toString(16) + ' bytes')
253
+ }
254
+ return length | 0
255
+ }
256
+
257
+ function SlowBuffer (subject, encoding) {
258
+ if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
259
+
260
+ var buf = new Buffer(subject, encoding)
261
+ delete buf.parent
262
+ return buf
263
+ }
264
+
265
+ Buffer.isBuffer = function isBuffer (b) {
266
+ return !!(b != null && b._isBuffer)
267
+ }
268
+
269
+ Buffer.compare = function compare (a, b) {
270
+ if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
271
+ throw new TypeError('Arguments must be Buffers')
272
+ }
273
+
274
+ if (a === b) return 0
275
+
276
+ var x = a.length
277
+ var y = b.length
278
+
279
+ var i = 0
280
+ var len = Math.min(x, y)
281
+ while (i < len) {
282
+ if (a[i] !== b[i]) break
283
+
284
+ ++i
285
+ }
286
+
287
+ if (i !== len) {
288
+ x = a[i]
289
+ y = b[i]
290
+ }
291
+
292
+ if (x < y) return -1
293
+ if (y < x) return 1
294
+ return 0
295
+ }
296
+
297
+ Buffer.isEncoding = function isEncoding (encoding) {
298
+ switch (String(encoding).toLowerCase()) {
299
+ case 'hex':
300
+ case 'utf8':
301
+ case 'utf-8':
302
+ case 'ascii':
303
+ case 'binary':
304
+ case 'base64':
305
+ case 'raw':
306
+ case 'ucs2':
307
+ case 'ucs-2':
308
+ case 'utf16le':
309
+ case 'utf-16le':
310
+ return true
311
+ default:
312
+ return false
313
+ }
314
+ }
315
+
316
+ Buffer.concat = function concat (list, length) {
317
+ if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
318
+
319
+ if (list.length === 0) {
320
+ return new Buffer(0)
321
+ } else if (list.length === 1) {
322
+ return list[0]
323
+ }
324
+
325
+ var i
326
+ if (length === undefined) {
327
+ length = 0
328
+ for (i = 0; i < list.length; i++) {
329
+ length += list[i].length
330
+ }
331
+ }
332
+
333
+ var buf = new Buffer(length)
334
+ var pos = 0
335
+ for (i = 0; i < list.length; i++) {
336
+ var item = list[i]
337
+ item.copy(buf, pos)
338
+ pos += item.length
339
+ }
340
+ return buf
341
+ }
342
+
343
+ function byteLength (string, encoding) {
344
+ if (typeof string !== 'string') string = '' + string
345
+
346
+ var len = string.length
347
+ if (len === 0) return 0
348
+
349
+ // Use a for loop to avoid recursion
350
+ var loweredCase = false
351
+ for (;;) {
352
+ switch (encoding) {
353
+ case 'ascii':
354
+ case 'binary':
355
+ // Deprecated
356
+ case 'raw':
357
+ case 'raws':
358
+ return len
359
+ case 'utf8':
360
+ case 'utf-8':
361
+ return utf8ToBytes(string).length
362
+ case 'ucs2':
363
+ case 'ucs-2':
364
+ case 'utf16le':
365
+ case 'utf-16le':
366
+ return len * 2
367
+ case 'hex':
368
+ return len >>> 1
369
+ case 'base64':
370
+ return base64ToBytes(string).length
371
+ default:
372
+ if (loweredCase) return utf8ToBytes(string).length // assume utf8
373
+ encoding = ('' + encoding).toLowerCase()
374
+ loweredCase = true
375
+ }
376
+ }
377
+ }
378
+ Buffer.byteLength = byteLength
379
+
380
+ // pre-set for values that may exist in the future
381
+ Buffer.prototype.length = undefined
382
+ Buffer.prototype.parent = undefined
383
+
384
+ function slowToString (encoding, start, end) {
385
+ var loweredCase = false
386
+
387
+ start = start | 0
388
+ end = end === undefined || end === Infinity ? this.length : end | 0
389
+
390
+ if (!encoding) encoding = 'utf8'
391
+ if (start < 0) start = 0
392
+ if (end > this.length) end = this.length
393
+ if (end <= start) return ''
394
+
395
+ while (true) {
396
+ switch (encoding) {
397
+ case 'hex':
398
+ return hexSlice(this, start, end)
399
+
400
+ case 'utf8':
401
+ case 'utf-8':
402
+ return utf8Slice(this, start, end)
403
+
404
+ case 'ascii':
405
+ return asciiSlice(this, start, end)
406
+
407
+ case 'binary':
408
+ return binarySlice(this, start, end)
409
+
410
+ case 'base64':
411
+ return base64Slice(this, start, end)
412
+
413
+ case 'ucs2':
414
+ case 'ucs-2':
415
+ case 'utf16le':
416
+ case 'utf-16le':
417
+ return utf16leSlice(this, start, end)
418
+
419
+ default:
420
+ if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
421
+ encoding = (encoding + '').toLowerCase()
422
+ loweredCase = true
423
+ }
424
+ }
425
+ }
426
+
427
+ Buffer.prototype.toString = function toString () {
428
+ var length = this.length | 0
429
+ if (length === 0) return ''
430
+ if (arguments.length === 0) return utf8Slice(this, 0, length)
431
+ return slowToString.apply(this, arguments)
432
+ }
433
+
434
+ Buffer.prototype.equals = function equals (b) {
435
+ if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
436
+ if (this === b) return true
437
+ return Buffer.compare(this, b) === 0
438
+ }
439
+
440
+ Buffer.prototype.inspect = function inspect () {
441
+ var str = ''
442
+ var max = exports.INSPECT_MAX_BYTES
443
+ if (this.length > 0) {
444
+ str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
445
+ if (this.length > max) str += ' ... '
446
+ }
447
+ return '<Buffer ' + str + '>'
448
+ }
449
+
450
+ Buffer.prototype.compare = function compare (b) {
451
+ if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
452
+ if (this === b) return 0
453
+ return Buffer.compare(this, b)
454
+ }
455
+
456
+ Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
457
+ if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
458
+ else if (byteOffset < -0x80000000) byteOffset = -0x80000000
459
+ byteOffset >>= 0
460
+
461
+ if (this.length === 0) return -1
462
+ if (byteOffset >= this.length) return -1
463
+
464
+ // Negative offsets start from the end of the buffer
465
+ if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
466
+
467
+ if (typeof val === 'string') {
468
+ if (val.length === 0) return -1 // special case: looking for empty string always fails
469
+ return String.prototype.indexOf.call(this, val, byteOffset)
470
+ }
471
+ if (Buffer.isBuffer(val)) {
472
+ return arrayIndexOf(this, val, byteOffset)
473
+ }
474
+ if (typeof val === 'number') {
475
+ if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
476
+ return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
477
+ }
478
+ return arrayIndexOf(this, [ val ], byteOffset)
479
+ }
480
+
481
+ function arrayIndexOf (arr, val, byteOffset) {
482
+ var foundIndex = -1
483
+ for (var i = 0; byteOffset + i < arr.length; i++) {
484
+ if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
485
+ if (foundIndex === -1) foundIndex = i
486
+ if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
487
+ } else {
488
+ foundIndex = -1
489
+ }
490
+ }
491
+ return -1
492
+ }
493
+
494
+ throw new TypeError('val must be string, number or Buffer')
495
+ }
496
+
497
+ // `get` will be removed in Node 0.13+
498
+ Buffer.prototype.get = function get (offset) {
499
+ console.log('.get() is deprecated. Access using array indexes instead.')
500
+ return this.readUInt8(offset)
501
+ }
502
+
503
+ // `set` will be removed in Node 0.13+
504
+ Buffer.prototype.set = function set (v, offset) {
505
+ console.log('.set() is deprecated. Access using array indexes instead.')
506
+ return this.writeUInt8(v, offset)
507
+ }
508
+
509
+ function hexWrite (buf, string, offset, length) {
510
+ offset = Number(offset) || 0
511
+ var remaining = buf.length - offset
512
+ if (!length) {
513
+ length = remaining
514
+ } else {
515
+ length = Number(length)
516
+ if (length > remaining) {
517
+ length = remaining
518
+ }
519
+ }
520
+
521
+ // must be an even number of digits
522
+ var strLen = string.length
523
+ if (strLen % 2 !== 0) throw new Error('Invalid hex string')
524
+
525
+ if (length > strLen / 2) {
526
+ length = strLen / 2
527
+ }
528
+ for (var i = 0; i < length; i++) {
529
+ var parsed = parseInt(string.substr(i * 2, 2), 16)
530
+ if (isNaN(parsed)) throw new Error('Invalid hex string')
531
+ buf[offset + i] = parsed
532
+ }
533
+ return i
534
+ }
535
+
536
+ function utf8Write (buf, string, offset, length) {
537
+ return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
538
+ }
539
+
540
+ function asciiWrite (buf, string, offset, length) {
541
+ return blitBuffer(asciiToBytes(string), buf, offset, length)
542
+ }
543
+
544
+ function binaryWrite (buf, string, offset, length) {
545
+ return asciiWrite(buf, string, offset, length)
546
+ }
547
+
548
+ function base64Write (buf, string, offset, length) {
549
+ return blitBuffer(base64ToBytes(string), buf, offset, length)
550
+ }
551
+
552
+ function ucs2Write (buf, string, offset, length) {
553
+ return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
554
+ }
555
+
556
+ Buffer.prototype.write = function write (string, offset, length, encoding) {
557
+ // Buffer#write(string)
558
+ if (offset === undefined) {
559
+ encoding = 'utf8'
560
+ length = this.length
561
+ offset = 0
562
+ // Buffer#write(string, encoding)
563
+ } else if (length === undefined && typeof offset === 'string') {
564
+ encoding = offset
565
+ length = this.length
566
+ offset = 0
567
+ // Buffer#write(string, offset[, length][, encoding])
568
+ } else if (isFinite(offset)) {
569
+ offset = offset | 0
570
+ if (isFinite(length)) {
571
+ length = length | 0
572
+ if (encoding === undefined) encoding = 'utf8'
573
+ } else {
574
+ encoding = length
575
+ length = undefined
576
+ }
577
+ // legacy write(string, encoding, offset, length) - remove in v0.13
578
+ } else {
579
+ var swap = encoding
580
+ encoding = offset
581
+ offset = length | 0
582
+ length = swap
583
+ }
584
+
585
+ var remaining = this.length - offset
586
+ if (length === undefined || length > remaining) length = remaining
587
+
588
+ if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
589
+ throw new RangeError('attempt to write outside buffer bounds')
590
+ }
591
+
592
+ if (!encoding) encoding = 'utf8'
593
+
594
+ var loweredCase = false
595
+ for (;;) {
596
+ switch (encoding) {
597
+ case 'hex':
598
+ return hexWrite(this, string, offset, length)
599
+
600
+ case 'utf8':
601
+ case 'utf-8':
602
+ return utf8Write(this, string, offset, length)
603
+
604
+ case 'ascii':
605
+ return asciiWrite(this, string, offset, length)
606
+
607
+ case 'binary':
608
+ return binaryWrite(this, string, offset, length)
609
+
610
+ case 'base64':
611
+ // Warning: maxLength not taken into account in base64Write
612
+ return base64Write(this, string, offset, length)
613
+
614
+ case 'ucs2':
615
+ case 'ucs-2':
616
+ case 'utf16le':
617
+ case 'utf-16le':
618
+ return ucs2Write(this, string, offset, length)
619
+
620
+ default:
621
+ if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
622
+ encoding = ('' + encoding).toLowerCase()
623
+ loweredCase = true
624
+ }
625
+ }
626
+ }
627
+
628
+ Buffer.prototype.toJSON = function toJSON () {
629
+ return {
630
+ type: 'Buffer',
631
+ data: Array.prototype.slice.call(this._arr || this, 0)
632
+ }
633
+ }
634
+
635
+ function base64Slice (buf, start, end) {
636
+ if (start === 0 && end === buf.length) {
637
+ return base64.fromByteArray(buf)
638
+ } else {
639
+ return base64.fromByteArray(buf.slice(start, end))
640
+ }
641
+ }
642
+
643
+ function utf8Slice (buf, start, end) {
644
+ var res = ''
645
+ var tmp = ''
646
+ end = Math.min(buf.length, end)
647
+
648
+ for (var i = start; i < end; i++) {
649
+ if (buf[i] <= 0x7F) {
650
+ res += decodeUtf8Char(tmp) + String.fromCharCode(buf[i])
651
+ tmp = ''
652
+ } else {
653
+ tmp += '%' + buf[i].toString(16)
654
+ }
655
+ }
656
+
657
+ return res + decodeUtf8Char(tmp)
658
+ }
659
+
660
+ function asciiSlice (buf, start, end) {
661
+ var ret = ''
662
+ end = Math.min(buf.length, end)
663
+
664
+ for (var i = start; i < end; i++) {
665
+ ret += String.fromCharCode(buf[i] & 0x7F)
666
+ }
667
+ return ret
668
+ }
669
+
670
+ function binarySlice (buf, start, end) {
671
+ var ret = ''
672
+ end = Math.min(buf.length, end)
673
+
674
+ for (var i = start; i < end; i++) {
675
+ ret += String.fromCharCode(buf[i])
676
+ }
677
+ return ret
678
+ }
679
+
680
+ function hexSlice (buf, start, end) {
681
+ var len = buf.length
682
+
683
+ if (!start || start < 0) start = 0
684
+ if (!end || end < 0 || end > len) end = len
685
+
686
+ var out = ''
687
+ for (var i = start; i < end; i++) {
688
+ out += toHex(buf[i])
689
+ }
690
+ return out
691
+ }
692
+
693
+ function utf16leSlice (buf, start, end) {
694
+ var bytes = buf.slice(start, end)
695
+ var res = ''
696
+ for (var i = 0; i < bytes.length; i += 2) {
697
+ res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
698
+ }
699
+ return res
700
+ }
701
+
702
+ Buffer.prototype.slice = function slice (start, end) {
703
+ var len = this.length
704
+ start = ~~start
705
+ end = end === undefined ? len : ~~end
706
+
707
+ if (start < 0) {
708
+ start += len
709
+ if (start < 0) start = 0
710
+ } else if (start > len) {
711
+ start = len
712
+ }
713
+
714
+ if (end < 0) {
715
+ end += len
716
+ if (end < 0) end = 0
717
+ } else if (end > len) {
718
+ end = len
719
+ }
720
+
721
+ if (end < start) end = start
722
+
723
+ var newBuf
724
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
725
+ newBuf = Buffer._augment(this.subarray(start, end))
726
+ } else {
727
+ var sliceLen = end - start
728
+ newBuf = new Buffer(sliceLen, undefined)
729
+ for (var i = 0; i < sliceLen; i++) {
730
+ newBuf[i] = this[i + start]
731
+ }
732
+ }
733
+
734
+ if (newBuf.length) newBuf.parent = this.parent || this
735
+
736
+ return newBuf
737
+ }
738
+
739
+ /*
740
+ * Need to make sure that buffer isn't trying to write out of bounds.
741
+ */
742
+ function checkOffset (offset, ext, length) {
743
+ if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
744
+ if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
745
+ }
746
+
747
+ Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
748
+ offset = offset | 0
749
+ byteLength = byteLength | 0
750
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
751
+
752
+ var val = this[offset]
753
+ var mul = 1
754
+ var i = 0
755
+ while (++i < byteLength && (mul *= 0x100)) {
756
+ val += this[offset + i] * mul
757
+ }
758
+
759
+ return val
760
+ }
761
+
762
+ Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
763
+ offset = offset | 0
764
+ byteLength = byteLength | 0
765
+ if (!noAssert) {
766
+ checkOffset(offset, byteLength, this.length)
767
+ }
768
+
769
+ var val = this[offset + --byteLength]
770
+ var mul = 1
771
+ while (byteLength > 0 && (mul *= 0x100)) {
772
+ val += this[offset + --byteLength] * mul
773
+ }
774
+
775
+ return val
776
+ }
777
+
778
+ Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
779
+ if (!noAssert) checkOffset(offset, 1, this.length)
780
+ return this[offset]
781
+ }
782
+
783
+ Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
784
+ if (!noAssert) checkOffset(offset, 2, this.length)
785
+ return this[offset] | (this[offset + 1] << 8)
786
+ }
787
+
788
+ Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
789
+ if (!noAssert) checkOffset(offset, 2, this.length)
790
+ return (this[offset] << 8) | this[offset + 1]
791
+ }
792
+
793
+ Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
794
+ if (!noAssert) checkOffset(offset, 4, this.length)
795
+
796
+ return ((this[offset]) |
797
+ (this[offset + 1] << 8) |
798
+ (this[offset + 2] << 16)) +
799
+ (this[offset + 3] * 0x1000000)
800
+ }
801
+
802
+ Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
803
+ if (!noAssert) checkOffset(offset, 4, this.length)
804
+
805
+ return (this[offset] * 0x1000000) +
806
+ ((this[offset + 1] << 16) |
807
+ (this[offset + 2] << 8) |
808
+ this[offset + 3])
809
+ }
810
+
811
+ Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
812
+ offset = offset | 0
813
+ byteLength = byteLength | 0
814
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
815
+
816
+ var val = this[offset]
817
+ var mul = 1
818
+ var i = 0
819
+ while (++i < byteLength && (mul *= 0x100)) {
820
+ val += this[offset + i] * mul
821
+ }
822
+ mul *= 0x80
823
+
824
+ if (val >= mul) val -= Math.pow(2, 8 * byteLength)
825
+
826
+ return val
827
+ }
828
+
829
+ Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
830
+ offset = offset | 0
831
+ byteLength = byteLength | 0
832
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
833
+
834
+ var i = byteLength
835
+ var mul = 1
836
+ var val = this[offset + --i]
837
+ while (i > 0 && (mul *= 0x100)) {
838
+ val += this[offset + --i] * mul
839
+ }
840
+ mul *= 0x80
841
+
842
+ if (val >= mul) val -= Math.pow(2, 8 * byteLength)
843
+
844
+ return val
845
+ }
846
+
847
+ Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
848
+ if (!noAssert) checkOffset(offset, 1, this.length)
849
+ if (!(this[offset] & 0x80)) return (this[offset])
850
+ return ((0xff - this[offset] + 1) * -1)
851
+ }
852
+
853
+ Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
854
+ if (!noAssert) checkOffset(offset, 2, this.length)
855
+ var val = this[offset] | (this[offset + 1] << 8)
856
+ return (val & 0x8000) ? val | 0xFFFF0000 : val
857
+ }
858
+
859
+ Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
860
+ if (!noAssert) checkOffset(offset, 2, this.length)
861
+ var val = this[offset + 1] | (this[offset] << 8)
862
+ return (val & 0x8000) ? val | 0xFFFF0000 : val
863
+ }
864
+
865
+ Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
866
+ if (!noAssert) checkOffset(offset, 4, this.length)
867
+
868
+ return (this[offset]) |
869
+ (this[offset + 1] << 8) |
870
+ (this[offset + 2] << 16) |
871
+ (this[offset + 3] << 24)
872
+ }
873
+
874
+ Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
875
+ if (!noAssert) checkOffset(offset, 4, this.length)
876
+
877
+ return (this[offset] << 24) |
878
+ (this[offset + 1] << 16) |
879
+ (this[offset + 2] << 8) |
880
+ (this[offset + 3])
881
+ }
882
+
883
+ Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
884
+ if (!noAssert) checkOffset(offset, 4, this.length)
885
+ return ieee754.read(this, offset, true, 23, 4)
886
+ }
887
+
888
+ Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
889
+ if (!noAssert) checkOffset(offset, 4, this.length)
890
+ return ieee754.read(this, offset, false, 23, 4)
891
+ }
892
+
893
+ Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
894
+ if (!noAssert) checkOffset(offset, 8, this.length)
895
+ return ieee754.read(this, offset, true, 52, 8)
896
+ }
897
+
898
+ Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
899
+ if (!noAssert) checkOffset(offset, 8, this.length)
900
+ return ieee754.read(this, offset, false, 52, 8)
901
+ }
902
+
903
+ function checkInt (buf, value, offset, ext, max, min) {
904
+ if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
905
+ if (value > max || value < min) throw new RangeError('value is out of bounds')
906
+ if (offset + ext > buf.length) throw new RangeError('index out of range')
907
+ }
908
+
909
+ Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
910
+ value = +value
911
+ offset = offset | 0
912
+ byteLength = byteLength | 0
913
+ if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
914
+
915
+ var mul = 1
916
+ var i = 0
917
+ this[offset] = value & 0xFF
918
+ while (++i < byteLength && (mul *= 0x100)) {
919
+ this[offset + i] = (value / mul) & 0xFF
920
+ }
921
+
922
+ return offset + byteLength
923
+ }
924
+
925
+ Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
926
+ value = +value
927
+ offset = offset | 0
928
+ byteLength = byteLength | 0
929
+ if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
930
+
931
+ var i = byteLength - 1
932
+ var mul = 1
933
+ this[offset + i] = value & 0xFF
934
+ while (--i >= 0 && (mul *= 0x100)) {
935
+ this[offset + i] = (value / mul) & 0xFF
936
+ }
937
+
938
+ return offset + byteLength
939
+ }
940
+
941
+ Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
942
+ value = +value
943
+ offset = offset | 0
944
+ if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
945
+ if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
946
+ this[offset] = value
947
+ return offset + 1
948
+ }
949
+
950
+ function objectWriteUInt16 (buf, value, offset, littleEndian) {
951
+ if (value < 0) value = 0xffff + value + 1
952
+ for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
953
+ buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
954
+ (littleEndian ? i : 1 - i) * 8
955
+ }
956
+ }
957
+
958
+ Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
959
+ value = +value
960
+ offset = offset | 0
961
+ if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
962
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
963
+ this[offset] = value
964
+ this[offset + 1] = (value >>> 8)
965
+ } else {
966
+ objectWriteUInt16(this, value, offset, true)
967
+ }
968
+ return offset + 2
969
+ }
970
+
971
+ Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
972
+ value = +value
973
+ offset = offset | 0
974
+ if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
975
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
976
+ this[offset] = (value >>> 8)
977
+ this[offset + 1] = value
978
+ } else {
979
+ objectWriteUInt16(this, value, offset, false)
980
+ }
981
+ return offset + 2
982
+ }
983
+
984
+ function objectWriteUInt32 (buf, value, offset, littleEndian) {
985
+ if (value < 0) value = 0xffffffff + value + 1
986
+ for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
987
+ buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
988
+ }
989
+ }
990
+
991
+ Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
992
+ value = +value
993
+ offset = offset | 0
994
+ if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
995
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
996
+ this[offset + 3] = (value >>> 24)
997
+ this[offset + 2] = (value >>> 16)
998
+ this[offset + 1] = (value >>> 8)
999
+ this[offset] = value
1000
+ } else {
1001
+ objectWriteUInt32(this, value, offset, true)
1002
+ }
1003
+ return offset + 4
1004
+ }
1005
+
1006
+ Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
1007
+ value = +value
1008
+ offset = offset | 0
1009
+ if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
1010
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
1011
+ this[offset] = (value >>> 24)
1012
+ this[offset + 1] = (value >>> 16)
1013
+ this[offset + 2] = (value >>> 8)
1014
+ this[offset + 3] = value
1015
+ } else {
1016
+ objectWriteUInt32(this, value, offset, false)
1017
+ }
1018
+ return offset + 4
1019
+ }
1020
+
1021
+ Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
1022
+ value = +value
1023
+ offset = offset | 0
1024
+ if (!noAssert) {
1025
+ var limit = Math.pow(2, 8 * byteLength - 1)
1026
+
1027
+ checkInt(this, value, offset, byteLength, limit - 1, -limit)
1028
+ }
1029
+
1030
+ var i = 0
1031
+ var mul = 1
1032
+ var sub = value < 0 ? 1 : 0
1033
+ this[offset] = value & 0xFF
1034
+ while (++i < byteLength && (mul *= 0x100)) {
1035
+ this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
1036
+ }
1037
+
1038
+ return offset + byteLength
1039
+ }
1040
+
1041
+ Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
1042
+ value = +value
1043
+ offset = offset | 0
1044
+ if (!noAssert) {
1045
+ var limit = Math.pow(2, 8 * byteLength - 1)
1046
+
1047
+ checkInt(this, value, offset, byteLength, limit - 1, -limit)
1048
+ }
1049
+
1050
+ var i = byteLength - 1
1051
+ var mul = 1
1052
+ var sub = value < 0 ? 1 : 0
1053
+ this[offset + i] = value & 0xFF
1054
+ while (--i >= 0 && (mul *= 0x100)) {
1055
+ this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
1056
+ }
1057
+
1058
+ return offset + byteLength
1059
+ }
1060
+
1061
+ Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
1062
+ value = +value
1063
+ offset = offset | 0
1064
+ if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
1065
+ if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
1066
+ if (value < 0) value = 0xff + value + 1
1067
+ this[offset] = value
1068
+ return offset + 1
1069
+ }
1070
+
1071
+ Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
1072
+ value = +value
1073
+ offset = offset | 0
1074
+ if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
1075
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
1076
+ this[offset] = value
1077
+ this[offset + 1] = (value >>> 8)
1078
+ } else {
1079
+ objectWriteUInt16(this, value, offset, true)
1080
+ }
1081
+ return offset + 2
1082
+ }
1083
+
1084
+ Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
1085
+ value = +value
1086
+ offset = offset | 0
1087
+ if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
1088
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
1089
+ this[offset] = (value >>> 8)
1090
+ this[offset + 1] = value
1091
+ } else {
1092
+ objectWriteUInt16(this, value, offset, false)
1093
+ }
1094
+ return offset + 2
1095
+ }
1096
+
1097
+ Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
1098
+ value = +value
1099
+ offset = offset | 0
1100
+ if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
1101
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
1102
+ this[offset] = value
1103
+ this[offset + 1] = (value >>> 8)
1104
+ this[offset + 2] = (value >>> 16)
1105
+ this[offset + 3] = (value >>> 24)
1106
+ } else {
1107
+ objectWriteUInt32(this, value, offset, true)
1108
+ }
1109
+ return offset + 4
1110
+ }
1111
+
1112
+ Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
1113
+ value = +value
1114
+ offset = offset | 0
1115
+ if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
1116
+ if (value < 0) value = 0xffffffff + value + 1
1117
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
1118
+ this[offset] = (value >>> 24)
1119
+ this[offset + 1] = (value >>> 16)
1120
+ this[offset + 2] = (value >>> 8)
1121
+ this[offset + 3] = value
1122
+ } else {
1123
+ objectWriteUInt32(this, value, offset, false)
1124
+ }
1125
+ return offset + 4
1126
+ }
1127
+
1128
+ function checkIEEE754 (buf, value, offset, ext, max, min) {
1129
+ if (value > max || value < min) throw new RangeError('value is out of bounds')
1130
+ if (offset + ext > buf.length) throw new RangeError('index out of range')
1131
+ if (offset < 0) throw new RangeError('index out of range')
1132
+ }
1133
+
1134
+ function writeFloat (buf, value, offset, littleEndian, noAssert) {
1135
+ if (!noAssert) {
1136
+ checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
1137
+ }
1138
+ ieee754.write(buf, value, offset, littleEndian, 23, 4)
1139
+ return offset + 4
1140
+ }
1141
+
1142
+ Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
1143
+ return writeFloat(this, value, offset, true, noAssert)
1144
+ }
1145
+
1146
+ Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
1147
+ return writeFloat(this, value, offset, false, noAssert)
1148
+ }
1149
+
1150
+ function writeDouble (buf, value, offset, littleEndian, noAssert) {
1151
+ if (!noAssert) {
1152
+ checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
1153
+ }
1154
+ ieee754.write(buf, value, offset, littleEndian, 52, 8)
1155
+ return offset + 8
1156
+ }
1157
+
1158
+ Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
1159
+ return writeDouble(this, value, offset, true, noAssert)
1160
+ }
1161
+
1162
+ Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
1163
+ return writeDouble(this, value, offset, false, noAssert)
1164
+ }
1165
+
1166
+ // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
1167
+ Buffer.prototype.copy = function copy (target, targetStart, start, end) {
1168
+ if (!start) start = 0
1169
+ if (!end && end !== 0) end = this.length
1170
+ if (targetStart >= target.length) targetStart = target.length
1171
+ if (!targetStart) targetStart = 0
1172
+ if (end > 0 && end < start) end = start
1173
+
1174
+ // Copy 0 bytes; we're done
1175
+ if (end === start) return 0
1176
+ if (target.length === 0 || this.length === 0) return 0
1177
+
1178
+ // Fatal error conditions
1179
+ if (targetStart < 0) {
1180
+ throw new RangeError('targetStart out of bounds')
1181
+ }
1182
+ if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
1183
+ if (end < 0) throw new RangeError('sourceEnd out of bounds')
1184
+
1185
+ // Are we oob?
1186
+ if (end > this.length) end = this.length
1187
+ if (target.length - targetStart < end - start) {
1188
+ end = target.length - targetStart + start
1189
+ }
1190
+
1191
+ var len = end - start
1192
+
1193
+ if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
1194
+ for (var i = 0; i < len; i++) {
1195
+ target[i + targetStart] = this[i + start]
1196
+ }
1197
+ } else {
1198
+ target._set(this.subarray(start, start + len), targetStart)
1199
+ }
1200
+
1201
+ return len
1202
+ }
1203
+
1204
+ // fill(value, start=0, end=buffer.length)
1205
+ Buffer.prototype.fill = function fill (value, start, end) {
1206
+ if (!value) value = 0
1207
+ if (!start) start = 0
1208
+ if (!end) end = this.length
1209
+
1210
+ if (end < start) throw new RangeError('end < start')
1211
+
1212
+ // Fill 0 bytes; we're done
1213
+ if (end === start) return
1214
+ if (this.length === 0) return
1215
+
1216
+ if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
1217
+ if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
1218
+
1219
+ var i
1220
+ if (typeof value === 'number') {
1221
+ for (i = start; i < end; i++) {
1222
+ this[i] = value
1223
+ }
1224
+ } else {
1225
+ var bytes = utf8ToBytes(value.toString())
1226
+ var len = bytes.length
1227
+ for (i = start; i < end; i++) {
1228
+ this[i] = bytes[i % len]
1229
+ }
1230
+ }
1231
+
1232
+ return this
1233
+ }
1234
+
1235
+ /**
1236
+ * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
1237
+ * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
1238
+ */
1239
+ Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
1240
+ if (typeof Uint8Array !== 'undefined') {
1241
+ if (Buffer.TYPED_ARRAY_SUPPORT) {
1242
+ return (new Buffer(this)).buffer
1243
+ } else {
1244
+ var buf = new Uint8Array(this.length)
1245
+ for (var i = 0, len = buf.length; i < len; i += 1) {
1246
+ buf[i] = this[i]
1247
+ }
1248
+ return buf.buffer
1249
+ }
1250
+ } else {
1251
+ throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
1252
+ }
1253
+ }
1254
+
1255
+ // HELPER FUNCTIONS
1256
+ // ================
1257
+
1258
+ var BP = Buffer.prototype
1259
+
1260
+ /**
1261
+ * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
1262
+ */
1263
+ Buffer._augment = function _augment (arr) {
1264
+ arr.constructor = Buffer
1265
+ arr._isBuffer = true
1266
+
1267
+ // save reference to original Uint8Array set method before overwriting
1268
+ arr._set = arr.set
1269
+
1270
+ // deprecated, will be removed in node 0.13+
1271
+ arr.get = BP.get
1272
+ arr.set = BP.set
1273
+
1274
+ arr.write = BP.write
1275
+ arr.toString = BP.toString
1276
+ arr.toLocaleString = BP.toString
1277
+ arr.toJSON = BP.toJSON
1278
+ arr.equals = BP.equals
1279
+ arr.compare = BP.compare
1280
+ arr.indexOf = BP.indexOf
1281
+ arr.copy = BP.copy
1282
+ arr.slice = BP.slice
1283
+ arr.readUIntLE = BP.readUIntLE
1284
+ arr.readUIntBE = BP.readUIntBE
1285
+ arr.readUInt8 = BP.readUInt8
1286
+ arr.readUInt16LE = BP.readUInt16LE
1287
+ arr.readUInt16BE = BP.readUInt16BE
1288
+ arr.readUInt32LE = BP.readUInt32LE
1289
+ arr.readUInt32BE = BP.readUInt32BE
1290
+ arr.readIntLE = BP.readIntLE
1291
+ arr.readIntBE = BP.readIntBE
1292
+ arr.readInt8 = BP.readInt8
1293
+ arr.readInt16LE = BP.readInt16LE
1294
+ arr.readInt16BE = BP.readInt16BE
1295
+ arr.readInt32LE = BP.readInt32LE
1296
+ arr.readInt32BE = BP.readInt32BE
1297
+ arr.readFloatLE = BP.readFloatLE
1298
+ arr.readFloatBE = BP.readFloatBE
1299
+ arr.readDoubleLE = BP.readDoubleLE
1300
+ arr.readDoubleBE = BP.readDoubleBE
1301
+ arr.writeUInt8 = BP.writeUInt8
1302
+ arr.writeUIntLE = BP.writeUIntLE
1303
+ arr.writeUIntBE = BP.writeUIntBE
1304
+ arr.writeUInt16LE = BP.writeUInt16LE
1305
+ arr.writeUInt16BE = BP.writeUInt16BE
1306
+ arr.writeUInt32LE = BP.writeUInt32LE
1307
+ arr.writeUInt32BE = BP.writeUInt32BE
1308
+ arr.writeIntLE = BP.writeIntLE
1309
+ arr.writeIntBE = BP.writeIntBE
1310
+ arr.writeInt8 = BP.writeInt8
1311
+ arr.writeInt16LE = BP.writeInt16LE
1312
+ arr.writeInt16BE = BP.writeInt16BE
1313
+ arr.writeInt32LE = BP.writeInt32LE
1314
+ arr.writeInt32BE = BP.writeInt32BE
1315
+ arr.writeFloatLE = BP.writeFloatLE
1316
+ arr.writeFloatBE = BP.writeFloatBE
1317
+ arr.writeDoubleLE = BP.writeDoubleLE
1318
+ arr.writeDoubleBE = BP.writeDoubleBE
1319
+ arr.fill = BP.fill
1320
+ arr.inspect = BP.inspect
1321
+ arr.toArrayBuffer = BP.toArrayBuffer
1322
+
1323
+ return arr
1324
+ }
1325
+
1326
+ var INVALID_BASE64_RE = /[^+\/0-9A-z\-]/g
1327
+
1328
+ function base64clean (str) {
1329
+ // Node strips out invalid characters like \n and \t from the string, base64-js does not
1330
+ str = stringtrim(str).replace(INVALID_BASE64_RE, '')
1331
+ // Node converts strings with length < 2 to ''
1332
+ if (str.length < 2) return ''
1333
+ // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
1334
+ while (str.length % 4 !== 0) {
1335
+ str = str + '='
1336
+ }
1337
+ return str
1338
+ }
1339
+
1340
+ function stringtrim (str) {
1341
+ if (str.trim) return str.trim()
1342
+ return str.replace(/^\s+|\s+$/g, '')
1343
+ }
1344
+
1345
+ function toHex (n) {
1346
+ if (n < 16) return '0' + n.toString(16)
1347
+ return n.toString(16)
1348
+ }
1349
+
1350
+ function utf8ToBytes (string, units) {
1351
+ units = units || Infinity
1352
+ var codePoint
1353
+ var length = string.length
1354
+ var leadSurrogate = null
1355
+ var bytes = []
1356
+ var i = 0
1357
+
1358
+ for (; i < length; i++) {
1359
+ codePoint = string.charCodeAt(i)
1360
+
1361
+ // is surrogate component
1362
+ if (codePoint > 0xD7FF && codePoint < 0xE000) {
1363
+ // last char was a lead
1364
+ if (leadSurrogate) {
1365
+ // 2 leads in a row
1366
+ if (codePoint < 0xDC00) {
1367
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1368
+ leadSurrogate = codePoint
1369
+ continue
1370
+ } else {
1371
+ // valid surrogate pair
1372
+ codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
1373
+ leadSurrogate = null
1374
+ }
1375
+ } else {
1376
+ // no lead yet
1377
+
1378
+ if (codePoint > 0xDBFF) {
1379
+ // unexpected trail
1380
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1381
+ continue
1382
+ } else if (i + 1 === length) {
1383
+ // unpaired lead
1384
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1385
+ continue
1386
+ } else {
1387
+ // valid lead
1388
+ leadSurrogate = codePoint
1389
+ continue
1390
+ }
1391
+ }
1392
+ } else if (leadSurrogate) {
1393
+ // valid bmp char, but last char was a lead
1394
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1395
+ leadSurrogate = null
1396
+ }
1397
+
1398
+ // encode utf8
1399
+ if (codePoint < 0x80) {
1400
+ if ((units -= 1) < 0) break
1401
+ bytes.push(codePoint)
1402
+ } else if (codePoint < 0x800) {
1403
+ if ((units -= 2) < 0) break
1404
+ bytes.push(
1405
+ codePoint >> 0x6 | 0xC0,
1406
+ codePoint & 0x3F | 0x80
1407
+ )
1408
+ } else if (codePoint < 0x10000) {
1409
+ if ((units -= 3) < 0) break
1410
+ bytes.push(
1411
+ codePoint >> 0xC | 0xE0,
1412
+ codePoint >> 0x6 & 0x3F | 0x80,
1413
+ codePoint & 0x3F | 0x80
1414
+ )
1415
+ } else if (codePoint < 0x200000) {
1416
+ if ((units -= 4) < 0) break
1417
+ bytes.push(
1418
+ codePoint >> 0x12 | 0xF0,
1419
+ codePoint >> 0xC & 0x3F | 0x80,
1420
+ codePoint >> 0x6 & 0x3F | 0x80,
1421
+ codePoint & 0x3F | 0x80
1422
+ )
1423
+ } else {
1424
+ throw new Error('Invalid code point')
1425
+ }
1426
+ }
1427
+
1428
+ return bytes
1429
+ }
1430
+
1431
+ function asciiToBytes (str) {
1432
+ var byteArray = []
1433
+ for (var i = 0; i < str.length; i++) {
1434
+ // Node's code seems to be doing this and not & 0x7F..
1435
+ byteArray.push(str.charCodeAt(i) & 0xFF)
1436
+ }
1437
+ return byteArray
1438
+ }
1439
+
1440
+ function utf16leToBytes (str, units) {
1441
+ var c, hi, lo
1442
+ var byteArray = []
1443
+ for (var i = 0; i < str.length; i++) {
1444
+ if ((units -= 2) < 0) break
1445
+
1446
+ c = str.charCodeAt(i)
1447
+ hi = c >> 8
1448
+ lo = c % 256
1449
+ byteArray.push(lo)
1450
+ byteArray.push(hi)
1451
+ }
1452
+
1453
+ return byteArray
1454
+ }
1455
+
1456
+ function base64ToBytes (str) {
1457
+ return base64.toByteArray(base64clean(str))
1458
+ }
1459
+
1460
+ function blitBuffer (src, dst, offset, length) {
1461
+ for (var i = 0; i < length; i++) {
1462
+ if ((i + offset >= dst.length) || (i >= src.length)) break
1463
+ dst[i + offset] = src[i]
1464
+ }
1465
+ return i
1466
+ }
1467
+
1468
+ function decodeUtf8Char (str) {
1469
+ try {
1470
+ return decodeURIComponent(str)
1471
+ } catch (err) {
1472
+ return String.fromCharCode(0xFFFD) // UTF 8 invalid char
1473
+ }
1474
+ }
1475
+
1476
+ },{"base64-js":14,"ieee754":15,"is-array":16}],14:[function(require,module,exports){
1477
+ var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
1478
+
1479
+ ;(function (exports) {
1480
+ 'use strict';
1481
+
1482
+ var Arr = (typeof Uint8Array !== 'undefined')
1483
+ ? Uint8Array
1484
+ : Array
1485
+
1486
+ var PLUS = '+'.charCodeAt(0)
1487
+ var SLASH = '/'.charCodeAt(0)
1488
+ var NUMBER = '0'.charCodeAt(0)
1489
+ var LOWER = 'a'.charCodeAt(0)
1490
+ var UPPER = 'A'.charCodeAt(0)
1491
+ var PLUS_URL_SAFE = '-'.charCodeAt(0)
1492
+ var SLASH_URL_SAFE = '_'.charCodeAt(0)
1493
+
1494
+ function decode (elt) {
1495
+ var code = elt.charCodeAt(0)
1496
+ if (code === PLUS ||
1497
+ code === PLUS_URL_SAFE)
1498
+ return 62 // '+'
1499
+ if (code === SLASH ||
1500
+ code === SLASH_URL_SAFE)
1501
+ return 63 // '/'
1502
+ if (code < NUMBER)
1503
+ return -1 //no match
1504
+ if (code < NUMBER + 10)
1505
+ return code - NUMBER + 26 + 26
1506
+ if (code < UPPER + 26)
1507
+ return code - UPPER
1508
+ if (code < LOWER + 26)
1509
+ return code - LOWER + 26
1510
+ }
1511
+
1512
+ function b64ToByteArray (b64) {
1513
+ var i, j, l, tmp, placeHolders, arr
1514
+
1515
+ if (b64.length % 4 > 0) {
1516
+ throw new Error('Invalid string. Length must be a multiple of 4')
1517
+ }
1518
+
1519
+ // the number of equal signs (place holders)
1520
+ // if there are two placeholders, than the two characters before it
1521
+ // represent one byte
1522
+ // if there is only one, then the three characters before it represent 2 bytes
1523
+ // this is just a cheap hack to not do indexOf twice
1524
+ var len = b64.length
1525
+ placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
1526
+
1527
+ // base64 is 4/3 + up to two characters of the original data
1528
+ arr = new Arr(b64.length * 3 / 4 - placeHolders)
1529
+
1530
+ // if there are placeholders, only get up to the last complete 4 chars
1531
+ l = placeHolders > 0 ? b64.length - 4 : b64.length
1532
+
1533
+ var L = 0
1534
+
1535
+ function push (v) {
1536
+ arr[L++] = v
1537
+ }
1538
+
1539
+ for (i = 0, j = 0; i < l; i += 4, j += 3) {
1540
+ tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
1541
+ push((tmp & 0xFF0000) >> 16)
1542
+ push((tmp & 0xFF00) >> 8)
1543
+ push(tmp & 0xFF)
1544
+ }
1545
+
1546
+ if (placeHolders === 2) {
1547
+ tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
1548
+ push(tmp & 0xFF)
1549
+ } else if (placeHolders === 1) {
1550
+ tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
1551
+ push((tmp >> 8) & 0xFF)
1552
+ push(tmp & 0xFF)
1553
+ }
1554
+
1555
+ return arr
1556
+ }
1557
+
1558
+ function uint8ToBase64 (uint8) {
1559
+ var i,
1560
+ extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
1561
+ output = "",
1562
+ temp, length
1563
+
1564
+ function encode (num) {
1565
+ return lookup.charAt(num)
1566
+ }
1567
+
1568
+ function tripletToBase64 (num) {
1569
+ return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
1570
+ }
1571
+
1572
+ // go through the array every three bytes, we'll deal with trailing stuff later
1573
+ for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
1574
+ temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
1575
+ output += tripletToBase64(temp)
1576
+ }
1577
+
1578
+ // pad the end with zeros, but make sure to not forget the extra bytes
1579
+ switch (extraBytes) {
1580
+ case 1:
1581
+ temp = uint8[uint8.length - 1]
1582
+ output += encode(temp >> 2)
1583
+ output += encode((temp << 4) & 0x3F)
1584
+ output += '=='
1585
+ break
1586
+ case 2:
1587
+ temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
1588
+ output += encode(temp >> 10)
1589
+ output += encode((temp >> 4) & 0x3F)
1590
+ output += encode((temp << 2) & 0x3F)
1591
+ output += '='
1592
+ break
1593
+ }
1594
+
1595
+ return output
1596
+ }
1597
+
1598
+ exports.toByteArray = b64ToByteArray
1599
+ exports.fromByteArray = uint8ToBase64
1600
+ }(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
1601
+
1602
+ },{}],15:[function(require,module,exports){
1603
+ exports.read = function (buffer, offset, isLE, mLen, nBytes) {
1604
+ var e, m
1605
+ var eLen = nBytes * 8 - mLen - 1
1606
+ var eMax = (1 << eLen) - 1
1607
+ var eBias = eMax >> 1
1608
+ var nBits = -7
1609
+ var i = isLE ? (nBytes - 1) : 0
1610
+ var d = isLE ? -1 : 1
1611
+ var s = buffer[offset + i]
1612
+
1613
+ i += d
1614
+
1615
+ e = s & ((1 << (-nBits)) - 1)
1616
+ s >>= (-nBits)
1617
+ nBits += eLen
1618
+ for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
1619
+
1620
+ m = e & ((1 << (-nBits)) - 1)
1621
+ e >>= (-nBits)
1622
+ nBits += mLen
1623
+ for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
1624
+
1625
+ if (e === 0) {
1626
+ e = 1 - eBias
1627
+ } else if (e === eMax) {
1628
+ return m ? NaN : ((s ? -1 : 1) * Infinity)
1629
+ } else {
1630
+ m = m + Math.pow(2, mLen)
1631
+ e = e - eBias
1632
+ }
1633
+ return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
1634
+ }
1635
+
1636
+ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
1637
+ var e, m, c
1638
+ var eLen = nBytes * 8 - mLen - 1
1639
+ var eMax = (1 << eLen) - 1
1640
+ var eBias = eMax >> 1
1641
+ var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
1642
+ var i = isLE ? 0 : (nBytes - 1)
1643
+ var d = isLE ? 1 : -1
1644
+ var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
1645
+
1646
+ value = Math.abs(value)
1647
+
1648
+ if (isNaN(value) || value === Infinity) {
1649
+ m = isNaN(value) ? 1 : 0
1650
+ e = eMax
1651
+ } else {
1652
+ e = Math.floor(Math.log(value) / Math.LN2)
1653
+ if (value * (c = Math.pow(2, -e)) < 1) {
1654
+ e--
1655
+ c *= 2
1656
+ }
1657
+ if (e + eBias >= 1) {
1658
+ value += rt / c
1659
+ } else {
1660
+ value += rt * Math.pow(2, 1 - eBias)
1661
+ }
1662
+ if (value * c >= 2) {
1663
+ e++
1664
+ c /= 2
1665
+ }
1666
+
1667
+ if (e + eBias >= eMax) {
1668
+ m = 0
1669
+ e = eMax
1670
+ } else if (e + eBias >= 1) {
1671
+ m = (value * c - 1) * Math.pow(2, mLen)
1672
+ e = e + eBias
1673
+ } else {
1674
+ m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
1675
+ e = 0
1676
+ }
1677
+ }
1678
+
1679
+ for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
1680
+
1681
+ e = (e << mLen) | m
1682
+ eLen += mLen
1683
+ for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
1684
+
1685
+ buffer[offset + i - d] |= s * 128
1686
+ }
1687
+
1688
+ },{}],16:[function(require,module,exports){
1689
+
1690
+ /**
1691
+ * isArray
1692
+ */
1693
+
1694
+ var isArray = Array.isArray;
1695
+
1696
+ /**
1697
+ * toString
1698
+ */
1699
+
1700
+ var str = Object.prototype.toString;
1701
+
1702
+ /**
1703
+ * Whether or not the given `val`
1704
+ * is an array.
1705
+ *
1706
+ * example:
1707
+ *
1708
+ * isArray([]);
1709
+ * // > true
1710
+ * isArray(arguments);
1711
+ * // > false
1712
+ * isArray('');
1713
+ * // > false
1714
+ *
1715
+ * @param {mixed} val
1716
+ * @return {bool}
1717
+ */
1718
+
1719
+ module.exports = isArray || function (val) {
1720
+ return !! val && '[object Array]' == str.call(val);
1721
+ };
1722
+
1723
+ },{}],17:[function(require,module,exports){
1724
+ (function (process){
1725
+ // Copyright Joyent, Inc. and other Node contributors.
1726
+ //
1727
+ // Permission is hereby granted, free of charge, to any person obtaining a
1728
+ // copy of this software and associated documentation files (the
1729
+ // "Software"), to deal in the Software without restriction, including
1730
+ // without limitation the rights to use, copy, modify, merge, publish,
1731
+ // distribute, sublicense, and/or sell copies of the Software, and to permit
1732
+ // persons to whom the Software is furnished to do so, subject to the
1733
+ // following conditions:
1734
+ //
1735
+ // The above copyright notice and this permission notice shall be included
1736
+ // in all copies or substantial portions of the Software.
1737
+ //
1738
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1739
+ // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1740
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1741
+ // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1742
+ // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1743
+ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1744
+ // USE OR OTHER DEALINGS IN THE SOFTWARE.
1745
+
1746
+ // resolves . and .. elements in a path array with directory names there
1747
+ // must be no slashes, empty elements, or device names (c:\) in the array
1748
+ // (so also no leading and trailing slashes - it does not distinguish
1749
+ // relative and absolute paths)
1750
+ function normalizeArray(parts, allowAboveRoot) {
1751
+ // if the path tries to go above the root, `up` ends up > 0
1752
+ var up = 0;
1753
+ for (var i = parts.length - 1; i >= 0; i--) {
1754
+ var last = parts[i];
1755
+ if (last === '.') {
1756
+ parts.splice(i, 1);
1757
+ } else if (last === '..') {
1758
+ parts.splice(i, 1);
1759
+ up++;
1760
+ } else if (up) {
1761
+ parts.splice(i, 1);
1762
+ up--;
1763
+ }
1764
+ }
1765
+
1766
+ // if the path is allowed to go above the root, restore leading ..s
1767
+ if (allowAboveRoot) {
1768
+ for (; up--; up) {
1769
+ parts.unshift('..');
1770
+ }
1771
+ }
1772
+
1773
+ return parts;
1774
+ }
1775
+
1776
+ // Split a filename into [root, dir, basename, ext], unix version
1777
+ // 'root' is just a slash, or nothing.
1778
+ var splitPathRe =
1779
+ /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
1780
+ var splitPath = function(filename) {
1781
+ return splitPathRe.exec(filename).slice(1);
1782
+ };
1783
+
1784
+ // path.resolve([from ...], to)
1785
+ // posix version
1786
+ exports.resolve = function() {
1787
+ var resolvedPath = '',
1788
+ resolvedAbsolute = false;
1789
+
1790
+ for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
1791
+ var path = (i >= 0) ? arguments[i] : process.cwd();
1792
+
1793
+ // Skip empty and invalid entries
1794
+ if (typeof path !== 'string') {
1795
+ throw new TypeError('Arguments to path.resolve must be strings');
1796
+ } else if (!path) {
1797
+ continue;
1798
+ }
1799
+
1800
+ resolvedPath = path + '/' + resolvedPath;
1801
+ resolvedAbsolute = path.charAt(0) === '/';
1802
+ }
1803
+
1804
+ // At this point the path should be resolved to a full absolute path, but
1805
+ // handle relative paths to be safe (might happen when process.cwd() fails)
1806
+
1807
+ // Normalize the path
1808
+ resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {
1809
+ return !!p;
1810
+ }), !resolvedAbsolute).join('/');
1811
+
1812
+ return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
1813
+ };
1814
+
1815
+ // path.normalize(path)
1816
+ // posix version
1817
+ exports.normalize = function(path) {
1818
+ var isAbsolute = exports.isAbsolute(path),
1819
+ trailingSlash = substr(path, -1) === '/';
1820
+
1821
+ // Normalize the path
1822
+ path = normalizeArray(filter(path.split('/'), function(p) {
1823
+ return !!p;
1824
+ }), !isAbsolute).join('/');
1825
+
1826
+ if (!path && !isAbsolute) {
1827
+ path = '.';
1828
+ }
1829
+ if (path && trailingSlash) {
1830
+ path += '/';
1831
+ }
1832
+
1833
+ return (isAbsolute ? '/' : '') + path;
1834
+ };
1835
+
1836
+ // posix version
1837
+ exports.isAbsolute = function(path) {
1838
+ return path.charAt(0) === '/';
1839
+ };
1840
+
1841
+ // posix version
1842
+ exports.join = function() {
1843
+ var paths = Array.prototype.slice.call(arguments, 0);
1844
+ return exports.normalize(filter(paths, function(p, index) {
1845
+ if (typeof p !== 'string') {
1846
+ throw new TypeError('Arguments to path.join must be strings');
1847
+ }
1848
+ return p;
1849
+ }).join('/'));
1850
+ };
1851
+
1852
+
1853
+ // path.relative(from, to)
1854
+ // posix version
1855
+ exports.relative = function(from, to) {
1856
+ from = exports.resolve(from).substr(1);
1857
+ to = exports.resolve(to).substr(1);
1858
+
1859
+ function trim(arr) {
1860
+ var start = 0;
1861
+ for (; start < arr.length; start++) {
1862
+ if (arr[start] !== '') break;
1863
+ }
1864
+
1865
+ var end = arr.length - 1;
1866
+ for (; end >= 0; end--) {
1867
+ if (arr[end] !== '') break;
1868
+ }
1869
+
1870
+ if (start > end) return [];
1871
+ return arr.slice(start, end - start + 1);
1872
+ }
1873
+
1874
+ var fromParts = trim(from.split('/'));
1875
+ var toParts = trim(to.split('/'));
1876
+
1877
+ var length = Math.min(fromParts.length, toParts.length);
1878
+ var samePartsLength = length;
1879
+ for (var i = 0; i < length; i++) {
1880
+ if (fromParts[i] !== toParts[i]) {
1881
+ samePartsLength = i;
1882
+ break;
1883
+ }
1884
+ }
1885
+
1886
+ var outputParts = [];
1887
+ for (var i = samePartsLength; i < fromParts.length; i++) {
1888
+ outputParts.push('..');
1889
+ }
1890
+
1891
+ outputParts = outputParts.concat(toParts.slice(samePartsLength));
1892
+
1893
+ return outputParts.join('/');
1894
+ };
1895
+
1896
+ exports.sep = '/';
1897
+ exports.delimiter = ':';
1898
+
1899
+ exports.dirname = function(path) {
1900
+ var result = splitPath(path),
1901
+ root = result[0],
1902
+ dir = result[1];
1903
+
1904
+ if (!root && !dir) {
1905
+ // No dirname whatsoever
1906
+ return '.';
1907
+ }
1908
+
1909
+ if (dir) {
1910
+ // It has a dirname, strip trailing slash
1911
+ dir = dir.substr(0, dir.length - 1);
1912
+ }
1913
+
1914
+ return root + dir;
1915
+ };
1916
+
1917
+
1918
+ exports.basename = function(path, ext) {
1919
+ var f = splitPath(path)[2];
1920
+ // TODO: make this comparison case-insensitive on windows?
1921
+ if (ext && f.substr(-1 * ext.length) === ext) {
1922
+ f = f.substr(0, f.length - ext.length);
1923
+ }
1924
+ return f;
1925
+ };
1926
+
1927
+
1928
+ exports.extname = function(path) {
1929
+ return splitPath(path)[3];
1930
+ };
1931
+
1932
+ function filter (xs, f) {
1933
+ if (xs.filter) return xs.filter(f);
1934
+ var res = [];
1935
+ for (var i = 0; i < xs.length; i++) {
1936
+ if (f(xs[i], i, xs)) res.push(xs[i]);
1937
+ }
1938
+ return res;
1939
+ }
1940
+
1941
+ // String.prototype.substr - negative index don't work in IE8
1942
+ var substr = 'ab'.substr(-1) === 'b'
1943
+ ? function (str, start, len) { return str.substr(start, len) }
1944
+ : function (str, start, len) {
1945
+ if (start < 0) start = str.length + start;
1946
+ return str.substr(start, len);
1947
+ }
1948
+ ;
1949
+
1950
+ }).call(this,require('_process'))
1951
+ },{"_process":18}],18:[function(require,module,exports){
1952
+ // shim for using process in browser
1953
+
1954
+ var process = module.exports = {};
1955
+ var queue = [];
1956
+ var draining = false;
1957
+
1958
+ function drainQueue() {
1959
+ if (draining) {
1960
+ return;
1961
+ }
1962
+ draining = true;
1963
+ var currentQueue;
1964
+ var len = queue.length;
1965
+ while(len) {
1966
+ currentQueue = queue;
1967
+ queue = [];
1968
+ var i = -1;
1969
+ while (++i < len) {
1970
+ currentQueue[i]();
1971
+ }
1972
+ len = queue.length;
1973
+ }
1974
+ draining = false;
1975
+ }
1976
+ process.nextTick = function (fun) {
1977
+ queue.push(fun);
1978
+ if (!draining) {
1979
+ setTimeout(drainQueue, 0);
1980
+ }
1981
+ };
1982
+
1983
+ process.title = 'browser';
1984
+ process.browser = true;
1985
+ process.env = {};
1986
+ process.argv = [];
1987
+ process.version = ''; // empty string to avoid regexp issues
1988
+ process.versions = {};
1989
+
1990
+ function noop() {}
1991
+
1992
+ process.on = noop;
1993
+ process.addListener = noop;
1994
+ process.once = noop;
1995
+ process.off = noop;
1996
+ process.removeListener = noop;
1997
+ process.removeAllListeners = noop;
1998
+ process.emit = noop;
1999
+
2000
+ process.binding = function (name) {
2001
+ throw new Error('process.binding is not supported');
2002
+ };
2003
+
2004
+ // TODO(shtylman)
2005
+ process.cwd = function () { return '/' };
2006
+ process.chdir = function (dir) {
2007
+ throw new Error('process.chdir is not supported');
2008
+ };
2009
+ process.umask = function() { return 0; };
2010
+
2011
+ },{}],19:[function(require,module,exports){
2012
+ (function (global){
2013
+ /**
2014
+ * marked - a markdown parser
2015
+ * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)
2016
+ * https://github.com/chjj/marked
2017
+ */
2018
+
2019
+ ;(function() {
2020
+
2021
+ /**
2022
+ * Block-Level Grammar
2023
+ */
2024
+
2025
+ var block = {
2026
+ newline: /^\n+/,
2027
+ code: /^( {4}[^\n]+\n*)+/,
2028
+ fences: noop,
2029
+ hr: /^( *[-*_]){3,} *(?:\n+|$)/,
2030
+ heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
2031
+ nptable: noop,
2032
+ lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,
2033
+ blockquote: /^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,
2034
+ list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
2035
+ html: /^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,
2036
+ def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,
2037
+ table: noop,
2038
+ paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,
2039
+ text: /^[^\n]+/
2040
+ };
2041
+
2042
+ block.bullet = /(?:[*+-]|\d+\.)/;
2043
+ block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;
2044
+ block.item = replace(block.item, 'gm')
2045
+ (/bull/g, block.bullet)
2046
+ ();
2047
+
2048
+ block.list = replace(block.list)
2049
+ (/bull/g, block.bullet)
2050
+ ('hr', '\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')
2051
+ ('def', '\\n+(?=' + block.def.source + ')')
2052
+ ();
2053
+
2054
+ block.blockquote = replace(block.blockquote)
2055
+ ('def', block.def)
2056
+ ();
2057
+
2058
+ block._tag = '(?!(?:'
2059
+ + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'
2060
+ + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'
2061
+ + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';
2062
+
2063
+ block.html = replace(block.html)
2064
+ ('comment', /<!--[\s\S]*?-->/)
2065
+ ('closed', /<(tag)[\s\S]+?<\/\1>/)
2066
+ ('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)
2067
+ (/tag/g, block._tag)
2068
+ ();
2069
+
2070
+ block.paragraph = replace(block.paragraph)
2071
+ ('hr', block.hr)
2072
+ ('heading', block.heading)
2073
+ ('lheading', block.lheading)
2074
+ ('blockquote', block.blockquote)
2075
+ ('tag', '<' + block._tag)
2076
+ ('def', block.def)
2077
+ ();
2078
+
2079
+ /**
2080
+ * Normal Block Grammar
2081
+ */
2082
+
2083
+ block.normal = merge({}, block);
2084
+
2085
+ /**
2086
+ * GFM Block Grammar
2087
+ */
2088
+
2089
+ block.gfm = merge({}, block.normal, {
2090
+ fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,
2091
+ paragraph: /^/
2092
+ });
2093
+
2094
+ block.gfm.paragraph = replace(block.paragraph)
2095
+ ('(?!', '(?!'
2096
+ + block.gfm.fences.source.replace('\\1', '\\2') + '|'
2097
+ + block.list.source.replace('\\1', '\\3') + '|')
2098
+ ();
2099
+
2100
+ /**
2101
+ * GFM + Tables Block Grammar
2102
+ */
2103
+
2104
+ block.tables = merge({}, block.gfm, {
2105
+ nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
2106
+ table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
2107
+ });
2108
+
2109
+ /**
2110
+ * Block Lexer
2111
+ */
2112
+
2113
+ function Lexer(options) {
2114
+ this.tokens = [];
2115
+ this.tokens.links = {};
2116
+ this.options = options || marked.defaults;
2117
+ this.rules = block.normal;
2118
+
2119
+ if (this.options.gfm) {
2120
+ if (this.options.tables) {
2121
+ this.rules = block.tables;
2122
+ } else {
2123
+ this.rules = block.gfm;
2124
+ }
2125
+ }
2126
+ }
2127
+
2128
+ /**
2129
+ * Expose Block Rules
2130
+ */
2131
+
2132
+ Lexer.rules = block;
2133
+
2134
+ /**
2135
+ * Static Lex Method
2136
+ */
2137
+
2138
+ Lexer.lex = function(src, options) {
2139
+ var lexer = new Lexer(options);
2140
+ return lexer.lex(src);
2141
+ };
2142
+
2143
+ /**
2144
+ * Preprocessing
2145
+ */
2146
+
2147
+ Lexer.prototype.lex = function(src) {
2148
+ src = src
2149
+ .replace(/\r\n|\r/g, '\n')
2150
+ .replace(/\t/g, ' ')
2151
+ .replace(/\u00a0/g, ' ')
2152
+ .replace(/\u2424/g, '\n');
2153
+
2154
+ return this.token(src, true);
2155
+ };
2156
+
2157
+ /**
2158
+ * Lexing
2159
+ */
2160
+
2161
+ Lexer.prototype.token = function(src, top, bq) {
2162
+ var src = src.replace(/^ +$/gm, '')
2163
+ , next
2164
+ , loose
2165
+ , cap
2166
+ , bull
2167
+ , b
2168
+ , item
2169
+ , space
2170
+ , i
2171
+ , l;
2172
+
2173
+ while (src) {
2174
+ // newline
2175
+ if (cap = this.rules.newline.exec(src)) {
2176
+ src = src.substring(cap[0].length);
2177
+ if (cap[0].length > 1) {
2178
+ this.tokens.push({
2179
+ type: 'space'
2180
+ });
2181
+ }
2182
+ }
2183
+
2184
+ // code
2185
+ if (cap = this.rules.code.exec(src)) {
2186
+ src = src.substring(cap[0].length);
2187
+ cap = cap[0].replace(/^ {4}/gm, '');
2188
+ this.tokens.push({
2189
+ type: 'code',
2190
+ text: !this.options.pedantic
2191
+ ? cap.replace(/\n+$/, '')
2192
+ : cap
2193
+ });
2194
+ continue;
2195
+ }
2196
+
2197
+ // fences (gfm)
2198
+ if (cap = this.rules.fences.exec(src)) {
2199
+ src = src.substring(cap[0].length);
2200
+ this.tokens.push({
2201
+ type: 'code',
2202
+ lang: cap[2],
2203
+ text: cap[3]
2204
+ });
2205
+ continue;
2206
+ }
2207
+
2208
+ // heading
2209
+ if (cap = this.rules.heading.exec(src)) {
2210
+ src = src.substring(cap[0].length);
2211
+ this.tokens.push({
2212
+ type: 'heading',
2213
+ depth: cap[1].length,
2214
+ text: cap[2]
2215
+ });
2216
+ continue;
2217
+ }
2218
+
2219
+ // table no leading pipe (gfm)
2220
+ if (top && (cap = this.rules.nptable.exec(src))) {
2221
+ src = src.substring(cap[0].length);
2222
+
2223
+ item = {
2224
+ type: 'table',
2225
+ header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
2226
+ align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
2227
+ cells: cap[3].replace(/\n$/, '').split('\n')
2228
+ };
2229
+
2230
+ for (i = 0; i < item.align.length; i++) {
2231
+ if (/^ *-+: *$/.test(item.align[i])) {
2232
+ item.align[i] = 'right';
2233
+ } else if (/^ *:-+: *$/.test(item.align[i])) {
2234
+ item.align[i] = 'center';
2235
+ } else if (/^ *:-+ *$/.test(item.align[i])) {
2236
+ item.align[i] = 'left';
2237
+ } else {
2238
+ item.align[i] = null;
2239
+ }
2240
+ }
2241
+
2242
+ for (i = 0; i < item.cells.length; i++) {
2243
+ item.cells[i] = item.cells[i].split(/ *\| */);
2244
+ }
2245
+
2246
+ this.tokens.push(item);
2247
+
2248
+ continue;
2249
+ }
2250
+
2251
+ // lheading
2252
+ if (cap = this.rules.lheading.exec(src)) {
2253
+ src = src.substring(cap[0].length);
2254
+ this.tokens.push({
2255
+ type: 'heading',
2256
+ depth: cap[2] === '=' ? 1 : 2,
2257
+ text: cap[1]
2258
+ });
2259
+ continue;
2260
+ }
2261
+
2262
+ // hr
2263
+ if (cap = this.rules.hr.exec(src)) {
2264
+ src = src.substring(cap[0].length);
2265
+ this.tokens.push({
2266
+ type: 'hr'
2267
+ });
2268
+ continue;
2269
+ }
2270
+
2271
+ // blockquote
2272
+ if (cap = this.rules.blockquote.exec(src)) {
2273
+ src = src.substring(cap[0].length);
2274
+
2275
+ this.tokens.push({
2276
+ type: 'blockquote_start'
2277
+ });
2278
+
2279
+ cap = cap[0].replace(/^ *> ?/gm, '');
2280
+
2281
+ // Pass `top` to keep the current
2282
+ // "toplevel" state. This is exactly
2283
+ // how markdown.pl works.
2284
+ this.token(cap, top, true);
2285
+
2286
+ this.tokens.push({
2287
+ type: 'blockquote_end'
2288
+ });
2289
+
2290
+ continue;
2291
+ }
2292
+
2293
+ // list
2294
+ if (cap = this.rules.list.exec(src)) {
2295
+ src = src.substring(cap[0].length);
2296
+ bull = cap[2];
2297
+
2298
+ this.tokens.push({
2299
+ type: 'list_start',
2300
+ ordered: bull.length > 1
2301
+ });
2302
+
2303
+ // Get each top-level item.
2304
+ cap = cap[0].match(this.rules.item);
2305
+
2306
+ next = false;
2307
+ l = cap.length;
2308
+ i = 0;
2309
+
2310
+ for (; i < l; i++) {
2311
+ item = cap[i];
2312
+
2313
+ // Remove the list item's bullet
2314
+ // so it is seen as the next token.
2315
+ space = item.length;
2316
+ item = item.replace(/^ *([*+-]|\d+\.) +/, '');
2317
+
2318
+ // Outdent whatever the
2319
+ // list item contains. Hacky.
2320
+ if (~item.indexOf('\n ')) {
2321
+ space -= item.length;
2322
+ item = !this.options.pedantic
2323
+ ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
2324
+ : item.replace(/^ {1,4}/gm, '');
2325
+ }
2326
+
2327
+ // Determine whether the next list item belongs here.
2328
+ // Backpedal if it does not belong in this list.
2329
+ if (this.options.smartLists && i !== l - 1) {
2330
+ b = block.bullet.exec(cap[i + 1])[0];
2331
+ if (bull !== b && !(bull.length > 1 && b.length > 1)) {
2332
+ src = cap.slice(i + 1).join('\n') + src;
2333
+ i = l - 1;
2334
+ }
2335
+ }
2336
+
2337
+ // Determine whether item is loose or not.
2338
+ // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
2339
+ // for discount behavior.
2340
+ loose = next || /\n\n(?!\s*$)/.test(item);
2341
+ if (i !== l - 1) {
2342
+ next = item.charAt(item.length - 1) === '\n';
2343
+ if (!loose) loose = next;
2344
+ }
2345
+
2346
+ this.tokens.push({
2347
+ type: loose
2348
+ ? 'loose_item_start'
2349
+ : 'list_item_start'
2350
+ });
2351
+
2352
+ // Recurse.
2353
+ this.token(item, false, bq);
2354
+
2355
+ this.tokens.push({
2356
+ type: 'list_item_end'
2357
+ });
2358
+ }
2359
+
2360
+ this.tokens.push({
2361
+ type: 'list_end'
2362
+ });
2363
+
2364
+ continue;
2365
+ }
2366
+
2367
+ // html
2368
+ if (cap = this.rules.html.exec(src)) {
2369
+ src = src.substring(cap[0].length);
2370
+ this.tokens.push({
2371
+ type: this.options.sanitize
2372
+ ? 'paragraph'
2373
+ : 'html',
2374
+ pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',
2375
+ text: cap[0]
2376
+ });
2377
+ continue;
2378
+ }
2379
+
2380
+ // def
2381
+ if ((!bq && top) && (cap = this.rules.def.exec(src))) {
2382
+ src = src.substring(cap[0].length);
2383
+ this.tokens.links[cap[1].toLowerCase()] = {
2384
+ href: cap[2],
2385
+ title: cap[3]
2386
+ };
2387
+ continue;
2388
+ }
2389
+
2390
+ // table (gfm)
2391
+ if (top && (cap = this.rules.table.exec(src))) {
2392
+ src = src.substring(cap[0].length);
2393
+
2394
+ item = {
2395
+ type: 'table',
2396
+ header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
2397
+ align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
2398
+ cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n')
2399
+ };
2400
+
2401
+ for (i = 0; i < item.align.length; i++) {
2402
+ if (/^ *-+: *$/.test(item.align[i])) {
2403
+ item.align[i] = 'right';
2404
+ } else if (/^ *:-+: *$/.test(item.align[i])) {
2405
+ item.align[i] = 'center';
2406
+ } else if (/^ *:-+ *$/.test(item.align[i])) {
2407
+ item.align[i] = 'left';
2408
+ } else {
2409
+ item.align[i] = null;
2410
+ }
2411
+ }
2412
+
2413
+ for (i = 0; i < item.cells.length; i++) {
2414
+ item.cells[i] = item.cells[i]
2415
+ .replace(/^ *\| *| *\| *$/g, '')
2416
+ .split(/ *\| */);
2417
+ }
2418
+
2419
+ this.tokens.push(item);
2420
+
2421
+ continue;
2422
+ }
2423
+
2424
+ // top-level paragraph
2425
+ if (top && (cap = this.rules.paragraph.exec(src))) {
2426
+ src = src.substring(cap[0].length);
2427
+ this.tokens.push({
2428
+ type: 'paragraph',
2429
+ text: cap[1].charAt(cap[1].length - 1) === '\n'
2430
+ ? cap[1].slice(0, -1)
2431
+ : cap[1]
2432
+ });
2433
+ continue;
2434
+ }
2435
+
2436
+ // text
2437
+ if (cap = this.rules.text.exec(src)) {
2438
+ // Top-level should never reach here.
2439
+ src = src.substring(cap[0].length);
2440
+ this.tokens.push({
2441
+ type: 'text',
2442
+ text: cap[0]
2443
+ });
2444
+ continue;
2445
+ }
2446
+
2447
+ if (src) {
2448
+ throw new
2449
+ Error('Infinite loop on byte: ' + src.charCodeAt(0));
2450
+ }
2451
+ }
2452
+
2453
+ return this.tokens;
2454
+ };
2455
+
2456
+ /**
2457
+ * Inline-Level Grammar
2458
+ */
2459
+
2460
+ var inline = {
2461
+ escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
2462
+ autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
2463
+ url: noop,
2464
+ tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
2465
+ link: /^!?\[(inside)\]\(href\)/,
2466
+ reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
2467
+ nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
2468
+ strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
2469
+ em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
2470
+ code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
2471
+ br: /^ {2,}\n(?!\s*$)/,
2472
+ del: noop,
2473
+ text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
2474
+ };
2475
+
2476
+ inline._inside = /(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;
2477
+ inline._href = /\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
2478
+
2479
+ inline.link = replace(inline.link)
2480
+ ('inside', inline._inside)
2481
+ ('href', inline._href)
2482
+ ();
2483
+
2484
+ inline.reflink = replace(inline.reflink)
2485
+ ('inside', inline._inside)
2486
+ ();
2487
+
2488
+ /**
2489
+ * Normal Inline Grammar
2490
+ */
2491
+
2492
+ inline.normal = merge({}, inline);
2493
+
2494
+ /**
2495
+ * Pedantic Inline Grammar
2496
+ */
2497
+
2498
+ inline.pedantic = merge({}, inline.normal, {
2499
+ strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
2500
+ em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
2501
+ });
2502
+
2503
+ /**
2504
+ * GFM Inline Grammar
2505
+ */
2506
+
2507
+ inline.gfm = merge({}, inline.normal, {
2508
+ escape: replace(inline.escape)('])', '~|])')(),
2509
+ url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
2510
+ del: /^~~(?=\S)([\s\S]*?\S)~~/,
2511
+ text: replace(inline.text)
2512
+ (']|', '~]|')
2513
+ ('|', '|https?://|')
2514
+ ()
2515
+ });
2516
+
2517
+ /**
2518
+ * GFM + Line Breaks Inline Grammar
2519
+ */
2520
+
2521
+ inline.breaks = merge({}, inline.gfm, {
2522
+ br: replace(inline.br)('{2,}', '*')(),
2523
+ text: replace(inline.gfm.text)('{2,}', '*')()
2524
+ });
2525
+
2526
+ /**
2527
+ * Inline Lexer & Compiler
2528
+ */
2529
+
2530
+ function InlineLexer(links, options) {
2531
+ this.options = options || marked.defaults;
2532
+ this.links = links;
2533
+ this.rules = inline.normal;
2534
+ this.renderer = this.options.renderer || new Renderer;
2535
+ this.renderer.options = this.options;
2536
+
2537
+ if (!this.links) {
2538
+ throw new
2539
+ Error('Tokens array requires a `links` property.');
2540
+ }
2541
+
2542
+ if (this.options.gfm) {
2543
+ if (this.options.breaks) {
2544
+ this.rules = inline.breaks;
2545
+ } else {
2546
+ this.rules = inline.gfm;
2547
+ }
2548
+ } else if (this.options.pedantic) {
2549
+ this.rules = inline.pedantic;
2550
+ }
2551
+ }
2552
+
2553
+ /**
2554
+ * Expose Inline Rules
2555
+ */
2556
+
2557
+ InlineLexer.rules = inline;
2558
+
2559
+ /**
2560
+ * Static Lexing/Compiling Method
2561
+ */
2562
+
2563
+ InlineLexer.output = function(src, links, options) {
2564
+ var inline = new InlineLexer(links, options);
2565
+ return inline.output(src);
2566
+ };
2567
+
2568
+ /**
2569
+ * Lexing/Compiling
2570
+ */
2571
+
2572
+ InlineLexer.prototype.output = function(src) {
2573
+ var out = ''
2574
+ , link
2575
+ , text
2576
+ , href
2577
+ , cap;
2578
+
2579
+ while (src) {
2580
+ // escape
2581
+ if (cap = this.rules.escape.exec(src)) {
2582
+ src = src.substring(cap[0].length);
2583
+ out += cap[1];
2584
+ continue;
2585
+ }
2586
+
2587
+ // autolink
2588
+ if (cap = this.rules.autolink.exec(src)) {
2589
+ src = src.substring(cap[0].length);
2590
+ if (cap[2] === '@') {
2591
+ text = cap[1].charAt(6) === ':'
2592
+ ? this.mangle(cap[1].substring(7))
2593
+ : this.mangle(cap[1]);
2594
+ href = this.mangle('mailto:') + text;
2595
+ } else {
2596
+ text = escape(cap[1]);
2597
+ href = text;
2598
+ }
2599
+ out += this.renderer.link(href, null, text);
2600
+ continue;
2601
+ }
2602
+
2603
+ // url (gfm)
2604
+ if (!this.inLink && (cap = this.rules.url.exec(src))) {
2605
+ src = src.substring(cap[0].length);
2606
+ text = escape(cap[1]);
2607
+ href = text;
2608
+ out += this.renderer.link(href, null, text);
2609
+ continue;
2610
+ }
2611
+
2612
+ // tag
2613
+ if (cap = this.rules.tag.exec(src)) {
2614
+ if (!this.inLink && /^<a /i.test(cap[0])) {
2615
+ this.inLink = true;
2616
+ } else if (this.inLink && /^<\/a>/i.test(cap[0])) {
2617
+ this.inLink = false;
2618
+ }
2619
+ src = src.substring(cap[0].length);
2620
+ out += this.options.sanitize
2621
+ ? escape(cap[0])
2622
+ : cap[0];
2623
+ continue;
2624
+ }
2625
+
2626
+ // link
2627
+ if (cap = this.rules.link.exec(src)) {
2628
+ src = src.substring(cap[0].length);
2629
+ this.inLink = true;
2630
+ out += this.outputLink(cap, {
2631
+ href: cap[2],
2632
+ title: cap[3]
2633
+ });
2634
+ this.inLink = false;
2635
+ continue;
2636
+ }
2637
+
2638
+ // reflink, nolink
2639
+ if ((cap = this.rules.reflink.exec(src))
2640
+ || (cap = this.rules.nolink.exec(src))) {
2641
+ src = src.substring(cap[0].length);
2642
+ link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
2643
+ link = this.links[link.toLowerCase()];
2644
+ if (!link || !link.href) {
2645
+ out += cap[0].charAt(0);
2646
+ src = cap[0].substring(1) + src;
2647
+ continue;
2648
+ }
2649
+ this.inLink = true;
2650
+ out += this.outputLink(cap, link);
2651
+ this.inLink = false;
2652
+ continue;
2653
+ }
2654
+
2655
+ // strong
2656
+ if (cap = this.rules.strong.exec(src)) {
2657
+ src = src.substring(cap[0].length);
2658
+ out += this.renderer.strong(this.output(cap[2] || cap[1]));
2659
+ continue;
2660
+ }
2661
+
2662
+ // em
2663
+ if (cap = this.rules.em.exec(src)) {
2664
+ src = src.substring(cap[0].length);
2665
+ out += this.renderer.em(this.output(cap[2] || cap[1]));
2666
+ continue;
2667
+ }
2668
+
2669
+ // code
2670
+ if (cap = this.rules.code.exec(src)) {
2671
+ src = src.substring(cap[0].length);
2672
+ out += this.renderer.codespan(escape(cap[2], true));
2673
+ continue;
2674
+ }
2675
+
2676
+ // br
2677
+ if (cap = this.rules.br.exec(src)) {
2678
+ src = src.substring(cap[0].length);
2679
+ out += this.renderer.br();
2680
+ continue;
2681
+ }
2682
+
2683
+ // del (gfm)
2684
+ if (cap = this.rules.del.exec(src)) {
2685
+ src = src.substring(cap[0].length);
2686
+ out += this.renderer.del(this.output(cap[1]));
2687
+ continue;
2688
+ }
2689
+
2690
+ // text
2691
+ if (cap = this.rules.text.exec(src)) {
2692
+ src = src.substring(cap[0].length);
2693
+ out += escape(this.smartypants(cap[0]));
2694
+ continue;
2695
+ }
2696
+
2697
+ if (src) {
2698
+ throw new
2699
+ Error('Infinite loop on byte: ' + src.charCodeAt(0));
2700
+ }
2701
+ }
2702
+
2703
+ return out;
2704
+ };
2705
+
2706
+ /**
2707
+ * Compile Link
2708
+ */
2709
+
2710
+ InlineLexer.prototype.outputLink = function(cap, link) {
2711
+ var href = escape(link.href)
2712
+ , title = link.title ? escape(link.title) : null;
2713
+
2714
+ return cap[0].charAt(0) !== '!'
2715
+ ? this.renderer.link(href, title, this.output(cap[1]))
2716
+ : this.renderer.image(href, title, escape(cap[1]));
2717
+ };
2718
+
2719
+ /**
2720
+ * Smartypants Transformations
2721
+ */
2722
+
2723
+ InlineLexer.prototype.smartypants = function(text) {
2724
+ if (!this.options.smartypants) return text;
2725
+ return text
2726
+ // em-dashes
2727
+ .replace(/--/g, '\u2014')
2728
+ // opening singles
2729
+ .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018')
2730
+ // closing singles & apostrophes
2731
+ .replace(/'/g, '\u2019')
2732
+ // opening doubles
2733
+ .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c')
2734
+ // closing doubles
2735
+ .replace(/"/g, '\u201d')
2736
+ // ellipses
2737
+ .replace(/\.{3}/g, '\u2026');
2738
+ };
2739
+
2740
+ /**
2741
+ * Mangle Links
2742
+ */
2743
+
2744
+ InlineLexer.prototype.mangle = function(text) {
2745
+ var out = ''
2746
+ , l = text.length
2747
+ , i = 0
2748
+ , ch;
2749
+
2750
+ for (; i < l; i++) {
2751
+ ch = text.charCodeAt(i);
2752
+ if (Math.random() > 0.5) {
2753
+ ch = 'x' + ch.toString(16);
2754
+ }
2755
+ out += '&#' + ch + ';';
2756
+ }
2757
+
2758
+ return out;
2759
+ };
2760
+
2761
+ /**
2762
+ * Renderer
2763
+ */
2764
+
2765
+ function Renderer(options) {
2766
+ this.options = options || {};
2767
+ }
2768
+
2769
+ Renderer.prototype.code = function(code, lang, escaped) {
2770
+ if (this.options.highlight) {
2771
+ var out = this.options.highlight(code, lang);
2772
+ if (out != null && out !== code) {
2773
+ escaped = true;
2774
+ code = out;
2775
+ }
2776
+ }
2777
+
2778
+ if (!lang) {
2779
+ return '<pre><code>'
2780
+ + (escaped ? code : escape(code, true))
2781
+ + '\n</code></pre>';
2782
+ }
2783
+
2784
+ return '<pre><code class="'
2785
+ + this.options.langPrefix
2786
+ + escape(lang, true)
2787
+ + '">'
2788
+ + (escaped ? code : escape(code, true))
2789
+ + '\n</code></pre>\n';
2790
+ };
2791
+
2792
+ Renderer.prototype.blockquote = function(quote) {
2793
+ return '<blockquote>\n' + quote + '</blockquote>\n';
2794
+ };
2795
+
2796
+ Renderer.prototype.html = function(html) {
2797
+ return html;
2798
+ };
2799
+
2800
+ Renderer.prototype.heading = function(text, level, raw) {
2801
+ return '<h'
2802
+ + level
2803
+ + ' id="'
2804
+ + this.options.headerPrefix
2805
+ + raw.toLowerCase().replace(/[^\w]+/g, '-')
2806
+ + '">'
2807
+ + text
2808
+ + '</h'
2809
+ + level
2810
+ + '>\n';
2811
+ };
2812
+
2813
+ Renderer.prototype.hr = function() {
2814
+ return this.options.xhtml ? '<hr/>\n' : '<hr>\n';
2815
+ };
2816
+
2817
+ Renderer.prototype.list = function(body, ordered) {
2818
+ var type = ordered ? 'ol' : 'ul';
2819
+ return '<' + type + '>\n' + body + '</' + type + '>\n';
2820
+ };
2821
+
2822
+ Renderer.prototype.listitem = function(text) {
2823
+ return '<li>' + text + '</li>\n';
2824
+ };
2825
+
2826
+ Renderer.prototype.paragraph = function(text) {
2827
+ return '<p>' + text + '</p>\n';
2828
+ };
2829
+
2830
+ Renderer.prototype.table = function(header, body) {
2831
+ return '<table>\n'
2832
+ + '<thead>\n'
2833
+ + header
2834
+ + '</thead>\n'
2835
+ + '<tbody>\n'
2836
+ + body
2837
+ + '</tbody>\n'
2838
+ + '</table>\n';
2839
+ };
2840
+
2841
+ Renderer.prototype.tablerow = function(content) {
2842
+ return '<tr>\n' + content + '</tr>\n';
2843
+ };
2844
+
2845
+ Renderer.prototype.tablecell = function(content, flags) {
2846
+ var type = flags.header ? 'th' : 'td';
2847
+ var tag = flags.align
2848
+ ? '<' + type + ' style="text-align:' + flags.align + '">'
2849
+ : '<' + type + '>';
2850
+ return tag + content + '</' + type + '>\n';
2851
+ };
2852
+
2853
+ // span level renderer
2854
+ Renderer.prototype.strong = function(text) {
2855
+ return '<strong>' + text + '</strong>';
2856
+ };
2857
+
2858
+ Renderer.prototype.em = function(text) {
2859
+ return '<em>' + text + '</em>';
2860
+ };
2861
+
2862
+ Renderer.prototype.codespan = function(text) {
2863
+ return '<code>' + text + '</code>';
2864
+ };
2865
+
2866
+ Renderer.prototype.br = function() {
2867
+ return this.options.xhtml ? '<br/>' : '<br>';
2868
+ };
2869
+
2870
+ Renderer.prototype.del = function(text) {
2871
+ return '<del>' + text + '</del>';
2872
+ };
2873
+
2874
+ Renderer.prototype.link = function(href, title, text) {
2875
+ if (this.options.sanitize) {
2876
+ try {
2877
+ var prot = decodeURIComponent(unescape(href))
2878
+ .replace(/[^\w:]/g, '')
2879
+ .toLowerCase();
2880
+ } catch (e) {
2881
+ return '';
2882
+ }
2883
+ if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0) {
2884
+ return '';
2885
+ }
2886
+ }
2887
+ var out = '<a href="' + href + '"';
2888
+ if (title) {
2889
+ out += ' title="' + title + '"';
2890
+ }
2891
+ out += '>' + text + '</a>';
2892
+ return out;
2893
+ };
2894
+
2895
+ Renderer.prototype.image = function(href, title, text) {
2896
+ var out = '<img src="' + href + '" alt="' + text + '"';
2897
+ if (title) {
2898
+ out += ' title="' + title + '"';
2899
+ }
2900
+ out += this.options.xhtml ? '/>' : '>';
2901
+ return out;
2902
+ };
2903
+
2904
+ /**
2905
+ * Parsing & Compiling
2906
+ */
2907
+
2908
+ function Parser(options) {
2909
+ this.tokens = [];
2910
+ this.token = null;
2911
+ this.options = options || marked.defaults;
2912
+ this.options.renderer = this.options.renderer || new Renderer;
2913
+ this.renderer = this.options.renderer;
2914
+ this.renderer.options = this.options;
2915
+ }
2916
+
2917
+ /**
2918
+ * Static Parse Method
2919
+ */
2920
+
2921
+ Parser.parse = function(src, options, renderer) {
2922
+ var parser = new Parser(options, renderer);
2923
+ return parser.parse(src);
2924
+ };
2925
+
2926
+ /**
2927
+ * Parse Loop
2928
+ */
2929
+
2930
+ Parser.prototype.parse = function(src) {
2931
+ this.inline = new InlineLexer(src.links, this.options, this.renderer);
2932
+ this.tokens = src.reverse();
2933
+
2934
+ var out = '';
2935
+ while (this.next()) {
2936
+ out += this.tok();
2937
+ }
2938
+
2939
+ return out;
2940
+ };
2941
+
2942
+ /**
2943
+ * Next Token
2944
+ */
2945
+
2946
+ Parser.prototype.next = function() {
2947
+ return this.token = this.tokens.pop();
2948
+ };
2949
+
2950
+ /**
2951
+ * Preview Next Token
2952
+ */
2953
+
2954
+ Parser.prototype.peek = function() {
2955
+ return this.tokens[this.tokens.length - 1] || 0;
2956
+ };
2957
+
2958
+ /**
2959
+ * Parse Text Tokens
2960
+ */
2961
+
2962
+ Parser.prototype.parseText = function() {
2963
+ var body = this.token.text;
2964
+
2965
+ while (this.peek().type === 'text') {
2966
+ body += '\n' + this.next().text;
2967
+ }
2968
+
2969
+ return this.inline.output(body);
2970
+ };
2971
+
2972
+ /**
2973
+ * Parse Current Token
2974
+ */
2975
+
2976
+ Parser.prototype.tok = function() {
2977
+ switch (this.token.type) {
2978
+ case 'space': {
2979
+ return '';
2980
+ }
2981
+ case 'hr': {
2982
+ return this.renderer.hr();
2983
+ }
2984
+ case 'heading': {
2985
+ return this.renderer.heading(
2986
+ this.inline.output(this.token.text),
2987
+ this.token.depth,
2988
+ this.token.text);
2989
+ }
2990
+ case 'code': {
2991
+ return this.renderer.code(this.token.text,
2992
+ this.token.lang,
2993
+ this.token.escaped);
2994
+ }
2995
+ case 'table': {
2996
+ var header = ''
2997
+ , body = ''
2998
+ , i
2999
+ , row
3000
+ , cell
3001
+ , flags
3002
+ , j;
3003
+
3004
+ // header
3005
+ cell = '';
3006
+ for (i = 0; i < this.token.header.length; i++) {
3007
+ flags = { header: true, align: this.token.align[i] };
3008
+ cell += this.renderer.tablecell(
3009
+ this.inline.output(this.token.header[i]),
3010
+ { header: true, align: this.token.align[i] }
3011
+ );
3012
+ }
3013
+ header += this.renderer.tablerow(cell);
3014
+
3015
+ for (i = 0; i < this.token.cells.length; i++) {
3016
+ row = this.token.cells[i];
3017
+
3018
+ cell = '';
3019
+ for (j = 0; j < row.length; j++) {
3020
+ cell += this.renderer.tablecell(
3021
+ this.inline.output(row[j]),
3022
+ { header: false, align: this.token.align[j] }
3023
+ );
3024
+ }
3025
+
3026
+ body += this.renderer.tablerow(cell);
3027
+ }
3028
+ return this.renderer.table(header, body);
3029
+ }
3030
+ case 'blockquote_start': {
3031
+ var body = '';
3032
+
3033
+ while (this.next().type !== 'blockquote_end') {
3034
+ body += this.tok();
3035
+ }
3036
+
3037
+ return this.renderer.blockquote(body);
3038
+ }
3039
+ case 'list_start': {
3040
+ var body = ''
3041
+ , ordered = this.token.ordered;
3042
+
3043
+ while (this.next().type !== 'list_end') {
3044
+ body += this.tok();
3045
+ }
3046
+
3047
+ return this.renderer.list(body, ordered);
3048
+ }
3049
+ case 'list_item_start': {
3050
+ var body = '';
3051
+
3052
+ while (this.next().type !== 'list_item_end') {
3053
+ body += this.token.type === 'text'
3054
+ ? this.parseText()
3055
+ : this.tok();
3056
+ }
3057
+
3058
+ return this.renderer.listitem(body);
3059
+ }
3060
+ case 'loose_item_start': {
3061
+ var body = '';
3062
+
3063
+ while (this.next().type !== 'list_item_end') {
3064
+ body += this.tok();
3065
+ }
3066
+
3067
+ return this.renderer.listitem(body);
3068
+ }
3069
+ case 'html': {
3070
+ var html = !this.token.pre && !this.options.pedantic
3071
+ ? this.inline.output(this.token.text)
3072
+ : this.token.text;
3073
+ return this.renderer.html(html);
3074
+ }
3075
+ case 'paragraph': {
3076
+ return this.renderer.paragraph(this.inline.output(this.token.text));
3077
+ }
3078
+ case 'text': {
3079
+ return this.renderer.paragraph(this.parseText());
3080
+ }
3081
+ }
3082
+ };
3083
+
3084
+ /**
3085
+ * Helpers
3086
+ */
3087
+
3088
+ function escape(html, encode) {
3089
+ return html
3090
+ .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;')
3091
+ .replace(/</g, '&lt;')
3092
+ .replace(/>/g, '&gt;')
3093
+ .replace(/"/g, '&quot;')
3094
+ .replace(/'/g, '&#39;');
3095
+ }
3096
+
3097
+ function unescape(html) {
3098
+ return html.replace(/&([#\w]+);/g, function(_, n) {
3099
+ n = n.toLowerCase();
3100
+ if (n === 'colon') return ':';
3101
+ if (n.charAt(0) === '#') {
3102
+ return n.charAt(1) === 'x'
3103
+ ? String.fromCharCode(parseInt(n.substring(2), 16))
3104
+ : String.fromCharCode(+n.substring(1));
3105
+ }
3106
+ return '';
3107
+ });
3108
+ }
3109
+
3110
+ function replace(regex, opt) {
3111
+ regex = regex.source;
3112
+ opt = opt || '';
3113
+ return function self(name, val) {
3114
+ if (!name) return new RegExp(regex, opt);
3115
+ val = val.source || val;
3116
+ val = val.replace(/(^|[^\[])\^/g, '$1');
3117
+ regex = regex.replace(name, val);
3118
+ return self;
3119
+ };
3120
+ }
3121
+
3122
+ function noop() {}
3123
+ noop.exec = noop;
3124
+
3125
+ function merge(obj) {
3126
+ var i = 1
3127
+ , target
3128
+ , key;
3129
+
3130
+ for (; i < arguments.length; i++) {
3131
+ target = arguments[i];
3132
+ for (key in target) {
3133
+ if (Object.prototype.hasOwnProperty.call(target, key)) {
3134
+ obj[key] = target[key];
3135
+ }
3136
+ }
3137
+ }
3138
+
3139
+ return obj;
3140
+ }
3141
+
3142
+
3143
+ /**
3144
+ * Marked
3145
+ */
3146
+
3147
+ function marked(src, opt, callback) {
3148
+ if (callback || typeof opt === 'function') {
3149
+ if (!callback) {
3150
+ callback = opt;
3151
+ opt = null;
3152
+ }
3153
+
3154
+ opt = merge({}, marked.defaults, opt || {});
3155
+
3156
+ var highlight = opt.highlight
3157
+ , tokens
3158
+ , pending
3159
+ , i = 0;
3160
+
3161
+ try {
3162
+ tokens = Lexer.lex(src, opt)
3163
+ } catch (e) {
3164
+ return callback(e);
3165
+ }
3166
+
3167
+ pending = tokens.length;
3168
+
3169
+ var done = function(err) {
3170
+ if (err) {
3171
+ opt.highlight = highlight;
3172
+ return callback(err);
3173
+ }
3174
+
3175
+ var out;
3176
+
3177
+ try {
3178
+ out = Parser.parse(tokens, opt);
3179
+ } catch (e) {
3180
+ err = e;
3181
+ }
3182
+
3183
+ opt.highlight = highlight;
3184
+
3185
+ return err
3186
+ ? callback(err)
3187
+ : callback(null, out);
3188
+ };
3189
+
3190
+ if (!highlight || highlight.length < 3) {
3191
+ return done();
3192
+ }
3193
+
3194
+ delete opt.highlight;
3195
+
3196
+ if (!pending) return done();
3197
+
3198
+ for (; i < tokens.length; i++) {
3199
+ (function(token) {
3200
+ if (token.type !== 'code') {
3201
+ return --pending || done();
3202
+ }
3203
+ return highlight(token.text, token.lang, function(err, code) {
3204
+ if (err) return done(err);
3205
+ if (code == null || code === token.text) {
3206
+ return --pending || done();
3207
+ }
3208
+ token.text = code;
3209
+ token.escaped = true;
3210
+ --pending || done();
3211
+ });
3212
+ })(tokens[i]);
3213
+ }
3214
+
3215
+ return;
3216
+ }
3217
+ try {
3218
+ if (opt) opt = merge({}, marked.defaults, opt);
3219
+ return Parser.parse(Lexer.lex(src, opt), opt);
3220
+ } catch (e) {
3221
+ e.message += '\nPlease report this to https://github.com/chjj/marked.';
3222
+ if ((opt || marked.defaults).silent) {
3223
+ return '<p>An error occured:</p><pre>'
3224
+ + escape(e.message + '', true)
3225
+ + '</pre>';
3226
+ }
3227
+ throw e;
3228
+ }
3229
+ }
3230
+
3231
+ /**
3232
+ * Options
3233
+ */
3234
+
3235
+ marked.options =
3236
+ marked.setOptions = function(opt) {
3237
+ merge(marked.defaults, opt);
3238
+ return marked;
3239
+ };
3240
+
3241
+ marked.defaults = {
3242
+ gfm: true,
3243
+ tables: true,
3244
+ breaks: false,
3245
+ pedantic: false,
3246
+ sanitize: false,
3247
+ smartLists: false,
3248
+ silent: false,
3249
+ highlight: null,
3250
+ langPrefix: 'lang-',
3251
+ smartypants: false,
3252
+ headerPrefix: '',
3253
+ renderer: new Renderer,
3254
+ xhtml: false
3255
+ };
3256
+
3257
+ /**
3258
+ * Expose
3259
+ */
3260
+
3261
+ marked.Parser = Parser;
3262
+ marked.parser = Parser.parse;
3263
+
3264
+ marked.Renderer = Renderer;
3265
+
3266
+ marked.Lexer = Lexer;
3267
+ marked.lexer = Lexer.lex;
3268
+
3269
+ marked.InlineLexer = InlineLexer;
3270
+ marked.inlineLexer = InlineLexer.output;
3271
+
3272
+ marked.parse = marked;
3273
+
3274
+ if (typeof module !== 'undefined' && typeof exports === 'object') {
3275
+ module.exports = marked;
3276
+ } else if (typeof define === 'function' && define.amd) {
3277
+ define(function() { return marked; });
3278
+ } else {
3279
+ this.marked = marked;
3280
+ }
3281
+
3282
+ }).call(function() {
3283
+ return this || (typeof window !== 'undefined' ? window : global);
3284
+ }());
3285
+
3286
+ }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
3287
+ },{}]},{},[1])(1)
3288
+ });