function js_beautify(e,n){function r(e){for(e="undefined"==typeof e?!1:e;p.length&&(" "===p[p.length-1]||p[p.length-1]===m||p[p.length-1]===j||e&&("\n"===p[p.length-1]||"\r"===p[p.length-1]));)p.pop()}function t(e){return e.replace(/^\s\s*|\s\s*$/,"")}function _(e){e=e.replace(/\x0d/g,"");for(var n=[],r=e.indexOf("\n");-1!=r;)n.push(e.substring(0,r)),e=e.substring(r+1),r=e.indexOf("\n");return e.length&&n.push(e),n}function a(){var e=q;q=!1,i(),q=e}function i(e){if(P.eat_next_space=!1,(!q||!c(P.mode))&&(e="undefined"==typeof e?!0:e,P.if_line=!1,r(),p.length)){"\n"===p[p.length-1]&&e||(w=!0,p.push("\n")),j&&p.push(j);for(var n=0;n
0){var e=P.mode;P=b.pop(),P.previous_mode=e}}function K(e,n){for(var r=0;r=Z)return 0;r=R.charAt(n)}return r}function u(){if(F=0,M>=Z)return["","TK_EOF"];W=!1;var e=R.charAt(M);M+=1;var n=q&&c(P.mode);if(n){for(var _=0;h(e,L);){if("\n"===e?(r(),p.push("\n"),w=!0,_=0):" "===e?_+=4:"\r"===e||(_+=1),M>=Z)return["","TK_EOF"];e=R.charAt(M),M+=1}if(-1===P.indentation_baseline&&(P.indentation_baseline=_),w){var a;for(a=0;a=F?1:0:1),M>=Z)return["","TK_EOF"];e=R.charAt(M),M+=1}if(J&&F>1)for(a=0;F>a;a+=1)i(0===a),w=!0;W=F>0}if(h(e,D)){if(Z>M)for(;h(R.charAt(M),D)&&(e+=R.charAt(M),M+=1,M!==Z););if(M!==Z&&e.match(/^[0-9]+[Ee]$/)&&("-"===R.charAt(M)||"+"===R.charAt(M))){var T=R.charAt(M);M+=1;var E=u(M);return e+=T+E[0],[e,"TK_WORD"]}return"in"===e?[e,"TK_OPERATOR"]:(!W||"TK_OPERATOR"===A||"TK_EQUALS"===A||P.if_line||!J&&"var"===v||i(),[e,"TK_WORD"])}if("("===e||"["===e)return[e,"TK_START_EXPR"];if(")"===e||"]"===e)return[e,"TK_END_EXPR"];if("{"===e)return[e,"TK_START_BLOCK"];if("}"===e)return[e,"TK_END_BLOCK"];if(";"===e)return[e,"TK_SEMICOLON"];if("/"===e){var o="",f=!0;if("*"===R.charAt(M)){if(M+=1,Z>M)for(;Z>M&&("*"!==R.charAt(M)||!R.charAt(M+1)||"/"!==R.charAt(M+1))&&(e=R.charAt(M),o+=e,"\n"!==e&&"\r"!==e||(f=!1),M+=1,!(M>=Z)););return M+=2,f&&0==F?["/*"+o+"*/","TK_INLINE_COMMENT"]:["/*"+o+"*/","TK_BLOCK_COMMENT"]}if("/"===R.charAt(M)){for(o=e;"\r"!==R.charAt(M)&&"\n"!==R.charAt(M)&&(o+=R.charAt(M),M+=1,!(M>=Z)););return W&&i(),[o,"TK_COMMENT"]}}if("'"===e||'"'===e||"/"===e&&("TK_WORD"===A&&l(v)||")"===v&&h(P.previous_mode,["(COND-EXPRESSION)","(FOR-EXPRESSION)"])||"TK_COMMENT"===A||"TK_START_EXPR"===A||"TK_START_BLOCK"===A||"TK_END_BLOCK"===A||"TK_OPERATOR"===A||"TK_EQUALS"===A||"TK_EOF"===A||"TK_SEMICOLON"===A)){var s=e,O=!1,d=0,K=0,N=e;if(Z>M)if("/"===s){for(var S=!1;O||S||R.charAt(M)!==s;)if(N+=R.charAt(M),O?O=!1:(O="\\"===R.charAt(M),"["===R.charAt(M)?S=!0:"]"===R.charAt(M)&&(S=!1)),M+=1,M>=Z)return[N,"TK_STRING"]}else for(;O||R.charAt(M)!==s;)if(N+=R.charAt(M),d&&d>=K&&(d=parseInt(N.substr(-K),16),d&&d>=32&&126>=d&&(d=String.fromCharCode(d),N=N.substr(0,N.length-K-2)+(d===s||"\\"===d?"\\":"")+d),d=0),d?d++:O?(O=!1,Y&&("x"===R.charAt(M)?(d++,K=2):"u"===R.charAt(M)&&(d++,K=4))):O="\\"===R.charAt(M),M+=1,M>=Z)return[N,"TK_STRING"];if(M+=1,N+=s,"/"===s)for(;Z>M&&h(R.charAt(M),D);)N+=R.charAt(M),M+=1;return[N,"TK_STRING"]}if("#"===e){if(0===p.length&&"!"===R.charAt(M)){for(N=e;Z>M&&"\n"!=e;)e=R.charAt(M),N+=e,M+=1;return p.push(t(N)+"\n"),i(),u()}var C="#";if(Z>M&&h(R.charAt(M),y)){do e=R.charAt(M),C+=e,M+=1;while(Z>M&&"#"!==e&&"="!==e);return"#"===e||("["===R.charAt(M)&&"]"===R.charAt(M+1)?(C+="[]",M+=2):"{"===R.charAt(M)&&"}"===R.charAt(M+1)&&(C+="{}",M+=2)),[C,"TK_WORD"]}}if("<"===e&&""===R.substring(M-1,M+2))return P.in_html_comment=!1,M+=2,W&&i(),["-->","TK_COMMENT"];if(h(e,X)){for(;Z>M&&h(e+R.charAt(M),X)&&(e+=R.charAt(M),M+=1,!(M>=Z)););return","===e?[e,"TK_COMMA"]:"="===e?[e,"TK_EQUALS"]:[e,"TK_OPERATOR"]}return[e,"TK_UNKNOWN"]}var R,p,S,A,v,C,I,P,b,m,L,D,X,M,B,y,g,k,x,W,w,F,j="";n=n?n:{};var U;void 0!==n.space_after_anon_function&&void 0===n.jslint_happy&&(n.jslint_happy=n.space_after_anon_function),void 0!==n.braces_on_own_line&&(U=n.braces_on_own_line?"expand":"collapse"),U=n.brace_style?n.brace_style:U?U:"collapse";var G=n.indent_size?n.indent_size:4,Q=n.indent_char?n.indent_char:" ",J="undefined"==typeof n.preserve_newlines?!0:n.preserve_newlines,$="undefined"==typeof n.max_preserve_newlines?!1:n.max_preserve_newlines,z="undefined"===n.jslint_happy?!1:n.jslint_happy,q="undefined"==typeof n.keep_array_indentation?!1:n.keep_array_indentation,H="undefined"==typeof n.space_before_conditional?!0:n.space_before_conditional,V="undefined"==typeof n.indent_case?!1:n.indent_case,Y="undefined"==typeof n.unescape_strings?!1:n.unescape_strings;w=!1;var Z=e.length;for(m="";G>0;)m+=Q,G-=1;for(;e&&(" "===e.charAt(0)||" "===e.charAt(0));)j+=e.charAt(0),e=e.substring(1);for(R=e,I="",A="TK_START_EXPR",v="",C="",p=[],x=!1,L="\n\r ".split(""),D="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$".split(""),y="0123456789".split(""),X="+ - * / % & ++ -- = += -= *= /= %= == === != !== > < >= <= >> << >>> >>>= >>= <<= && &= | || ! !! , : ? ^ ^= |= ::",X+=" <%= <% %> = ?>",X=X.split(" "),B="continue,try,throw,return,var,if,switch,case,default,for,while,break,function".split(","),b=[],s("BLOCK"),M=0;;){var ee=u(M);if(S=ee[0],k=ee[1],"TK_EOF"===k)break;switch(k){case"TK_START_EXPR":if("["===S){if("TK_WORD"===A||")"===v){h(v,B)&&T(),s("(EXPRESSION)"),E();break}"[EXPRESSION]"===P.mode||"[INDENTED-EXPRESSION]"===P.mode?"]"===C&&","===v?("[EXPRESSION]"===P.mode&&(P.mode="[INDENTED-EXPRESSION]",q||o()),s("[EXPRESSION]"),q||i()):"["===v?("[EXPRESSION]"===P.mode&&(P.mode="[INDENTED-EXPRESSION]",q||o()),s("[EXPRESSION]"),q||i()):s("[EXPRESSION]"):s("[EXPRESSION]")}else s("for"===I?"(FOR-EXPRESSION)":h(I,["if","while"])?"(COND-EXPRESSION)":"(EXPRESSION)");";"===v||"TK_START_BLOCK"===A?i():"TK_END_EXPR"===A||"TK_START_EXPR"===A||"TK_END_BLOCK"===A||"."===v?W&&i():"TK_WORD"!==A&&"TK_OPERATOR"!==A?T():"function"===I||"typeof"===I?z&&T():(h(v,B)||"catch"===v)&&H&&T(),E();break;case"TK_END_EXPR":if("]"===S)if(q){if("}"===v){f(),E(),d();break}}else if("[INDENTED-EXPRESSION]"===P.mode&&"]"===v){d(),i(),E();break}d(),E();break;case"TK_START_BLOCK":if(s("do"===I?"DO_BLOCK":"BLOCK"),"expand"==U||"expand-strict"==U){var ne=!1;"expand-strict"==U?(ne="}"==N(),ne||i(!0)):"TK_OPERATOR"!==A&&("="===v||l(v)&&"else"!==v?T():i(!0)),E(),ne||o()}else"TK_OPERATOR"!==A&&"TK_START_EXPR"!==A?"TK_START_BLOCK"===A?i():T():c(P.previous_mode)&&","===v&&("}"===C?T():i()),o(),E();break;case"TK_END_BLOCK":d(),"expand"==U||"expand-strict"==U?("{"!==v&&i(),E()):("TK_START_BLOCK"===A?w?f():r():c(P.mode)&&q?(q=!1,i(),q=!0):i(),E());break;case"TK_WORD":if(x){T(),E(),T(),x=!1;break}if("function"===S){if(P.var_line&&(P.var_line_reindented=!0),(w||";"===v)&&"{"!==v&&"TK_BLOCK_COMMENT"!=A&&"TK_COMMENT"!=A){F=w?F:0,J||(F=1);for(var re=0;2-F>re;re++)i(!1)}"TK_WORD"!=A&&"get"!==v&&"set"!==v&&"new"!==v||T(),E(),I=S;break}if("case"===S||"default"===S&&P.in_case_statement){":"===v||P.case_body?f():(V||P.indentation_level--,i(),V||P.indentation_level++),E(),P.in_case=!0,P.in_case_statement=!0,P.case_body=!1;break}g="NONE","TK_END_BLOCK"===A?h(S.toLowerCase(),["else","catch","finally"])?"expand"==U||"end-expand"==U||"expand-strict"==U?g="NEWLINE":(g="SPACE",T()):g="NEWLINE":"TK_SEMICOLON"!==A||"BLOCK"!==P.mode&&"DO_BLOCK"!==P.mode?"TK_SEMICOLON"===A&&O(P.mode)?g="SPACE":"TK_STRING"===A?g="NEWLINE":"TK_WORD"===A?("else"===v&&r(!0),g="SPACE"):"TK_START_BLOCK"===A?g="NEWLINE":"TK_END_EXPR"===A&&(T(),g="NEWLINE"):g="NEWLINE",h(S,B)&&")"!==v&&(g="else"==v?"SPACE":"NEWLINE"),P.if_line&&"TK_END_EXPR"===A&&(P.if_line=!1),h(S.toLowerCase(),["else","catch","finally"])?"TK_END_BLOCK"!==A||"expand"==U||"end-expand"==U||"expand-strict"==U?i():(r(!0),T()):"NEWLINE"===g?l(v)?T():"TK_END_EXPR"!==A?"TK_START_EXPR"===A&&"var"===S||":"===v||("if"===S&&"else"===I&&"{"!==v?T():(P.var_line=!1,P.var_line_reindented=!1,i())):h(S,B)&&")"!=v&&(P.var_line=!1,P.var_line_reindented=!1,i()):c(P.mode)&&","===v&&"}"===C?i():"SPACE"===g&&T(),E(),I=S,"var"===S&&(P.var_line=!0,P.var_line_reindented=!1,P.var_line_tainted=!1),"if"===S&&(P.if_line=!0),"else"===S&&(P.if_line=!1);break;case"TK_SEMICOLON":E(),P.var_line=!1,P.var_line_reindented=!1,"OBJECT"==P.mode&&(P.mode="BLOCK");break;case"TK_STRING":"TK_END_EXPR"===A&&h(P.previous_mode,["(COND-EXPRESSION)","(FOR-EXPRESSION)"])?T():"TK_COMMENT"===A||"TK_STRING"==A||"TK_START_BLOCK"===A||"TK_END_BLOCK"===A||"TK_SEMICOLON"===A?i():"TK_WORD"===A&&T(),E();break;case"TK_EQUALS":P.var_line&&(P.var_line_tainted=!0),T(),E(),T();break;case"TK_COMMA":if(P.var_line){if(O(P.mode)&&(P.var_line_tainted=!1),P.var_line_tainted){E(),P.var_line_reindented=!0,P.var_line_tainted=!1,i();break}P.var_line_tainted=!1,E(),T();break}"TK_COMMENT"==A&&i(),"TK_END_BLOCK"===A&&"(EXPRESSION)"!==P.mode?(E(),"OBJECT"===P.mode&&"}"===v?i():T()):"OBJECT"===P.mode?(E(),i()):(E(),T());break;case"TK_OPERATOR":var te=!0,_e=!0;if(l(v)){T(),E();break}if("*"==S&&"TK_UNKNOWN"==A&&!C.match(/^\d+$/)){E();break}if(":"===S&&P.in_case){V&&(P.case_body=!0),E(),i(),P.in_case=!1;break}if("::"===S){E();break}h(S,["--","++","!"])||h(S,["-","+"])&&(h(A,["TK_START_BLOCK","TK_START_EXPR","TK_EQUALS","TK_OPERATOR"])||h(v,B))?(te=!1,_e=!1,";"===v&&O(P.mode)&&(te=!0),"TK_WORD"===A&&h(v,B)&&(te=!0),"BLOCK"!==P.mode||"{"!==v&&";"!==v||i()):"."===S?te=!1:":"===S?0==P.ternary_depth?("BLOCK"==P.mode&&(P.mode="OBJECT"),te=!1):P.ternary_depth-=1:"?"===S&&(P.ternary_depth+=1),te&&T(),E(),_e&&T();break;case"TK_BLOCK_COMMENT":var ae=_(S);if(K(ae.slice(1),"*"))for(i(),p.push(ae[0]),re=1;re1?i():"TK_END_BLOCK"===A?i():T(),re=0;re