Skip to content

Instantly share code, notes, and snippets.

@gfranko

gfranko/index.js

Created Feb 11, 2014
Embed
What would you like to do?
requirebin sketch
// Node.js Environment
var code = 'function jqcon() {}',
esprima = require('esprima'),
ast = esprima.parse(code),
estraverse = require('estraverse');
estraverse.traverse(ast, {
enter: function (node, parent) {},
leave: function(node, parent) {}
});
require=function e(t,r,n){function a(o,s){if(!r[o]){if(!t[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);throw Error("Cannot find module '"+o+"'")}var u=r[o]={exports:{}};t[o][0].call(u.exports,function(e){var r=t[o][1][e];return a(r?r:e)},u,u.exports,e,t,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;n.length>o;o++)a(n[o]);return a}({"ic/jtS":[function(e,t,r){(function(e,t){"use strict";"function"==typeof define&&define.amd?define(["exports"],t):r!==void 0?t(r):t(e.esprima={})})(this,function(e){"use strict";function t(e,t){if(!e)throw Error("ASSERT: "+t)}function r(e,t){return fr.slice(e,t)}function n(e){return"0123456789".indexOf(e)>=0}function a(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function i(e){return"01234567".indexOf(e)>=0}function o(e){return" "===e||" "===e||" "===e||"\f"===e||" "===e||e.charCodeAt(0)>=5760&&" ᠎              ".indexOf(e)>=0}function s(e){return"\n"===e||"\r"===e||"\u2028"===e||"\u2029"===e}function l(e){return"$"===e||"_"===e||"\\"===e||e>="a"&&"z">=e||e>="A"&&"Z">=e||e.charCodeAt(0)>=128&&cr.NonAsciiIdentifierStart.test(e)}function u(e){return"$"===e||"_"===e||"\\"===e||e>="a"&&"z">=e||e>="A"&&"Z">=e||e>="0"&&"9">=e||e.charCodeAt(0)>=128&&cr.NonAsciiIdentifierPart.test(e)}function p(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0}return!1}function c(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0}return!1}function f(e){return"eval"===e||"arguments"===e}function d(e){var t=!1;switch(e.length){case 2:t="if"===e||"in"===e||"do"===e;break;case 3:t="var"===e||"for"===e||"new"===e||"try"===e;break;case 4:t="this"===e||"else"===e||"case"===e||"void"===e||"with"===e;break;case 5:t="while"===e||"break"===e||"catch"===e||"throw"===e;break;case 6:t="return"===e||"typeof"===e||"delete"===e||"switch"===e;break;case 7:t="default"===e||"finally"===e;break;case 8:t="function"===e||"continue"===e||"debugger"===e;break;case 10:t="instanceof"===e}if(t)return!0;switch(e){case"const":return!0;case"yield":case"let":return!0}return dr&&c(e)?!0:p(e)}function m(){var e,t,r;for(t=!1,r=!1;hr>mr;)if(e=fr[mr],r)e=fr[mr++],s(e)&&(r=!1,"\r"===e&&"\n"===fr[mr]&&++mr,++yr,gr=mr);else if(t)s(e)?("\r"===e&&"\n"===fr[mr+1]&&++mr,++yr,++mr,gr=mr,mr>=hr&&k({},pr.UnexpectedToken,"ILLEGAL")):(e=fr[mr++],mr>=hr&&k({},pr.UnexpectedToken,"ILLEGAL"),"*"===e&&(e=fr[mr],"/"===e&&(++mr,t=!1)));else if("/"===e)if(e=fr[mr+1],"/"===e)mr+=2,r=!0;else{if("*"!==e)break;mr+=2,t=!0,mr>=hr&&k({},pr.UnexpectedToken,"ILLEGAL")}else if(o(e))++mr;else{if(!s(e))break;++mr,"\r"===e&&"\n"===fr[mr]&&++mr,++yr,gr=mr}}function y(e){var t,r,n,i=0;for(r="u"===e?4:2,t=0;r>t;++t){if(!(hr>mr&&a(fr[mr])))return"";n=fr[mr++],i=16*i+"0123456789abcdef".indexOf(n.toLowerCase())}return String.fromCharCode(i)}function g(){var e,t,r,n;if(e=fr[mr],l(e)){if(t=mr,"\\"===e){if(++mr,"u"!==fr[mr])return;if(++mr,n=mr,e=y("u")){if("\\"===e||!l(e))return;r=e}else mr=n,r="u"}else r=fr[mr++];for(;hr>mr&&(e=fr[mr],u(e));)if("\\"===e){if(++mr,"u"!==fr[mr])return;if(++mr,n=mr,e=y("u")){if("\\"===e||!u(e))return;r+=e}else mr=n,r+="u"}else r+=fr[mr++];return 1===r.length?{type:or.Identifier,value:r,lineNumber:yr,lineStart:gr,range:[t,mr]}:d(r)?{type:or.Keyword,value:r,lineNumber:yr,lineStart:gr,range:[t,mr]}:"null"===r?{type:or.NullLiteral,value:r,lineNumber:yr,lineStart:gr,range:[t,mr]}:"true"===r||"false"===r?{type:or.BooleanLiteral,value:r,lineNumber:yr,lineStart:gr,range:[t,mr]}:{type:or.Identifier,value:r,lineNumber:yr,lineStart:gr,range:[t,mr]}}}function h(){var e,t,r,a=mr,i=fr[mr];return";"===i||"{"===i||"}"===i?(++mr,{type:or.Punctuator,value:i,lineNumber:yr,lineStart:gr,range:[a,mr]}):","===i||"("===i||")"===i?(++mr,{type:or.Punctuator,value:i,lineNumber:yr,lineStart:gr,range:[a,mr]}):(e=fr[mr+1],"."!==i||n(e)?(t=fr[mr+2],r=fr[mr+3],">"===i&&">"===e&&">"===t&&"="===r?(mr+=4,{type:or.Punctuator,value:">>>=",lineNumber:yr,lineStart:gr,range:[a,mr]}):"="===i&&"="===e&&"="===t?(mr+=3,{type:or.Punctuator,value:"===",lineNumber:yr,lineStart:gr,range:[a,mr]}):"!"===i&&"="===e&&"="===t?(mr+=3,{type:or.Punctuator,value:"!==",lineNumber:yr,lineStart:gr,range:[a,mr]}):">"===i&&">"===e&&">"===t?(mr+=3,{type:or.Punctuator,value:">>>",lineNumber:yr,lineStart:gr,range:[a,mr]}):"<"===i&&"<"===e&&"="===t?(mr+=3,{type:or.Punctuator,value:"<<=",lineNumber:yr,lineStart:gr,range:[a,mr]}):">"===i&&">"===e&&"="===t?(mr+=3,{type:or.Punctuator,value:">>=",lineNumber:yr,lineStart:gr,range:[a,mr]}):"="===e&&"<>=!+-*%&|^/".indexOf(i)>=0?(mr+=2,{type:or.Punctuator,value:i+e,lineNumber:yr,lineStart:gr,range:[a,mr]}):i===e&&"+-<>&|".indexOf(i)>=0&&"+-<>&|".indexOf(e)>=0?(mr+=2,{type:or.Punctuator,value:i+e,lineNumber:yr,lineStart:gr,range:[a,mr]}):"[]<>+-*%&|^!~?:=/".indexOf(i)>=0?{type:or.Punctuator,value:fr[mr++],lineNumber:yr,lineStart:gr,range:[a,mr]}:void 0):{type:or.Punctuator,value:fr[mr++],lineNumber:yr,lineStart:gr,range:[a,mr]})}function v(){var e,r,o;if(o=fr[mr],t(n(o)||"."===o,"Numeric literal must start with a decimal digit or a decimal point"),r=mr,e="","."!==o){if(e=fr[mr++],o=fr[mr],"0"===e){if("x"===o||"X"===o){for(e+=fr[mr++];hr>mr&&(o=fr[mr],a(o));)e+=fr[mr++];return 2>=e.length&&k({},pr.UnexpectedToken,"ILLEGAL"),hr>mr&&(o=fr[mr],l(o)&&k({},pr.UnexpectedToken,"ILLEGAL")),{type:or.NumericLiteral,value:parseInt(e,16),lineNumber:yr,lineStart:gr,range:[r,mr]}}if(i(o)){for(e+=fr[mr++];hr>mr&&(o=fr[mr],i(o));)e+=fr[mr++];return hr>mr&&(o=fr[mr],(l(o)||n(o))&&k({},pr.UnexpectedToken,"ILLEGAL")),{type:or.NumericLiteral,value:parseInt(e,8),octal:!0,lineNumber:yr,lineStart:gr,range:[r,mr]}}n(o)&&k({},pr.UnexpectedToken,"ILLEGAL")}for(;hr>mr&&(o=fr[mr],n(o));)e+=fr[mr++]}if("."===o)for(e+=fr[mr++];hr>mr&&(o=fr[mr],n(o));)e+=fr[mr++];if("e"===o||"E"===o)if(e+=fr[mr++],o=fr[mr],("+"===o||"-"===o)&&(e+=fr[mr++]),o=fr[mr],n(o))for(e+=fr[mr++];hr>mr&&(o=fr[mr],n(o));)e+=fr[mr++];else o="character "+o,mr>=hr&&(o="<end>"),k({},pr.UnexpectedToken,"ILLEGAL");return hr>mr&&(o=fr[mr],l(o)&&k({},pr.UnexpectedToken,"ILLEGAL")),{type:or.NumericLiteral,value:parseFloat(e),lineNumber:yr,lineStart:gr,range:[r,mr]}}function x(){var e,r,n,a,o,l,u="",p=!1;for(e=fr[mr],t("'"===e||'"'===e,"String literal must starts with a quote"),r=mr,++mr;hr>mr;){if(n=fr[mr++],n===e){e="";break}if("\\"===n)if(n=fr[mr++],s(n))++yr,"\r"===n&&"\n"===fr[mr]&&++mr;else switch(n){case"n":u+="\n";break;case"r":u+="\r";break;case"t":u+=" ";break;case"u":case"x":l=mr,o=y(n),o?u+=o:(mr=l,u+=n);break;case"b":u+="\b";break;case"f":u+="\f";break;case"v":u+=" ";break;default:i(n)?(a="01234567".indexOf(n),0!==a&&(p=!0),hr>mr&&i(fr[mr])&&(p=!0,a=8*a+"01234567".indexOf(fr[mr++]),"0123".indexOf(n)>=0&&hr>mr&&i(fr[mr])&&(a=8*a+"01234567".indexOf(fr[mr++]))),u+=String.fromCharCode(a)):u+=n}else{if(s(n))break;u+=n}}return""!==e&&k({},pr.UnexpectedToken,"ILLEGAL"),{type:or.StringLiteral,value:u,octal:p,lineNumber:yr,lineStart:gr,range:[r,mr]}}function S(){var e,r,n,a,i,o,l,p=!1,c=!1;for(vr=null,m(),n=mr,r=fr[mr],t("/"===r,"Regular expression literal must start with a slash"),e=fr[mr++];hr>mr;)if(r=fr[mr++],e+=r,"\\"===r)r=fr[mr++],s(r)&&k({},pr.UnterminatedRegExp),e+=r;else if(p)"]"===r&&(p=!1);else{if("/"===r){c=!0;break}"["===r?p=!0:s(r)&&k({},pr.UnterminatedRegExp)}for(c||k({},pr.UnterminatedRegExp),a=e.substr(1,e.length-2),i="";hr>mr&&(r=fr[mr],u(r));)if(++mr,"\\"===r&&hr>mr)if(r=fr[mr],"u"===r)if(++mr,l=mr,r=y("u"))for(i+=r,e+="\\u";mr>l;++l)e+=fr[l];else mr=l,i+="u",e+="\\u";else e+="\\";else i+=r,e+=r;try{o=RegExp(a,i)}catch(f){k({},pr.InvalidRegExp)}return{literal:e,value:o,range:[n,mr]}}function E(e){return e.type===or.Identifier||e.type===or.Keyword||e.type===or.BooleanLiteral||e.type===or.NullLiteral}function b(){var e,t;return m(),mr>=hr?{type:or.EOF,lineNumber:yr,lineStart:gr,range:[mr,mr]}:(t=h(),t!==void 0?t:(e=fr[mr],"'"===e||'"'===e?x():"."===e||n(e)?v():(t=g(),t!==void 0?t:(k({},pr.UnexpectedToken,"ILLEGAL"),void 0))))}function w(){var e;return vr?(mr=vr.range[1],yr=vr.lineNumber,gr=vr.lineStart,e=vr,vr=null,e):(vr=null,b())}function L(){var e,t,r;return null!==vr?vr:(e=mr,t=yr,r=gr,vr=b(),mr=e,yr=t,gr=r,vr)}function I(){var e,t,r,n;return e=mr,t=yr,r=gr,m(),n=yr!==t,mr=e,yr=t,gr=r,n}function k(e,t){var r,n=Array.prototype.slice.call(arguments,2),a=t.replace(/%(\d)/g,function(e,t){return n[t]||""});throw"number"==typeof e.lineNumber?(r=Error("Line "+e.lineNumber+": "+a),r.index=e.range[0],r.lineNumber=e.lineNumber,r.column=e.range[0]-gr+1):(r=Error("Line "+yr+": "+a),r.index=mr,r.lineNumber=yr,r.column=mr-gr+1),r}function C(){try{k.apply(null,arguments)}catch(e){if(!Sr.errors)throw e;Sr.errors.push(e)}}function P(e){if(e.type===or.EOF&&k(e,pr.UnexpectedEOS),e.type===or.NumericLiteral&&k(e,pr.UnexpectedNumber),e.type===or.StringLiteral&&k(e,pr.UnexpectedString),e.type===or.Identifier&&k(e,pr.UnexpectedIdentifier),e.type===or.Keyword){if(p(e.value))k(e,pr.UnexpectedReserved);else if(dr&&c(e.value))return C(e,pr.StrictReservedWord),void 0;k(e,pr.UnexpectedToken,e.value)}k(e,pr.UnexpectedToken,e.value)}function O(e){var t=w();(t.type!==or.Punctuator||t.value!==e)&&P(t)}function N(e){var t=w();(t.type!==or.Keyword||t.value!==e)&&P(t)}function D(e){var t=L();return t.type===or.Punctuator&&t.value===e}function A(e){var t=L();return t.type===or.Keyword&&t.value===e}function _(){var e=L(),t=e.value;return e.type!==or.Punctuator?!1:"="===t||"*="===t||"/="===t||"%="===t||"+="===t||"-="===t||"<<="===t||">>="===t||">>>="===t||"&="===t||"^="===t||"|="===t}function F(){var e,t;if(";"===fr[mr])return w(),void 0;if(t=yr,m(),yr===t){if(D(";"))return w(),void 0;e=L(),e.type===or.EOF||D("}")||P(e)}}function R(e){return e.type===lr.Identifier||e.type===lr.MemberExpression}function B(){var e=[];for(O("[");!D("]");)D(",")?(w(),e.push(null)):(e.push(ut()),D("]")||O(","));return O("]"),{type:lr.ArrayExpression,elements:e}}function U(e,t){var r,n;return r=dr,n=Bt(),t&&dr&&f(e[0].name)&&C(t,pr.StrictParamName),dr=r,{type:lr.FunctionExpression,id:null,params:e,defaults:[],body:n,rest:null,generator:!1,expression:!1}}function j(){var e=w();return e.type===or.StringLiteral||e.type===or.NumericLiteral?(dr&&e.octal&&C(e,pr.StrictOctalLiteral),Xt(e)):{type:lr.Identifier,name:e.value}}function T(){var e,t,r,n;return e=L(),e.type===or.Identifier?(r=j(),"get"!==e.value||D(":")?"set"!==e.value||D(":")?(O(":"),{type:lr.Property,key:r,value:ut(),kind:"init"}):(t=j(),O("("),e=L(),e.type!==or.Identifier?(O(")"),C(e,pr.UnexpectedToken,e.value),{type:lr.Property,key:t,value:U([]),kind:"set"}):(n=[dt()],O(")"),{type:lr.Property,key:t,value:U(n,e),kind:"set"})):(t=j(),O("("),O(")"),{type:lr.Property,key:t,value:U([]),kind:"get"})):e.type!==or.EOF&&e.type!==or.Punctuator?(t=j(),O(":"),{type:lr.Property,key:t,value:ut(),kind:"init"}):(P(e),void 0)}function q(){var e,t,r,n=[],a={},i=String;for(O("{");!D("}");)e=T(),t=e.key.type===lr.Identifier?e.key.name:i(e.key.value),r="init"===e.kind?ur.Data:"get"===e.kind?ur.Get:ur.Set,Object.prototype.hasOwnProperty.call(a,t)?(a[t]===ur.Data?dr&&r===ur.Data?C({},pr.StrictDuplicateProperty):r!==ur.Data&&C({},pr.AccessorDataProperty):r===ur.Data?C({},pr.AccessorDataProperty):a[t]&r&&C({},pr.AccessorGetSet),a[t]|=r):a[t]=r,n.push(e),D("}")||O(",");return O("}"),{type:lr.ObjectExpression,properties:n}}function V(){var e;return O("("),e=pt(),O(")"),e}function M(){var e=L(),t=e.type;if(t===or.Identifier)return{type:lr.Identifier,name:w().value};if(t===or.StringLiteral||t===or.NumericLiteral)return dr&&e.octal&&C(e,pr.StrictOctalLiteral),Xt(w());if(t===or.Keyword){if(A("this"))return w(),{type:lr.ThisExpression};if(A("function"))return jt()}return t===or.BooleanLiteral?(w(),e.value="true"===e.value,Xt(e)):t===or.NullLiteral?(w(),e.value=null,Xt(e)):D("[")?B():D("{")?q():D("(")?V():D("/")||D("/=")?Xt(S()):P(w())}function W(){var e=[];if(O("("),!D(")"))for(;hr>mr&&(e.push(ut()),!D(")"));)O(",");return O(")"),e}function G(){var e=w();return E(e)||P(e),{type:lr.Identifier,name:e.value}}function H(){return O("."),G()}function K(){var e;return O("["),e=pt(),O("]"),e}function z(){var e;return N("new"),e={type:lr.NewExpression,callee:Y(),arguments:[]},D("(")&&(e.arguments=W()),e}function X(){var e;for(e=A("new")?z():M();D(".")||D("[")||D("(");)e=D("(")?{type:lr.CallExpression,callee:e,arguments:W()}:D("[")?{type:lr.MemberExpression,computed:!0,object:e,property:K()}:{type:lr.MemberExpression,computed:!1,object:e,property:H()};return e}function Y(){var e;for(e=A("new")?z():M();D(".")||D("[");)e=D("[")?{type:lr.MemberExpression,computed:!0,object:e,property:K()}:{type:lr.MemberExpression,computed:!1,object:e,property:H()};return e}function Z(){var e,t=X();return e=L(),e.type!==or.Punctuator?t:(!D("++")&&!D("--")||I()||(dr&&t.type===lr.Identifier&&f(t.name)&&C({},pr.StrictLHSPostfix),R(t)||C({},pr.InvalidLHSInAssignment),t={type:lr.UpdateExpression,operator:w().value,argument:t,prefix:!1}),t)}function $(){var e,t;return e=L(),e.type!==or.Punctuator&&e.type!==or.Keyword?Z():D("++")||D("--")?(e=w(),t=$(),dr&&t.type===lr.Identifier&&f(t.name)&&C({},pr.StrictLHSPrefix),R(t)||C({},pr.InvalidLHSInAssignment),t={type:lr.UpdateExpression,operator:e.value,argument:t,prefix:!0}):D("+")||D("-")||D("~")||D("!")?t={type:lr.UnaryExpression,operator:w().value,argument:$(),prefix:!0}:A("delete")||A("void")||A("typeof")?(t={type:lr.UnaryExpression,operator:w().value,argument:$(),prefix:!0},dr&&"delete"===t.operator&&t.argument.type===lr.Identifier&&C({},pr.StrictDelete),t):Z()}function J(){for(var e=$();D("*")||D("/")||D("%");)e={type:lr.BinaryExpression,operator:w().value,left:e,right:$()};return e}function Q(){for(var e=J();D("+")||D("-");)e={type:lr.BinaryExpression,operator:w().value,left:e,right:J()};return e}function et(){for(var e=Q();D("<<")||D(">>")||D(">>>");)e={type:lr.BinaryExpression,operator:w().value,left:e,right:Q()};return e}function tt(){var e,t;for(t=xr.allowIn,xr.allowIn=!0,e=et();D("<")||D(">")||D("<=")||D(">=")||t&&A("in")||A("instanceof");)e={type:lr.BinaryExpression,operator:w().value,left:e,right:et()};return xr.allowIn=t,e}function rt(){for(var e=tt();D("==")||D("!=")||D("===")||D("!==");)e={type:lr.BinaryExpression,operator:w().value,left:e,right:tt()};return e}function nt(){for(var e=rt();D("&");)w(),e={type:lr.BinaryExpression,operator:"&",left:e,right:rt()};return e}function at(){for(var e=nt();D("^");)w(),e={type:lr.BinaryExpression,operator:"^",left:e,right:nt()};return e}function it(){for(var e=at();D("|");)w(),e={type:lr.BinaryExpression,operator:"|",left:e,right:at()};return e}function ot(){for(var e=it();D("&&");)w(),e={type:lr.LogicalExpression,operator:"&&",left:e,right:it()};return e}function st(){for(var e=ot();D("||");)w(),e={type:lr.LogicalExpression,operator:"||",left:e,right:ot()};return e}function lt(){var e,t,r;return e=st(),D("?")&&(w(),t=xr.allowIn,xr.allowIn=!0,r=ut(),xr.allowIn=t,O(":"),e={type:lr.ConditionalExpression,test:e,consequent:r,alternate:ut()}),e}function ut(){var e,t;return e=L(),t=lt(),_()&&(R(t)||C({},pr.InvalidLHSInAssignment),dr&&t.type===lr.Identifier&&f(t.name)&&C(e,pr.StrictLHSAssignment),t={type:lr.AssignmentExpression,operator:w().value,left:t,right:ut()}),t}function pt(){var e=ut();if(D(","))for(e={type:lr.SequenceExpression,expressions:[e]};hr>mr&&D(",");)w(),e.expressions.push(ut());return e}function ct(){for(var e,t=[];hr>mr&&!D("}")&&(e=Tt(),void 0!==e);)t.push(e);return t}function ft(){var e;return O("{"),e=ct(),O("}"),{type:lr.BlockStatement,body:e}}function dt(){var e=w();return e.type!==or.Identifier&&P(e),{type:lr.Identifier,name:e.value}}function mt(e){var t=dt(),r=null;return dr&&f(t.name)&&C({},pr.StrictVarName),"const"===e?(O("="),r=ut()):D("=")&&(w(),r=ut()),{type:lr.VariableDeclarator,id:t,init:r}}function yt(e){var t=[];do{if(t.push(mt(e)),!D(","))break;w()}while(hr>mr);return t}function gt(){var e;return N("var"),e=yt(),F(),{type:lr.VariableDeclaration,declarations:e,kind:"var"}}function ht(e){var t;return N(e),t=yt(e),F(),{type:lr.VariableDeclaration,declarations:t,kind:e}}function vt(){return O(";"),{type:lr.EmptyStatement}}function xt(){var e=pt();return F(),{type:lr.ExpressionStatement,expression:e}}function St(){var e,t,r;return N("if"),O("("),e=pt(),O(")"),t=Rt(),A("else")?(w(),r=Rt()):r=null,{type:lr.IfStatement,test:e,consequent:t,alternate:r}}function Et(){var e,t,r;return N("do"),r=xr.inIteration,xr.inIteration=!0,e=Rt(),xr.inIteration=r,N("while"),O("("),t=pt(),O(")"),D(";")&&w(),{type:lr.DoWhileStatement,body:e,test:t}}function bt(){var e,t,r;return N("while"),O("("),e=pt(),O(")"),r=xr.inIteration,xr.inIteration=!0,t=Rt(),xr.inIteration=r,{type:lr.WhileStatement,test:e,body:t}}function wt(){var e=w();return{type:lr.VariableDeclaration,declarations:yt(),kind:e.value}}function Lt(){var e,t,r,n,a,i,o;return e=t=r=null,N("for"),O("("),D(";")?w():(A("var")||A("let")?(xr.allowIn=!1,e=wt(),xr.allowIn=!0,1===e.declarations.length&&A("in")&&(w(),n=e,a=pt(),e=null)):(xr.allowIn=!1,e=pt(),xr.allowIn=!0,A("in")&&(R(e)||C({},pr.InvalidLHSInForIn),w(),n=e,a=pt(),e=null)),n===void 0&&O(";")),n===void 0&&(D(";")||(t=pt()),O(";"),D(")")||(r=pt())),O(")"),o=xr.inIteration,xr.inIteration=!0,i=Rt(),xr.inIteration=o,n===void 0?{type:lr.ForStatement,init:e,test:t,update:r,body:i}:{type:lr.ForInStatement,left:n,right:a,body:i,each:!1}}function It(){var e,t=null;return N("continue"),";"===fr[mr]?(w(),xr.inIteration||k({},pr.IllegalContinue),{type:lr.ContinueStatement,label:null}):I()?(xr.inIteration||k({},pr.IllegalContinue),{type:lr.ContinueStatement,label:null}):(e=L(),e.type===or.Identifier&&(t=dt(),Object.prototype.hasOwnProperty.call(xr.labelSet,t.name)||k({},pr.UnknownLabel,t.name)),F(),null!==t||xr.inIteration||k({},pr.IllegalContinue),{type:lr.ContinueStatement,label:t})}function kt(){var e,t=null;return N("break"),";"===fr[mr]?(w(),xr.inIteration||xr.inSwitch||k({},pr.IllegalBreak),{type:lr.BreakStatement,label:null}):I()?(xr.inIteration||xr.inSwitch||k({},pr.IllegalBreak),{type:lr.BreakStatement,label:null}):(e=L(),e.type===or.Identifier&&(t=dt(),Object.prototype.hasOwnProperty.call(xr.labelSet,t.name)||k({},pr.UnknownLabel,t.name)),F(),null!==t||xr.inIteration||xr.inSwitch||k({},pr.IllegalBreak),{type:lr.BreakStatement,label:t})}function Ct(){var e,t=null;return N("return"),xr.inFunctionBody||C({},pr.IllegalReturn)," "===fr[mr]&&l(fr[mr+1])?(t=pt(),F(),{type:lr.ReturnStatement,argument:t}):I()?{type:lr.ReturnStatement,argument:null}:(D(";")||(e=L(),D("}")||e.type===or.EOF||(t=pt())),F(),{type:lr.ReturnStatement,argument:t})}function Pt(){var e,t;return dr&&C({},pr.StrictModeWith),N("with"),O("("),e=pt(),O(")"),t=Rt(),{type:lr.WithStatement,object:e,body:t}}function Ot(){var e,t,r=[];for(A("default")?(w(),e=null):(N("case"),e=pt()),O(":");hr>mr&&!(D("}")||A("default")||A("case"))&&(t=Rt(),void 0!==t);)r.push(t);return{type:lr.SwitchCase,test:e,consequent:r}}function Nt(){var e,t,r,n,a;if(N("switch"),O("("),e=pt(),O(")"),O("{"),t=[],D("}"))return w(),{type:lr.SwitchStatement,discriminant:e,cases:t};for(n=xr.inSwitch,xr.inSwitch=!0,a=!1;hr>mr&&!D("}");)r=Ot(),null===r.test&&(a&&k({},pr.MultipleDefaultsInSwitch),a=!0),t.push(r);return xr.inSwitch=n,O("}"),{type:lr.SwitchStatement,discriminant:e,cases:t}}function Dt(){var e;return N("throw"),I()&&k({},pr.NewlineAfterThrow),e=pt(),F(),{type:lr.ThrowStatement,argument:e}}function At(){var e;return N("catch"),O("("),D(")")&&P(L()),e=dt(),dr&&f(e.name)&&C({},pr.StrictCatchVariable),O(")"),{type:lr.CatchClause,param:e,body:ft()}}function _t(){var e,t=[],r=null;return N("try"),e=ft(),A("catch")&&t.push(At()),A("finally")&&(w(),r=ft()),0!==t.length||r||k({},pr.NoCatchOrFinally),{type:lr.TryStatement,block:e,guardedHandlers:[],handlers:t,finalizer:r}}function Ft(){return N("debugger"),F(),{type:lr.DebuggerStatement}}function Rt(){var e,t,r=L();if(r.type===or.EOF&&P(r),r.type===or.Punctuator)switch(r.value){case";":return vt();case"{":return ft();case"(":return xt();default:}if(r.type===or.Keyword)switch(r.value){case"break":return kt();case"continue":return It();case"debugger":return Ft();case"do":return Et();case"for":return Lt();case"function":return Ut();case"if":return St();case"return":return Ct();case"switch":return Nt();case"throw":return Dt();case"try":return _t();case"var":return gt();case"while":return bt();case"with":return Pt();default:}return e=pt(),e.type===lr.Identifier&&D(":")?(w(),Object.prototype.hasOwnProperty.call(xr.labelSet,e.name)&&k({},pr.Redeclaration,"Label",e.name),xr.labelSet[e.name]=!0,t=Rt(),delete xr.labelSet[e.name],{type:lr.LabeledStatement,label:e,body:t}):(F(),{type:lr.ExpressionStatement,expression:e})}function Bt(){var e,t,n,a,i,o,s,l,u=[];for(O("{");hr>mr&&(t=L(),t.type===or.StringLiteral)&&(e=Tt(),u.push(e),e.expression.type===lr.Literal);)n=r(t.range[0]+1,t.range[1]-1),"use strict"===n?(dr=!0,a&&C(a,pr.StrictOctalLiteral)):!a&&t.octal&&(a=t);for(i=xr.labelSet,o=xr.inIteration,s=xr.inSwitch,l=xr.inFunctionBody,xr.labelSet={},xr.inIteration=!1,xr.inSwitch=!1,xr.inFunctionBody=!0;hr>mr&&!D("}")&&(e=Tt(),void 0!==e);)u.push(e);return O("}"),xr.labelSet=i,xr.inIteration=o,xr.inSwitch=s,xr.inFunctionBody=l,{type:lr.BlockStatement,body:u}}function Ut(){var e,t,r,n,a,i,o,s,l,u=[];if(N("function"),n=L(),e=dt(),dr?f(n.value)&&C(n,pr.StrictFunctionName):f(n.value)?(i=n,o=pr.StrictFunctionName):c(n.value)&&(i=n,o=pr.StrictReservedWord),O("("),!D(")"))for(l={};hr>mr&&(n=L(),t=dt(),dr?(f(n.value)&&(a=n,o=pr.StrictParamName),Object.prototype.hasOwnProperty.call(l,n.value)&&(a=n,o=pr.StrictParamDupe)):i||(f(n.value)?(i=n,o=pr.StrictParamName):c(n.value)?(i=n,o=pr.StrictReservedWord):Object.prototype.hasOwnProperty.call(l,n.value)&&(i=n,o=pr.StrictParamDupe)),u.push(t),l[t.name]=!0,!D(")"));)O(",");return O(")"),s=dr,r=Bt(),dr&&i&&k(i,o),dr&&a&&C(a,o),dr=s,{type:lr.FunctionDeclaration,id:e,params:u,defaults:[],body:r,rest:null,generator:!1,expression:!1}}function jt(){var e,t,r,n,a,i,o,s,l=null,u=[];if(N("function"),D("(")||(e=L(),l=dt(),dr?f(e.value)&&C(e,pr.StrictFunctionName):f(e.value)?(r=e,n=pr.StrictFunctionName):c(e.value)&&(r=e,n=pr.StrictReservedWord)),O("("),!D(")"))for(s={};hr>mr&&(e=L(),a=dt(),dr?(f(e.value)&&(t=e,n=pr.StrictParamName),Object.prototype.hasOwnProperty.call(s,e.value)&&(t=e,n=pr.StrictParamDupe)):r||(f(e.value)?(r=e,n=pr.StrictParamName):c(e.value)?(r=e,n=pr.StrictReservedWord):Object.prototype.hasOwnProperty.call(s,e.value)&&(r=e,n=pr.StrictParamDupe)),u.push(a),s[a.name]=!0,!D(")"));)O(",");return O(")"),o=dr,i=Bt(),dr&&r&&k(r,n),dr&&t&&C(t,n),dr=o,{type:lr.FunctionExpression,id:l,params:u,defaults:[],body:i,rest:null,generator:!1,expression:!1}}function Tt(){var e=L();if(e.type===or.Keyword)switch(e.value){case"const":case"let":return ht(e.value);case"function":return Ut();default:return Rt()}return e.type!==or.EOF?Rt():void 0}function qt(){for(var e,t,n,a,i=[];hr>mr&&(t=L(),t.type===or.StringLiteral)&&(e=Tt(),i.push(e),e.expression.type===lr.Literal);)n=r(t.range[0]+1,t.range[1]-1),"use strict"===n?(dr=!0,a&&C(a,pr.StrictOctalLiteral)):!a&&t.octal&&(a=t);for(;hr>mr&&(e=Tt(),void 0!==e);)i.push(e);return i}function Vt(){var e;return dr=!1,e={type:lr.Program,body:qt()}}function Mt(e,r,n,a,i){t("number"==typeof n,"Comment must have valid position"),Sr.comments.length>0&&Sr.comments[Sr.comments.length-1].range[1]>n||Sr.comments.push({type:e,value:r,range:[n,a],loc:i})}function Wt(){var e,t,r,n,a,i;for(e="",a=!1,i=!1;hr>mr;)if(t=fr[mr],i)t=fr[mr++],s(t)?(r.end={line:yr,column:mr-gr-1},i=!1,Mt("Line",e,n,mr-1,r),"\r"===t&&"\n"===fr[mr]&&++mr,++yr,gr=mr,e=""):mr>=hr?(i=!1,e+=t,r.end={line:yr,column:hr-gr},Mt("Line",e,n,hr,r)):e+=t;else if(a)s(t)?("\r"===t&&"\n"===fr[mr+1]?(++mr,e+="\r\n"):e+=t,++yr,++mr,gr=mr,mr>=hr&&k({},pr.UnexpectedToken,"ILLEGAL")):(t=fr[mr++],mr>=hr&&k({},pr.UnexpectedToken,"ILLEGAL"),e+=t,"*"===t&&(t=fr[mr],"/"===t&&(e=e.substr(0,e.length-1),a=!1,++mr,r.end={line:yr,column:mr-gr},Mt("Block",e,n,mr,r),e="")));else if("/"===t)if(t=fr[mr+1],"/"===t)r={start:{line:yr,column:mr-gr}},n=mr,mr+=2,i=!0,mr>=hr&&(r.end={line:yr,column:mr-gr},i=!1,Mt("Line",e,n,mr,r));else{if("*"!==t)break;n=mr,mr+=2,a=!0,r={start:{line:yr,column:mr-gr-2}},mr>=hr&&k({},pr.UnexpectedToken,"ILLEGAL")}else if(o(t))++mr;else{if(!s(t))break;++mr,"\r"===t&&"\n"===fr[mr]&&++mr,++yr,gr=mr}}function Gt(){var e,t,r,n=[];for(e=0;Sr.comments.length>e;++e)t=Sr.comments[e],r={type:t.type,value:t.value},Sr.range&&(r.range=t.range),Sr.loc&&(r.loc=t.loc),n.push(r);Sr.comments=n}function Ht(){var e,t,n,a,i;return m(),e=mr,t={start:{line:yr,column:mr-gr}},n=Sr.advance(),t.end={line:yr,column:mr-gr},n.type!==or.EOF&&(a=[n.range[0],n.range[1]],i=r(n.range[0],n.range[1]),Sr.tokens.push({type:sr[n.type],value:i,range:a,loc:t})),n}function Kt(){var e,t,r,n;return m(),e=mr,t={start:{line:yr,column:mr-gr}},r=Sr.scanRegExp(),t.end={line:yr,column:mr-gr},Sr.tokens.length>0&&(n=Sr.tokens[Sr.tokens.length-1],n.range[0]===e&&"Punctuator"===n.type&&("/"===n.value||"/="===n.value)&&Sr.tokens.pop()),Sr.tokens.push({type:"RegularExpression",value:r.literal,range:[e,mr],loc:t}),r}function zt(){var e,t,r,n=[];for(e=0;Sr.tokens.length>e;++e)t=Sr.tokens[e],r={type:t.type,value:t.value},Sr.range&&(r.range=t.range),Sr.loc&&(r.loc=t.loc),n.push(r);Sr.tokens=n}function Xt(e){return{type:lr.Literal,value:e.value}}function Yt(e){return{type:lr.Literal,value:e.value,raw:r(e.range[0],e.range[1])}}function Zt(){var e={};return e.range=[mr,mr],e.loc={start:{line:yr,column:mr-gr},end:{line:yr,column:mr-gr}},e.end=function(){this.range[1]=mr,this.loc.end.line=yr,this.loc.end.column=mr-gr},e.applyGroup=function(e){Sr.range&&(e.groupRange=[this.range[0],this.range[1]]),Sr.loc&&(e.groupLoc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e.apply=function(e){Sr.range&&(e.range=[this.range[0],this.range[1]]),Sr.loc&&(e.loc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e}function $t(){var e,t;return m(),e=Zt(),O("("),t=pt(),O(")"),e.end(),e.applyGroup(t),t}function Jt(){var e,t;for(m(),e=Zt(),t=A("new")?z():M();D(".")||D("[");)D("[")?(t={type:lr.MemberExpression,computed:!0,object:t,property:K()},e.end(),e.apply(t)):(t={type:lr.MemberExpression,computed:!1,object:t,property:H()},e.end(),e.apply(t));return t}function Qt(){var e,t;for(m(),e=Zt(),t=A("new")?z():M();D(".")||D("[")||D("(");)D("(")?(t={type:lr.CallExpression,callee:t,arguments:W()},e.end(),e.apply(t)):D("[")?(t={type:lr.MemberExpression,computed:!0,object:t,property:K()},e.end(),e.apply(t)):(t={type:lr.MemberExpression,computed:!1,object:t,property:H()},e.end(),e.apply(t));return t}function er(e){var t,r,n;t="[object Array]"===Object.prototype.toString.apply(e)?[]:{};for(r in e)e.hasOwnProperty(r)&&"groupRange"!==r&&"groupLoc"!==r&&(n=e[r],t[r]=null===n||"object"!=typeof n||n instanceof RegExp?n:er(n));return t}function tr(e,t){return function(r){function n(e){return e.type===lr.LogicalExpression||e.type===lr.BinaryExpression}function a(r){var i,o;n(r.left)&&a(r.left),n(r.right)&&a(r.right),e&&(r.left.groupRange||r.right.groupRange?(i=r.left.groupRange?r.left.groupRange[0]:r.left.range[0],o=r.right.groupRange?r.right.groupRange[1]:r.right.range[1],r.range=[i,o]):r.range===void 0&&(i=r.left.range[0],o=r.right.range[1],r.range=[i,o])),t&&(r.left.groupLoc||r.right.groupLoc?(i=r.left.groupLoc?r.left.groupLoc.start:r.left.loc.start,o=r.right.groupLoc?r.right.groupLoc.end:r.right.loc.end,r.loc={start:i,end:o}):r.loc===void 0&&(r.loc={start:r.left.loc.start,end:r.right.loc.end}))}return function(){var i,o;return m(),i=Zt(),o=r.apply(null,arguments),i.end(),e&&o.range===void 0&&i.apply(o),t&&o.loc===void 0&&i.apply(o),n(o)&&a(o),o}}}function rr(){var e;Sr.comments&&(Sr.skipComment=m,m=Wt),Sr.raw&&(Sr.createLiteral=Xt,Xt=Yt),(Sr.range||Sr.loc)&&(Sr.parseGroupExpression=V,Sr.parseLeftHandSideExpression=Y,Sr.parseLeftHandSideExpressionAllowCall=X,V=$t,Y=Jt,X=Qt,e=tr(Sr.range,Sr.loc),Sr.parseAdditiveExpression=Q,Sr.parseAssignmentExpression=ut,Sr.parseBitwiseANDExpression=nt,Sr.parseBitwiseORExpression=it,Sr.parseBitwiseXORExpression=at,Sr.parseBlock=ft,Sr.parseFunctionSourceElements=Bt,Sr.parseCatchClause=At,Sr.parseComputedMember=K,Sr.parseConditionalExpression=lt,Sr.parseConstLetDeclaration=ht,Sr.parseEqualityExpression=rt,Sr.parseExpression=pt,Sr.parseForVariableDeclaration=wt,Sr.parseFunctionDeclaration=Ut,Sr.parseFunctionExpression=jt,Sr.parseLogicalANDExpression=ot,Sr.parseLogicalORExpression=st,Sr.parseMultiplicativeExpression=J,Sr.parseNewExpression=z,Sr.parseNonComputedProperty=G,Sr.parseObjectProperty=T,Sr.parseObjectPropertyKey=j,Sr.parsePostfixExpression=Z,Sr.parsePrimaryExpression=M,Sr.parseProgram=Vt,Sr.parsePropertyFunction=U,Sr.parseRelationalExpression=tt,Sr.parseStatement=Rt,Sr.parseShiftExpression=et,Sr.parseSwitchCase=Ot,Sr.parseUnaryExpression=$,Sr.parseVariableDeclaration=mt,Sr.parseVariableIdentifier=dt,Q=e(Sr.parseAdditiveExpression),ut=e(Sr.parseAssignmentExpression),nt=e(Sr.parseBitwiseANDExpression),it=e(Sr.parseBitwiseORExpression),at=e(Sr.parseBitwiseXORExpression),ft=e(Sr.parseBlock),Bt=e(Sr.parseFunctionSourceElements),At=e(Sr.parseCatchClause),K=e(Sr.parseComputedMember),lt=e(Sr.parseConditionalExpression),ht=e(Sr.parseConstLetDeclaration),rt=e(Sr.parseEqualityExpression),pt=e(Sr.parseExpression),wt=e(Sr.parseForVariableDeclaration),Ut=e(Sr.parseFunctionDeclaration),jt=e(Sr.parseFunctionExpression),Y=e(Y),ot=e(Sr.parseLogicalANDExpression),st=e(Sr.parseLogicalORExpression),J=e(Sr.parseMultiplicativeExpression),z=e(Sr.parseNewExpression),G=e(Sr.parseNonComputedProperty),T=e(Sr.parseObjectProperty),j=e(Sr.parseObjectPropertyKey),Z=e(Sr.parsePostfixExpression),M=e(Sr.parsePrimaryExpression),Vt=e(Sr.parseProgram),U=e(Sr.parsePropertyFunction),tt=e(Sr.parseRelationalExpression),Rt=e(Sr.parseStatement),et=e(Sr.parseShiftExpression),Ot=e(Sr.parseSwitchCase),$=e(Sr.parseUnaryExpression),mt=e(Sr.parseVariableDeclaration),dt=e(Sr.parseVariableIdentifier)),Sr.tokens!==void 0&&(Sr.advance=b,Sr.scanRegExp=S,b=Ht,S=Kt)}function nr(){"function"==typeof Sr.skipComment&&(m=Sr.skipComment),Sr.raw&&(Xt=Sr.createLiteral),(Sr.range||Sr.loc)&&(Q=Sr.parseAdditiveExpression,ut=Sr.parseAssignmentExpression,nt=Sr.parseBitwiseANDExpression,it=Sr.parseBitwiseORExpression,at=Sr.parseBitwiseXORExpression,ft=Sr.parseBlock,Bt=Sr.parseFunctionSourceElements,At=Sr.parseCatchClause,K=Sr.parseComputedMember,lt=Sr.parseConditionalExpression,ht=Sr.parseConstLetDeclaration,rt=Sr.parseEqualityExpression,pt=Sr.parseExpression,wt=Sr.parseForVariableDeclaration,Ut=Sr.parseFunctionDeclaration,jt=Sr.parseFunctionExpression,V=Sr.parseGroupExpression,Y=Sr.parseLeftHandSideExpression,X=Sr.parseLeftHandSideExpressionAllowCall,ot=Sr.parseLogicalANDExpression,st=Sr.parseLogicalORExpression,J=Sr.parseMultiplicativeExpression,z=Sr.parseNewExpression,G=Sr.parseNonComputedProperty,T=Sr.parseObjectProperty,j=Sr.parseObjectPropertyKey,M=Sr.parsePrimaryExpression,Z=Sr.parsePostfixExpression,Vt=Sr.parseProgram,U=Sr.parsePropertyFunction,tt=Sr.parseRelationalExpression,Rt=Sr.parseStatement,et=Sr.parseShiftExpression,Ot=Sr.parseSwitchCase,$=Sr.parseUnaryExpression,mt=Sr.parseVariableDeclaration,dt=Sr.parseVariableIdentifier),"function"==typeof Sr.scanRegExp&&(b=Sr.advance,S=Sr.scanRegExp)}function ar(e){var t,r=e.length,n=[];for(t=0;r>t;++t)n[t]=e.charAt(t);return n}function ir(e,t){var r,n;n=String,"string"==typeof e||e instanceof String||(e=n(e)),fr=e,mr=0,yr=fr.length>0?1:0,gr=0,hr=fr.length,vr=null,xr={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1},Sr={},t!==void 0&&(Sr.range="boolean"==typeof t.range&&t.range,Sr.loc="boolean"==typeof t.loc&&t.loc,Sr.raw="boolean"==typeof t.raw&&t.raw,"boolean"==typeof t.tokens&&t.tokens&&(Sr.tokens=[]),"boolean"==typeof t.comment&&t.comment&&(Sr.comments=[]),"boolean"==typeof t.tolerant&&t.tolerant&&(Sr.errors=[])),hr>0&&fr[0]===void 0&&(e instanceof String&&(fr=e.valueOf()),fr[0]===void 0&&(fr=ar(e))),rr();
try{r=Vt(),Sr.comments!==void 0&&(Gt(),r.comments=Sr.comments),Sr.tokens!==void 0&&(zt(),r.tokens=Sr.tokens),Sr.errors!==void 0&&(r.errors=Sr.errors),(Sr.range||Sr.loc)&&(r.body=er(r.body))}catch(a){throw a}finally{nr(),Sr={}}return r}var or,sr,lr,ur,pr,cr,fr,dr,mr,yr,gr,hr,vr,xr,Sr;or={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},sr={},sr[or.BooleanLiteral]="Boolean",sr[or.EOF]="<end>",sr[or.Identifier]="Identifier",sr[or.Keyword]="Keyword",sr[or.NullLiteral]="Null",sr[or.NumericLiteral]="Numeric",sr[or.Punctuator]="Punctuator",sr[or.StringLiteral]="String",lr={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},ur={Data:1,Get:2,Set:4},pr={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},cr={NonAsciiIdentifierStart:RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},"esprima"[0]===void 0&&(r=function(e,t){return fr.slice(e,t).join("")}),e.version="1.0.4",e.parse=ir,e.Syntax=function(){var e,t={};"function"==typeof Object.create&&(t=Object.create(null));for(e in lr)lr.hasOwnProperty(e)&&(t[e]=lr[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}()})},{}],esprima:[function(e,t){t.exports=e("ic/jtS")},{}]},{},[]),require=function e(t,r,n){function a(o,s){if(!r[o]){if(!t[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);throw Error("Cannot find module '"+o+"'")}var u=r[o]={exports:{}};t[o][0].call(u.exports,function(e){var r=t[o][1][e];return a(r?r:e)},u,u.exports,e,t,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;n.length>o;o++)a(n[o]);return a}({tsAKcz:[function(e,t,r){(function(e,t){"use strict";"function"==typeof define&&define.amd?define(["exports"],t):r!==void 0?t(r):t(e.estraverse={})})(this,function(e){"use strict";function t(){}function r(e){var t,n,a={};for(t in e)e.hasOwnProperty(t)&&(n=e[t],a[t]="object"==typeof n&&null!==n?r(n):n);return a}function n(e){var t,r={};for(t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return r}function a(e,t){var r,n,a,i;for(n=e.length,a=0;n;)r=n>>>1,i=a+r,t(e[i])?n=r:(a=i+1,n-=r+1);return a}function i(e,t){var r,n,a,i;for(n=e.length,a=0;n;)r=n>>>1,i=a+r,t(e[i])?(a=i+1,n-=r+1):n=r;return a}function o(e,t){this.parent=e,this.key=t}function s(e,t,r,n){this.node=e,this.path=t,this.wrap=r,this.ref=n}function l(){}function u(e,t){var r=new l;return r.traverse(e,t)}function p(e,t){var r=new l;return r.replace(e,t)}function c(e,t){var r;return r=a(t,function(t){return t.range[0]>e.range[0]}),e.extendedRange=[e.range[0],e.range[1]],r!==t.length&&(e.extendedRange[1]=t[r].range[0]),r-=1,r>=0&&(e.extendedRange[0]=t[r].range[1]),e}function f(e,t,n){var a,i,o,s,l=[];if(!e.range)throw Error("attachComments needs range information");if(!n.length){if(t.length){for(o=0,i=t.length;i>o;o+=1)a=r(t[o]),a.extendedRange=[0,e.range[0]],l.push(a);e.leadingComments=l}return e}for(o=0,i=t.length;i>o;o+=1)l.push(c(r(t[o]),n));return s=0,u(e,{enter:function(e){for(var t;l.length>s&&(t=l[s],!(t.extendedRange[1]>e.range[0]));)t.extendedRange[1]===e.range[0]?(e.leadingComments||(e.leadingComments=[]),e.leadingComments.push(t),l.splice(s,1)):s+=1;return s===l.length?y.Break:l[s].extendedRange[0]>e.range[1]?y.Skip:void 0}}),s=0,u(e,{leave:function(e){for(var t;l.length>s&&(t=l[s],!(e.range[1]<t.extendedRange[0]));)e.range[1]===t.extendedRange[0]?(e.trailingComments||(e.trailingComments=[]),e.trailingComments.push(t),l.splice(s,1)):s+=1;return s===l.length?y.Break:l[s].extendedRange[0]>e.range[1]?y.Skip:void 0}}),e}var d,m,y,g,h,v;d={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},m=Array.isArray,m||(m=function m(e){return"[object Array]"===Object.prototype.toString.call(e)}),t(n),t(i),g={AssignmentExpression:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","defaults","rest","body"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ClassBody:["body"],ClassDeclaration:["id","body","superClass"],ClassExpression:["id","body","superClass"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],FunctionDeclaration:["id","params","defaults","rest","body"],FunctionExpression:["id","params","defaults","rest","body"],Identifier:[],IfStatement:["test","consequent","alternate"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],Program:["body"],Property:["key","value"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handlers","handler","guardedHandlers","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},h={},v={},y={Break:h,Skip:v},o.prototype.replace=function p(e){this.parent[this.key]=e},l.prototype.path=function(){function e(e,t){if(m(t))for(n=0,a=t.length;a>n;++n)e.push(t[n]);else e.push(t)}var t,r,n,a,i,o;if(!this.__current.path)return null;for(i=[],t=2,r=this.__leavelist.length;r>t;++t)o=this.__leavelist[t],e(i,o.path);return e(i,this.__current.path),i},l.prototype.parents=function(){var e,t,r;for(r=[],e=1,t=this.__leavelist.length;t>e;++e)r.push(this.__leavelist[e].node);return r},l.prototype.current=function(){return this.__current.node},l.prototype.__execute=function(e,t){var r,n;return n=void 0,r=this.__current,this.__current=t,this.__state=null,e&&(n=e.call(this,t.node,this.__leavelist[this.__leavelist.length-1].node)),this.__current=r,n},l.prototype.notify=function(e){this.__state=e},l.prototype.skip=function(){this.notify(v)},l.prototype["break"]=function(){this.notify(h)},l.prototype.__initialize=function(e,t){this.visitor=t,this.root=e,this.__worklist=[],this.__leavelist=[],this.__current=null,this.__state=null},l.prototype.traverse=function u(e,t){var r,n,a,i,o,l,u,p,c,f,y,x;for(this.__initialize(e,t),x={},r=this.__worklist,n=this.__leavelist,r.push(new s(e,null,null,null)),n.push(new s(null,null,null,null));r.length;)if(a=r.pop(),a!==x){if(a.node){if(l=this.__execute(t.enter,a),this.__state===h||l===h)return;if(r.push(x),n.push(a),this.__state===v||l===v)continue;for(i=a.node,o=a.wrap||i.type,f=g[o],p=f.length;(p-=1)>=0;)if(u=f[p],y=i[u])if(m(y))for(c=y.length;(c-=1)>=0;)y[c]&&(a=o!==d.ObjectExpression&&o!==d.ObjectPattern||"properties"!==f[p]?new s(y[c],[u,c],null,null):new s(y[c],[u,c],"Property",null),r.push(a));else r.push(new s(y,u,null,null))}}else if(a=n.pop(),l=this.__execute(t.leave,a),this.__state===h||l===h)return},l.prototype.replace=function p(e,t){var r,n,a,i,l,u,p,c,f,y,x,S,E;for(this.__initialize(e,t),x={},r=this.__worklist,n=this.__leavelist,S={root:e},u=new s(e,null,null,new o(S,"root")),r.push(u),n.push(u);r.length;)if(u=r.pop(),u!==x){if(l=this.__execute(t.enter,u),void 0!==l&&l!==h&&l!==v&&(u.ref.replace(l),u.node=l),this.__state===h||l===h)return S.root;if(a=u.node,a&&(r.push(x),n.push(u),this.__state!==v&&l!==v))for(i=u.wrap||a.type,f=g[i],p=f.length;(p-=1)>=0;)if(E=f[p],y=a[E])if(m(y))for(c=y.length;(c-=1)>=0;)y[c]&&(u=i===d.ObjectExpression&&"properties"===f[p]?new s(y[c],[E,c],"Property",new o(y,c)):new s(y[c],[E,c],null,new o(y,c)),r.push(u));else r.push(new s(y,E,null,new o(a,E)))}else if(u=n.pop(),l=this.__execute(t.leave,u),void 0!==l&&l!==h&&l!==v&&u.ref.replace(l),this.__state===h||l===h)return S.root;return S.root},e.version="1.3.3-dev",e.Syntax=d,e.traverse=u,e.replace=p,e.attachComments=f,e.VisitorKeys=g,e.VisitorOption=y,e.Controller=l})},{}],estraverse:[function(e,t){t.exports=e("tsAKcz")},{}]},{},[]);var code="function jqcon() {}",esprima=require("esprima"),ast=esprima.parse(code),estraverse=require("estraverse");estraverse.traverse(ast,{enter:function(){return{}},leave:function(){}}),console.log("ast",ast);
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.