-
Notifications
You must be signed in to change notification settings - Fork 1
/
js
5 lines (5 loc) · 129 KB
/
js
1
2
3
4
5
!function(n,e){"use strict";function t(n){for(var e=Object.create(null),t=0;t<n.length;++t)e[n[t]]=!0;return e}function r(n){return n.split("")}function i(n,e){return e.indexOf(n)>=0}function o(n,e){for(var t=0,r=e.length;t<r;++t)if(n(e[t]))return e[t]}function a(n,e){if(e<=0)return"";if(1==e)return n;var t=a(n,e>>1);return t+=t,1&e&&(t+=n),t}function u(n,e){Error.call(this,n),this.msg=n,this.defs=e}function s(n,e,t){n===!0&&(n={});var r=n||{};if(t)for(var i in r)y(r,i)&&!y(e,i)&&u.croak("`"+i+"` is not a supported option",e);for(var i in e)y(e,i)&&(r[i]=n&&y(n,i)?n[i]:e[i]);return r}function c(n,e){var t=0;for(var r in e)y(e,r)&&(n[r]=e[r],t++);return t}function f(){}function l(){return!1}function p(){return!0}function d(n,e){n.indexOf(e)<0&&n.push(e)}function h(n,e){return n.replace(/\{(.+?)\}/g,function(n,t){return e[t]})}function v(n,e){for(var t=n.length;--t>=0;)n[t]===e&&n.splice(t,1)}function m(n,e){function t(n,t){for(var r=[],i=0,o=0,a=0;i<n.length&&o<t.length;)e(n[i],t[o])<=0?r[a++]=n[i++]:r[a++]=t[o++];return i<n.length&&r.push.apply(r,n.slice(i)),o<t.length&&r.push.apply(r,t.slice(o)),r}function r(n){if(n.length<=1)return n;var e=Math.floor(n.length/2),i=n.slice(0,e),o=n.slice(e);return i=r(i),o=r(o),t(i,o)}return n.length<2?n.slice():r(n)}function _(n){function e(n){return JSON.stringify(n).replace(/[\u2028\u2029]/g,function(n){switch(n){case"\u2028":return"\\u2028";case"\u2029":return"\\u2029"}return n})}function t(n){if(1==n.length)return r+="return str === "+e(n[0])+";";r+="switch(str){";for(var t=0;t<n.length;++t)r+="case "+e(n[t])+":";r+="return true}return false;"}n instanceof Array||(n=n.split(" "));var r="",i=[];n:for(var o=0;o<n.length;++o){for(var a=0;a<i.length;++a)if(i[a][0].length==n[o].length){i[a].push(n[o]);continue n}i.push([n[o]])}if(i.length>3){i.sort(function(n,e){return e.length-n.length}),r+="switch(str.length){";for(var o=0;o<i.length;++o){var u=i[o];r+="case "+u[0].length+":",t(u)}r+="}"}else t(n);return new Function("str",r)}function g(n,e){for(var t=n.length;--t>=0;)if(!e(n[t]))return!1;return!0}function b(){this._values=Object.create(null),this._size=0}function y(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function A(e,t,r,i){arguments.length<4&&(i=Z),t=t?t.split(/\s+/):[];var o=t;i&&i.PROPS&&(t=t.concat(i.PROPS));for(var a="return function AST_"+e+"(props){ if (props) { ",u=t.length;--u>=0;)a+="this."+t[u]+" = props."+t[u]+";";var s=i&&new i;(s&&s.initialize||r&&r.initialize)&&(a+="this.initialize();"),a+="}}";var c=new Function(a)();if(s&&(c.prototype=s,c.BASE=i),i&&i.SUBCLASSES.push(c),c.prototype.CTOR=c,c.PROPS=t||null,c.SELF_PROPS=o,c.SUBCLASSES=[],e&&(c.prototype.TYPE=c.TYPE=e),r)for(u in r)y(r,u)&&(/^\$/.test(u)?c[u.substr(1)]=r[u]:c.prototype[u]=r[u]);return c.DEFMETHOD=function(n,e){this.prototype[n]=e},n["AST_"+e]=c,c}function w(n,e){n.body instanceof K?n.body._walk(e):n.body.forEach(function(n){n._walk(e)})}function E(n){this.visit=n,this.stack=[],this.directives=Object.create(null)}function D(n){return n>=97&&n<=122||n>=65&&n<=90||n>=170&&Pe.letter.test(String.fromCharCode(n))}function x(n){return n>=48&&n<=57}function k(n){return x(n)||D(n)}function F(n){return Pe.digit.test(String.fromCharCode(n))}function C(n){return Pe.non_spacing_mark.test(n)||Pe.space_combining_mark.test(n)}function B(n){return Pe.connector_punctuation.test(n)}function S(n){return!$e(n)&&/^[a-z_$][a-z0-9_$]*$/i.test(n)}function T(n){return 36==n||95==n||D(n)}function $(n){var e=n.charCodeAt(0);return T(e)||x(e)||8204==e||8205==e||C(n)||B(n)||F(e)}function O(n){return/^[a-z_$][a-z0-9_$]*$/i.test(n)}function q(n){if(Me.test(n))return parseInt(n.substr(2),16);if(ze.test(n))return parseInt(n.substr(1),8);var e=parseFloat(n);return e==n?e:void 0}function M(n,e,t,r,i){this.message=n,this.filename=e,this.line=t,this.col=r,this.pos=i,this.stack=(new Error).stack}function z(n,e,t,r,i){throw new M(n,e,t,r,i)}function H(n,e,t){return n.type==e&&(null==t||n.value==t)}function N(n,e,t,r){function i(){return B.text.charAt(B.pos)}function o(n,e){var t=B.text.charAt(B.pos++);if(n&&!t)throw Ue;return je(t)?(B.newline_before=B.newline_before||!e,++B.line,B.col=0,e||"\r"!=t||"\n"!=i()||(++B.pos,t="\n")):++B.col,t}function a(n){for(;n-- >0;)o()}function u(n){return B.text.substr(B.pos,n.length)==n}function s(){for(var n=B.text,e=B.pos,t=B.text.length;e<t;++e){var r=n[e];if(je(r))return e}return-1}function c(n,e){var t=B.text.indexOf(n,B.pos);if(e&&t==-1)throw Ue;return t}function f(){B.tokline=B.line,B.tokcol=B.col,B.tokpos=B.pos}function l(t,r,i){B.regex_allowed="operator"==t&&!Ve(r)||"keyword"==t&&Oe(r)||"punc"==t&&Re(r),S="punc"==t&&"."==r;var o={type:t,value:r,line:B.tokline,col:B.tokcol,pos:B.tokpos,endline:B.line,endcol:B.col,endpos:B.pos,nlb:B.newline_before,file:e};if(/^(?:num|string|regexp)$/i.test(t)&&(o.raw=n.substring(o.pos,o.endpos)),!i){o.comments_before=B.comments_before,B.comments_before=[];for(var a=0,u=o.comments_before.length;a<u;a++)o.nlb=o.nlb||o.comments_before[a].nlb}return B.newline_before=!1,new X(o)}function p(){for(;Ne(i());)o()}function d(n){for(var e,t="",r=0;(e=i())&&n(e,r++);)t+=o();return t}function h(n){z(n,e,B.tokline,B.tokcol,B.tokpos)}function v(n){var e=!1,t=!1,r=!1,i="."==n,o=d(function(o,a){var u=o.charCodeAt(0);switch(u){case 120:case 88:return!r&&(r=!0);case 101:case 69:return!!r||!e&&(e=t=!0);case 45:return t||0==a&&!n;case 43:return t;case t=!1,46:return!(i||r||e)&&(i=!0)}return k(u)});n&&(o=n+o),ze.test(o)&&C.has_directive("use strict")&&h("SyntaxError: Legacy octal literals are not allowed in strict mode");var a=q(o);return isNaN(a)?void h("SyntaxError: Invalid syntax: "+o):l("num",a)}function m(n){var e=o(!0,n);switch(e.charCodeAt(0)){case 110:return"\n";case 114:return"\r";case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 120:return String.fromCharCode(g(2));case 117:return String.fromCharCode(g(4));case 10:return"";case 13:if("\n"==i())return o(!0,n),""}return e>="0"&&e<="7"?_(e):e}function _(n){var e=i();return e>="0"&&e<="7"&&(n+=o(!0),n[0]<="3"&&(e=i())>="0"&&e<="7"&&(n+=o(!0))),"0"===n?"\0":(n.length>0&&C.has_directive("use strict")&&h("SyntaxError: Legacy octal escape sequences are not allowed in strict mode"),String.fromCharCode(parseInt(n,8)))}function g(n){for(var e=0;n>0;--n){var t=parseInt(o(!0),16);isNaN(t)&&h("SyntaxError: Invalid hex-character pattern in string"),e=e<<4|t}return e}function b(n){var e,t=B.regex_allowed,r=s();return r==-1?(e=B.text.substr(B.pos),B.pos=B.text.length):(e=B.text.substring(B.pos,r),B.pos=r),B.col=B.tokcol+(B.pos-B.tokpos),B.comments_before.push(l(n,e,!0)),B.regex_allowed=t,C}function y(){for(var n,e,t=!1,r="",a=!1;null!=(n=i());)if(t)"u"!=n&&h("SyntaxError: Expecting UnicodeEscapeSequence -- uXXXX"),n=m(),$(n)||h("SyntaxError: Unicode char: "+n.charCodeAt(0)+" is not valid in identifier"),r+=n,t=!1;else if("\\"==n)a=t=!0,o();else{if(!$(n))break;r+=o()}return Se(r)&&a&&(e=r.charCodeAt(0).toString(16).toUpperCase(),r="\\u"+"0000".substr(e.length)+e+r.slice(1)),r}function A(n){function e(n){if(!i())return n;var t=n+i();return He(t)?(o(),e(t)):n}return l("operator",e(n||o()))}function w(){switch(o(),i()){case"/":return o(),b("comment1");case"*":return o(),M()}return B.regex_allowed?H(""):A("/")}function E(){return o(),x(i().charCodeAt(0))?v("."):l("punc",".")}function D(){var n=y();return S?l("name",n):Te(n)?l("atom",n):Se(n)?He(n)?l("operator",n):l("keyword",n):l("name",n)}function F(n,e){return function(t){try{return e(t)}catch(e){if(e!==Ue)throw e;h(n)}}}function C(n){if(null!=n)return H(n);for(;;){if(p(),f(),t){if(u("<!--")){a(4),b("comment3");continue}if(u("-->")&&B.newline_before){a(3),b("comment4");continue}}var e=i();if(!e)return l("eof");var s=e.charCodeAt(0);switch(s){case 34:case 39:return O(e);case 46:return E();case 47:var c=w();if(c===C)continue;return c}if(x(s))return v();if(Ie(e))return l("punc",o());if(qe(e))return A();if(92==s||T(s))return D();if(!r||0!=B.pos||!u("#!"))break;a(2),b("comment5")}h("SyntaxError: Unexpected character '"+e+"'")}var B={text:n,filename:e,pos:0,tokpos:0,line:1,tokline:0,col:0,tokcol:0,newline_before:!1,regex_allowed:!1,comments_before:[],directives:{},directive_stack:[]},S=!1,O=F("SyntaxError: Unterminated string constant",function(n){for(var e=o(),t="";;){var r=o(!0,!0);if("\\"==r)r=m(!0);else if(je(r))h("SyntaxError: Unterminated string constant");else if(r==e)break;t+=r}var i=l("string",t);return i.quote=n,i}),M=F("SyntaxError: Unterminated multiline comment",function(){var n=B.regex_allowed,e=c("*/",!0),t=B.text.substring(B.pos,e).replace(/\r\n|\r|\u2028|\u2029/g,"\n");return a(t.length+2),B.comments_before.push(l("comment2",t,!0)),B.regex_allowed=n,C}),H=F("SyntaxError: Unterminated regular expression",function(n){for(var e,t=!1,r=!1;e=o(!0);)if(je(e))h("SyntaxError: Unexpected line terminator");else if(t)n+="\\"+e,t=!1;else if("["==e)r=!0,n+=e;else if("]"==e&&r)r=!1,n+=e;else{if("/"==e&&!r)break;"\\"==e?t=!0:n+=e}var i=y();try{return l("regexp",new RegExp(n,i))}catch(n){h("SyntaxError: "+n.message)}});return C.context=function(n){return n&&(B=n),B},C.add_directive=function(n){B.directive_stack[B.directive_stack.length-1].push(n),void 0===B.directives[n]?B.directives[n]=1:B.directives[n]++},C.push_directives_stack=function(){B.directive_stack.push([])},C.pop_directives_stack=function(){for(var n=B.directive_stack[B.directive_stack.length-1],e=0;e<n.length;e++)B.directives[n[e]]--;B.directive_stack.pop()},C.has_directive=function(n){return void 0!==B.directives[n]&&B.directives[n]>0},C}function j(n,e){function t(n,e){return H(U.token,n,e)}function r(){return U.peeked||(U.peeked=U.input())}function i(){return U.prev=U.token,U.peeked?(U.token=U.peeked,U.peeked=null):U.token=U.input(),U.in_directives=U.in_directives&&("string"==U.token.type||t("punc",";")),U.token}function a(){return U.prev}function u(n,e,t,r){var i=U.input.context();z(n,i.filename,null!=e?e:i.tokline,null!=t?t:i.tokcol,null!=r?r:i.tokpos)}function c(n,e){u(e,n.line,n.col)}function f(n){null==n&&(n=U.token),c(n,"SyntaxError: Unexpected token: "+n.type+" ("+n.value+")")}function l(n,e){return t(n,e)?i():void c(U.token,"SyntaxError: Unexpected token "+U.token.type+" «"+U.token.value+"», expected "+n+" «"+e+"»")}function p(n){return l("punc",n)}function d(){return!e.strict&&(U.token.nlb||t("eof")||t("punc","}"))}function h(n){t("punc",";")?i():n||d()||f()}function v(){p("(");var n=_n(!0);return p(")"),n}function m(n){return function(){var e=U.token,t=n(),r=a();return t.start=e,t.end=r,t}}function _(){(t("operator","/")||t("operator","/="))&&(U.peeked=null,U.token=U.input(U.token.value.substr(1)))}function g(){var n=M(de);o(function(e){return e.name==n.name},U.labels)&&u("SyntaxError: Label "+n.name+" defined twice"),p(":"),U.labels.push(n);var e=L();return U.labels.pop(),e instanceof sn||n.references.forEach(function(e){e instanceof Fn&&(e=e.label.start,u("SyntaxError: Continue label `"+n.name+"` refers to non-IterationStatement.",e.line,e.col,e.pos))}),new un({body:e,label:n})}function b(n){return new en({body:(n=_n(!0),h(),n)})}function y(n){var e,t=null;d()||(t=M(ve,!0)),null!=t?(e=o(function(n){return n.name==t.name},U.labels),e||u("SyntaxError: Undefined label "+t.name),t.thedef=e):0==U.in_loop&&u("SyntaxError: "+n.TYPE+" not inside a loop or switch"),h();var r=new n({label:t});return e&&e.references.push(r),r}function A(){p("(");var n=null;return!t("punc",";")&&(n=t("keyword","var")?(i(),Y(!0)):_n(!0,!0),t("operator","in"))?(n instanceof Hn&&n.definitions.length>1&&u("SyntaxError: Only one variable declaration allowed in for..in loop"),i(),E(n)):w(n)}function w(n){p(";");var e=t("punc",";")?null:_n(!0);p(";");var r=t("punc",")")?null:_n(!0);return p(")"),new pn({init:n,condition:e,step:r,body:P(L)})}function E(n){var e=n instanceof Hn?n.definitions[0].name:null,t=_n(!0);return p(")"),new dn({init:n,name:e,object:t,body:P(L)})}function D(){var n=v(),e=L(),r=null;return t("keyword","else")&&(i(),r=L()),new Cn({condition:n,body:e,alternative:r})}function x(){p("{");for(var n=[];!t("punc","}");)t("eof")&&f(),n.push(L());return i(),n}function k(){p("{");for(var n,e=[],r=null,o=null;!t("punc","}");)t("eof")&&f(),t("keyword","case")?(o&&(o.end=a()),r=[],o=new $n({start:(n=U.token,i(),n),expression:_n(!0),body:r}),e.push(o),p(":")):t("keyword","default")?(o&&(o.end=a()),r=[],o=new Tn({start:(n=U.token,i(),p(":"),n),body:r}),e.push(o)):(r||f(),r.push(L()));return o&&(o.end=a()),i(),e}function F(){var n=x(),e=null,r=null;if(t("keyword","catch")){var o=U.token;i(),p("(");var s=M(pe);p(")"),e=new qn({start:o,argname:s,body:x(),end:a()})}if(t("keyword","finally")){var o=U.token;i(),r=new Mn({start:o,body:x(),end:a()})}return e||r||u("SyntaxError: Missing catch/finally blocks"),new On({body:n,bcatch:e,bfinally:r})}function C(n,e){for(var r=[];r.push(new jn({start:U.token,name:M(e?se:ue),value:t("operator","=")?(i(),_n(!1,n)):null,end:a()})),t("punc",",");)i();return r}function B(){var n,e=U.token;switch(e.type){case"name":case"keyword":n=q(he);break;case"num":n=new be({start:e,end:e,value:e.value});break;case"string":n=new ge({start:e,end:e,value:e.value,quote:e.quote});break;case"regexp":n=new ye({start:e,end:e,value:e.value});break;case"atom":switch(e.value){case"false":n=new Ce({start:e,end:e});break;case"true":n=new Be({start:e,end:e});break;case"null":n=new we({start:e,end:e})}break;case"operator":O(e.value)||u("SyntaxError: Invalid getter/setter name: "+e.value,e.line,e.col,e.pos),n=q(he)}return i(),n}function S(n,e,r){for(var o=!0,a=[];!t("punc",n)&&(o?o=!1:p(","),!e||!t("punc",n));)t("punc",",")&&r?a.push(new xe({start:U.token,end:U.token})):a.push(_n(!1));return i(),a}function T(){var n=U.token;switch(i(),n.type){case"num":case"string":case"name":case"operator":case"keyword":case"atom":return n.value;default:f()}}function $(){var n=U.token;switch(i(),n.type){case"name":case"operator":case"keyword":case"atom":return n.value;default:f()}}function q(n){var e=U.token.value;return new("this"==e?me:n)({name:String(e),start:U.token,end:U.token})}function M(n,e){if(!t("name"))return e||u("SyntaxError: Name expected"),null;var r=q(n);return i(),r}function j(n,e,t){return"++"!=e&&"--"!=e||I(t)||u("SyntaxError: Invalid use of "+e+" operator"),new n({operator:e,expression:t})}function R(n){return an(tn(!0),0,n)}function I(n){return!e.strict||!(n instanceof me)&&(n instanceof Un||n instanceof ie)}function P(n){++U.in_loop;var e=n();return--U.in_loop,e}e=s(e,{strict:!1,filename:null,toplevel:null,expression:!1,html5_comments:!0,bare_returns:!1,shebang:!0});var U={input:"string"==typeof n?N(n,e.filename,e.html5_comments,e.shebang):n,token:null,prev:null,peeked:null,in_function:0,in_directives:!0,in_loop:0,labels:[]};U.token=i();var L=m(function(){var n;switch(_(),U.token.type){case"string":var o=!1;U.in_directives===!0&&((H(r(),"punc",";")||r().nlb)&&U.token.raw.indexOf("\\")===-1?U.input.add_directive(U.token.value):U.in_directives=!1);var o=U.in_directives,s=b();return o?new nn({start:s.body.start,end:s.body.end,quote:s.body.quote,value:s.body.value}):s;case"num":case"regexp":case"operator":case"atom":return b();case"name":return H(r(),"punc",":")?g():b();case"punc":switch(U.token.value){case"{":return new rn({start:U.token,body:x(),end:a()});case"[":case"(":return b();case";":return U.in_directives=!1,i(),new on;default:f()}case"keyword":switch(n=U.token.value,i(),n){case"break":return y(kn);case"continue":return y(Fn);case"debugger":return h(),new Q;case"do":return new fn({body:P(L),condition:(l("keyword","while"),n=v(),h(!0),n)});case"while":return new ln({condition:v(),body:P(L)});case"for":return A();case"function":return V(yn);case"if":return D();case"return":return 0!=U.in_function||e.bare_returns||u("SyntaxError: 'return' outside of function"),new En({value:t("punc",";")?(i(),null):d()?null:(n=_n(!0),h(),n)});case"switch":return new Bn({expression:v(),body:P(k)});case"throw":return U.token.nlb&&u("SyntaxError: Illegal newline after 'throw'"),new Dn({value:(n=_n(!0),h(),n)});case"try":return F();case"var":return n=Y(),h(),n;case"const":return n=W(),h(),n;case"with":return U.input.has_directive("use strict")&&u("SyntaxError: Strict mode may not include a with statement"),new hn({expression:v(),body:L()});default:f()}}}),V=function(n){var e=n===yn,r=t("name")?M(e?fe:le):null;return e&&!r&&f(),p("("),new n({name:r,argnames:function(n,e){for(;!t("punc",")");)n?n=!1:p(","),e.push(M(ce));return i(),e}(!0,[]),body:function(n,e){++U.in_function,U.in_directives=!0,U.input.push_directives_stack(),U.in_loop=0,U.labels=[];var t=x();return U.input.pop_directives_stack(),--U.in_function,U.in_loop=n,U.labels=e,t}(U.in_loop,U.labels)})},Y=function(n){return new Hn({start:a(),definitions:C(n,!1),end:a()})},W=function(){return new Nn({start:a(),definitions:C(!1,!0),end:a()})},G=function(n){var e=U.token;l("operator","new");var r,o=J(!1);return t("punc","(")?(i(),r=S(")")):r=[],K(new In({start:e,expression:o,args:r,end:a()}),n)},J=function(n){if(t("operator","new"))return G(n);var e=U.token;if(t("punc")){switch(e.value){case"(":i();var r=_n(!0);return r.start=e,r.end=U.token,p(")"),K(r,n);case"[":return K(X(),n);case"{":return K(Z(),n)}f()}if(t("keyword","function")){i();var o=V(bn);return o.start=e,o.end=a(),K(o,n)}return Ge[U.token.type]?K(B(),n):void f()},X=m(function(){return p("["),new Kn({elements:S("]",!e.strict,!0)})}),Z=m(function(){p("{");for(var n=!0,r=[];!t("punc","}")&&(n?n=!1:p(","),e.strict||!t("punc","}"));){var o=U.token,u=o.type,s=T();if("name"==u&&!t("punc",":")){if("get"==s){r.push(new re({start:o,key:B(),value:V(gn),end:a()}));continue}if("set"==s){r.push(new te({start:o,key:B(),value:V(gn),end:a()}));continue}}p(":"),r.push(new ee({start:o,quote:o.quote,key:s,value:_n(!1),end:a()}))}return i(),new Qn({properties:r})}),K=function(n,e){var r=n.start;if(t("punc","."))return i(),K(new Ln({start:r,expression:n,property:$(),end:a()}),e);if(t("punc","[")){i();var o=_n(!0);return p("]"),K(new Vn({start:r,expression:n,property:o,end:a()}),e)}return e&&t("punc","(")?(i(),K(new Rn({start:r,expression:n,args:S(")"),end:a()}),!0)):n},tn=function(n){var e=U.token;if(t("operator")&&Le(e.value)){i(),_();var r=j(Wn,e.value,tn(n));return r.start=e,r.end=a(),r}for(var o=J(n);t("operator")&&Ve(U.token.value)&&!U.token.nlb;)o=j(Gn,U.token.value,o),o.start=e,o.end=U.token,i();return o},an=function(n,e,r){var o=t("operator")?U.token.value:null;"in"==o&&r&&(o=null);var a=null!=o?We[o]:null;if(null!=a&&a>e){i();var u=an(tn(!0),a,r);return an(new Jn({start:n.start,left:n,operator:o,right:u,end:u.end}),e,r)}return n},cn=function(n){var e=U.token,r=R(n);if(t("operator","?")){i();var o=_n(!1);return p(":"),new Xn({start:e,condition:r,consequent:o,alternative:_n(!1,n),end:a()})}return r},vn=function(n){var e=U.token,r=cn(n),o=U.token.value;if(t("operator")&&Ye(o)){if(I(r))return i(),new Zn({start:e,left:r,operator:o,right:vn(n),end:a()});u("SyntaxError: Invalid assignment")}return r},_n=function(n,e){var o=U.token,a=vn(e);return n&&t("punc",",")?(i(),new Pn({start:o,car:a,cdr:_n(!0,e),end:r()})):a};return e.expression?_n(!0):function(){var n=U.token,r=[];for(U.input.push_directives_stack();!t("eof");)r.push(L());U.input.pop_directives_stack();var i=a(),o=e.toplevel;return o?(o.body=o.body.concat(r),o.end=i):o=new mn({start:n,body:r,end:i}),o}()}function R(n,e){E.call(this),this.before=n,this.after=e}function I(n,e,t){this.name=t.name,this.orig=[t],this.scope=n,this.references=[],this.global=!1,this.mangled_name=null,this.undeclared=!1,this.constant=!1,this.index=e,this.id=I.next_id++}function P(n){var e=n.value,t=n.type;return"comment2"==t?/@preserve|@license|@cc_on/i.test(e):"comment5"==t}function U(n){return"comment5"==n.type}function L(n){function e(n,e){return n.replace(/[\u0000-\u001f\u007f-\uffff]/g,function(n){var t=n.charCodeAt(0).toString(16);if(t.length<=2&&!e){for(;t.length<2;)t="0"+t;return"\\x"+t}for(;t.length<4;)t="0"+t;return"\\u"+t})}function t(t,r){function i(){return"'"+t.replace(/\x27/g,"\\'")+"'"}function o(){return'"'+t.replace(/\x22/g,'\\"')+'"'}var a=0,u=0;switch(t=t.replace(/[\\\b\f\n\r\v\t\x22\x27\u2028\u2029\0\ufeff]/g,function(e,r){switch(e){case'"':return++a,'"';case"'":return++u,"'";case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r";case"\t":return"\\t";case"\b":return"\\b";case"\f":return"\\f";case"\v":return n.screw_ie8?"\\v":"\\x0B";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";case"\ufeff":return"\\ufeff";case"\0":return/[0-7]/.test(t.charAt(r+1))?"\\x00":"\\0"}return e}),n.ascii_only&&(t=e(t)),n.quote_style){case 1:return i();case 2:return o();case 3:return"'"==r?i():o();default:return a>u?i():o()}}function r(e,r){var i=t(e,r);return n.inline_script&&(i=i.replace(/<\x2fscript([>\/\t\n\f\r ])/gi,"<\\/script$1"),i=i.replace(/\x3c!--/g,"\\x3c!--"),i=i.replace(/--\x3e/g,"--\\x3e")),i}function i(t){return t=t.toString(),n.ascii_only&&(t=e(t,!0)),t}function o(e){return a(" ",n.indent_start+k-e*n.indent_level)}function u(){return q.charAt(q.length-1)}function c(){n.max_line_len&&F>n.max_line_len&&d("\n")}function d(e){e=String(e);var t=e.charAt(0);if(O&&(O=!1,t&&!(";}".indexOf(t)<0)||/[;]$/.test(q)||(n.semicolons||M(t)?(S+=";",F++,B++):(S+="\n",B++,C++,F=0,/^\s+$/.test(e)&&(O=!0)),n.beautify||(T=!1))),!n.beautify&&n.preserve_line&&L[L.length-1])for(var r=L[L.length-1].start.line;C<r;)S+="\n",B++,C++,F=0,T=!1;if(T){var i=u();($(i)&&($(t)||"\\"==t)||/^[\+\-\/]$/.test(t)&&t==i)&&(S+=" ",F++,B++),T=!1}var o=e.split(/\r?\n/),a=o.length-1;C+=a,0==a?F+=o[a].length:F=o[a].length,B+=e.length,q=e,S+=e}function h(){O=!1,d(";")}function v(){return k+n.indent_level}function m(n){var e;return d("{"),j(),N(v(),function(){e=n()}),H(),d("}"),e}function g(n){d("(");var e=n();return d(")"),e}function b(n){d("[");var e=n();return d("]"),e}function y(){d(","),z()}function A(){d(":"),n.space_colon&&z()}function w(){return S}n=s(n,{indent_start:0,indent_level:4,quote_keys:!1,space_colon:!0,ascii_only:!1,unescape_regexps:!1,inline_script:!1,width:80,max_line_len:32e3,beautify:!1,source_map:null,bracketize:!1,semicolons:!0,comments:!1,shebang:!0,preserve_line:!1,screw_ie8:!0,preamble:null,quote_style:0,keep_quoted_props:!1,wrap_iife:!1},!0);var E=n.shebang?U:l;if(n.comments){var D=n.comments;if("string"==typeof n.comments&&/^\/.*\/[a-zA-Z]*$/.test(n.comments)){var x=n.comments.lastIndexOf("/");D=new RegExp(n.comments.substr(1,x-1),n.comments.substr(x+1))}E=D instanceof RegExp?function(n){return"comment5"==n.type||D.test(n.value)}:"function"==typeof D?function(n){return"comment5"==n.type||D(this,n)}:"some"===D?P:p}var k=0,F=0,C=1,B=0,S="",T=!1,O=!1,q=null,M=_("( [ + * / - , ."),z=n.beautify?function(){d(" ")}:function(){T=!0},H=n.beautify?function(e){n.beautify&&d(o(e?.5:0))}:f,N=n.beautify?function(n,e){n===!0&&(n=v());var t=k;k=n;var r=e();return k=t,r}:function(n,e){return e()},j=n.beautify?function(){d("\n")}:c,R=n.beautify?function(){d(";")}:function(){O=!0},I=n.source_map?function(e,t){try{e&&n.source_map.add(e.file||"?",C,F,e.line,e.col,t||"name"!=e.type?t:e.value)}catch(n){Z.warn("Couldn't figure out mapping for {file}:{line},{col} → {cline},{ccol} [{name}]",{file:e.file,line:e.line,col:e.col,cline:C,ccol:F,name:t||""})}}:f;n.preamble&&d(n.preamble.replace(/\r\n?|[\n\u2028\u2029]|\s*$/g,"\n"));var L=[];return{get:w,toString:w,indent:H,indentation:function(){return k},current_width:function(){return F-k},should_break:function(){return n.width&&this.current_width()>=n.width},newline:j,print:d,space:z,comma:y,colon:A,last:function(){return q},semicolon:R,force_semicolon:h,to_ascii:e,print_name:function(n){d(i(n))},print_string:function(n,e,t){var i=r(n,e);t===!0&&i.indexOf("\\")===-1&&(Xe.test(S)||h(),h()),d(i)},encode_string:r,next_indent:v,with_indent:N,with_block:m,with_parens:g,with_square:b,add_mapping:I,option:function(e){return n[e]},comment_filter:E,line:function(){return C},col:function(){return F},pos:function(){return B},push_node:function(n){L.push(n)},pop_node:function(){return L.pop()},stack:function(){return L},parent:function(n){return L[L.length-2-(n||0)]}}}function V(n,e){if(!(this instanceof V))return new V(n,e);R.call(this,this.before,this.after),this.options=s(n,{sequences:!e,properties:!e,dead_code:!e,drop_debugger:!e,unsafe:!1,unsafe_comps:!1,conditionals:!e,comparisons:!e,evaluate:!e,booleans:!e,loops:!e,unused:!e,hoist_funs:!e,keep_fargs:!0,keep_fnames:!1,hoist_vars:!1,if_return:!e,join_vars:!e,collapse_vars:!1,reduce_vars:!1,cascade:!e,side_effects:!e,pure_getters:!1,pure_funcs:null,negate_iife:!e,screw_ie8:!0,drop_console:!1,angular:!1,warnings:!0,global_defs:{},passes:1},!0);var t=this.options.sequences;this.sequences_limit=1==t?200:0|t,this.warnings_produced={}}function Y(n){function e(e,i,o,a,u,s){if(r){var c=r.originalPositionFor({line:a,column:u});if(null===c.source)return;e=c.source,a=c.line,u=c.column,s=c.name||s}t.addMapping({generated:{line:i+n.dest_line_diff,column:o},original:{line:a+n.orig_line_diff,column:u},source:e,name:s})}n=s(n,{file:null,root:null,orig:null,orig_line_diff:0,dest_line_diff:0});var t=new MOZ_SourceMap.SourceMapGenerator({file:n.file,sourceRoot:n.root}),r=n.orig&&new MOZ_SourceMap.SourceMapConsumer(n.orig);return r&&Array.isArray(n.orig.sources)&&r._sources.toArray().forEach(function(n){var e=r.sourceContentFor(n,!0);e&&t.setSourceContent(n,e)}),{add:e,get:function(){return t},toString:function(){return JSON.stringify(t.toJSON())}}}function W(){function n(n){d(e,n)}var e=[];return[Object,Array,Function,Number,String,Boolean,Error,Math,Date,RegExp].forEach(function(e){Object.getOwnPropertyNames(e).map(n),e.prototype&&Object.getOwnPropertyNames(e.prototype).map(n)}),e}function G(n,e){function t(n){return!(_.indexOf(n)>=0)&&(!(c.indexOf(n)>=0)&&(e.only_cache?f.props.has(n):!/^[0-9.]+$/.test(n)))}function r(n){return!(h&&n in g)&&(!(p&&!p.test(n))&&(!(c.indexOf(n)>=0)&&(f.props.has(n)||m.indexOf(n)>=0)))}function i(n,e){return e?void(g[n]=!0):(t(n)&&d(m,n),void(r(n)||d(_,n)))}function o(n){if(!r(n))return n;var e=f.props.get(n);if(!e){if(v){var i="_$"+n+"$"+l+"_";!t(i)||h&&i in g||(e=i)}if(!e)do e=Je(++f.cname);while(!t(e)||h&&e in g);f.props.set(n,e)}return e}function a(n,e){var t={};try{!function n(r){r.walk(new E(function(r){if(r instanceof Pn)return n(r.cdr),!0;if(r instanceof ge)return i(r.value,e),!0;if(r instanceof Xn)return n(r.consequent),n(r.alternative),!0;throw t}))}(n)}catch(n){if(n!==t)throw n}}function u(n){return n.transform(new R(function(n){return n instanceof Pn?n.cdr=u(n.cdr):n instanceof ge?n.value=o(n.value):n instanceof Xn&&(n.consequent=u(n.consequent),n.alternative=u(n.alternative)),n}))}e=s(e,{reserved:null,cache:null,only_cache:!1,regex:null,ignore_quoted:!1,debug:!1});var c=e.reserved;null==c&&(c=W());var f=e.cache;null==f&&(f={cname:-1,props:new b});var l,p=e.regex,h=e.ignore_quoted,v=e.debug!==!1;v&&(l=e.debug===!0?"":e.debug);var m=[],_=[],g={};return n.walk(new E(function(n){n instanceof ee?i(n.key,h&&n.quote):n instanceof ne?i(n.key.name):n instanceof Ln?i(n.property):n instanceof Vn&&a(n.property,h)})),n.transform(new R(function(n){n instanceof ee?h&&n.quote||(n.key=o(n.key)):n instanceof ne?n.key.name=o(n.key.name):n instanceof Ln?n.property=o(n.property):n instanceof Vn&&(h||(n.property=u(n.property)))}))}u.prototype=Object.create(Error.prototype),u.prototype.constructor=u,u.croak=function(n,e){throw new u(n,e)};var J=function(){function n(n,o,a){function u(){var u=o(n[s],s),l=u instanceof r;return l&&(u=u.v),u instanceof e?(u=u.v,u instanceof t?f.push.apply(f,a?u.v.slice().reverse():u.v):f.push(u)):u!==i&&(u instanceof t?c.push.apply(c,a?u.v.slice().reverse():u.v):c.push(u)),l}var s,c=[],f=[];if(n instanceof Array)if(a){for(s=n.length;--s>=0&&!u(););c.reverse(),f.reverse()}else for(s=0;s<n.length&&!u();++s);else for(s in n)if(y(n,s)&&u())break;return f.concat(c)}function e(n){this.v=n}function t(n){this.v=n}function r(n){this.v=n}n.at_top=function(n){return new e(n)},n.splice=function(n){return new t(n)},n.last=function(n){return new r(n)};var i=n.skip={};return n}();b.prototype={set:function(n,e){return this.has(n)||++this._size,this._values["$"+n]=e,this},add:function(n,e){return this.has(n)?this.get(n).push(e):this.set(n,[e]),this},get:function(n){return this._values["$"+n]},del:function(n){return this.has(n)&&(--this._size,delete this._values["$"+n]),this},has:function(n){return"$"+n in this._values},each:function(n){for(var e in this._values)n(this._values[e],e.substr(1))},size:function(){return this._size},map:function(n){var e=[];for(var t in this._values)e.push(n(this._values[t],t.substr(1)));return e},toObject:function(){return this._values}},b.fromObject=function(n){var e=new b;return e._size=c(e._values,n),e};var X=A("Token","type value line col pos endline endcol endpos nlb comments_before file raw",{},null),Z=A("Node","start end",{clone:function(){return new this.CTOR(this)},$documentation:"Base class of all AST nodes",$propdoc:{start:"[AST_Token] The first token of this node",end:"[AST_Token] The last token of this node"},_walk:function(n){return n._visit(this)},walk:function(n){return this._walk(n)}},null);Z.warn_function=null,Z.warn=function(n,e){Z.warn_function&&Z.warn_function(h(n,e))};var K=A("Statement",null,{$documentation:"Base class of all statements"}),Q=A("Debugger",null,{$documentation:"Represents a debugger statement"},K),nn=A("Directive","value scope quote",{$documentation:'Represents a directive, like "use strict";',$propdoc:{value:"[string] The value of this directive as a plain string (it's not an AST_String!)",scope:"[AST_Scope/S] The scope that this directive affects",quote:"[string] the original quote character"}},K),en=A("SimpleStatement","body",{$documentation:"A statement consisting of an expression, i.e. a = 1 + 2",$propdoc:{body:"[AST_Node] an expression node (should not be instanceof AST_Statement)"},_walk:function(n){return n._visit(this,function(){this.body._walk(n)})}},K),tn=A("Block","body",{$documentation:"A body of statements (usually bracketed)",$propdoc:{body:"[AST_Statement*] an array of statements"},_walk:function(n){return n._visit(this,function(){w(this,n)})}},K),rn=A("BlockStatement",null,{$documentation:"A block statement"},tn),on=A("EmptyStatement",null,{$documentation:"The empty statement (empty block or simply a semicolon)",_walk:function(n){return n._visit(this)}},K),an=A("StatementWithBody","body",{$documentation:"Base class for all statements that contain one nested body: `For`, `ForIn`, `Do`, `While`, `With`",$propdoc:{body:"[AST_Statement] the body; this should always be present, even if it's an AST_EmptyStatement"},_walk:function(n){return n._visit(this,function(){this.body._walk(n)})}},K),un=A("LabeledStatement","label",{$documentation:"Statement with a label",$propdoc:{label:"[AST_Label] a label definition"},_walk:function(n){return n._visit(this,function(){this.label._walk(n),this.body._walk(n)})}},an),sn=A("IterationStatement",null,{$documentation:"Internal class. All loops inherit from it."},an),cn=A("DWLoop","condition",{$documentation:"Base class for do/while statements",$propdoc:{condition:"[AST_Node] the loop condition. Should not be instanceof AST_Statement"}},sn),fn=A("Do",null,{$documentation:"A `do` statement",_walk:function(n){return n._visit(this,function(){this.body._walk(n),this.condition._walk(n)})}},cn),ln=A("While",null,{$documentation:"A `while` statement",_walk:function(n){return n._visit(this,function(){this.condition._walk(n),this.body._walk(n)})}},cn),pn=A("For","init condition step",{$documentation:"A `for` statement",$propdoc:{init:"[AST_Node?] the `for` initialization code, or null if empty",condition:"[AST_Node?] the `for` termination clause, or null if empty",step:"[AST_Node?] the `for` update clause, or null if empty"},_walk:function(n){return n._visit(this,function(){this.init&&this.init._walk(n),this.condition&&this.condition._walk(n),this.step&&this.step._walk(n),this.body._walk(n)})}},sn),dn=A("ForIn","init name object",{$documentation:"A `for ... in` statement",
$propdoc:{init:"[AST_Node] the `for/in` initialization code",name:"[AST_SymbolRef?] the loop variable, only if `init` is AST_Var",object:"[AST_Node] the object that we're looping through"},_walk:function(n){return n._visit(this,function(){this.init._walk(n),this.object._walk(n),this.body._walk(n)})}},sn),hn=A("With","expression",{$documentation:"A `with` statement",$propdoc:{expression:"[AST_Node] the `with` expression"},_walk:function(n){return n._visit(this,function(){this.expression._walk(n),this.body._walk(n)})}},an),vn=A("Scope","directives variables functions uses_with uses_eval parent_scope enclosed cname",{$documentation:"Base class for all statements introducing a lexical scope",$propdoc:{directives:"[string*/S] an array of directives declared in this scope",variables:"[Object/S] a map of name -> SymbolDef for all variables/functions defined in this scope",functions:"[Object/S] like `variables`, but only lists function declarations",uses_with:"[boolean/S] tells whether this scope uses the `with` statement",uses_eval:"[boolean/S] tells whether this scope contains a direct call to the global `eval`",parent_scope:"[AST_Scope?/S] link to the parent scope",enclosed:"[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes",cname:"[integer/S] current index for mangling variables (used internally by the mangler)"}},tn),mn=A("Toplevel","globals",{$documentation:"The toplevel scope",$propdoc:{globals:"[Object/S] a map of name -> SymbolDef for all undeclared names"},wrap_enclose:function(n){var e=this,t=[],r=[];n.forEach(function(n){var e=n.lastIndexOf(":");t.push(n.substr(0,e)),r.push(n.substr(e+1))});var i="(function("+r.join(",")+"){ '$ORIG'; })("+t.join(",")+")";return i=j(i),i=i.transform(new R(function(n){if(n instanceof nn&&"$ORIG"==n.value)return J.splice(e.body)}))},wrap_commonjs:function(n,e){var t=this,r=[];e&&(t.figure_out_scope(),t.walk(new E(function(n){n instanceof ae&&n.definition().global&&(o(function(e){return e.name==n.name},r)||r.push(n))})));var i="(function(exports, global){ '$ORIG'; '$EXPORTS'; global['"+n+"'] = exports; }({}, (function(){return this}())))";return i=j(i),i=i.transform(new R(function(n){if(n instanceof nn)switch(n.value){case"$ORIG":return J.splice(t.body);case"$EXPORTS":var e=[];return r.forEach(function(n){e.push(new en({body:new Zn({left:new Vn({expression:new he({name:"exports"}),property:new ge({value:n.name})}),operator:"=",right:new he(n)})}))}),J.splice(e)}}))}},vn),_n=A("Lambda","name argnames uses_arguments",{$documentation:"Base class for functions",$propdoc:{name:"[AST_SymbolDeclaration?] the name of this function",argnames:"[AST_SymbolFunarg*] array of function arguments",uses_arguments:"[boolean/S] tells whether this function accesses the arguments array"},_walk:function(n){return n._visit(this,function(){this.name&&this.name._walk(n),this.argnames.forEach(function(e){e._walk(n)}),w(this,n)})}},vn),gn=A("Accessor",null,{$documentation:"A setter/getter function. The `name` property is always null."},_n),bn=A("Function",null,{$documentation:"A function expression"},_n),yn=A("Defun",null,{$documentation:"A function definition"},_n),An=A("Jump",null,{$documentation:"Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)"},K),wn=A("Exit","value",{$documentation:"Base class for “exits” (`return` and `throw`)",$propdoc:{value:"[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return"},_walk:function(n){return n._visit(this,this.value&&function(){this.value._walk(n)})}},An),En=A("Return",null,{$documentation:"A `return` statement"},wn),Dn=A("Throw",null,{$documentation:"A `throw` statement"},wn),xn=A("LoopControl","label",{$documentation:"Base class for loop control statements (`break` and `continue`)",$propdoc:{label:"[AST_LabelRef?] the label, or null if none"},_walk:function(n){return n._visit(this,this.label&&function(){this.label._walk(n)})}},An),kn=A("Break",null,{$documentation:"A `break` statement"},xn),Fn=A("Continue",null,{$documentation:"A `continue` statement"},xn),Cn=A("If","condition alternative",{$documentation:"A `if` statement",$propdoc:{condition:"[AST_Node] the `if` condition",alternative:"[AST_Statement?] the `else` part, or null if not present"},_walk:function(n){return n._visit(this,function(){this.condition._walk(n),this.body._walk(n),this.alternative&&this.alternative._walk(n)})}},an),Bn=A("Switch","expression",{$documentation:"A `switch` statement",$propdoc:{expression:"[AST_Node] the `switch` “discriminant”"},_walk:function(n){return n._visit(this,function(){this.expression._walk(n),w(this,n)})}},tn),Sn=A("SwitchBranch",null,{$documentation:"Base class for `switch` branches"},tn),Tn=A("Default",null,{$documentation:"A `default` switch branch"},Sn),$n=A("Case","expression",{$documentation:"A `case` switch branch",$propdoc:{expression:"[AST_Node] the `case` expression"},_walk:function(n){return n._visit(this,function(){this.expression._walk(n),w(this,n)})}},Sn),On=A("Try","bcatch bfinally",{$documentation:"A `try` statement",$propdoc:{bcatch:"[AST_Catch?] the catch block, or null if not present",bfinally:"[AST_Finally?] the finally block, or null if not present"},_walk:function(n){return n._visit(this,function(){w(this,n),this.bcatch&&this.bcatch._walk(n),this.bfinally&&this.bfinally._walk(n)})}},tn),qn=A("Catch","argname",{$documentation:"A `catch` node; only makes sense as part of a `try` statement",$propdoc:{argname:"[AST_SymbolCatch] symbol for the exception"},_walk:function(n){return n._visit(this,function(){this.argname._walk(n),w(this,n)})}},tn),Mn=A("Finally",null,{$documentation:"A `finally` node; only makes sense as part of a `try` statement"},tn),zn=A("Definitions","definitions",{$documentation:"Base class for `var` or `const` nodes (variable declarations/initializations)",$propdoc:{definitions:"[AST_VarDef*] array of variable definitions"},_walk:function(n){return n._visit(this,function(){this.definitions.forEach(function(e){e._walk(n)})})}},K),Hn=A("Var",null,{$documentation:"A `var` statement"},zn),Nn=A("Const",null,{$documentation:"A `const` statement"},zn),jn=A("VarDef","name value",{$documentation:"A variable declaration; only appears in a AST_Definitions node",$propdoc:{name:"[AST_SymbolVar|AST_SymbolConst] name of the variable",value:"[AST_Node?] initializer, or null of there's no initializer"},_walk:function(n){return n._visit(this,function(){this.name._walk(n),this.value&&this.value._walk(n)})}}),Rn=A("Call","expression args",{$documentation:"A function call expression",$propdoc:{expression:"[AST_Node] expression to invoke as function",args:"[AST_Node*] array of arguments"},_walk:function(n){return n._visit(this,function(){this.expression._walk(n),this.args.forEach(function(e){e._walk(n)})})}}),In=A("New",null,{$documentation:"An object instantiation. Derives from a function call since it has exactly the same properties"},Rn),Pn=A("Seq","car cdr",{$documentation:"A sequence expression (two comma-separated expressions)",$propdoc:{car:"[AST_Node] first element in sequence",cdr:"[AST_Node] second element in sequence"},$cons:function(n,e){var t=new Pn(n);return t.car=n,t.cdr=e,t},$from_array:function(n){if(0==n.length)return null;if(1==n.length)return n[0].clone();for(var e=null,t=n.length;--t>=0;)e=Pn.cons(n[t],e);for(var r=e;r;){if(r.cdr&&!r.cdr.cdr){r.cdr=r.cdr.car;break}r=r.cdr}return e},to_array:function(){for(var n=this,e=[];n;){if(e.push(n.car),n.cdr&&!(n.cdr instanceof Pn)){e.push(n.cdr);break}n=n.cdr}return e},add:function(n){for(var e=this;e;){if(!(e.cdr instanceof Pn)){var t=Pn.cons(e.cdr,n);return e.cdr=t}e=e.cdr}},len:function(){return this.cdr instanceof Pn?this.cdr.len()+1:2},_walk:function(n){return n._visit(this,function(){this.car._walk(n),this.cdr&&this.cdr._walk(n)})}}),Un=A("PropAccess","expression property",{$documentation:'Base class for property access expressions, i.e. `a.foo` or `a["foo"]`',$propdoc:{expression:"[AST_Node] the “container” expression",property:"[AST_Node|string] the property to access. For AST_Dot this is always a plain string, while for AST_Sub it's an arbitrary AST_Node"}}),Ln=A("Dot",null,{$documentation:"A dotted property access expression",_walk:function(n){return n._visit(this,function(){this.expression._walk(n)})}},Un),Vn=A("Sub",null,{$documentation:'Index-style property access, i.e. `a["foo"]`',_walk:function(n){return n._visit(this,function(){this.expression._walk(n),this.property._walk(n)})}},Un),Yn=A("Unary","operator expression",{$documentation:"Base class for unary expressions",$propdoc:{operator:"[string] the operator",expression:"[AST_Node] expression that this unary operator applies to"},_walk:function(n){return n._visit(this,function(){this.expression._walk(n)})}}),Wn=A("UnaryPrefix",null,{$documentation:"Unary prefix expression, i.e. `typeof i` or `++i`"},Yn),Gn=A("UnaryPostfix",null,{$documentation:"Unary postfix expression, i.e. `i++`"},Yn),Jn=A("Binary","left operator right",{$documentation:"Binary expression, i.e. `a + b`",$propdoc:{left:"[AST_Node] left-hand side expression",operator:"[string] the operator",right:"[AST_Node] right-hand side expression"},_walk:function(n){return n._visit(this,function(){this.left._walk(n),this.right._walk(n)})}}),Xn=A("Conditional","condition consequent alternative",{$documentation:"Conditional expression using the ternary operator, i.e. `a ? b : c`",$propdoc:{condition:"[AST_Node]",consequent:"[AST_Node]",alternative:"[AST_Node]"},_walk:function(n){return n._visit(this,function(){this.condition._walk(n),this.consequent._walk(n),this.alternative._walk(n)})}}),Zn=A("Assign",null,{$documentation:"An assignment expression — `a = b + 5`"},Jn),Kn=A("Array","elements",{$documentation:"An array literal",$propdoc:{elements:"[AST_Node*] array of elements"},_walk:function(n){return n._visit(this,function(){this.elements.forEach(function(e){e._walk(n)})})}}),Qn=A("Object","properties",{$documentation:"An object literal",$propdoc:{properties:"[AST_ObjectProperty*] array of properties"},_walk:function(n){return n._visit(this,function(){this.properties.forEach(function(e){e._walk(n)})})}}),ne=A("ObjectProperty","key value",{$documentation:"Base class for literal object properties",$propdoc:{key:"[string] the property name converted to a string for ObjectKeyVal. For setters and getters this is an arbitrary AST_Node.",value:"[AST_Node] property value. For setters and getters this is an AST_Function."},_walk:function(n){return n._visit(this,function(){this.value._walk(n)})}}),ee=A("ObjectKeyVal","quote",{$documentation:"A key: value object property",$propdoc:{quote:"[string] the original quote character"}},ne),te=A("ObjectSetter",null,{$documentation:"An object setter property"},ne),re=A("ObjectGetter",null,{$documentation:"An object getter property"},ne),ie=A("Symbol","scope name thedef",{$propdoc:{name:"[string] name of this symbol",scope:"[AST_Scope/S] the current scope (not necessarily the definition scope)",thedef:"[SymbolDef/S] the definition of this symbol"},$documentation:"Base class for all symbols"}),oe=A("SymbolAccessor",null,{$documentation:"The name of a property accessor (setter/getter function)"},ie),ae=A("SymbolDeclaration","init",{$documentation:"A declaration symbol (symbol in var/const, function name or argument, symbol in catch)",$propdoc:{init:"[AST_Node*/S] array of initializers for this declaration."}},ie),ue=A("SymbolVar",null,{$documentation:"Symbol defining a variable"},ae),se=A("SymbolConst",null,{$documentation:"A constant declaration"},ae),ce=A("SymbolFunarg",null,{$documentation:"Symbol naming a function argument"},ue),fe=A("SymbolDefun",null,{$documentation:"Symbol defining a function"},ae),le=A("SymbolLambda",null,{$documentation:"Symbol naming a function expression"},ae),pe=A("SymbolCatch",null,{$documentation:"Symbol naming the exception in catch"},ae),de=A("Label","references",{$documentation:"Symbol naming a label (declaration)",$propdoc:{references:"[AST_LoopControl*] a list of nodes referring to this label"},initialize:function(){this.references=[],this.thedef=this}},ie),he=A("SymbolRef",null,{$documentation:"Reference to some symbol (not definition/declaration)"},ie),ve=A("LabelRef",null,{$documentation:"Reference to a label symbol"},ie),me=A("This",null,{$documentation:"The `this` symbol"},ie),_e=A("Constant",null,{$documentation:"Base class for all constants",getValue:function(){return this.value}}),ge=A("String","value quote",{$documentation:"A string literal",$propdoc:{value:"[string] the contents of this string",quote:"[string] the original quote character"}},_e),be=A("Number","value literal",{$documentation:"A number literal",$propdoc:{value:"[number] the numeric value",literal:"[string] numeric value as string (optional)"}},_e),ye=A("RegExp","value",{$documentation:"A regexp literal",$propdoc:{value:"[RegExp] the actual regexp"}},_e),Ae=A("Atom",null,{$documentation:"Base class for atoms"},_e),we=A("Null",null,{$documentation:"The `null` atom",value:null},Ae),Ee=A("NaN",null,{$documentation:"The impossible value",value:NaN},Ae),De=A("Undefined",null,{$documentation:"The `undefined` value",value:void 0},Ae),xe=A("Hole",null,{$documentation:"A hole in an array",value:void 0},Ae),ke=A("Infinity",null,{$documentation:"The `Infinity` value",value:1/0},Ae),Fe=A("Boolean",null,{$documentation:"Base class for booleans"},Ae),Ce=A("False",null,{$documentation:"The `false` atom",value:!1},Fe),Be=A("True",null,{$documentation:"The `true` atom",value:!0},Fe);E.prototype={_visit:function(n,e){this.push(n);var t=this.visit(n,e?function(){e.call(n)}:f);return!t&&e&&e.call(n),this.pop(n),t},parent:function(n){return this.stack[this.stack.length-2-(n||0)]},push:function(n){n instanceof _n?this.directives=Object.create(this.directives):n instanceof nn&&(this.directives[n.value]=!this.directives[n.value]||"up"),this.stack.push(n)},pop:function(n){this.stack.pop(),n instanceof _n&&(this.directives=Object.getPrototypeOf(this.directives))},self:function(){return this.stack[this.stack.length-1]},find_parent:function(n){for(var e=this.stack,t=e.length;--t>=0;){var r=e[t];if(r instanceof n)return r}},has_directive:function(n){var e=this.directives[n];if(e)return e;var t=this.stack[this.stack.length-1];if(t instanceof vn)for(var r=0;r<t.body.length;++r){var i=t.body[r];if(!(i instanceof nn))break;if(i.value==n)return!0}},in_boolean_context:function(){for(var n=this.stack,e=n.length,t=n[--e];e>0;){var r=n[--e];if(r instanceof Cn&&r.condition===t||r instanceof Xn&&r.condition===t||r instanceof cn&&r.condition===t||r instanceof pn&&r.condition===t||r instanceof Wn&&"!"==r.operator&&r.expression===t)return!0;if(!(r instanceof Jn)||"&&"!=r.operator&&"||"!=r.operator)return!1;t=r}},loopcontrol_target:function(n){var e=this.stack;if(n)for(var t=e.length;--t>=0;){var r=e[t];if(r instanceof un&&r.label.name==n.name)return r.body}else for(var t=e.length;--t>=0;){var r=e[t];if(r instanceof Bn||r instanceof sn)return r}}};var Se="break case catch const continue debugger default delete do else finally for function if in instanceof new return switch throw try typeof var void while with",Te="false null true",$e="abstract boolean byte char class double enum export extends final float goto implements import int interface let long native package private protected public short static super synchronized this throws transient volatile yield "+Te+" "+Se,Oe="return new delete throw else case";Se=_(Se),$e=_($e),Oe=_(Oe),Te=_(Te);var qe=_(r("+-*&%=<>!?|~^")),Me=/^0x[0-9a-f]+$/i,ze=/^0[0-7]+$/,He=_(["in","instanceof","typeof","new","void","delete","++","--","+","-","!","~","&","|","^","*","/","%",">>","<<",">>>","<",">","<=",">=","==","===","!=","!==","?","=","+=","-=","/=","*=","%=",">>=","<<=",">>>=","|=","^=","&=","&&","||"]),Ne=_(r(" \n\r\t\f\v \u2028\u2029 \ufeff")),je=_(r("\n\r\u2028\u2029")),Re=_(r("[{(,.;:")),Ie=_(r("[]{}(),;:")),Pe=(_(r("gmsiy")),{letter:new RegExp("[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),digit:new RegExp("[\\u0030-\\u0039\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19]"),non_spacing_mark:new RegExp("[\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065E\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0900-\\u0902\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F90-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1DC0-\\u1DE6\\u1DFD-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F\\uA67C\\uA67D\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE26]"),space_combining_mark:new RegExp("[\\u0903\\u093E-\\u0940\\u0949-\\u094C\\u094E\\u0982\\u0983\\u09BE-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A19-\\u1A1B\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1C24-\\u1C2B\\u1C34\\u1C35\\u1CE1\\u1CF2\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4-\\uA8C3\\uA952\\uA953\\uA983\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BD-\\uA9C0\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D\\uAA7B\\uABE3\\uABE4\\uABE6\\uABE7\\uABE9\\uABEA\\uABEC]"),connector_punctuation:new RegExp("[\\u005F\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F]")});M.prototype.toString=function(){return this.message+" (line: "+this.line+", col: "+this.col+", pos: "+this.pos+")\n\n"+this.stack};var Ue={},Le=_(["typeof","void","delete","--","++","!","~","-","+"]),Ve=_(["--","++"]),Ye=_(["=","+=","-=","/=","*=","%=",">>=","<<=",">>>=","|=","^=","&="]),We=function(n,e){for(var t=0;t<n.length;++t)for(var r=n[t],i=0;i<r.length;++i)e[r[i]]=t+1;return e}([["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]],{}),Ge=(t(["for","do","while","switch"]),t(["atom","num","string","regexp","name"]));R.prototype=new E,function(n){function e(e,t){e.DEFMETHOD("transform",function(e,r){var i,o;return e.push(this),e.before&&(i=e.before(this,t,r)),i===n&&(e.after?(e.stack[e.stack.length-1]=i=this,t(i,e),o=e.after(i,r),o!==n&&(i=o)):(i=this,t(i,e))),e.pop(this),i})}function t(n,e){return J(n,function(n){return n.transform(e,!0)})}e(Z,f),e(un,function(n,e){n.label=n.label.transform(e),n.body=n.body.transform(e)}),e(en,function(n,e){n.body=n.body.transform(e)}),e(tn,function(n,e){n.body=t(n.body,e)}),e(cn,function(n,e){n.condition=n.condition.transform(e),n.body=n.body.transform(e)}),e(pn,function(n,e){n.init&&(n.init=n.init.transform(e)),n.condition&&(n.condition=n.condition.transform(e)),n.step&&(n.step=n.step.transform(e)),n.body=n.body.transform(e)}),e(dn,function(n,e){n.init=n.init.transform(e),n.object=n.object.transform(e),n.body=n.body.transform(e)}),e(hn,function(n,e){n.expression=n.expression.transform(e),n.body=n.body.transform(e)}),e(wn,function(n,e){n.value&&(n.value=n.value.transform(e))}),e(xn,function(n,e){n.label&&(n.label=n.label.transform(e))}),e(Cn,function(n,e){n.condition=n.condition.transform(e),n.body=n.body.transform(e),n.alternative&&(n.alternative=n.alternative.transform(e))}),e(Bn,function(n,e){n.expression=n.expression.transform(e),n.body=t(n.body,e)}),e($n,function(n,e){n.expression=n.expression.transform(e),n.body=t(n.body,e)}),e(On,function(n,e){n.body=t(n.body,e),n.bcatch&&(n.bcatch=n.bcatch.transform(e)),n.bfinally&&(n.bfinally=n.bfinally.transform(e))}),e(qn,function(n,e){n.argname=n.argname.transform(e),n.body=t(n.body,e)}),e(zn,function(n,e){n.definitions=t(n.definitions,e)}),e(jn,function(n,e){n.name=n.name.transform(e),n.value&&(n.value=n.value.transform(e))}),e(_n,function(n,e){n.name&&(n.name=n.name.transform(e)),n.argnames=t(n.argnames,e),n.body=t(n.body,e)}),e(Rn,function(n,e){n.expression=n.expression.transform(e),n.args=t(n.args,e)}),e(Pn,function(n,e){n.car=n.car.transform(e),n.cdr=n.cdr.transform(e)}),e(Ln,function(n,e){n.expression=n.expression.transform(e)}),e(Vn,function(n,e){n.expression=n.expression.transform(e),n.property=n.property.transform(e)}),e(Yn,function(n,e){n.expression=n.expression.transform(e)}),e(Jn,function(n,e){n.left=n.left.transform(e),n.right=n.right.transform(e)}),e(Xn,function(n,e){n.condition=n.condition.transform(e),n.consequent=n.consequent.transform(e),n.alternative=n.alternative.transform(e)}),e(Kn,function(n,e){n.elements=t(n.elements,e)}),e(Qn,function(n,e){n.properties=t(n.properties,e)}),e(ne,function(n,e){n.value=n.value.transform(e)})}(),I.next_id=1,I.prototype={unmangleable:function(n){return n||(n={}),this.global&&!n.toplevel||this.undeclared||!n.eval&&(this.scope.uses_eval||this.scope.uses_with)||n.keep_fnames&&(this.orig[0]instanceof le||this.orig[0]instanceof fe)},mangle:function(n){var e=n.cache&&n.cache.props;if(this.global&&e&&e.has(this.name))this.mangled_name=e.get(this.name);else if(!this.mangled_name&&!this.unmangleable(n)){var t=this.scope;!n.screw_ie8&&this.orig[0]instanceof le&&(t=t.parent_scope),this.mangled_name=t.next_mangled(n,this),this.global&&e&&e.set(this.name,this.mangled_name)}}},mn.DEFMETHOD("figure_out_scope",function(n){n=s(n,{screw_ie8:!0,cache:null});var e=this,t=e.parent_scope=null,r=new b,i=null,o=!1,a=0,u=new E(function(e,s){if(n.screw_ie8&&e instanceof qn){var c=t;return t=new vn(e),t.init_scope_vars(a),t.parent_scope=c,s(),t=c,!0}if(e instanceof vn){e.init_scope_vars(a);var c=e.parent_scope=t,f=i,l=r;return i=t=e,r=new b,++a,s(),--a,t=c,i=f,r=l,!0}if(e instanceof un){var p=e.label;if(r.has(p.name))throw new Error(h("Label {name} defined twice",p));return r.set(p.name,p),s(),r.del(p.name),!0}if(e instanceof hn)for(var d=t;d;d=d.parent_scope)d.uses_with=!0;else if(e instanceof ie&&(e.scope=t),e instanceof de&&(e.thedef=e,e.references=[]),e instanceof le)i.def_function(e);else if(e instanceof fe)(e.scope=i.parent_scope).def_function(e);else if(e instanceof Hn)o=e.has_const_pragma();else if(e instanceof ue||e instanceof se){var v=i.def_variable(e);v.constant=e instanceof se||o,v.init=u.parent().value}else if(e instanceof pe)(n.screw_ie8?t:i).def_variable(e);else if(e instanceof ve){var m=r.get(e.name);if(!m)throw new Error(h("Undefined label {name} [{line},{col}]",{name:e.name,line:e.start.line,col:e.start.col}));e.thedef=m}});e.walk(u);var c=null,f=e.globals=new b,u=new E(function(n,t){if(n instanceof _n){var r=c;return c=n,t(),c=r,!0}if(n instanceof xn&&n.label)return n.label.thedef.references.push(n),!0;if(n instanceof he){var i=n.name,o=u.parent();if("eval"==i&&o instanceof Rn)for(var a=n.scope;a&&!a.uses_eval;a=a.parent_scope)a.uses_eval=!0;var s=n.scope.find_variable(i);if(n.scope instanceof _n&&"arguments"==i&&(n.scope.uses_arguments=!0),!s){var l;f.has(i)?l=f.get(i):(l=new I(e,f.size(),n),l.undeclared=!0,l.global=!0,f.set(i,l)),s=l}return n.thedef=s,(o instanceof Yn&&("++"===o.operator||"--"===o.operator)||o instanceof Zn&&o.left===n)&&(s.modified=!0),n.reference(),!0}});e.walk(u),n.cache&&(this.cname=n.cache.cname)}),vn.DEFMETHOD("init_scope_vars",function(n){this.variables=new b,this.functions=new b,this.uses_with=!1,this.uses_eval=!1,this.parent_scope=null,this.enclosed=[],this.cname=-1,this.nesting=n}),_n.DEFMETHOD("init_scope_vars",function(){vn.prototype.init_scope_vars.apply(this,arguments),this.uses_arguments=!1;var n=new jn({name:"arguments",start:this.start,end:this.end}),e=new I(this,this.variables.size(),n);this.variables.set(n.name,e)}),he.DEFMETHOD("reference",function(){var n=this.definition();n.references.push(this);for(var e=this.scope;e&&(d(e.enclosed,n),e!==n.scope);)e=e.parent_scope;this.frame=this.scope.nesting-n.scope.nesting}),vn.DEFMETHOD("find_variable",function(n){return n instanceof ie&&(n=n.name),this.variables.get(n)||this.parent_scope&&this.parent_scope.find_variable(n)}),vn.DEFMETHOD("def_function",function(n){this.functions.set(n.name,this.def_variable(n))}),vn.DEFMETHOD("def_variable",function(n){var e;return this.variables.has(n.name)?(e=this.variables.get(n.name),e.orig.push(n)):(e=new I(this,this.variables.size(),n),this.variables.set(n.name,e),e.global=!this.parent_scope),n.thedef=e}),vn.DEFMETHOD("next_mangled",function(n){var e=this.enclosed;n:for(;;){var t=Je(++this.cname);if(S(t)&&!(n.except.indexOf(t)>=0)){for(var r=e.length;--r>=0;){var i=e[r],o=i.mangled_name||i.unmangleable(n)&&i.name;if(t==o)continue n;
}return t}}}),bn.DEFMETHOD("next_mangled",function(n,e){for(var t=e.orig[0]instanceof ce&&this.name&&this.name.definition(),r=t?t.mangled_name||t.name:null;;){var i=_n.prototype.next_mangled.call(this,n,e);if(!r||r!=i)return i}}),vn.DEFMETHOD("references",function(n){return n instanceof ie&&(n=n.definition()),this.enclosed.indexOf(n)<0?null:n}),ie.DEFMETHOD("unmangleable",function(n){return this.definition().unmangleable(n)}),oe.DEFMETHOD("unmangleable",function(){return!0}),de.DEFMETHOD("unmangleable",function(){return!1}),ie.DEFMETHOD("unreferenced",function(){return 0==this.definition().references.length&&!(this.scope.uses_eval||this.scope.uses_with)}),ie.DEFMETHOD("undeclared",function(){return this.definition().undeclared}),ve.DEFMETHOD("undeclared",function(){return!1}),de.DEFMETHOD("undeclared",function(){return!1}),ie.DEFMETHOD("definition",function(){return this.thedef}),ie.DEFMETHOD("global",function(){return this.definition().global}),Hn.DEFMETHOD("has_const_pragma",function(){var n=this.start&&this.start.comments_before,e=n&&n[n.length-1];return e&&/@const\b/.test(e.value)}),mn.DEFMETHOD("_default_mangler_options",function(n){return s(n,{except:[],eval:!1,sort:!1,toplevel:!1,screw_ie8:!0,keep_fnames:!1})}),mn.DEFMETHOD("mangle_names",function(n){n=this._default_mangler_options(n),n.except.push("arguments");var e=-1,t=[];n.cache&&this.globals.each(function(e){n.except.indexOf(e.name)<0&&t.push(e)});var r=new E(function(i,o){if(i instanceof un){var a=e;return o(),e=a,!0}if(i instanceof vn){var u=(r.parent(),[]);return i.variables.each(function(e){n.except.indexOf(e.name)<0&&u.push(e)}),void t.push.apply(t,u)}if(i instanceof de){var s;do s=Je(++e);while(!S(s));return i.mangled_name=s,!0}if(n.screw_ie8&&i instanceof pe)return void t.push(i.definition())});this.walk(r),t.forEach(function(e){e.mangle(n)}),n.cache&&(n.cache.cname=this.cname)}),mn.DEFMETHOD("compute_char_frequency",function(n){n=this._default_mangler_options(n);var e=new E(function(e){e instanceof _e?Je.consider(e.print_to_string()):e instanceof En?Je.consider("return"):e instanceof Dn?Je.consider("throw"):e instanceof Fn?Je.consider("continue"):e instanceof kn?Je.consider("break"):e instanceof Q?Je.consider("debugger"):e instanceof nn?Je.consider(e.value):e instanceof ln?Je.consider("while"):e instanceof fn?Je.consider("do while"):e instanceof Cn?(Je.consider("if"),e.alternative&&Je.consider("else")):e instanceof Hn?Je.consider("var"):e instanceof Nn?Je.consider("const"):e instanceof _n?Je.consider("function"):e instanceof pn?Je.consider("for"):e instanceof dn?Je.consider("for in"):e instanceof Bn?Je.consider("switch"):e instanceof $n?Je.consider("case"):e instanceof Tn?Je.consider("default"):e instanceof hn?Je.consider("with"):e instanceof te?Je.consider("set"+e.key):e instanceof re?Je.consider("get"+e.key):e instanceof ee?Je.consider(e.key):e instanceof In?Je.consider("new"):e instanceof me?Je.consider("this"):e instanceof On?Je.consider("try"):e instanceof qn?Je.consider("catch"):e instanceof Mn?Je.consider("finally"):e instanceof ie&&e.unmangleable(n)?Je.consider(e.name):e instanceof Yn||e instanceof Jn?Je.consider(e.operator):e instanceof Ln&&Je.consider(e.property)});this.walk(e),Je.sort()});var Je=function(){function n(){r=Object.create(null),t=i.split("").map(function(n){return n.charCodeAt(0)}),t.forEach(function(n){r[n]=0})}function e(n){var e="",r=54;n++;do n--,e+=String.fromCharCode(t[n%r]),n=Math.floor(n/r),r=64;while(n>0);return e}var t,r,i="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789";return e.consider=function(n){for(var e=n.length;--e>=0;){var t=n.charCodeAt(e);t in r&&++r[t]}},e.sort=function(){t=m(t,function(n,e){return x(n)&&!x(e)?1:x(e)&&!x(n)?-1:r[e]-r[n]})},e.reset=n,n(),e.get=function(){return t},e.freq=function(){return r},e}();mn.DEFMETHOD("scope_warnings",function(n){n=s(n,{undeclared:!1,unreferenced:!0,assign_to_global:!0,func_arguments:!0,nested_defuns:!0,eval:!0});var e=new E(function(t){if(n.undeclared&&t instanceof he&&t.undeclared()&&Z.warn("Undeclared symbol: {name} [{file}:{line},{col}]",{name:t.name,file:t.start.file,line:t.start.line,col:t.start.col}),n.assign_to_global){var r=null;t instanceof Zn&&t.left instanceof he?r=t.left:t instanceof dn&&t.init instanceof he&&(r=t.init),r&&(r.undeclared()||r.global()&&r.scope!==r.definition().scope)&&Z.warn("{msg}: {name} [{file}:{line},{col}]",{msg:r.undeclared()?"Accidental global?":"Assignment to global",name:r.name,file:r.start.file,line:r.start.line,col:r.start.col})}n.eval&&t instanceof he&&t.undeclared()&&"eval"==t.name&&Z.warn("Eval is used [{file}:{line},{col}]",t.start),n.unreferenced&&(t instanceof ae||t instanceof de)&&!(t instanceof pe)&&t.unreferenced()&&Z.warn("{type} {name} is declared but not referenced [{file}:{line},{col}]",{type:t instanceof de?"Label":"Symbol",name:t.name,file:t.start.file,line:t.start.line,col:t.start.col}),n.func_arguments&&t instanceof _n&&t.uses_arguments&&Z.warn("arguments used in function {name} [{file}:{line},{col}]",{name:t.name?t.name.name:"anonymous",file:t.start.file,line:t.start.line,col:t.start.col}),n.nested_defuns&&t instanceof yn&&!(e.parent()instanceof vn)&&Z.warn('Function {name} declared in nested statement "{type}" [{file}:{line},{col}]',{name:t.name.name,type:e.parent().TYPE,file:t.start.file,line:t.start.line,col:t.start.col})});this.walk(e)});var Xe=/^$|[;{][\s\n]*$/;!function(){function n(n,e){n.DEFMETHOD("_codegen",e)}function e(n,t){Array.isArray(n)?n.forEach(function(n){e(n,t)}):n.DEFMETHOD("needs_parens",t)}function t(n,e,t,r){var i=n.length-1;_=r,n.forEach(function(n,r){_!==!0||n instanceof nn||n instanceof on||n instanceof en&&n.body instanceof ge||(_=!1),n instanceof on||(t.indent(),n.print(t),r==i&&e||(t.newline(),e&&t.newline())),_===!0&&n instanceof en&&n.body instanceof ge&&(_=!1)}),_=!1}function r(n,e,r){n.length>0?e.with_block(function(){t(n,!1,e,r)}):e.print("{}")}function i(n,e){if(e.option("bracketize"))return void d(n.body,e);if(!n.body)return e.force_semicolon();if(n.body instanceof fn)return void d(n.body,e);for(var t=n.body;;)if(t instanceof Cn){if(!t.alternative)return void d(n.body,e);t=t.alternative}else{if(!(t instanceof an))break;t=t.body}u(n.body,e)}function o(n,e,t){if(t)try{n.walk(new E(function(n){if(n instanceof Jn&&"in"==n.operator)throw e})),n.print(e)}catch(t){if(t!==e)throw t;n.print(e,!0)}else n.print(e)}function a(n){return[92,47,46,43,42,63,40,41,91,93,123,125,36,94,58,124,33,10,13,0,65279,8232,8233].indexOf(n)<0}function u(n,e){e.option("bracketize")?!n||n instanceof on?e.print("{}"):n instanceof rn?n.print(e):e.with_block(function(){e.indent(),n.print(e),e.newline()}):!n||n instanceof on?e.force_semicolon():n.print(e)}function s(n){for(var e=n.stack(),t=e.length,r=e[--t],i=e[--t];t>0;){if(i instanceof K&&i.body===r)return!0;if(!(i instanceof Pn&&i.car===r||i instanceof Rn&&i.expression===r&&!(i instanceof In)||i instanceof Ln&&i.expression===r||i instanceof Vn&&i.expression===r||i instanceof Xn&&i.condition===r||i instanceof Jn&&i.left===r||i instanceof Gn&&i.expression===r))return!1;r=i,i=e[--t]}}function c(n,e){return n.args.length>0||e.option("beautify")}function l(n){for(var e=n[0],t=e.length,r=1;r<n.length;++r)n[r].length<t&&(e=n[r],t=e.length);return e}function p(n){var e,t=n.toString(10),r=[t.replace(/^0\./,".").replace("e+","e")];return Math.floor(n)===n?(n>=0?r.push("0x"+n.toString(16).toLowerCase(),"0"+n.toString(8)):r.push("-0x"+(-n).toString(16).toLowerCase(),"-0"+(-n).toString(8)),(e=/^(.*?)(0+)$/.exec(n))&&r.push(e[1]+"e"+e[2].length)):(e=/^0?\.(0+)(.*)$/.exec(n))&&r.push(e[2]+"e-"+(e[1].length+e[2].length),t.substr(t.indexOf("."))),l(r)}function d(n,e){return n instanceof rn?void n.print(e):void e.with_block(function(){e.indent(),n.print(e),e.newline()})}function h(n,e){n.DEFMETHOD("add_source_map",function(n){e(this,n)})}function v(n,e){e.add_mapping(n.start)}var m=!1,_=!1;Z.DEFMETHOD("print",function(n,e){function t(){r.add_comments(n),r.add_source_map(n),i(r,n)}var r=this,i=r._codegen,o=m;r instanceof nn&&"use asm"==r.value&&n.parent()instanceof vn&&(m=!0),n.push_node(r),e||r.needs_parens(n)?n.with_parens(t):t(),n.pop_node(),r instanceof vn&&(m=o)}),Z.DEFMETHOD("print_to_string",function(n){var e=L(n);return n||(e._readonly=!0),this.print(e),e.get()}),Z.DEFMETHOD("add_comments",function(n){if(!n._readonly){var e=this,t=e.start;if(t&&!t._comments_dumped){t._comments_dumped=!0;var r=t.comments_before||[];e instanceof wn&&e.value&&e.value.walk(new E(function(n){if(n.start&&n.start.comments_before&&(r=r.concat(n.start.comments_before),n.start.comments_before=[]),n instanceof bn||n instanceof Kn||n instanceof Qn)return!0})),r=r.filter(n.comment_filter,e),!n.option("beautify")&&r.length>0&&/comment[134]/.test(r[0].type)&&0!==n.col()&&r[0].nlb&&n.print("\n"),r.forEach(function(e){/comment[134]/.test(e.type)?(n.print("//"+e.value+"\n"),n.indent()):"comment2"==e.type?(n.print("/*"+e.value+"*/"),t.nlb?(n.print("\n"),n.indent()):n.space()):0===n.pos()&&"comment5"==e.type&&n.option("shebang")&&(n.print("#!"+e.value+"\n"),n.indent())})}}}),e(Z,function(){return!1}),e(bn,function(n){if(s(n))return!0;if(n.option("wrap_iife")){var e=n.parent();return e instanceof Rn&&e.expression===this}return!1}),e(Qn,function(n){return s(n)}),e([Yn,De],function(n){var e=n.parent();return e instanceof Un&&e.expression===this||e instanceof Rn&&e.expression===this}),e(Pn,function(n){var e=n.parent();return e instanceof Rn||e instanceof Yn||e instanceof Jn||e instanceof jn||e instanceof Un||e instanceof Kn||e instanceof ne||e instanceof Xn}),e(Jn,function(n){var e=n.parent();if(e instanceof Rn&&e.expression===this)return!0;if(e instanceof Yn)return!0;if(e instanceof Un&&e.expression===this)return!0;if(e instanceof Jn){var t=e.operator,r=We[t],i=this.operator,o=We[i];if(r>o||r==o&&this===e.right)return!0}}),e(Un,function(n){var e=n.parent();if(e instanceof In&&e.expression===this)try{this.walk(new E(function(n){if(n instanceof Rn)throw e}))}catch(n){if(n!==e)throw n;return!0}}),e(Rn,function(n){var e,t=n.parent();return t instanceof In&&t.expression===this||this.expression instanceof bn&&t instanceof Un&&t.expression===this&&(e=n.parent(1))instanceof Zn&&e.left===t}),e(In,function(n){var e=n.parent();if(!c(this,n)&&(e instanceof Un||e instanceof Rn&&e.expression===this))return!0}),e(be,function(n){var e=n.parent();if(e instanceof Un&&e.expression===this){var t=this.getValue();if(t<0||/^0/.test(p(t)))return!0}}),e([Zn,Xn],function(n){var e=n.parent();return e instanceof Yn||(e instanceof Jn&&!(e instanceof Zn)||(e instanceof Rn&&e.expression===this||(e instanceof Xn&&e.condition===this||(e instanceof Un&&e.expression===this||void 0))))}),n(nn,function(n,e){e.print_string(n.value,n.quote),e.semicolon()}),n(Q,function(n,e){e.print("debugger"),e.semicolon()}),an.DEFMETHOD("_do_print_body",function(n){u(this.body,n)}),n(K,function(n,e){n.body.print(e),e.semicolon()}),n(mn,function(n,e){t(n.body,!0,e,!0),e.print("")}),n(un,function(n,e){n.label.print(e),e.colon(),n.body.print(e)}),n(en,function(n,e){n.body.print(e),e.semicolon()}),n(rn,function(n,e){r(n.body,e)}),n(on,function(n,e){e.semicolon()}),n(fn,function(n,e){e.print("do"),e.space(),n._do_print_body(e),e.space(),e.print("while"),e.space(),e.with_parens(function(){n.condition.print(e)}),e.semicolon()}),n(ln,function(n,e){e.print("while"),e.space(),e.with_parens(function(){n.condition.print(e)}),e.space(),n._do_print_body(e)}),n(pn,function(n,e){e.print("for"),e.space(),e.with_parens(function(){!n.init||n.init instanceof on?e.print(";"):(n.init instanceof zn?n.init.print(e):o(n.init,e,!0),e.print(";"),e.space()),n.condition?(n.condition.print(e),e.print(";"),e.space()):e.print(";"),n.step&&n.step.print(e)}),e.space(),n._do_print_body(e)}),n(dn,function(n,e){e.print("for"),e.space(),e.with_parens(function(){n.init.print(e),e.space(),e.print("in"),e.space(),n.object.print(e)}),e.space(),n._do_print_body(e)}),n(hn,function(n,e){e.print("with"),e.space(),e.with_parens(function(){n.expression.print(e)}),e.space(),n._do_print_body(e)}),_n.DEFMETHOD("_do_print",function(n,e){var t=this;e||n.print("function"),t.name&&(n.space(),t.name.print(n)),n.with_parens(function(){t.argnames.forEach(function(e,t){t&&n.comma(),e.print(n)})}),n.space(),r(t.body,n,!0)}),n(_n,function(n,e){n._do_print(e)}),wn.DEFMETHOD("_do_print",function(n,e){n.print(e),this.value&&(n.space(),this.value.print(n)),n.semicolon()}),n(En,function(n,e){n._do_print(e,"return")}),n(Dn,function(n,e){n._do_print(e,"throw")}),xn.DEFMETHOD("_do_print",function(n,e){n.print(e),this.label&&(n.space(),this.label.print(n)),n.semicolon()}),n(kn,function(n,e){n._do_print(e,"break")}),n(Fn,function(n,e){n._do_print(e,"continue")}),n(Cn,function(n,e){e.print("if"),e.space(),e.with_parens(function(){n.condition.print(e)}),e.space(),n.alternative?(i(n,e),e.space(),e.print("else"),e.space(),u(n.alternative,e)):n._do_print_body(e)}),n(Bn,function(n,e){e.print("switch"),e.space(),e.with_parens(function(){n.expression.print(e)}),e.space(),n.body.length>0?e.with_block(function(){n.body.forEach(function(n,t){t&&e.newline(),e.indent(!0),n.print(e)})}):e.print("{}")}),Sn.DEFMETHOD("_do_print_body",function(n){this.body.length>0&&(n.newline(),this.body.forEach(function(e){n.indent(),e.print(n),n.newline()}))}),n(Tn,function(n,e){e.print("default:"),n._do_print_body(e)}),n($n,function(n,e){e.print("case"),e.space(),n.expression.print(e),e.print(":"),n._do_print_body(e)}),n(On,function(n,e){e.print("try"),e.space(),r(n.body,e),n.bcatch&&(e.space(),n.bcatch.print(e)),n.bfinally&&(e.space(),n.bfinally.print(e))}),n(qn,function(n,e){e.print("catch"),e.space(),e.with_parens(function(){n.argname.print(e)}),e.space(),r(n.body,e)}),n(Mn,function(n,e){e.print("finally"),e.space(),r(n.body,e)}),zn.DEFMETHOD("_do_print",function(n,e){n.print(e),n.space(),this.definitions.forEach(function(e,t){t&&n.comma(),e.print(n)});var t=n.parent(),r=t instanceof pn||t instanceof dn,i=r&&t.init===this;i||n.semicolon()}),n(Hn,function(n,e){n._do_print(e,"var")}),n(Nn,function(n,e){n._do_print(e,"const")}),n(jn,function(n,e){if(n.name.print(e),n.value){e.space(),e.print("="),e.space();var t=e.parent(1),r=t instanceof pn||t instanceof dn;o(n.value,e,r)}}),n(Rn,function(n,e){n.expression.print(e),n instanceof In&&!c(n,e)||e.with_parens(function(){n.args.forEach(function(n,t){t&&e.comma(),n.print(e)})})}),n(In,function(n,e){e.print("new"),e.space(),Rn.prototype._codegen(n,e)}),Pn.DEFMETHOD("_do_print",function(n){this.car.print(n),this.cdr&&(n.comma(),n.should_break()&&(n.newline(),n.indent()),this.cdr.print(n))}),n(Pn,function(n,e){n._do_print(e)}),n(Ln,function(n,e){var t=n.expression;t.print(e),t instanceof be&&t.getValue()>=0&&(/[xa-f.)]/i.test(e.last())||e.print(".")),e.print("."),e.add_mapping(n.end),e.print_name(n.property)}),n(Vn,function(n,e){n.expression.print(e),e.print("["),n.property.print(e),e.print("]")}),n(Wn,function(n,e){var t=n.operator;e.print(t),(/^[a-z]/i.test(t)||/[+-]$/.test(t)&&n.expression instanceof Wn&&/^[+-]/.test(n.expression.operator))&&e.space(),n.expression.print(e)}),n(Gn,function(n,e){n.expression.print(e),e.print(n.operator)}),n(Jn,function(n,e){var t=n.operator;n.left.print(e),">"==t[0]&&n.left instanceof Gn&&"--"==n.left.operator?e.print(" "):e.space(),e.print(t),("<"==t||"<<"==t)&&n.right instanceof Wn&&"!"==n.right.operator&&n.right.expression instanceof Wn&&"--"==n.right.expression.operator?e.print(" "):e.space(),n.right.print(e)}),n(Xn,function(n,e){n.condition.print(e),e.space(),e.print("?"),e.space(),n.consequent.print(e),e.space(),e.colon(),n.alternative.print(e)}),n(Kn,function(n,e){e.with_square(function(){var t=n.elements,r=t.length;r>0&&e.space(),t.forEach(function(n,t){t&&e.comma(),n.print(e),t===r-1&&n instanceof xe&&e.comma()}),r>0&&e.space()})}),n(Qn,function(n,e){n.properties.length>0?e.with_block(function(){n.properties.forEach(function(n,t){t&&(e.print(","),e.newline()),e.indent(),n.print(e)}),e.newline()}):e.print("{}")}),n(ee,function(n,e){var t=n.key,r=n.quote;e.option("quote_keys")?e.print_string(t+""):("number"==typeof t||!e.option("beautify")&&+t+""==t)&&parseFloat(t)>=0?e.print(p(t)):($e(t)?e.option("screw_ie8"):O(t))?r&&e.option("keep_quoted_props")?e.print_string(t,r):e.print_name(t):e.print_string(t,r),e.colon(),n.value.print(e)}),n(te,function(n,e){e.print("set"),e.space(),n.key.print(e),n.value._do_print(e,!0)}),n(re,function(n,e){e.print("get"),e.space(),n.key.print(e),n.value._do_print(e,!0)}),n(ie,function(n,e){var t=n.definition();e.print_name(t?t.mangled_name||t.name:n.name)}),n(De,function(n,e){e.print("void 0")}),n(xe,f),n(ke,function(n,e){e.print("Infinity")}),n(Ee,function(n,e){e.print("NaN")}),n(me,function(n,e){e.print("this")}),n(_e,function(n,e){e.print(n.getValue())}),n(ge,function(n,e){e.print_string(n.getValue(),n.quote,_)}),n(be,function(n,e){m&&n.start&&null!=n.start.raw?e.print(n.start.raw):e.print(p(n.getValue()))}),n(ye,function(n,e){var t=n.getValue().toString();e.option("ascii_only")?t=e.to_ascii(t):e.option("unescape_regexps")&&(t=t.split("\\\\").map(function(n){return n.replace(/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}/g,function(n){var e=parseInt(n.substr(2),16);return a(e)?String.fromCharCode(e):n})}).join("\\\\")),e.print(t);var r=e.parent();r instanceof Jn&&/^in/.test(r.operator)&&r.left===n&&e.print(" ")}),h(Z,f),h(nn,v),h(Q,v),h(ie,v),h(An,v),h(an,v),h(un,f),h(_n,v),h(Bn,v),h(Sn,v),h(rn,v),h(mn,f),h(In,v),h(On,v),h(qn,v),h(Mn,v),h(zn,v),h(_e,v),h(te,function(n,e){e.add_mapping(n.start,n.key.name)}),h(re,function(n,e){e.add_mapping(n.start,n.key.name)}),h(ne,function(n,e){e.add_mapping(n.start,n.key)})}(),V.prototype=new R,c(V.prototype,{option:function(n){return this.options[n]},compress:function(n){for(var e=+this.options.passes||1,t=0;t<e&&t<3;++t)t>0&&n.clear_opt_flags(),n=n.transform(this);return n},warn:function(n,e){if(this.options.warnings){var t=h(n,e);t in this.warnings_produced||(this.warnings_produced[t]=!0,Z.warn.apply(Z,arguments))}},clear_warnings:function(){this.warnings_produced={}},before:function(n,e,t){if(n._squeezed)return n;var r=!1;return n instanceof vn&&(n=n.hoist_declarations(this),r=!0),e(n,this),n=n.optimize(this),r&&n instanceof vn&&(n.drop_unused(this),e(n,this)),n._squeezed=!0,n}}),function(){function n(n,e){n.DEFMETHOD("optimize",function(n){var t=this;if(t._optimized)return t;if(n.has_directive("use asm"))return t;var r=e(t,n);return r._optimized=!0,r===t?r:r.transform(n)})}function e(n,e,t){return t||(t={}),e&&(t.start||(t.start=e.start),t.end||(t.end=e.end)),new n(t)}function t(n,t,r){if(t instanceof Z)return t.transform(n);switch(typeof t){case"string":return e(ge,r,{value:t}).optimize(n);case"number":return isNaN(t)?e(Ee,r):1/t<0?e(Wn,r,{operator:"-",expression:e(be,r,{value:-t})}):e(be,r,{value:t}).optimize(n);case"boolean":return e(t?Be:Ce,r).optimize(n);case"undefined":return e(De,r).optimize(n);default:if(null===t)return e(we,r,{value:null}).optimize(n);if(t instanceof RegExp)return e(ye,r,{value:t}).optimize(n);throw new Error(h("Can't handle constant of type: {type}",{type:typeof t}))}}function r(n,t,r){return n instanceof Rn&&n.expression===t&&(r instanceof Un||r instanceof he&&"eval"===r.name)?e(Pn,t,{car:e(be,t,{value:0}),cdr:r}):r}function a(n){if(null===n)return[];if(n instanceof rn)return n.body;if(n instanceof on)return[];if(n instanceof K)return[n];throw new Error("Can't convert thing to statement array")}function u(n){return null===n||(n instanceof on||n instanceof rn&&0==n.body.length)}function s(n){return n instanceof Bn?n:(n instanceof pn||n instanceof dn||n instanceof cn)&&n.body instanceof rn?n.body:n}function c(n,t){function i(n,t){function o(n,e){return n instanceof he&&(e instanceof Zn&&n===e.left||e instanceof Yn&&e.expression===n&&("++"==e.operator||"--"==e.operator))}function a(i,a,c){if(o(i,a))return i;var p=r(a,i,y.value);return y.value=null,d.splice(g,1),0===d.length&&(n[l]=e(on,u),s=!0),f.clear_opt_flags(),t.warn("Replacing "+(c?"constant":"variable")+" "+A+" [{file}:{line},{col}]",i.start),b=!0,p}for(var u=t.self(),s=!1,c=n.length;--c>=0;){var f=n[c];if(!(f instanceof zn)){if([f,f.body,f.alternative,f.bcatch,f.bfinally].forEach(function(n){n&&n.body&&i(n.body,t)}),c<=0)break;var l=c-1,p=n[l];if(p instanceof zn){var d=p.definitions;if(null!=d)for(var h={},v=!1,m=!1,_={},g=d.length;--g>=0;){var y=d[g];if(null==y.value)break;var A=y.name.name;if(!A||!A.length)break;if(A in h)break;h[A]=!0;var w=u.find_variable&&u.find_variable(A);if(w&&w.references&&1===w.references.length&&"arguments"!=A){var D=w.references[0];if(D.scope.uses_eval||D.scope.uses_with)break;if(y.value instanceof ye||!y.value.is_constant(t)){if(!(v|=m))if(D.scope===u){var x=new E(function(n){n instanceof he&&o(n,x.parent())&&(_[n.name]=m=!0)});y.value.walk(x);var k=!1,F=new R(function(n){if(k)return n;var e=F.parent();return n instanceof _n||n instanceof On||n instanceof hn||n instanceof $n||n instanceof sn||e instanceof Cn&&n!==e.condition||e instanceof Xn&&n!==e.condition||e instanceof Jn&&("&&"==e.operator||"||"==e.operator)&&n===e.right||e instanceof Bn&&n!==e.expression?(v=k=!0,n):void 0},function(n){return k?n:n===D?(k=!0,a(n,F.parent(),!1)):(v|=n.has_side_effects(t))?(k=!0,n):m&&n instanceof he&&n.name in _?(v=!0,k=!0,n):void 0});f.transform(F)}else v|=y.value.has_side_effects(t)}else{var C=new R(function(n){if(n===D)return a(n,C.parent(),!0)});f.transform(C)}}else v=!0}}}}if(s)for(var B=n.length;--B>=0;)n.length>1&&n[B]instanceof on&&n.splice(B,1);return n}function o(n){function r(n){return/@ngInject/.test(n.value)}function i(n){return n.argnames.map(function(n){return e(ge,n,{value:n.name})})}function o(n,t){return e(Kn,n,{elements:t})}function a(n,t){return e(en,n,{body:e(Zn,n,{operator:"=",left:e(Ln,t,{expression:e(he,t,t),property:"$inject"}),right:o(n,i(n))})})}function u(n){n&&n.args&&(n.args.forEach(function(n,e,t){var a=n.start.comments_before;n instanceof _n&&a.length&&r(a[0])&&(t[e]=o(n,i(n).concat(n)))}),n.expression&&n.expression.expression&&u(n.expression.expression))}return n.reduce(function(n,e){if(n.push(e),e.body&&e.body.args)u(e.body);else{var i=e.start,o=i.comments_before;if(o&&o.length>0){var s=o.pop();r(s)&&(e instanceof yn?n.push(a(e,e.name)):e instanceof zn?e.definitions.forEach(function(e){e.value&&e.value instanceof _n&&n.push(a(e.value,e.name))}):t.warn("Unknown statement marked with @ngInject [{file}:{line},{col}]",i))}}return n},[])}function u(n){var e=[];return n.reduce(function(n,t){return t instanceof rn?(b=!0,n.push.apply(n,u(t.body))):t instanceof on?b=!0:t instanceof nn?e.indexOf(t.value)<0?(n.push(t),e.push(t.value)):b=!0:n.push(t),n},[])}function c(n,t){function r(n){for(var e=0,t=n.length;--t>=0;){var r=n[t];if(r instanceof Cn&&r.body instanceof En&&++e>1)return!0}return!1}var i=t.self(),o=r(n),u=i instanceof _n,c=[];n:for(var l=n.length;--l>=0;){var p=n[l];switch(!0){case u&&p instanceof En&&!p.value&&0==c.length:b=!0;continue n;case p instanceof Cn:if(p.body instanceof En){if((u&&0==c.length||c[0]instanceof En&&!c[0].value)&&!p.body.value&&!p.alternative){b=!0;var d=e(en,p.condition,{body:p.condition});c.unshift(d);continue n}if(c[0]instanceof En&&p.body.value&&c[0].value&&!p.alternative){b=!0,p=p.clone(),p.alternative=c[0],c[0]=p.transform(t);continue n}if(o&&(0==c.length||c[0]instanceof En)&&p.body.value&&!p.alternative&&u){b=!0,p=p.clone(),p.alternative=c[0]||e(En,p,{value:e(De,p)}),c[0]=p.transform(t);continue n}if(!p.body.value&&u){b=!0,p=p.clone(),p.condition=p.condition.negate(t);var h=a(p.alternative).concat(c),m=f(h);p.body=e(rn,p,{body:h}),p.alternative=null,c=m.concat([p.transform(t)]);continue n}if(t.option("sequences")&&1==c.length&&u&&c[0]instanceof en&&(!p.alternative||p.alternative instanceof en)){b=!0,c.push(e(En,c[0],{value:e(De,c[0])}).transform(t)),c=a(p.alternative).concat(c),c.unshift(p);continue n}}var _=w(p.body),g=_ instanceof xn?t.loopcontrol_target(_.label):null;if(_&&(_ instanceof En&&!_.value&&u||_ instanceof Fn&&i===s(g)||_ instanceof kn&&g instanceof rn&&i===g)){_.label&&v(_.label.thedef.references,_),b=!0;var h=a(p.body).slice(0,-1);p=p.clone(),p.condition=p.condition.negate(t),p.body=e(rn,p,{body:a(p.alternative).concat(c)}),p.alternative=e(rn,p,{body:h}),c=[p.transform(t)];continue n}var _=w(p.alternative),g=_ instanceof xn?t.loopcontrol_target(_.label):null;if(_&&(_ instanceof En&&!_.value&&u||_ instanceof Fn&&i===s(g)||_ instanceof kn&&g instanceof rn&&i===g)){_.label&&v(_.label.thedef.references,_),b=!0,p=p.clone(),p.body=e(rn,p.body,{body:a(p.body).concat(c)}),p.alternative=e(rn,p.alternative,{body:a(p.alternative).slice(0,-1)}),c=[p.transform(t)];continue n}c.unshift(p);break;default:c.unshift(p)}}return c}function l(n,e){var t=!1,r=n.length,i=e.self();return n=n.reduce(function(n,r){if(t)d(e,r,n);else{if(r instanceof xn){var o=e.loopcontrol_target(r.label);r instanceof kn&&o instanceof rn&&s(o)===i||r instanceof Fn&&s(o)===i?r.label&&v(r.label.thedef.references,r):n.push(r)}else n.push(r);w(r)&&(t=!0)}return n},[]),b=n.length!=r,n}function p(n,t){function r(){i=Pn.from_array(i),i&&o.push(e(en,i,{body:i})),i=[]}if(n.length<2)return n;var i=[],o=[];return n.forEach(function(n){n instanceof en&&h(i)<t.sequences_limit?i.push(n.body):(r(),o.push(n))}),r(),o=m(o,t),b=o.length!=n.length,o}function h(n){for(var e=0,t=0;t<n.length;++t){var r=n[t];r instanceof Pn?e+=r.len():e++}return e}function m(n,t){function r(n){i.pop();var e=o.body;return e instanceof Pn?e.add(n):e=Pn.cons(e,n),e.transform(t)}var i=[],o=null;return n.forEach(function(n){if(o)if(n instanceof pn){var t={};try{o.body.walk(new E(function(n){if(n instanceof Jn&&"in"==n.operator)throw t})),!n.init||n.init instanceof zn?n.init||(n.init=o.body,i.pop()):n.init=r(n.init)}catch(n){if(n!==t)throw n}}else n instanceof Cn?n.condition=r(n.condition):n instanceof hn?n.expression=r(n.expression):n instanceof wn&&n.value?n.value=r(n.value):n instanceof wn?n.value=r(e(De,n)):n instanceof Bn&&(n.expression=r(n.expression));i.push(n),o=n instanceof en?n:null}),i}function _(n,e){var t=null;return n.reduce(function(n,e){return e instanceof zn&&t&&t.TYPE==e.TYPE?(t.definitions=t.definitions.concat(e.definitions),b=!0):e instanceof pn&&t instanceof Hn&&(!e.init||e.init.TYPE==t.TYPE)?(b=!0,n.pop(),e.init?e.init.definitions=t.definitions.concat(e.init.definitions):e.init=t,n.push(e),t=e):(t=e,n.push(e)),n},[])}function g(n,t){function r(n){return n instanceof Rn&&(n.expression instanceof bn||r(n.expression))}n.forEach(function(n){n instanceof en&&(n.body=function n(t){return t.transform(new R(function(t){if(t instanceof In)return t;if(r(t))return e(Wn,t,{operator:"!",expression:t});if(t instanceof Rn)t.expression=n(t.expression);else if(t instanceof Pn)t.car=n(t.car);else if(t instanceof Xn){var i=n(t.condition);if(i!==t.condition){t.condition=i;var o=t.consequent;t.consequent=t.alternative,t.alternative=o}}return t}))}(n.body))})}var b,y=10;do b=!1,t.option("angular")&&(n=o(n)),n=u(n),t.option("dead_code")&&(n=l(n,t)),t.option("if_return")&&(n=c(n,t)),t.sequences_limit>0&&(n=p(n,t)),t.option("join_vars")&&(n=_(n,t)),t.option("collapse_vars")&&(n=i(n,t));while(b&&y-- >0);return t.option("negate_iife")&&g(n,t),n}function f(n){for(var e=[],t=n.length-1;t>=0;--t){var r=n[t];r instanceof yn&&(n.splice(t,1),e.unshift(r))}return e}function d(n,e,t){e instanceof yn||n.warn("Dropping unreachable code [{file}:{line},{col}]",e.start),e.walk(new E(function(e){return e instanceof zn?(n.warn("Declarations in unreachable code! [{file}:{line},{col}]",e.start),e.remove_initializers(),t.push(e),!0):e instanceof yn?(t.push(e),!0):e instanceof vn||void 0}))}function A(n,e){return n.print_to_string().length>e.print_to_string().length?e:n}function w(n){return n&&n.aborts()}function D(n,t){function r(r){r=a(r),n.body instanceof rn?(n.body=n.body.clone(),n.body.body=r.concat(n.body.body.slice(1)),n.body=n.body.transform(t)):n.body=e(rn,n.body,{body:r}).transform(t),D(n,t)}var i=n.body instanceof rn?n.body.body[0]:n.body;i instanceof Cn&&(i.body instanceof kn&&t.loopcontrol_target(i.body.label)===n?(n.condition?n.condition=e(Jn,n.condition,{left:n.condition,operator:"&&",right:i.condition.negate(t)}):n.condition=i.condition.negate(t),r(i.alternative)):i.alternative instanceof kn&&t.loopcontrol_target(i.alternative.label)===n&&(n.condition?n.condition=e(Jn,n.condition,{left:n.condition,operator:"&&",right:i.condition}):n.condition=i.condition,r(i.body)))}function x(n,e){var t=e.option("pure_getters");e.options.pure_getters=!1;var r=n.has_side_effects(e);return e.options.pure_getters=t,r}function k(n,t){return t.option("booleans")&&t.in_boolean_context()&&!n.has_side_effects(t)?e(Be,n):n}n(Z,function(n,e){return n}),Z.DEFMETHOD("equivalent_to",function(n){return this.print_to_string()==n.print_to_string()}),Z.DEFMETHOD("clear_opt_flags",function(){this.walk(new E(function(n){n instanceof nn||n instanceof _e||(n._squeezed=!1,n._optimized=!1)}))}),function(n){var e=["!","delete"],t=["in","instanceof","==","!=","===","!==","<","<=",">=",">"];n(Z,l),n(Wn,function(){return i(this.operator,e)}),n(Jn,function(){return i(this.operator,t)||("&&"==this.operator||"||"==this.operator)&&this.left.is_boolean()&&this.right.is_boolean()}),n(Xn,function(){return this.consequent.is_boolean()&&this.alternative.is_boolean()}),n(Zn,function(){return"="==this.operator&&this.right.is_boolean()}),n(Pn,function(){return this.cdr.is_boolean()}),n(Be,p),n(Ce,p)}(function(n,e){n.DEFMETHOD("is_boolean",e)}),function(n){n(Z,l),n(ge,p),n(Wn,function(){return"typeof"==this.operator}),n(Jn,function(n){return"+"==this.operator&&(this.left.is_string(n)||this.right.is_string(n))}),n(Zn,function(n){return("="==this.operator||"+="==this.operator)&&this.right.is_string(n)}),n(Pn,function(n){return this.cdr.is_string(n)}),n(Xn,function(n){return this.consequent.is_string(n)&&this.alternative.is_string(n)}),n(Rn,function(n){return n.option("unsafe")&&this.expression instanceof he&&"String"==this.expression.name&&this.expression.undeclared()})}(function(n,e){n.DEFMETHOD("is_string",e)}),function(n){function e(n,e){if(!e)throw new Error("Compressor must be passed");return n._eval(e)}Z.DEFMETHOD("evaluate",function(e){if(!e.option("evaluate"))return[this];try{var r=this._eval(e);return[A(t(e,r,this),this),r]}catch(e){if(e!==n)throw e;return[this]}}),Z.DEFMETHOD("is_constant",function(n){return this instanceof _e||this instanceof Wn&&"!"==this.operator&&this.expression instanceof _e||this.evaluate(n).length>1}),Z.DEFMETHOD("constant_value",function(n){if(this instanceof _e)return this.value;if(this instanceof Wn&&"!"==this.operator&&this.expression instanceof _e)return!this.expression.value;var e=this.evaluate(n);return e.length>1?e[1]:void 0}),n(K,function(){throw new Error(h("Cannot evaluate a statement [{file}:{line},{col}]",this.start))}),n(bn,function(){throw n}),n(Z,function(){throw n}),n(_e,function(){return this.getValue()}),n(Wn,function(t){var r=this.expression;switch(this.operator){case"!":return!e(r,t);case"typeof":if(r instanceof bn)return"function";if(r=e(r,t),r instanceof RegExp)throw n;return typeof r;case"void":return void e(r,t);case"~":return~e(r,t);case"-":return-e(r,t);case"+":return+e(r,t)}throw n}),n(Jn,function(t){var r,i=this.left,o=this.right;switch(this.operator){case"&&":r=e(i,t)&&e(o,t);break;case"||":r=e(i,t)||e(o,t);break;case"|":r=e(i,t)|e(o,t);break;case"&":r=e(i,t)&e(o,t);break;case"^":r=e(i,t)^e(o,t);break;case"+":r=e(i,t)+e(o,t);break;case"*":r=e(i,t)*e(o,t);break;case"/":r=e(i,t)/e(o,t);break;case"%":r=e(i,t)%e(o,t);break;case"-":r=e(i,t)-e(o,t);break;case"<<":r=e(i,t)<<e(o,t);break;case">>":r=e(i,t)>>e(o,t);break;case">>>":r=e(i,t)>>>e(o,t);break;case"==":r=e(i,t)==e(o,t);break;case"===":r=e(i,t)===e(o,t);break;case"!=":r=e(i,t)!=e(o,t);break;case"!==":r=e(i,t)!==e(o,t);break;case"<":r=e(i,t)<e(o,t);break;case"<=":r=e(i,t)<=e(o,t);break;case">":r=e(i,t)>e(o,t);break;case">=":r=e(i,t)>=e(o,t);break;default:throw n}if(isNaN(r)&&t.find_parent(hn))throw n;return r}),n(Xn,function(n){
return e(this.condition,n)?e(this.consequent,n):e(this.alternative,n)}),n(he,function(t){if(this._evaluating)throw n;this._evaluating=!0;try{var r=this.definition();if(r&&(r.constant||t.option("reduce_vars")&&!r.modified)&&r.init)return e(r.init,t)}finally{this._evaluating=!1}throw n}),n(Ln,function(t){if(t.option("unsafe")&&"length"==this.property){var r=e(this.expression,t);if("string"==typeof r)return r.length}throw n})}(function(n,e){n.DEFMETHOD("_eval",e)}),function(n){function t(n){return e(Wn,n,{operator:"!",expression:n})}n(Z,function(){return t(this)}),n(K,function(){throw new Error("Cannot negate a statement")}),n(bn,function(){return t(this)}),n(Wn,function(){return"!"==this.operator?this.expression:t(this)}),n(Pn,function(n){var e=this.clone();return e.cdr=e.cdr.negate(n),e}),n(Xn,function(n){var e=this.clone();return e.consequent=e.consequent.negate(n),e.alternative=e.alternative.negate(n),A(t(this),e)}),n(Jn,function(n){var e=this.clone(),r=this.operator;if(n.option("unsafe_comps"))switch(r){case"<=":return e.operator=">",e;case"<":return e.operator=">=",e;case">=":return e.operator="<",e;case">":return e.operator="<=",e}switch(r){case"==":return e.operator="!=",e;case"!=":return e.operator="==",e;case"===":return e.operator="!==",e;case"!==":return e.operator="===",e;case"&&":return e.operator="||",e.left=e.left.negate(n),e.right=e.right.negate(n),A(t(this),e);case"||":return e.operator="&&",e.left=e.left.negate(n),e.right=e.right.negate(n),A(t(this),e)}return t(this)})}(function(n,e){n.DEFMETHOD("negate",function(n){return e.call(this,n)})}),function(n){n(Z,p),n(on,l),n(_e,l),n(me,l),n(Rn,function(n){var e=n.option("pure_funcs");return!e||("function"==typeof e?e(this):e.indexOf(this.expression.print_to_string())<0)}),n(tn,function(n){for(var e=this.body.length;--e>=0;)if(this.body[e].has_side_effects(n))return!0;return!1}),n(en,function(n){return this.body.has_side_effects(n)}),n(yn,p),n(bn,l),n(Jn,function(n){return this.left.has_side_effects(n)||this.right.has_side_effects(n)}),n(Zn,p),n(Xn,function(n){return this.condition.has_side_effects(n)||this.consequent.has_side_effects(n)||this.alternative.has_side_effects(n)}),n(Yn,function(n){return"delete"==this.operator||"++"==this.operator||"--"==this.operator||this.expression.has_side_effects(n)}),n(he,function(n){return this.global()&&this.undeclared()}),n(Qn,function(n){for(var e=this.properties.length;--e>=0;)if(this.properties[e].has_side_effects(n))return!0;return!1}),n(ne,function(n){return this.value.has_side_effects(n)}),n(Kn,function(n){for(var e=this.elements.length;--e>=0;)if(this.elements[e].has_side_effects(n))return!0;return!1}),n(Ln,function(n){return!n.option("pure_getters")||this.expression.has_side_effects(n)}),n(Vn,function(n){return!n.option("pure_getters")||(this.expression.has_side_effects(n)||this.property.has_side_effects(n))}),n(Un,function(n){return!n.option("pure_getters")}),n(Pn,function(n){return this.car.has_side_effects(n)||this.cdr.has_side_effects(n)})}(function(n,e){n.DEFMETHOD("has_side_effects",e)}),function(n){function e(){var n=this.body.length;return n>0&&w(this.body[n-1])}n(K,function(){return null}),n(An,function(){return this}),n(rn,e),n(Sn,e),n(Cn,function(){return this.alternative&&w(this.body)&&w(this.alternative)&&this})}(function(n,e){n.DEFMETHOD("aborts",e)}),n(nn,function(n,t){return"up"===t.has_directive(n.value)?e(on,n):n}),n(Q,function(n,t){return t.option("drop_debugger")?e(on,n):n}),n(un,function(n,t){return n.body instanceof kn&&t.loopcontrol_target(n.body.label)===n.body?e(on,n):0==n.label.references.length?n.body:n}),n(tn,function(n,e){return n.body=c(n.body,e),n}),n(rn,function(n,t){switch(n.body=c(n.body,t),n.body.length){case 1:return n.body[0];case 0:return e(on,n)}return n}),vn.DEFMETHOD("drop_unused",function(n){var t=this;if(n.has_directive("use asm"))return t;if(n.option("unused")&&!(t instanceof mn)&&!t.uses_eval&&!t.uses_with){var r=[],i={},o=new b,a=this,u=new E(function(e,s){if(e!==t){if(e instanceof yn)return o.add(e.name.name,e),!0;if(e instanceof zn&&a===t)return e.definitions.forEach(function(e){e.value&&(o.add(e.name.name,e.value),e.value.has_side_effects(n)&&e.value.walk(u))}),!0;if(e instanceof he){var c=e.definition();return c.id in i||(i[c.id]=!0,r.push(c)),!0}if(e instanceof vn){var f=a;return a=e,s(),a=f,!0}}});t.walk(u);for(var s=0;s<r.length;++s)r[s].orig.forEach(function(n){var e=o.get(n.name);e&&e.forEach(function(n){var e=new E(function(n){if(n instanceof he){var e=n.definition();e.id in i||(i[e.id]=!0,r.push(e))}});n.walk(e)})});var c=new R(function(r,o,a){if(r instanceof _n&&!(r instanceof gn)&&!n.option("keep_fargs"))for(var u=r.argnames,s=u.length;--s>=0;){var f=u[s];if(!f.unreferenced())break;u.pop(),n.warn("Dropping unused function argument {name} [{file}:{line},{col}]",{name:f.name,file:f.start.file,line:f.start.line,col:f.start.col})}if(r instanceof yn&&r!==t)return r.name.definition().id in i?r:(n.warn("Dropping unused function {name} [{file}:{line},{col}]",{name:r.name.name,file:r.name.start.file,line:r.name.start.line,col:r.name.start.col}),e(on,r));if(r instanceof zn&&!(c.parent()instanceof dn)){var l=r.definitions.filter(function(e){if(e.name.definition().id in i)return!0;var t={name:e.name.name,file:e.name.start.file,line:e.name.start.line,col:e.name.start.col};return e.value&&e.value.has_side_effects(n)?(e._unused_side_effects=!0,n.warn("Side effects in initialization of unused variable {name} [{file}:{line},{col}]",t),!0):(n.warn("Dropping unused variable {name} [{file}:{line},{col}]",t),!1)});l=m(l,function(n,e){return!n.value&&e.value?-1:!e.value&&n.value?1:0});for(var p=[],s=0;s<l.length;){var d=l[s];d._unused_side_effects?(p.push(d.value),l.splice(s,1)):(p.length>0&&(p.push(d.value),d.value=Pn.from_array(p),p=[]),++s)}return p=p.length>0?e(rn,r,{body:[e(en,r,{body:Pn.from_array(p)})]}):null,0!=l.length||p?0==l.length?a?J.splice(p.body):p:(r.definitions=l,p?(p.body.unshift(r),a?J.splice(p.body):p):r):e(on,r)}if(r instanceof pn&&(o(r,this),r.init instanceof rn)){var h=r.init.body.slice(0,-1);return r.init=r.init.body.slice(-1)[0].body,h.push(r),a?J.splice(h):e(rn,r,{body:h})}return r instanceof vn&&r!==t?r:void 0});t.transform(c)}}),vn.DEFMETHOD("hoist_declarations",function(n){var t=this;if(n.has_directive("use asm"))return t;var r=n.option("hoist_funs"),i=n.option("hoist_vars");if(r||i){var a=[],u=[],s=new b,c=0,f=0;t.walk(new E(function(n){return n instanceof vn&&n!==t||(n instanceof Hn?(++f,!0):void 0)})),i=i&&f>1;var l=new R(function(n){if(n!==t){if(n instanceof nn)return a.push(n),e(on,n);if(n instanceof yn&&r)return u.push(n),e(on,n);if(n instanceof Hn&&i){n.definitions.forEach(function(n){s.set(n.name.name,n),++c});var o=n.to_assignments(),f=l.parent();if(f instanceof dn&&f.init===n){if(null==o){var p=n.definitions[0].name;return e(he,p,p)}return o}return f instanceof pn&&f.init===n?o:o?e(en,n,{body:o}):e(on,n)}if(n instanceof vn)return n}});if(t=t.transform(l),c>0){var p=[];if(s.each(function(n,e){t instanceof _n&&o(function(e){return e.name==n.name.name},t.argnames)?s.del(e):(n=n.clone(),n.value=null,p.push(n),s.set(e,n))}),p.length>0){for(var d=0;d<t.body.length;){if(t.body[d]instanceof en){var h,m,_=t.body[d].body;if(_ instanceof Zn&&"="==_.operator&&(h=_.left)instanceof ie&&s.has(h.name)){var g=s.get(h.name);if(g.value)break;g.value=_.right,v(p,g),p.push(g),t.body.splice(d,1);continue}if(_ instanceof Pn&&(m=_.car)instanceof Zn&&"="==m.operator&&(h=m.left)instanceof ie&&s.has(h.name)){var g=s.get(h.name);if(g.value)break;g.value=m.right,v(p,g),p.push(g),t.body[d].body=_.cdr;continue}}if(t.body[d]instanceof on)t.body.splice(d,1);else{if(!(t.body[d]instanceof rn))break;var y=[d,1].concat(t.body[d].body);t.body.splice.apply(t.body,y)}}p=e(Hn,t,{definitions:p}),u.push(p)}}t.body=a.concat(u,t.body)}return t}),n(en,function(n,t){return t.option("side_effects")&&!n.body.has_side_effects(t)?(t.warn("Dropping side-effect-free statement [{file}:{line},{col}]",n.start),e(on,n)):n}),n(cn,function(n,t){var r=n.condition.evaluate(t);if(n.condition=r[0],!t.option("loops"))return n;if(r.length>1){if(r[1])return e(pn,n,{body:n.body});if(n instanceof ln&&t.option("dead_code")){var i=[];return d(t,n.body,i),e(rn,n,{body:i})}}return n}),n(ln,function(n,t){return t.option("loops")?(n=cn.prototype.optimize.call(n,t),n instanceof ln&&(D(n,t),n=e(pn,n,n).transform(t)),n):n}),n(pn,function(n,t){var r=n.condition;if(r&&(r=r.evaluate(t),n.condition=r[0]),!t.option("loops"))return n;if(r&&r.length>1&&!r[1]&&t.option("dead_code")){var i=[];return n.init instanceof K?i.push(n.init):n.init&&i.push(e(en,n.init,{body:n.init})),d(t,n.body,i),e(rn,n,{body:i})}return D(n,t),n}),n(Cn,function(n,t){if(!t.option("conditionals"))return n;var r=n.condition.evaluate(t);if(n.condition=r[0],r.length>1)if(r[1]){if(t.warn("Condition always true [{file}:{line},{col}]",n.condition.start),t.option("dead_code")){var i=[];return n.alternative&&d(t,n.alternative,i),i.push(n.body),e(rn,n,{body:i}).transform(t)}}else if(t.warn("Condition always false [{file}:{line},{col}]",n.condition.start),t.option("dead_code")){var i=[];return d(t,n.body,i),n.alternative&&i.push(n.alternative),e(rn,n,{body:i}).transform(t)}u(n.alternative)&&(n.alternative=null);var o=n.condition.negate(t),a=n.condition.print_to_string().length,s=o.print_to_string().length,c=s<a;if(n.alternative&&c){c=!1,n.condition=o;var f=n.body;n.body=n.alternative||e(on),n.alternative=f}if(u(n.body)&&u(n.alternative))return e(en,n.condition,{body:n.condition}).transform(t);if(n.body instanceof en&&n.alternative instanceof en)return e(en,n,{body:e(Xn,n,{condition:n.condition,consequent:n.body.body,alternative:n.alternative.body})}).transform(t);if(u(n.alternative)&&n.body instanceof en)return a===s&&!c&&n.condition instanceof Jn&&"||"==n.condition.operator&&(c=!0),c?e(en,n,{body:e(Jn,n,{operator:"||",left:o,right:n.body.body})}).transform(t):e(en,n,{body:e(Jn,n,{operator:"&&",left:n.condition,right:n.body.body})}).transform(t);if(n.body instanceof on&&n.alternative&&n.alternative instanceof en)return e(en,n,{body:e(Jn,n,{operator:"||",left:n.condition,right:n.alternative.body})}).transform(t);if(n.body instanceof wn&&n.alternative instanceof wn&&n.body.TYPE==n.alternative.TYPE)return e(n.body.CTOR,n,{value:e(Xn,n,{condition:n.condition,consequent:n.body.value||e(De,n.body).optimize(t),alternative:n.alternative.value||e(De,n.alternative).optimize(t)})}).transform(t);if(n.body instanceof Cn&&!n.body.alternative&&!n.alternative&&(n.condition=e(Jn,n.condition,{operator:"&&",left:n.condition,right:n.body.condition}).transform(t),n.body=n.body.body),w(n.body)&&n.alternative){var l=n.alternative;return n.alternative=null,e(rn,n,{body:[n,l]}).transform(t)}if(w(n.alternative)){var p=n.body;return n.body=n.alternative,n.condition=c?o:n.condition.negate(t),n.alternative=null,e(rn,n,{body:[n,p]}).transform(t)}return n}),n(Bn,function(n,t){if(0==n.body.length&&t.option("conditionals"))return e(en,n,{body:n.expression}).transform(t);for(;;){var r=n.body[n.body.length-1];if(r){var i=r.body[r.body.length-1];if(i instanceof kn&&s(t.loopcontrol_target(i.label))===n&&r.body.pop(),r instanceof Tn&&0==r.body.length){n.body.pop();continue}}break}var o=n.expression.evaluate(t);n:if(2==o.length)try{if(n.expression=o[0],!t.option("dead_code"))break n;var a=o[1],u=!1,c=!1,f=!1,l=!1,p=!1,d=new R(function(r,i,o){if(r instanceof _n||r instanceof en)return r;if(r instanceof Bn&&r===n)return r=r.clone(),i(r,this),p?r:e(rn,r,{body:r.body.reduce(function(n,e){return n.concat(e.body)},[])}).transform(t);if(r instanceof Cn||r instanceof On){var s=u;return u=!c,i(r,this),u=s,r}if(r instanceof an||r instanceof Bn){var s=c;return c=!0,i(r,this),c=s,r}if(r instanceof kn&&this.loopcontrol_target(r.label)===n)return u?(p=!0,r):c?r:(l=!0,o?J.skip:e(on,r));if(r instanceof Sn&&this.parent()===n){if(l)return J.skip;if(r instanceof $n){var d=r.expression.evaluate(t);if(d.length<2)throw n;return d[1]===a||f?(f=!0,w(r)&&(l=!0),i(r,this),r):J.skip}return i(r,this),r}});d.stack=t.stack.slice(),n=n.transform(d)}catch(e){if(e!==n)throw e}return n}),n($n,function(n,e){return n.body=c(n.body,e),n}),n(On,function(n,e){return n.body=c(n.body,e),n}),zn.DEFMETHOD("remove_initializers",function(){this.definitions.forEach(function(n){n.value=null})}),zn.DEFMETHOD("to_assignments",function(){var n=this.definitions.reduce(function(n,t){if(t.value){var r=e(he,t.name,t.name);n.push(e(Zn,t,{operator:"=",left:r,right:t.value}))}return n},[]);return 0==n.length?null:Pn.from_array(n)}),n(zn,function(n,t){return 0==n.definitions.length?e(on,n):n}),n(bn,function(n,e){return n=_n.prototype.optimize.call(n,e),e.option("unused")&&!e.option("keep_fnames")&&n.name&&n.name.unreferenced()&&(n.name=null),n}),n(Rn,function(n,r){if(r.option("unsafe")){var i=n.expression;if(i instanceof he&&i.undeclared())switch(i.name){case"Array":if(1!=n.args.length)return e(Kn,n,{elements:n.args}).transform(r);break;case"Object":if(0==n.args.length)return e(Qn,n,{properties:[]});break;case"String":if(0==n.args.length)return e(ge,n,{value:""});if(n.args.length<=1)return e(Jn,n,{left:n.args[0],operator:"+",right:e(ge,n,{value:""})}).transform(r);break;case"Number":if(0==n.args.length)return e(be,n,{value:0});if(1==n.args.length)return e(Wn,n,{expression:n.args[0],operator:"+"}).transform(r);case"Boolean":if(0==n.args.length)return e(Ce,n);if(1==n.args.length)return e(Wn,n,{expression:e(Wn,null,{expression:n.args[0],operator:"!"}),operator:"!"}).transform(r);break;case"Function":if(0==n.args.length)return e(bn,n,{argnames:[],body:[]});if(g(n.args,function(n){return n instanceof ge}))try{var o="(function("+n.args.slice(0,-1).map(function(n){return n.value}).join(",")+"){"+n.args[n.args.length-1].value+"})()",a=j(o);a.figure_out_scope({screw_ie8:r.option("screw_ie8")});var u=new V(r.options);a=a.transform(u),a.figure_out_scope({screw_ie8:r.option("screw_ie8")}),a.mangle_names();var s;try{a.walk(new E(function(n){if(n instanceof _n)throw s=n,a}))}catch(n){if(n!==a)throw n}if(!s)return n;var c=s.argnames.map(function(t,r){return e(ge,n.args[r],{value:t.print_to_string()})}),o=L();return rn.prototype._codegen.call(s,s,o),o=o.toString().replace(/^\{|\}$/g,""),c.push(e(ge,n.args[n.args.length-1],{value:o})),n.args=c,n}catch(e){if(!(e instanceof M))throw console.log(e),e;r.warn("Error parsing code passed to new Function [{file}:{line},{col}]",n.args[n.args.length-1].start),r.warn(e.toString())}}else{if(i instanceof Ln&&"toString"==i.property&&0==n.args.length)return e(Jn,n,{left:e(ge,n,{value:""}),operator:"+",right:i.expression}).transform(r);if(i instanceof Ln&&i.expression instanceof Kn&&"join"==i.property){var f=0==n.args.length?",":n.args[0].evaluate(r)[1];if(null!=f){var l=i.expression.elements.reduce(function(n,e){if(e=e.evaluate(r),0==n.length||1==e.length)n.push(e);else{var i=n[n.length-1];if(2==i.length){var o=""+i[1]+f+e[1];n[n.length-1]=[t(r,o,i[0]),o]}else n.push(e)}return n},[]);if(0==l.length)return e(ge,n,{value:""});if(1==l.length)return l[0][0];if(""==f){var p;return p=l[0][0]instanceof ge||l[1][0]instanceof ge?l.shift()[0]:e(ge,n,{value:""}),l.reduce(function(n,t){return e(Jn,t[0],{operator:"+",left:n,right:t[0]})},p).transform(r)}var d=n.clone();return d.expression=d.expression.clone(),d.expression.expression=d.expression.expression.clone(),d.expression.expression.elements=l.map(function(n){return n[0]}),A(n,d)}}}}if(r.option("side_effects")&&n.expression instanceof bn&&0==n.args.length&&!tn.prototype.has_side_effects.call(n.expression,r))return e(De,n).transform(r);if(r.option("drop_console")&&n.expression instanceof Un){for(var h=n.expression.expression;h.expression;)h=h.expression;if(h instanceof he&&"console"==h.name&&h.undeclared())return e(De,n).transform(r)}return n.evaluate(r)[0]}),n(In,function(n,t){if(t.option("unsafe")){var r=n.expression;if(r instanceof he&&r.undeclared())switch(r.name){case"Object":case"RegExp":case"Function":case"Error":case"Array":return e(Rn,n,n).transform(t)}}return n}),n(Pn,function(n,t){if(!t.option("side_effects"))return n;if(!n.car.has_side_effects(t))return r(t.parent(),n,n.cdr);if(t.option("cascade")){if(n.car instanceof Zn&&!n.car.left.has_side_effects(t)){if(n.car.left.equivalent_to(n.cdr))return n.car;if(n.cdr instanceof Rn&&n.cdr.expression.equivalent_to(n.car.left))return n.cdr.expression=n.car,n.cdr}if(!n.car.has_side_effects(t)&&!n.cdr.has_side_effects(t)&&n.car.equivalent_to(n.cdr))return n.car}return n.cdr instanceof Wn&&"void"==n.cdr.operator&&!n.cdr.expression.has_side_effects(t)?(n.cdr.expression=n.car,n.cdr):n.cdr instanceof De?e(Wn,n,{operator:"void",expression:n.car}):n}),Yn.DEFMETHOD("lift_sequences",function(n){if(n.option("sequences")&&this.expression instanceof Pn){var e=this.expression,t=e.to_array();return this.expression=t.pop(),t.push(this),e=Pn.from_array(t).transform(n)}return this}),n(Gn,function(n,e){return n.lift_sequences(e)}),n(Wn,function(n,t){n=n.lift_sequences(t);var r=n.expression;if(t.option("booleans")&&t.in_boolean_context()){switch(n.operator){case"!":if(r instanceof Wn&&"!"==r.operator)return r.expression;break;case"typeof":return t.warn("Boolean expression always true [{file}:{line},{col}]",n.start),n.expression.has_side_effects(t)?e(Pn,n,{car:n.expression,cdr:e(Be,n)}):e(Be,n)}r instanceof Jn&&"!"==n.operator&&(n=A(n,r.negate(t)))}return n.evaluate(t)[0]}),Jn.DEFMETHOD("lift_sequences",function(n){if(n.option("sequences")){if(this.left instanceof Pn){var e=this.left,t=e.to_array();return this.left=t.pop(),t.push(this),e=Pn.from_array(t).transform(n)}if(this.right instanceof Pn&&this instanceof Zn&&!x(this.left,n)){var e=this.right,t=e.to_array();return this.right=t.pop(),t.push(this),e=Pn.from_array(t).transform(n)}}return this});var F=_("== === != !== * & | ^");n(Jn,function(n,t){function i(e,r){if(r||!n.left.has_side_effects(t)&&!n.right.has_side_effects(t)){e&&(n.operator=e);var i=n.left;n.left=n.right,n.right=i}}if(F(n.operator)&&(n.right instanceof _e&&!(n.left instanceof _e)&&(n.left instanceof Jn&&We[n.left.operator]>=We[n.operator]||i(null,!0)),/^[!=]==?$/.test(n.operator))){if(n.left instanceof he&&n.right instanceof Xn){if(n.right.consequent instanceof he&&n.right.consequent.definition()===n.left.definition()){if(/^==/.test(n.operator))return n.right.condition;if(/^!=/.test(n.operator))return n.right.condition.negate(t)}if(n.right.alternative instanceof he&&n.right.alternative.definition()===n.left.definition()){if(/^==/.test(n.operator))return n.right.condition.negate(t);if(/^!=/.test(n.operator))return n.right.condition}}if(n.right instanceof he&&n.left instanceof Xn){if(n.left.consequent instanceof he&&n.left.consequent.definition()===n.right.definition()){if(/^==/.test(n.operator))return n.left.condition;if(/^!=/.test(n.operator))return n.left.condition.negate(t)}if(n.left.alternative instanceof he&&n.left.alternative.definition()===n.right.definition()){if(/^==/.test(n.operator))return n.left.condition.negate(t);if(/^!=/.test(n.operator))return n.left.condition}}}if(n=n.lift_sequences(t),t.option("comparisons"))switch(n.operator){case"===":case"!==":(n.left.is_string(t)&&n.right.is_string(t)||n.left.is_boolean()&&n.right.is_boolean())&&(n.operator=n.operator.substr(0,2));case"==":case"!=":n.left instanceof ge&&"undefined"==n.left.value&&n.right instanceof Wn&&"typeof"==n.right.operator&&t.option("unsafe")&&(n.right.expression instanceof he&&n.right.expression.undeclared()||(n.right=n.right.expression,n.left=e(De,n.left).optimize(t),2==n.operator.length&&(n.operator+="=")))}if(t.option("conditionals"))if("&&"==n.operator){var o=n.left.evaluate(t);if(o.length>1)return o[1]?(t.warn("Condition left of && always true [{file}:{line},{col}]",n.start),r(t.parent(),n,n.right.evaluate(t)[0])):(t.warn("Condition left of && always false [{file}:{line},{col}]",n.start),r(t.parent(),n,o[0]))}else if("||"==n.operator){var o=n.left.evaluate(t);if(o.length>1)return o[1]?(t.warn("Condition left of || always true [{file}:{line},{col}]",n.start),r(t.parent(),n,o[0])):(t.warn("Condition left of || always false [{file}:{line},{col}]",n.start),r(t.parent(),n,n.right.evaluate(t)[0]))}if(t.option("booleans")&&t.in_boolean_context())switch(n.operator){case"&&":var o=n.left.evaluate(t),a=n.right.evaluate(t);if(o.length>1&&!o[1]||a.length>1&&!a[1])return t.warn("Boolean && always false [{file}:{line},{col}]",n.start),n.left.has_side_effects(t)?e(Pn,n,{car:n.left,cdr:e(Ce)}).optimize(t):e(Ce,n);if(o.length>1&&o[1])return a[0];if(a.length>1&&a[1])return o[0];break;case"||":var o=n.left.evaluate(t),a=n.right.evaluate(t);if(o.length>1&&o[1]||a.length>1&&a[1])return t.warn("Boolean || always true [{file}:{line},{col}]",n.start),n.left.has_side_effects(t)?e(Pn,n,{car:n.left,cdr:e(Be)}).optimize(t):e(Be,n);if(o.length>1&&!o[1])return a[0];if(a.length>1&&!a[1])return o[0];break;case"+":var o=n.left.evaluate(t),a=n.right.evaluate(t);if(o.length>1&&o[0]instanceof ge&&o[1]&&!n.right.has_side_effects(t)||a.length>1&&a[0]instanceof ge&&a[1]&&!n.left.has_side_effects(t))return t.warn("+ in boolean context always true [{file}:{line},{col}]",n.start),e(Be,n)}if(t.option("comparisons")&&n.is_boolean()){if(!(t.parent()instanceof Jn)||t.parent()instanceof Zn){var u=e(Wn,n,{operator:"!",expression:n.negate(t)});n=A(n,u)}if(t.option("unsafe_comps"))switch(n.operator){case"<":i(">");break;case"<=":i(">=")}}return"+"==n.operator&&n.right instanceof ge&&""===n.right.getValue()&&n.left instanceof Jn&&"+"==n.left.operator&&n.left.is_string(t)?n.left:(t.option("evaluate")&&"+"==n.operator&&(n.left instanceof _e&&n.right instanceof Jn&&"+"==n.right.operator&&n.right.left instanceof _e&&n.right.is_string(t)&&(n=e(Jn,n,{operator:"+",left:e(ge,null,{value:""+n.left.getValue()+n.right.left.getValue(),start:n.left.start,end:n.right.left.end}),right:n.right.right})),n.right instanceof _e&&n.left instanceof Jn&&"+"==n.left.operator&&n.left.right instanceof _e&&n.left.is_string(t)&&(n=e(Jn,n,{operator:"+",left:n.left.left,right:e(ge,null,{value:""+n.left.right.getValue()+n.right.getValue(),start:n.left.right.start,end:n.right.end})})),n.left instanceof Jn&&"+"==n.left.operator&&n.left.is_string(t)&&n.left.right instanceof _e&&n.right instanceof Jn&&"+"==n.right.operator&&n.right.left instanceof _e&&n.right.is_string(t)&&(n=e(Jn,n,{operator:"+",left:e(Jn,n.left,{operator:"+",left:n.left.left,right:e(ge,null,{value:""+n.left.right.getValue()+n.right.left.getValue(),start:n.left.right.start,end:n.right.left.end})}),right:n.right.right}))),n.right instanceof Jn&&n.right.operator==n.operator&&("&&"==n.operator||"||"==n.operator)?(n.left=e(Jn,n.left,{operator:n.operator,left:n.left,right:n.right.left}),n.right=n.right.right,n.transform(t)):n.evaluate(t)[0])}),n(he,function(n,r){function i(n,e){return e instanceof Jn&&"="===e.operator&&e.left===n}if(n.undeclared()&&!i(n,r.parent())){var o=r.option("global_defs");if(o&&y(o,n.name))return t(r,o[n.name],n);if(!n.scope.uses_with||!r.find_parent(hn))switch(n.name){case"undefined":return e(De,n);case"NaN":return e(Ee,n).transform(r);case"Infinity":return e(ke,n).transform(r)}}return n}),n(ke,function(n,t){return e(Jn,n,{operator:"/",left:e(be,n,{value:1}),right:e(be,n,{value:0})})}),n(De,function(n,t){if(t.option("unsafe")){var r=t.find_parent(vn),i=r.find_variable("undefined");if(i){var o=e(he,n,{name:"undefined",scope:r,thedef:i});return o.reference(),o}}return n});var C=["+","-","/","*","%",">>","<<",">>>","|","^","&"],B=["*","|","^","&"];n(Zn,function(n,e){return n=n.lift_sequences(e),"="==n.operator&&n.left instanceof he&&n.right instanceof Jn&&(n.right.left instanceof he&&n.right.left.name==n.left.name&&i(n.right.operator,C)?(n.operator=n.right.operator+"=",n.right=n.right.right):n.right.right instanceof he&&n.right.right.name==n.left.name&&i(n.right.operator,B)&&!n.right.left.has_side_effects(e)&&(n.operator=n.right.operator+"=",n.right=n.right.left)),n}),n(Xn,function(n,i){function o(n){return n.is_boolean()?n:e(Wn,n,{operator:"!",expression:n.negate(i)})}function a(n){return n instanceof Be||n instanceof Wn&&"!"==n.operator&&n.expression instanceof _e&&!n.expression.value}function u(n){return n instanceof Ce||n instanceof Wn&&"!"==n.operator&&n.expression instanceof _e&&!!n.expression.value}if(!i.option("conditionals"))return n;if(n.condition instanceof Pn){var s=n.condition.car;return n.condition=n.condition.cdr,Pn.cons(s,n)}var c=n.condition.evaluate(i);if(c.length>1)return c[1]?(i.warn("Condition always true [{file}:{line},{col}]",n.start),r(i.parent(),n,n.consequent)):(i.warn("Condition always false [{file}:{line},{col}]",n.start),r(i.parent(),n,n.alternative));var f=c[0].negate(i);A(c[0],f)===f&&(n=e(Xn,n,{condition:f,consequent:n.alternative,alternative:n.consequent}));var l=n.consequent,p=n.alternative;if(l instanceof Zn&&p instanceof Zn&&l.operator==p.operator&&l.left.equivalent_to(p.left)&&!l.left.has_side_effects(i))return e(Zn,n,{operator:l.operator,left:l.left,right:e(Xn,n,{condition:n.condition,consequent:l.right,alternative:p.right})});if(l instanceof Rn&&p.TYPE===l.TYPE&&l.args.length==p.args.length&&!l.expression.has_side_effects(i)&&l.expression.equivalent_to(p.expression)){if(0==l.args.length)return e(Pn,n,{car:n.condition,cdr:l});if(1==l.args.length)return l.args[0]=e(Xn,n,{condition:n.condition,consequent:l.args[0],alternative:p.args[0]}),l}if(l instanceof Xn&&l.alternative.equivalent_to(p))return e(Xn,n,{condition:e(Jn,n,{left:n.condition,operator:"&&",right:l.condition}),consequent:l.consequent,alternative:p});if(l.is_constant(i)&&p.is_constant(i)&&l.equivalent_to(p)){var d=l.constant_value(i);return n.condition.has_side_effects(i)?Pn.from_array([n.condition,t(i,d,n)]):t(i,d,n)}return a(n.consequent)?u(n.alternative)?o(n.condition):e(Jn,n,{operator:"||",left:o(n.condition),right:n.alternative}):u(n.consequent)?a(n.alternative)?o(n.condition.negate(i)):e(Jn,n,{operator:"&&",left:o(n.condition.negate(i)),right:n.alternative}):a(n.alternative)?e(Jn,n,{operator:"||",left:o(n.condition.negate(i)),right:n.consequent}):u(n.alternative)?e(Jn,n,{operator:"&&",left:o(n.condition),right:n.consequent}):n}),n(Fe,function(n,t){if(t.option("booleans")){var r=t.parent();return r instanceof Jn&&("=="==r.operator||"!="==r.operator)?(t.warn("Non-strict equality against boolean: {operator} {value} [{file}:{line},{col}]",{operator:r.operator,value:n.value,file:r.start.file,line:r.start.line,col:r.start.col}),e(be,n,{value:+n.value})):e(Wn,n,{operator:"!",expression:e(be,n,{value:1-n.value})})}return n}),n(Vn,function(n,t){var r=n.property;if(r instanceof ge&&t.option("properties")){if(r=r.getValue(),$e(r)?t.option("screw_ie8"):O(r))return e(Ln,n,{expression:n.expression,property:r}).optimize(t);var i=parseFloat(r);isNaN(i)||i.toString()!=r||(n.property=e(be,n.property,{value:i}))}return n}),n(Ln,function(n,t){var r=n.property;return $e(r)&&!t.option("screw_ie8")?e(Vn,n,{expression:n.expression,property:e(ge,n,{value:r})}).optimize(t):n.evaluate(t)[0]}),n(Kn,k),n(Qn,k),n(ye,k),n(En,function(n,e){return n.value instanceof De&&(n.value=null),n})}(),function(){function e(n){if("Literal"==n.type)return null!=n.raw?n.raw:n.value+""}function t(n){var t=n.loc,r=t&&t.start,i=n.range;return new X({file:t&&t.source,line:r&&r.line,col:r&&r.column,pos:i?i[0]:n.start,endline:r&&r.line,endcol:r&&r.column,endpos:i?i[0]:n.start,raw:e(n)})}function r(n){var t=n.loc,r=t&&t.end,i=n.range;return new X({file:t&&t.source,line:r&&r.line,col:r&&r.column,pos:i?i[1]:n.end,endline:r&&r.line,endcol:r&&r.column,endpos:i?i[1]:n.end,raw:e(n)})}function i(e,i,a){var f="function From_Moz_"+e+"(M){\n";f+="return new U2."+i.name+"({\nstart: my_start_token(M),\nend: my_end_token(M)";var p="function To_Moz_"+e+"(M){\n";p+="return {\ntype: "+JSON.stringify(e),a&&a.split(/\s*,\s*/).forEach(function(n){var e=/([a-z0-9$_]+)(=|@|>|%)([a-z0-9$_]+)/i.exec(n);if(!e)throw new Error("Can't understand property map: "+n);var t=e[1],r=e[2],i=e[3];switch(f+=",\n"+i+": ",p+=",\n"+t+": ",r){case"@":f+="M."+t+".map(from_moz)",p+="M."+i+".map(to_moz)";break;case">":f+="from_moz(M."+t+")",p+="to_moz(M."+i+")";break;case"=":f+="M."+t,p+="M."+i;break;case"%":f+="from_moz(M."+t+").body",p+="to_moz_block(M)";break;default:throw new Error("Can't understand operator in propmap: "+n)}}),f+="\n})\n}",p+="\n}\n}",f=new Function("U2","my_start_token","my_end_token","from_moz","return("+f+")")(n,t,r,o),p=new Function("to_moz","to_moz_block","return("+p+")")(s,c),l[e]=f,u(i,p)}function o(n){p.push(n);var e=null!=n?l[n.type](n):null;return p.pop(),e}function a(n,e,t){var r=n.start,i=n.end;return null!=r.pos&&null!=i.endpos&&(e.range=[r.pos,i.endpos]),r.line&&(e.loc={start:{line:r.line,column:r.col},end:i.endline?{line:i.endline,column:i.endcol}:null},r.file&&(e.loc.source=r.file)),e}function u(n,e){n.DEFMETHOD("to_mozilla_ast",function(){return a(this,e(this))})}function s(n){return null!=n?n.to_mozilla_ast():null}function c(n){return{type:"BlockStatement",body:n.body.map(s)}}var f=function(n){for(var e=!0,t=0;t<n.length;t++)e&&n[t]instanceof K&&n[t].body instanceof ge?n[t]=new nn({start:n[t].start,end:n[t].end,value:n[t].body.value}):!e||n[t]instanceof K&&n[t].body instanceof ge||(e=!1);return n},l={Program:function(n){return new mn({start:t(n),end:r(n),body:f(n.body.map(o))})},FunctionDeclaration:function(n){return new yn({start:t(n),end:r(n),name:o(n.id),argnames:n.params.map(o),body:f(o(n.body).body)})},FunctionExpression:function(n){return new bn({start:t(n),end:r(n),name:o(n.id),argnames:n.params.map(o),body:f(o(n.body).body)})},ExpressionStatement:function(n){return new en({start:t(n),end:r(n),body:o(n.expression)})},TryStatement:function(n){var e=n.handlers||[n.handler];if(e.length>1||n.guardedHandlers&&n.guardedHandlers.length)throw new Error("Multiple catch clauses are not supported.");return new On({start:t(n),end:r(n),body:o(n.block).body,bcatch:o(e[0]),bfinally:n.finalizer?new Mn(o(n.finalizer)):null})},Property:function(n){var e=n.key,i="Identifier"==e.type?e.name:e.value,a={start:t(e),end:r(n.value),key:i,value:o(n.value)};switch(n.kind){case"init":return new ee(a);case"set":return a.value.name=o(e),new te(a);case"get":return a.value.name=o(e),new re(a)}},ArrayExpression:function(n){return new Kn({start:t(n),end:r(n),elements:n.elements.map(function(n){return null===n?new xe:o(n)})})},ObjectExpression:function(n){return new Qn({start:t(n),end:r(n),properties:n.properties.map(function(n){return n.type="Property",o(n)})})},SequenceExpression:function(n){return Pn.from_array(n.expressions.map(o))},MemberExpression:function(n){return new(n.computed?Vn:Ln)({start:t(n),end:r(n),property:n.computed?o(n.property):n.property.name,expression:o(n.object)})},SwitchCase:function(n){return new(n.test?$n:Tn)({start:t(n),end:r(n),expression:o(n.test),body:n.consequent.map(o)})},VariableDeclaration:function(n){return new("const"===n.kind?Nn:Hn)({start:t(n),end:r(n),definitions:n.declarations.map(o)})},Literal:function(n){var e=n.value,i={start:t(n),end:r(n)};if(null===e)return new we(i);switch(typeof e){case"string":return i.value=e,new ge(i);case"number":return i.value=e,new be(i);case"boolean":return new(e?Be:Ce)(i);default:var o=n.regex;return o&&o.pattern?i.value=new RegExp(o.pattern,o.flags).toString():i.value=n.regex&&n.raw?n.raw:e,new ye(i)}},Identifier:function(n){var e=p[p.length-2];return new("LabeledStatement"==e.type?de:"VariableDeclarator"==e.type&&e.id===n?"const"==e.kind?se:ue:"FunctionExpression"==e.type?e.id===n?le:ce:"FunctionDeclaration"==e.type?e.id===n?fe:ce:"CatchClause"==e.type?pe:"BreakStatement"==e.type||"ContinueStatement"==e.type?ve:he)({start:t(n),end:r(n),name:n.name})}};l.UpdateExpression=l.UnaryExpression=function(n){var e="prefix"in n?n.prefix:"UnaryExpression"==n.type;return new(e?Wn:Gn)({start:t(n),end:r(n),operator:n.operator,expression:o(n.argument)})},i("EmptyStatement",on),i("BlockStatement",rn,"body@body"),i("IfStatement",Cn,"test>condition, consequent>body, alternate>alternative"),i("LabeledStatement",un,"label>label, body>body"),i("BreakStatement",kn,"label>label"),
i("ContinueStatement",Fn,"label>label"),i("WithStatement",hn,"object>expression, body>body"),i("SwitchStatement",Bn,"discriminant>expression, cases@body"),i("ReturnStatement",En,"argument>value"),i("ThrowStatement",Dn,"argument>value"),i("WhileStatement",ln,"test>condition, body>body"),i("DoWhileStatement",fn,"test>condition, body>body"),i("ForStatement",pn,"init>init, test>condition, update>step, body>body"),i("ForInStatement",dn,"left>init, right>object, body>body"),i("DebuggerStatement",Q),i("VariableDeclarator",jn,"id>name, init>value"),i("CatchClause",qn,"param>argname, body%body"),i("ThisExpression",me),i("BinaryExpression",Jn,"operator=operator, left>left, right>right"),i("LogicalExpression",Jn,"operator=operator, left>left, right>right"),i("AssignmentExpression",Zn,"operator=operator, left>left, right>right"),i("ConditionalExpression",Xn,"test>condition, consequent>consequent, alternate>alternative"),i("NewExpression",In,"callee>expression, arguments@args"),i("CallExpression",Rn,"callee>expression, arguments@args"),u(mn,function(n){return{type:"Program",body:n.body.map(s)}}),u(yn,function(n){return{type:"FunctionDeclaration",id:s(n.name),params:n.argnames.map(s),body:c(n)}}),u(bn,function(n){return{type:"FunctionExpression",id:s(n.name),params:n.argnames.map(s),body:c(n)}}),u(nn,function(n){return{type:"ExpressionStatement",expression:{type:"Literal",value:n.value}}}),u(en,function(n){return{type:"ExpressionStatement",expression:s(n.body)}}),u(Sn,function(n){return{type:"SwitchCase",test:s(n.expression),consequent:n.body.map(s)}}),u(On,function(n){return{type:"TryStatement",block:c(n),handler:s(n.bcatch),guardedHandlers:[],finalizer:s(n.bfinally)}}),u(qn,function(n){return{type:"CatchClause",param:s(n.argname),guard:null,body:c(n)}}),u(zn,function(n){return{type:"VariableDeclaration",kind:n instanceof Nn?"const":"var",declarations:n.definitions.map(s)}}),u(Pn,function(n){return{type:"SequenceExpression",expressions:n.to_array().map(s)}}),u(Un,function(n){var e=n instanceof Vn;return{type:"MemberExpression",object:s(n.expression),computed:e,property:e?s(n.property):{type:"Identifier",name:n.property}}}),u(Yn,function(n){return{type:"++"==n.operator||"--"==n.operator?"UpdateExpression":"UnaryExpression",operator:n.operator,prefix:n instanceof Wn,argument:s(n.expression)}}),u(Jn,function(n){return{type:"&&"==n.operator||"||"==n.operator?"LogicalExpression":"BinaryExpression",left:s(n.left),operator:n.operator,right:s(n.right)}}),u(Kn,function(n){return{type:"ArrayExpression",elements:n.elements.map(s)}}),u(Qn,function(n){return{type:"ObjectExpression",properties:n.properties.map(s)}}),u(ne,function(n){var e,t=S(n.key)?{type:"Identifier",name:n.key}:{type:"Literal",value:n.key};return n instanceof ee?e="init":n instanceof re?e="get":n instanceof te&&(e="set"),{type:"Property",kind:e,key:t,value:s(n.value)}}),u(ie,function(n){var e=n.definition();return{type:"Identifier",name:e?e.mangled_name||e.name:n.name}}),u(ye,function(n){var e=n.value;return{type:"Literal",value:e,raw:e.toString(),regex:{pattern:e.source,flags:e.toString().match(/[gimuy]*$/)[0]}}}),u(_e,function(n){var e=n.value;return"number"==typeof e&&(e<0||0===e&&1/e<0)?{type:"UnaryExpression",operator:"-",prefix:!0,argument:{type:"Literal",value:-e,raw:n.start.raw}}:{type:"Literal",value:e,raw:n.start.raw}}),u(Ae,function(n){return{type:"Identifier",name:String(n.value)}}),Fe.DEFMETHOD("to_mozilla_ast",_e.prototype.to_mozilla_ast),we.DEFMETHOD("to_mozilla_ast",_e.prototype.to_mozilla_ast),xe.DEFMETHOD("to_mozilla_ast",function(){return null}),tn.DEFMETHOD("to_mozilla_ast",rn.prototype.to_mozilla_ast),_n.DEFMETHOD("to_mozilla_ast",bn.prototype.to_mozilla_ast);var p=null;Z.from_mozilla_ast=function(n){var e=p;p=[];var t=o(n);return p=e,t}}(),n.Compressor=V,n.DefaultsError=u,n.Dictionary=b,n.JS_Parse_Error=M,n.MAP=J,n.OutputStream=L,n.SourceMap=Y,n.TreeTransformer=R,n.TreeWalker=E,n.base54=Je,n.defaults=s,n.mangle_properties=G,n.merge=c,n.parse=j,n.push_uniq=d,n.string_template=h,n.tokenizer=N,n.is_identifier=S,n.SymbolDef=I,"undefined"!=typeof DEBUG&&DEBUG&&(n.EXPECT_DIRECTIVE=Xe),e.UglifyJS=n}({},function(){return this}());