diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e6db0a7..5560ce0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ Change Log v0.17.0 --- * **Web version**: Added web version dist +* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/252 * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/247 v0.16.0 diff --git a/dist/index.cli.js b/dist/index.cli.js index 76404ceb..8100889f 100644 --- a/dist/index.cli.js +++ b/dist/index.cli.js @@ -21,5 +21,5 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -require("source-map-support").install(),module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r.w={},r(r.s=219)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("inversify")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Factory__ICalleeDataExtractor="Factory",e.Factory__IControlFlowCustomNode="Factory",e.Factory__IControlFlowReplacer="Factory",e.Factory__ICustomNode="Factory",e.Factory__ICustomNodeGroup="Factory",e.Factory__IDeadCodeInjectionCustomNode="Factory",e.Factory__IIdentifierNamesGenerator="Factory",e.Factory__IIdentifierObfuscatingReplacer="Factory",e.Factory__INodeGuard="Factory",e.Factory__INodeTransformer="Factory",e.Factory__IObfuscationResult="Factory",e.Factory__IObfuscatingReplacer="Factory",e.Factory__TControlFlowStorage="Factory",e.IArrayUtils="IArrayUtils",e.ICalleeDataExtractor="ICalleeDataExtractor",e.ICryptUtils="ICryptUtils",e.ICustomNode="ICustomNode",e.ICustomNodeGroup="ICustomNodeGroup",e.IControlFlowReplacer="IControlFlowReplacer",e.IEscapeSequenceEncoder="IEscapeSequenceEncoder",e.IIdentifierNamesGenerator="IIdentifierNamesGenerator",e.IIdentifierObfuscatingReplacer="IIdentifierObfuscatingReplacer",e.IJavaScriptObfuscator="IJavaScriptObfuscator",e.ILogger="ILogger",e.INodeGuard="INodeGuard",e.INodeTransformer="INodeTransformer",e.IObfuscationEventEmitter="IObfuscationEventEmitter",e.IObfuscationResult="IObfuscationResult",e.IOptions="IOptions",e.IOptionsNormalizer="IOptionsNormalizer",e.IObfuscatingReplacer="IObfuscatingReplacer",e.IRandomGenerator="IRandomGenerator",e.ISourceCode="ISourceCode",e.ISourceMapCorrector="ISourceMapCorrector",e.IStackTraceAnalyzer="IStackTraceAnalyzer",e.ITransformersRunner="ITransformersRunner",e.Newable__ICustomNode="Newable",e.Newable__TControlFlowStorage="Newable",e.TCustomNodeGroupStorage="TCustomNodeGroupStorage",e.TInputOptions="TInputOptions",e.TStringArrayStorage="TStringArrayStorage"}(t.ServiceIdentifiers||(t.ServiceIdentifiers={}))},function(e,t){e.exports=require("tslib")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-prototype-of")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(26),s=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"isArrayPatternNode",value:function(e){return e.type===i.NodeType.ArrayPattern}},{key:"isArrowFunctionExpressionNode",value:function(e){return e.type===i.NodeType.ArrowFunctionExpression}},{key:"isAssignmentPatternNode",value:function(e){return e.type===i.NodeType.AssignmentPattern}},{key:"isAwaitExpressionNode",value:function(e){return e.type===i.NodeType.AwaitExpression}},{key:"isBlockStatementNode",value:function(e){return e.type===i.NodeType.BlockStatement}},{key:"isBreakStatementNode",value:function(e){return e.type===i.NodeType.BreakStatement}},{key:"isCallExpressionNode",value:function(e){return e.type===i.NodeType.CallExpression}},{key:"isCatchClauseNode",value:function(e){return e.type===i.NodeType.CatchClause}},{key:"isClassDeclarationNode",value:function(e){return e.type===i.NodeType.ClassDeclaration}},{key:"isContinueStatementNode",value:function(e){return e.type===i.NodeType.ContinueStatement}},{key:"isExportNamedDeclarationNode",value:function(e){return e.type===i.NodeType.ExportNamedDeclaration}},{key:"isExpressionStatementNode",value:function(e){return e.type===i.NodeType.ExpressionStatement}},{key:"isFunctionDeclarationNode",value:function(e){return e.type===i.NodeType.FunctionDeclaration}},{key:"isFunctionExpressionNode",value:function(e){return e.type===i.NodeType.FunctionExpression}},{key:"isIdentifierNode",value:function(e){return e.type===i.NodeType.Identifier}},{key:"isIfStatementNode",value:function(e){return e.type===i.NodeType.IfStatement}},{key:"isImportDeclarationNode",value:function(e){return e.type===i.NodeType.ImportDeclaration}},{key:"isImportDefaultSpecifierNode",value:function(e){return e.type===i.NodeType.ImportDefaultSpecifier}},{key:"isImportNamespaceSpecifierNode",value:function(e){return e.type===i.NodeType.ImportNamespaceSpecifier}},{key:"isImportSpecifierNode",value:function(e){return e.type===i.NodeType.ImportSpecifier}},{key:"isLabelIdentifierNode",value:function(t,r){var n=e.isLabeledStatementNode(r)&&r.label===t,o=e.isContinueStatementNode(r)&&r.label===t,a=e.isBreakStatementNode(r)&&r.label===t;return n||o||a}},{key:"isLabeledStatementNode",value:function(e){return e.type===i.NodeType.LabeledStatement}},{key:"isLiteralNode",value:function(e){return e.type===i.NodeType.Literal}},{key:"isMemberExpressionNode",value:function(e){return e.type===i.NodeType.MemberExpression}},{key:"isMethodDefinitionNode",value:function(e){return e.type===i.NodeType.MethodDefinition}},{key:"isNode",value:function(e){return e&&void 0!==!e.type}},{key:"isNodeHasBlockScope",value:function(t,r){return e.isProgramNode(t)||e.isBlockStatementNode(t)&&e.nodesWithBlockScope.includes(r.type)}},{key:"isNodeHasScope",value:function(t){return e.isProgramNode(t)||e.isBlockStatementNode(t)||e.isSwitchCaseNode(t)}},{key:"isNodeWithComments",value:function(e){return Boolean(e.leadingComments)||Boolean(e.trailingComments)}},{key:"isObjectPatternNode",value:function(e){return e.type===i.NodeType.ObjectPattern}},{key:"isObjectExpressionNode",value:function(e){return e.type===i.NodeType.ObjectExpression}},{key:"isProgramNode",value:function(e){return e.type===i.NodeType.Program}},{key:"isPropertyNode",value:function(e){return e.type===i.NodeType.Property}},{key:"isReplaceableIdentifierNode",value:function(t,r){if(!e.isIdentifierNode(t))return!1;var n=e.isPropertyNode(r)&&!r.computed&&r.key===t,o=e.isMemberExpressionNode(r)&&!r.computed&&r.property===t,a=e.isMethodDefinitionNode(r)&&!r.computed,i=e.isLabelIdentifierNode(t,r);return!(n||o||a||i)}},{key:"isRestElementNode",value:function(e){return e.type===i.NodeType.RestElement}},{key:"isReturnStatementNode",value:function(e){return e.type===i.NodeType.ReturnStatement}},{key:"isSuperNode",value:function(e){return e.type===i.NodeType.Super}},{key:"isSwitchCaseNode",value:function(e){return e.type===i.NodeType.SwitchCase}},{key:"isTaggedTemplateExpressionNode",value:function(e){return e.type===i.NodeType.TaggedTemplateExpression}},{key:"isTemplateLiteralNode",value:function(e){return e.type===i.NodeType.TemplateLiteral}},{key:"isUnaryExpressionNode",value:function(e){return e.type===i.NodeType.UnaryExpression}},{key:"isUseStrictOperator",value:function(e){return e.type===i.NodeType.ExpressionStatement&&"use strict"===e.directive}},{key:"isVariableDeclarationNode",value:function(e){return e.type===i.NodeType.VariableDeclaration}},{key:"isVariableDeclaratorNode",value:function(e){return e.type===i.NodeType.VariableDeclarator}},{key:"isWhileStatementNode",value:function(e){return e.type===i.NodeType.WhileStatement}}]),e}();s.nodesWithBlockScope=[i.NodeType.ArrowFunctionExpression,i.NodeType.FunctionDeclaration,i.NodeType.FunctionExpression,i.NodeType.MethodDefinition],t.NodeGuards=s},function(e,t,r){"use strict";var n=r(0),o=n(r(62)),a=n(r(36)),i=n(r(2)),s=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var c=__importStar(r(46)),d=__importStar(r(61)),u=__importStar(r(18)),l=r(9),f=r(19),p=function(){function e(){(0,i.default)(this,e)}return(0,s.default)(e,null,[{key:"addXVerbatimPropertyToLiteralNode",value:function(e){return l.NodeGuards.isLiteralNode(e)&&(e["x-verbatim-property"]={content:e.raw,precedence:c.Precedence.Primary}),e}},{key:"clone",value:function(t){return e.parentize(e.cloneRecursive(t))}},{key:"convertCodeToStructure",value:function(t){var r=d.parse(t,{sourceType:"script"});return u.replace(r,{enter:function(t,r){return e.parentizeNode(t,r),e.addXVerbatimPropertyToLiteralNode(t),f.NodeMetadata.set(t,{ignoredNode:!1}),t}}),r.body}},{key:"convertStructureToCode",value:function(e){return e.reduce(function(e,t){return e+c.generate(t,{sourceMapWithCode:!0}).code},"")}},{key:"getBlockScopesOfNode",value:function(t){return e.getBlockScopesOfNodeRecursive(t)}},{key:"getNextSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,1)}},{key:"getPreviousSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,-1)}},{key:"getScopeOfNode",value:function(t){var r=t.parentNode;if(!r)throw new ReferenceError("`parentNode` property of given node is `undefined`");return l.NodeGuards.isNodeHasScope(r)?r:e.getScopeOfNode(r)}},{key:"getUnaryExpressionArgumentNode",value:function(t){return l.NodeGuards.isUnaryExpressionNode(t.argument)?e.getUnaryExpressionArgumentNode(t.argument):t.argument}},{key:"parentize",value:function(t){return u.replace(t,{enter:e.parentizeNode}),t}},{key:"parentizeNode",value:function(e,t){return e.parentNode=t||e,e}},{key:"cloneRecursive",value:function(t){if(null===t)return t;var r={};return(0,a.default)(t).forEach(function(n){if("parentNode"!==n){var a,i=t[n];a=null===i||i instanceof RegExp?i:Array.isArray(i)?i.map(e.cloneRecursive):"object"===(0,o.default)(i)?e.cloneRecursive(i):i,r[n]=a}}),r}},{key:"getBlockScopesOfNodeRecursive",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=t.parentNode;if(!o)throw new ReferenceError("`parentNode` property of given node is `undefined`");return l.NodeGuards.isBlockStatementNode(t)&&o===t&&r.push(t),(l.NodeGuards.isProgramNode(t)||n&&l.NodeGuards.isNodeHasBlockScope(t,o))&&r.push(t),t!==o?e.getBlockScopesOfNodeRecursive(o,r,++n):r}},{key:"getSiblingStatementNodeByOffset",value:function(t,r){var n=e.getScopeOfNode(t),o=l.NodeGuards.isSwitchCaseNode(n)?n.consequent:n.body;return o[o.indexOf(t)+r]||null}}]),e}();t.NodeUtils=p},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(196)),i=n(r(195)),s=n(r(194)),c=n(r(193)),d=n(r(192)),u=n(r(191)),l=n(r(31)),f=n(r(36));Object.defineProperty(t,"__esModule",{value:!0});var p={configurable:!0,enumerable:!0},m="_initialized",g="_initializablePropertiesSet",N="_wrappedMethodsSet",_="constructor";function v(e,t,r){(0,u.default)(e,r)||(0,d.default)(e,t,r)}t.initializable=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"initialize",t=(0,f.default)(this)[0];return function(r,n){var u=r[e];if(!u||"function"!=typeof u)throw new Error("`".concat(e,"` method with initialization logic not ")+"found. `@".concat(t,"` decorator requires `").concat(e,"` method"));return v(m,!1,r),v(g,new l.default,r),v(N,new l.default,r),function(e,t){var r=(0,c.default)(e),n=[t,_];r.forEach(function(r){var c=(0,s.default)(g,e),d=(0,s.default)(N,e),u=n.includes(r)||c.has(r)||d.has(r);if(!u){var l=e[r];if("function"==typeof l){var f=(0,i.default)(e,r)||p,_=f.value;(0,a.default)(e,r,(0,o.default)({},f,{value:function(){if(!(0,s.default)(m,this))throw new Error("Class should be initialized with `".concat(t,"()` method"));return _.apply(this,arguments)}})),d.add(r)}}})}(r,e),function(e,t,r){var n=(0,i.default)(e,t)||p,s=n.value;(0,a.default)(e,t,(0,o.default)({},n,{value:function(){(0,d.default)(m,!0,this);var e=s.apply(this,arguments);return this[r],e}}))}(r,e,n),function(e,t){(0,s.default)(g,e).add(t);var r="_".concat(t),n=(0,i.default)(e,r)||p;return(0,a.default)(e,t,(0,o.default)({},n,{get:function(){if(void 0===this[r])throw new Error("Property `".concat(t,"` is not initialized! Initialize it first!"));return this[r]},set:function(e){this[r]=e}})),n}(r,n)}}},function(e,t){e.exports=require("@babel/runtime/core-js/object/assign")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Preparing="Preparing",e.DeadCodeInjection="DeadCodeInjection",e.ControlFlowFlattening="ControlFlowFlattening",e.Converting="Converting",e.Obfuscating="Obfuscating",e.Finalizing="Finalizing"}(t.TransformationStage||(t.TransformationStage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=r(11),u=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"initialize",value:function(){this.nodeIdentifier=this.randomGenerator.getRandomInteger(0,1e4)}}]),e}();i.__decorate([d.initializable(),i.__metadata("design:type",Number)],u.prototype,"nodeIdentifier",void 0),i.__decorate([s.postConstruct(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[]),i.__metadata("design:returntype",void 0)],u.prototype,"initialize",null),u=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],u),t.AbstractNodeTransformer=u},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(46)),c=r(26),d=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"programNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.Program,body:e,sourceType:"script",metadata:{ignoredNode:!1}}}},{key:"arrayExpressionNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.ArrayExpression,elements:e,metadata:{ignoredNode:!1}}}},{key:"assignmentExpressionNode",value:function(e,t,r){return{type:c.NodeType.AssignmentExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"binaryExpressionNode",value:function(e,t,r){return{type:c.NodeType.BinaryExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"blockStatementNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.BlockStatement,body:e,metadata:{ignoredNode:!1}}}},{key:"breakStatement",value:function(e){var t={type:c.NodeType.BreakStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"callExpressionNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{type:c.NodeType.CallExpression,callee:e,arguments:t,metadata:{ignoredNode:!1}}}},{key:"continueStatement",value:function(e){var t={type:c.NodeType.ContinueStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"expressionStatementNode",value:function(e){return{type:c.NodeType.ExpressionStatement,expression:e,metadata:{ignoredNode:!1}}}},{key:"functionDeclarationNode",value:function(t,r,n){return{type:c.NodeType.FunctionDeclaration,id:e.identifierNode(t),params:r,body:n,generator:!1,metadata:{ignoredNode:!1}}}},{key:"functionExpressionNode",value:function(e,t){return{type:c.NodeType.FunctionExpression,params:e,body:t,generator:!1,metadata:{ignoredNode:!1}}}},{key:"ifStatementNode",value:function(e,t,r){return(0,o.default)({type:c.NodeType.IfStatement,test:e,consequent:t},r&&{alternate:r},{metadata:{ignoredNode:!1}})}},{key:"identifierNode",value:function(e){return{type:c.NodeType.Identifier,name:e,metadata:{ignoredNode:!1}}}},{key:"literalNode",value:function(e,t){return t=void 0!==t?t:"'".concat(e,"'"),{type:c.NodeType.Literal,value:e,raw:t,"x-verbatim-property":{content:t,precedence:s.Precedence.Primary},metadata:{ignoredNode:!1}}}},{key:"logicalExpressionNode",value:function(e,t,r){return{type:c.NodeType.LogicalExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"memberExpressionNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.MemberExpression,computed:r,object:e,property:t,metadata:{ignoredNode:!1}}}},{key:"methodDefinitionNode",value:function(e,t,r,n){return{type:c.NodeType.MethodDefinition,key:e,value:t,kind:r,computed:n,static:!1,metadata:{ignoredNode:!1}}}},{key:"objectExpressionNode",value:function(e){return{type:c.NodeType.ObjectExpression,properties:e,metadata:{ignoredNode:!1}}}},{key:"propertyNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.Property,key:e,value:t,kind:"init",method:!1,shorthand:!1,computed:r,metadata:{ignoredNode:!1}}}},{key:"returnStatementNode",value:function(e){return{type:c.NodeType.ReturnStatement,argument:e,metadata:{ignoredNode:!1}}}},{key:"switchStatementNode",value:function(e,t){return{type:c.NodeType.SwitchStatement,discriminant:e,cases:t,metadata:{ignoredNode:!1}}}},{key:"switchCaseNode",value:function(e,t){return{type:c.NodeType.SwitchCase,test:e,consequent:t,metadata:{ignoredNode:!1}}}},{key:"unaryExpressionNode",value:function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return{type:c.NodeType.UnaryExpression,operator:e,argument:t,prefix:r,metadata:{ignoredNode:!1}}}},{key:"updateExpressionNode",value:function(e,t){return{type:c.NodeType.UpdateExpression,operator:e,argument:t,prefix:!1,metadata:{ignoredNode:!1}}}},{key:"variableDeclarationNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"var";return{type:c.NodeType.VariableDeclaration,declarations:e,kind:t,metadata:{ignoredNode:!1}}}},{key:"variableDeclaratorNode",value:function(e,t){return{type:c.NodeType.VariableDeclarator,id:e,init:t,metadata:{ignoredNode:!1}}}},{key:"whileStatementNode",value:function(e,t){return{type:c.NodeType.WhileStatement,test:e,body:t,metadata:{ignoredNode:!1}}}}]),e}();t.NodeFactory=d},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(4),u=r(172),l=r(171),f=i=function(){function e(t,r,n){(0,o.default)(this,e),this.cachedNode=null,this.identifierNamesGenerator=t(n),this.randomGenerator=r,this.options=n}return(0,a.default)(e,[{key:"getNode",value:function(){return this.cachedNode||(this.cachedNode=this.getNodeStructure()),this.cachedNode}},{key:"getGlobalVariableTemplate",value:function(){return this.randomGenerator.getRandomGenerator().pickone(i.globalVariableTemplateFunctions)}}]),e}();f.globalVariableTemplateFunctions=[u.GlobalVariableTemplate1(),l.GlobalVariableTemplate2()],f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(2,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Function,Object,Object])],f),t.AbstractCustomNode=f},function(e,t){e.exports=require("@babel/runtime/core-js/map")},function(e,t){e.exports=require("estraverse")},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"set",value:function(e,t){e.metadata=(0,o.default)(e.metadata||{},t)}},{key:"get",value:function(e,t){return void 0!==e.metadata?e.metadata[t]:void 0}},{key:"isIgnoredNode",value:function(t){return!0===e.get(t,"ignoredNode")}},{key:"isRenamedIdentifier",value:function(t){return!0===e.get(t,"renamedIdentifier")}},{key:"isReplacedLiteral",value:function(t){return!0===e.get(t,"replacedLiteral")}}]),e}();t.NodeMetadata=s},function(e,t){e.exports=require("string-template")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BaseIdentifierObfuscatingReplacer="BaseIdentifierObfuscatingReplacer"}(t.IdentifierObfuscatingReplacer||(t.IdentifierObfuscatingReplacer={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionFunctionNode="BinaryExpressionFunctionNode",e.BlockStatementControlFlowFlatteningNode="BlockStatementControlFlowFlatteningNode",e.CallExpressionControlFlowStorageCallNode="CallExpressionControlFlowStorageCallNode",e.CallExpressionFunctionNode="CallExpressionFunctionNode",e.ControlFlowStorageNode="ControlFlowStorageNode",e.ExpressionWithOperatorControlFlowStorageCallNode="ExpressionWithOperatorControlFlowStorageCallNode",e.LogicalExpressionFunctionNode="LogicalExpressionFunctionNode",e.StringLiteralControlFlowStorageCallNode="StringLiteralControlFlowStorageCallNode",e.StringLiteralNode="StringLiteralNode"}(t.ControlFlowCustomNode||(t.ControlFlowCustomNode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Browser="browser",e.BrowserNoEval="browser-no-eval",e.Node="node"}(t.ObfuscationTarget||(t.ObfuscationTarget={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.AfterObfuscation="afterObfuscation",e.BeforeObfuscation="beforeObfuscation"}(t.ObfuscationEvent||(t.ObfuscationEvent={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(9),c=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"appendNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t)).concat((0,o.default)(r)))}},{key:"appendNodeToOptimalBlockScope",value:function(t,r,n){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;o=t.length?e.getOptimalBlockScope(t,a):r,e.prependNode(o,n)}},{key:"getOptimalBlockScope",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,o=t[r];if(n<=0)throw new Error("Invalid `deep` argument value. Value should be bigger then 0.");return n>1&&o.stackTrace.length?e.getOptimalBlockScope(o.stackTrace,0,--n):o.callee}},{key:"insertNodeAfter",value:function(t,r,n){var o=e.getScopeNodeStatements(t).indexOf(n);e.insertNodeAtIndex(t,r,o+1)}},{key:"insertNodeAtIndex",value:function(t,r,n){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t).slice(0,n)).concat((0,o.default)(r),(0,o.default)(e.getScopeNodeStatements(t).slice(n))))}},{key:"prependNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(r).concat((0,o.default)(e.getScopeNodeStatements(t))))}},{key:"getScopeNodeStatements",value:function(e){return s.NodeGuards.isSwitchCaseNode(e)?e.consequent:e.body}},{key:"parentizeScopeStatementsBeforeAppend",value:function(e,t){return t.forEach(function(t){t.parentNode=e}),t}},{key:"setScopeNodeStatements",value:function(e,t){s.NodeGuards.isSwitchCaseNode(e)?e.consequent=t:e.body=t}}]),e}();t.NodeAppender=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ArrayExpression="ArrayExpression",e.ArrayPattern="ArrayPattern",e.ArrowFunctionExpression="ArrowFunctionExpression",e.AssignmentExpression="AssignmentExpression",e.AssignmentPattern="AssignmentPattern",e.AwaitExpression="AwaitExpression",e.BinaryExpression="BinaryExpression",e.BlockStatement="BlockStatement",e.BreakStatement="BreakStatement",e.CallExpression="CallExpression",e.CatchClause="CatchClause",e.ClassDeclaration="ClassDeclaration",e.ContinueStatement="ContinueStatement",e.ExportNamedDeclaration="ExportNamedDeclaration",e.ExpressionStatement="ExpressionStatement",e.FunctionDeclaration="FunctionDeclaration",e.FunctionExpression="FunctionExpression",e.Identifier="Identifier",e.IfStatement="IfStatement",e.ImportDeclaration="ImportDeclaration",e.ImportDefaultSpecifier="ImportDefaultSpecifier",e.ImportNamespaceSpecifier="ImportNamespaceSpecifier",e.ImportSpecifier="ImportSpecifier",e.LabeledStatement="LabeledStatement",e.Literal="Literal",e.LogicalExpression="LogicalExpression",e.MemberExpression="MemberExpression",e.MethodDefinition="MethodDefinition",e.ObjectExpression="ObjectExpression",e.ObjectPattern="ObjectPattern",e.Program="Program",e.Property="Property",e.RestElement="RestElement",e.ReturnStatement="ReturnStatement",e.Super="Super",e.SwitchCase="SwitchCase",e.SwitchStatement="SwitchStatement",e.TaggedTemplateExpression="TaggedTemplateExpression",e.TemplateLiteral="TemplateLiteral",e.TryStatement="TryStatement",e.UnaryExpression="UnaryExpression",e.UpdateExpression="UpdateExpression",e.VariableDeclaration="VariableDeclaration",e.VariableDeclarator="VariableDeclarator",e.WhileStatement="WhileStatement"}(t.NodeType||(t.NodeType={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(1),c=r(4),d=r(204),u=r(199),l=r(185),f=r(179),p=r(132),m=r(131),g=r(128),N=r(127),_=r(114),v=r(99),y=r(89),h=r(84),b=r(78),S=r(65),I=r(75),C=r(73),F=r(72),O=r(71),j=r(70),T=function(){function e(){(0,a.default)(this,e),this.container=new s.Container}return(0,i.default)(e,[{key:"get",value:function(e){return this.container.get(e)}},{key:"getNamed",value:function(e,t){return this.container.getNamed(e,t)}},{key:"load",value:function(e,t){this.container.bind(c.ServiceIdentifiers.ISourceCode).toDynamicValue(function(){return new F.SourceCode(e)}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.TInputOptions).toDynamicValue(function(){return t}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ILogger).to(S.Logger).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IJavaScriptObfuscator).to(b.JavaScriptObfuscator).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ITransformersRunner).to(j.TransformersRunner).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationResult).to(C.ObfuscationResult).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.Factory__IObfuscationResult).toFactory(function(e){return function(t,r){var n=e.container.get(c.ServiceIdentifiers.IObfuscationResult);return n.initialize(t,r),n}}),this.container.bind(c.ServiceIdentifiers.ISourceMapCorrector).to(O.SourceMapCorrector).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationEventEmitter).to(I.ObfuscationEventEmitter).inSingletonScope(),this.container.load(d.analyzersModule),this.container.load(u.controlFlowTransformersModule),this.container.load(l.convertingTransformersModule),this.container.load(f.customNodesModule),this.container.load(p.finalizingTransformersModule),this.container.load(m.generatorsModule),this.container.load(g.nodeTransformersModule),this.container.load(N.obfuscatingTransformersModule),this.container.load(_.optionsModule),this.container.load(v.preparingTransformersModule),this.container.load(y.storagesModule),this.container.load(h.utilsModule)}},{key:"unload",value:function(){this.container.unbindAll()}}],[{key:"getFactory",value:function(e){return function(t){return function(r){return t.container.getNamed(e,r)}}}},{key:"getCacheFactory",value:function(e){return function(t){var r=new o.default;return function(n){if(r.has(n))return r.get(n);var o=t.container.getNamed(e,n);return r.set(n,o),o}}}},{key:"getConstructorFactory",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n-1||0===e.indexOf("//")?e.split("/")[2]:e.split("/")[0]).split(":")[0]}},{key:"isCeilNumber",value:function(e){return e%1==0}},{key:"stringRotate",value:function(e,t){if(!e)throw new ReferenceError("Cannot rotate empty string.");for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new s.InversifyContainerFacade;r.load(e,t);var n=r.get(i.ServiceIdentifiers.IJavaScriptObfuscator).obfuscate(e);return r.unload(),n}}]),e}();c.version="0.16.0",t.JavaScriptObfuscator=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base64="base64",e.Rc4="rc4"}(t.StringArrayEncoding||(t.StringArrayEncoding={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Inline="inline",e.Separate="separate"}(t.SourceMapMode||(t.SourceMapMode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.HexadecimalIdentifierNamesGenerator="hexadecimal",e.MangledIdentifierNamesGenerator="mangled"}(t.IdentifierNamesGenerator||(t.IdentifierNamesGenerator={}))},function(e,t,r){"use strict";var n=r(0)(r(2));Object.defineProperty(t,"__esModule",{value:!0});var o=r(5),a=r(1),i=r(4),s=function e(t){(0,n.default)(this,e),this.options=t};s=o.__decorate([a.injectable(),o.__param(0,a.inject(i.ServiceIdentifiers.IOptions)),o.__metadata("design:paramtypes",[Object])],s),t.AbstractObfuscatingReplacer=s},function(e,t){e.exports=require("@babel/runtime/helpers/get")},function(e,t,r){"use strict";var n=r(0)(r(55));Object.defineProperty(t,"__esModule",{value:!0});var o=r(40),a=r(23),i=r(39);t.NO_ADDITIONAL_NODES_PRESET=(0,n.default)({compact:!0,controlFlowFlattening:!1,controlFlowFlatteningThreshold:0,deadCodeInjection:!1,deadCodeInjectionThreshold:0,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",log:!1,renameGlobals:!1,reservedNames:[],rotateStringArray:!1,seed:0,selfDefending:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,stringArray:!1,stringArrayEncoding:!1,stringArrayThreshold:0,target:a.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableNoEvalTemplate=function(){return"\n var that = (typeof window !== 'undefined'\n ? window\n : (typeof process === 'object' &&\n typeof require === 'function' &&\n typeof global === 'object')\n ? global\n : this);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=s=function(){function e(t,r,n){(0,a.default)(this,e),this.replacerDataByControlFlowStorageId=new o.default,this.controlFlowCustomNodeFactory=t,this.randomGenerator=r,this.options=n}return(0,i.default)(e,[{key:"insertCustomNodeToControlFlowStorage",value:function(e,t,r,n){var o=this,a=t.getStorageId(),i=s.getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId,a),c=i.get(r);if(this.randomGenerator.getMathRandom()1&&void 0!==arguments[1]?arguments[1]:i.randomGeneratorPool;return this.getRandomGenerator().string({length:e,pool:t})}},{key:"getSeed",value:function(){return this.seed}}]),e}();p.randomGeneratorPool="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",s.__decorate([f.initializable(),s.__metadata("design:type",Object)],p.prototype,"randomGenerator",void 0),s.__decorate([f.initializable(),s.__metadata("design:type",Number)],p.prototype,"seed",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],p.prototype,"initialize",null),p=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.ISourceCode)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],p),t.RandomGenerator=p},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(30)),i=n(r(35)),s=n(r(17)),c=n(r(2)),d=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=function(){function e(t,r){(0,c.default)(this,e),this.randomGenerator=t,this.options=r}return(0,d.default)(e,[{key:"initialize",value:function(){this.storage=new s.default,this.storageId=this.randomGenerator.getRandomString(6)}},{key:"get",value:function(e){var t=this.storage.get(e);if(!t)throw new Error("No value found in map storage with key `".concat(e,"`"));return t}},{key:"getKeyOf",value:function(e){var t=!0,r=!1,n=void 0;try{for(var o,s=(0,i.default)(this.storage);!(t=(o=s.next()).done);t=!0){var c=(0,a.default)(o.value,2),d=c[0];if(e===c[1])return d}}catch(e){r=!0,n=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw n}}return null}},{key:"getLength",value:function(){return this.storage.size}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"has",value:function(e){return this.storage.has(e)}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=new s.default((0,o.default)(this.storage).concat((0,o.default)(e.getStorage()))),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){this.storage.set(e,t)}}]),e}();u.__decorate([p.initializable(),u.__metadata("design:type",String)],m.prototype,"storageId",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",s.default)],m.prototype,"storage",void 0),u.__decorate([l.postConstruct(),u.__metadata("design:type",Function),u.__metadata("design:paramtypes",[]),u.__metadata("design:returntype",void 0)],m.prototype,"initialize",null),m=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],m),t.MapStorage=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlackListNodeGuard="BlackListNodeGuard",e.ConditionalCommentNodeGuard="ConditionalCommentNodeGuard"}(t.ObfuscatingGuard||(t.ObfuscatingGuard={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BooleanLiteralObfuscatingReplacer="BooleanLiteralObfuscatingReplacer",e.NumberLiteralObfuscatingReplacer="NumberLiteralObfuscatingReplacer",e.StringLiteralObfuscatingReplacer="StringLiteralObfuscatingReplacer"}(t.LiteralObfuscatingReplacer||(t.LiteralObfuscatingReplacer={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"isValidIdentifierName",value:function(e){return!this.options.reservedNames.length||!this.options.reservedNames.some(function(t){return null!==new RegExp(t,"g").exec(e)})}}]),e}();d=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],d),t.AbstractIdentifierNamesGenerator=d},function(e,t){e.exports=require("@babel/runtime/core-js/object/freeze")},function(e,t){e.exports=require("@babel/runtime/core-js/array/from")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ConsoleOutputCustomNodeGroup="ConsoleOutputCustomNodeGroup",e.DebugProtectionCustomNodeGroup="DebugProtectionCustomNodeGroup",e.DomainLockCustomNodeGroup="DomainLockCustomNodeGroup",e.SelfDefendingCustomNodeGroup="SelfDefendingCustomNodeGroup",e.StringArrayCustomNodeGroup="StringArrayCustomNodeGroup"}(t.CustomNodeGroup||(t.CustomNodeGroup={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlockStatementDeadCodeInjectionNode="BlockStatementDeadCodeInjectionNode"}(t.DeadCodeInjectionCustomNode||(t.DeadCodeInjectionCustomNode={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(22),p=r(45),m=r(9),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(f.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!m.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(p.AbstractControlFlowReplacer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.ExpressionWithOperatorControlFlowReplacer=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionControlFlowReplacer="BinaryExpressionControlFlowReplacer",e.CallExpressionControlFlowReplacer="CallExpressionControlFlowReplacer",e.LogicalExpressionControlFlowReplacer="LogicalExpressionControlFlowReplacer",e.StringLiteralControlFlowReplacer="StringLiteralControlFlowReplacer"}(t.ControlFlowReplacer||(t.ControlFlowReplacer={}))},function(e,t){e.exports=require("espree")},function(e,t){e.exports=require("@babel/runtime/helpers/typeof")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.FunctionDeclarationCalleeDataExtractor="FunctionDeclarationCalleeDataExtractor",e.FunctionExpressionCalleeDataExtractor="FunctionExpressionCalleeDataExtractor",e.ObjectExpressionCalleeDataExtractor="ObjectExpressionCalleeDataExtractor"}(t.CalleeDataExtractor||(t.CalleeDataExtractor={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base="[javascript-obfuscator]",e.CLI="[javascript-obfuscator-cli]"}(t.LoggingPrefix||(t.LoggingPrefix={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(4),u=s.__importDefault(r(49)),l=r(64),f=i=function(){function e(t){(0,o.default)(this,e),this.options=t}return(0,a.default)(e,[{key:"info",value:function(e,t){this.options.log&&i.log(i.colorInfo,l.LoggingPrefix.Base,e,t)}},{key:"success",value:function(e,t){this.options.log&&i.log(i.colorSuccess,l.LoggingPrefix.Base,e,t)}},{key:"warn",value:function(e,t){this.options.log&&i.log(i.colorWarn,l.LoggingPrefix.Base,e,t)}}],[{key:"log",value:function(e,t,r,n){var o=e("\n".concat(t," ").concat(r));console.log(o,n||"")}}]),e}();f.colorInfo=u.default.cyan,f.colorSuccess=u.default.green,f.colorWarn=u.default.yellow,f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object])],f),t.Logger=f},function(e,t){e.exports=require("reflect-metadata")},function(e,t){e.exports=require("path")},function(e,t,r){"use strict";var n=r(0),o=n(r(36)),a=n(r(12)),i=n(r(2)),s=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var c=r(5),d=c.__importStar(r(217)),u=c.__importStar(r(67)),l=r(11),f=r(48),p=r(216),m=r(215),g=r(214),N=r(213),_=r(212),v=r(211),y=r(210),h=r(37),b=r(207),S=function(){function e(t){(0,i.default)(this,e),this.rawArguments=t,this.arguments=t.slice(2)}return(0,s.default)(e,[{key:"initialize",value:function(){this.inputPath=u.normalize(this.arguments[0]||""),this.commands=new d.Command,this.configureCommands(),this.configureHelp(),this.inputCLIOptions=this.commands.opts()}},{key:"run",value:function(){if(!this.arguments.length||this.arguments.includes("--help"))this.commands.outputHelp();else{var e=new b.SourceCodeReader(this.inputCLIOptions).readSourceCode(this.inputPath);this.processSourceCodeData(e)}}},{key:"buildOptions",value:function(){var t=e.filterOptions(this.inputCLIOptions),r=this.inputCLIOptions.config,n=r?u.resolve(r,"."):"",o=n?y.CLIUtils.getUserConfig(n):{};return(0,a.default)({},f.DEFAULT_PRESET,o,t)}},{key:"configureCommands",value:function(){this.commands.usage(" [options]").version("0.16.0","-v, --version").option("-o, --output ","Output path for obfuscated code").option("--compact ","Disable one line output code compacting",m.BooleanSanitizer).option("--config ","Name of js / json config file").option("--control-flow-flattening ","Enables control flow flattening",m.BooleanSanitizer).option("--control-flow-flattening-threshold ","The probability that the control flow flattening transformation will be applied to the node",parseFloat).option("--dead-code-injection ","Enables dead code injection",m.BooleanSanitizer).option("--dead-code-injection-threshold ","The probability that the dead code injection transformation will be applied to the node",parseFloat).option("--debug-protection ","Disable browser Debug panel (can cause DevTools enabled browser freeze)",m.BooleanSanitizer).option("--debug-protection-interval ","Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)",m.BooleanSanitizer).option("--disable-console-output ","Allow console.log, console.info, console.error and console.warn messages output into browser console",m.BooleanSanitizer).option("--domain-lock (comma separated, without whitespaces)","Blocks the execution of the code in domains that do not match the passed RegExp patterns (comma separated)",p.ArraySanitizer).option("--exclude (comma separated, without whitespaces)","A filename or glob which indicates files to exclude from obfuscation",p.ArraySanitizer).option("--identifier-names-generator [hexadecimal, mangled]","Sets identifier names generator (Default: hexadecimal)",g.IdentifierNamesGeneratorSanitizer).option("--identifiers-prefix ","Sets prefix for all global identifiers.").option("--log ","Enables logging of the information to the console",m.BooleanSanitizer).option("--reserved-names (comma separated, without whitespaces)","Disables obfuscation and generation of identifiers, which being matched by passed RegExp patterns (comma separated)",p.ArraySanitizer).option("--rename-globals ","Allows to enable obfuscation of global variable and function names with declaration.",m.BooleanSanitizer).option("--rotate-string-array ","Disable rotation of unicode array values during obfuscation",m.BooleanSanitizer).option("--seed ","Sets seed for random generator. This is useful for creating repeatable results.",parseFloat).option("--self-defending ","Disables self-defending for obfuscated code",m.BooleanSanitizer).option("--source-map ","Enables source map generation",m.BooleanSanitizer).option("--source-map-base-url ","Sets base url to the source map import url when `--source-map-mode=separate`").option("--source-map-file-name ","Sets file name for output source map when `--source-map-mode=separate`").option("--source-map-mode [inline, separate]","Specify source map output mode",_.SourceMapModeSanitizer).option("--string-array ","Disables gathering of all literal strings into an array and replacing every literal string with an array call",m.BooleanSanitizer).option("--string-array-encoding [true, false, base64, rc4]","Encodes all strings in strings array using base64 or rc4 (this option can slow down your code speed",v.StringArrayEncodingSanitizer).option("--string-array-threshold ","The probability that the literal string will be inserted into stringArray (Default: 0.8, Min: 0, Max: 1)",parseFloat).option("--target ","Allows to set target environment for obfuscated code.",N.ObfuscationTargetSanitizer).option("--transform-object-keys ","Enables transformation of object keys",m.BooleanSanitizer).option("--unicode-escape-sequence ","Allows to enable/disable string conversion to unicode escape sequence",m.BooleanSanitizer).parse(this.rawArguments)}},{key:"configureHelp",value:function(){this.commands.on("--help",function(){console.log(" Examples:\n"),console.log(" %> javascript-obfuscator input_file_name.js --compact true --self-defending false"),console.log(" %> javascript-obfuscator input_file_name.js --output output_file_name.js --compact true --self-defending false"),console.log(" %> javascript-obfuscator input_directory_name --compact true --self-defending false"),console.log("")})}},{key:"processSourceCodeData",value:function(e){var t=this,r=this.inputCLIOptions.output?u.normalize(this.inputCLIOptions.output):"";if(Array.isArray(e))e.forEach(function(e,n){var o=e.filePath,a=e.content,i=r?u.join(r,o):y.CLIUtils.getOutputCodePath(o);t.processSourceCode(a,i,n)});else{var n=r||y.CLIUtils.getOutputCodePath(this.inputPath);this.processSourceCode(e,n,null)}}},{key:"processSourceCode",value:function(t,r,n){var o=this.buildOptions();if(null!==n){var i=this.inputCLIOptions.identifiersPrefix||e.baseIdentifiersPrefix,s="".concat(i).concat(n);o=(0,a.default)({},o,{identifiersPrefix:s})}o.sourceMap?e.processSourceCodeWithSourceMap(t,r,o):e.processSourceCodeWithoutSourceMap(t,r,o)}}],[{key:"filterOptions",value:function(e){var t={};return(0,o.default)(e).forEach(function(r){void 0!==e[r]&&(t[r]=e[r])}),t}},{key:"processSourceCodeWithoutSourceMap",value:function(e,t,r){var n=h.JavaScriptObfuscator.obfuscate(e,r).getObfuscatedCode();y.CLIUtils.writeFile(t,n)}},{key:"processSourceCodeWithSourceMap",value:function(e,t,r){var n=y.CLIUtils.getOutputSourceMapPath(t,r.sourceMapFileName||"");r=(0,a.default)({},r,{sourceMapFileName:u.basename(n)});var o=h.JavaScriptObfuscator.obfuscate(e,r);y.CLIUtils.writeFile(t,o.getObfuscatedCode()),"separate"===r.sourceMapMode&&o.getSourceMap()&&y.CLIUtils.writeFile(n,o.getSourceMap())}}]),e}();S.encoding="utf8",S.obfuscatedFilePrefix="-obfuscated",S.baseIdentifiersPrefix="a",c.__decorate([l.initializable(),c.__metadata("design:type",Object)],S.prototype,"commands",void 0),c.__decorate([l.initializable(),c.__metadata("design:type",Object)],S.prototype,"inputCLIOptions",void 0),c.__decorate([l.initializable(),c.__metadata("design:type",String)],S.prototype,"inputPath",void 0),t.JavaScriptObfuscatorCLI=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Enter="enter",e.Leave="leave"}(t.VisitorDirection||(t.VisitorDirection={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=i.__importStar(r(18)),u=r(69),l=r(9),f=r(19),p=function(){function e(t){(0,o.default)(this,e),this.nodeTransformerFactory=t}return(0,a.default)(e,[{key:"transform",value:function(e,t,r){if(!t.length)return e;for(var n,o=[],a=[],i=t.length,s=0;s"),c="...".concat(o.substring(a,i).replace(/^\s+/,""),"...");throw new Error("Line ".concat(n.line,": ").concat(r,"\n").concat(s," ").concat(c))}}]),e}();u.colorError=d.default.red,u.nearestSymbolsCount=15,u.sourceTypes=["script","module"],t.EspreeFacade=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.EmptySourceCode="Empty source code. Obfuscation canceled...",e.ObfuscationCompleted="Obfuscation completed. Total time: %s sec.",e.ObfuscationStarted="Obfuscation started...",e.RandomGeneratorSeed="Random generator seed: %s...",e.TransformationStage="Transformation stage: %s...",e.Version="Version: %s"}(t.LoggingMessage||(t.LoggingMessage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=c.__importStar(r(46)),f=r(77),p=r(32),m=r(13),g=r(76),N=r(9),_=s=function(){function e(t,r,n,o,i){(0,a.default)(this,e),this.transformersRunner=t,this.sourceMapCorrector=r,this.randomGenerator=n,this.logger=o,this.options=i}return(0,i.default)(e,[{key:"obfuscate",value:function(e){var t=Date.now();this.logger.info(f.LoggingMessage.Version,"0.16.0"),this.logger.info(f.LoggingMessage.ObfuscationStarted),this.logger.info(f.LoggingMessage.RandomGeneratorSeed,this.randomGenerator.getSeed());var r=this.parseCode(e),n=this.transformAstTree(r),o=this.generateCode(e,n),a=(Date.now()-t)/1e3;return this.logger.success(f.LoggingMessage.ObfuscationCompleted,a),this.getObfuscationResult(o)}},{key:"parseCode",value:function(e){return g.EspreeFacade.parse(e,s.espreeParseOptions)}},{key:"transformAstTree",value:function(e){return!N.NodeGuards.isProgramNode(e)||e.body.length||e.leadingComments||e.trailingComments?(e=this.runTransformationStage(e,m.TransformationStage.Preparing),this.options.deadCodeInjection&&(e=this.runTransformationStage(e,m.TransformationStage.DeadCodeInjection)),this.options.controlFlowFlattening&&(e=this.runTransformationStage(e,m.TransformationStage.ControlFlowFlattening)),e=this.runTransformationStage(e,m.TransformationStage.Converting),e=this.runTransformationStage(e,m.TransformationStage.Obfuscating),e=this.runTransformationStage(e,m.TransformationStage.Finalizing)):(this.logger.warn(f.LoggingMessage.EmptySourceCode),e)}},{key:"generateCode",value:function(e,t){var r=(0,o.default)({},s.escodegenParams);this.options.sourceMap&&(r.sourceMap="sourceMap",r.sourceContent=e);var n=l.generate(t,(0,o.default)({},r,{format:{compact:this.options.compact}}));return n.map=n.map?n.map.toString():"",n}},{key:"getObfuscationResult",value:function(e){return this.sourceMapCorrector.correct(e.code,e.map)}},{key:"runTransformationStage",value:function(e,t){return this.logger.info(f.LoggingMessage.TransformationStage,t),this.transformersRunner.transform(e,s.transformersList,t)}}]),e}();_.espreeParseOptions={attachComment:!0,comment:!0,ecmaFeatures:{experimentalObjectRestSpread:!0},ecmaVersion:9,loc:!0,range:!0},_.escodegenParams={comment:!0,verbatim:"x-verbatim-property",sourceMapWithCode:!0},_.transformersList=[p.NodeTransformer.BlockStatementControlFlowTransformer,p.NodeTransformer.ClassDeclarationTransformer,p.NodeTransformer.CommentsTransformer,p.NodeTransformer.CustomNodesTransformer,p.NodeTransformer.DeadCodeInjectionTransformer,p.NodeTransformer.EvalCallExpressionTransformer,p.NodeTransformer.FunctionControlFlowTransformer,p.NodeTransformer.CatchClauseTransformer,p.NodeTransformer.FunctionDeclarationTransformer,p.NodeTransformer.FunctionTransformer,p.NodeTransformer.ImportDeclarationTransformer,p.NodeTransformer.LabeledStatementTransformer,p.NodeTransformer.LiteralTransformer,p.NodeTransformer.MemberExpressionTransformer,p.NodeTransformer.MetadataTransformer,p.NodeTransformer.MethodDefinitionTransformer,p.NodeTransformer.ObfuscatingGuardsTransformer,p.NodeTransformer.ObjectExpressionKeysTransformer,p.NodeTransformer.ObjectExpressionTransformer,p.NodeTransformer.ParentificationTransformer,p.NodeTransformer.TemplateLiteralTransformer,p.NodeTransformer.VariableDeclarationTransformer],_=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.ITransformersRunner)),c.__param(1,d.inject(u.ServiceIdentifiers.ISourceMapCorrector)),c.__param(2,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(3,d.inject(u.ServiceIdentifiers.ILogger)),c.__param(4,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],_),t.JavaScriptObfuscator=_},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(5),c=r(1),d=function(){function e(){(0,a.default)(this,e),this.stringsCache=new o.default}return(0,i.default)(e,[{key:"encode",value:function(e,t){var r="".concat(e,"-").concat(String(t));if(this.stringsCache.has(r))return this.stringsCache.get(r);var n,o,a=new RegExp("[\\s\\S]","g"),i=new RegExp("['\"\\\\\\s]"),s=new RegExp("[\\x00-\\x7F]"),c=e.replace(a,function(e){return t||i.exec(e)?(s.exec(e)?(n="\\x",o="00"):(n="\\u",o="0000"),"".concat(n).concat((o+e.charCodeAt(0).toString(16)).slice(-o.length))):e});return this.stringsCache.set(r,c),c}}]),e}();d=s.__decorate([c.injectable()],d),t.EscapeSequenceEncoder=d},function(e,t){e.exports=require("chance")},function(e,t){e.exports=require("md5")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=r(50),u=r(28),l=function(){function e(t){(0,o.default)(this,e),this.randomGenerator=t}return(0,a.default)(e,[{key:"btoa",value:function(e){var t="";e=encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode(parseInt("".concat(u.Utils.hexadecimalPrefix).concat(t)))});for(var r,n,o=0,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.charAt(0|o)||(a="=",o%1);t+=a.charAt(63&r>>8-o%1*8)){if((n=e.charCodeAt(o+=.75))>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");r=r<<8|n}return t}},{key:"hideString",value:function(e,t){var r=this,n=this.randomGenerator.getRandomGenerator().string({length:t,pool:d.RandomGenerator.randomGeneratorPool}).replace(new RegExp("[".concat(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"]"),"g"),""),o=n.split("");return this.randomGenerator.getRandomGenerator().shuffle(o),[function(e,t){for(var n=-1,o=-1,a="";n=0?t:null}},{key:"getLength",value:function(){return this.storageLength}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=(0,o.default)(this.storage).concat((0,o.default)(e.getStorage())),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){e===this.storageLength?this.storage.push(t):this.storage.splice(e,0,t),this.storageLength++}}]),e}();s.__decorate([u.initializable(),s.__metadata("design:type",Array)],l.prototype,"storage",void 0),s.__decorate([u.initializable(),s.__metadata("design:type",String)],l.prototype,"storageId",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],l.prototype,"initialize",null),l=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],l),t.ArrayStorage=l},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(85),g=u=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).identifierNamesGenerator=e(i),c.arrayUtils=r,c}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this);var e=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),r=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),n="".concat(this.options.identifiersPrefix).concat(e),a="".concat(this.options.identifiersPrefix).concat(r);this.storageId="".concat(n,"|").concat(a)}},{key:"rotateArray",value:function(e){this.storage=this.arrayUtils.arrayRotate(this.storage,e)}},{key:"toString",value:function(){return this.storage.map(function(e){return"'".concat(e,"'")}).toString()}}]),t}(m.ArrayStorage);g.stringArrayNameLength=7,l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],g.prototype,"initialize",null),g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IArrayUtils)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],g),t.StringArrayStorage=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(57),g=r(51),N=u=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).customNodeGroupFactory=e,i}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){var e=this;(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this),u.customNodeGroupsList.forEach(function(t){var r=e.customNodeGroupFactory(t);r&&e.storage.set(t,r)})}}]),t}(g.MapStorage);N.customNodeGroupsList=[m.CustomNodeGroup.ConsoleOutputCustomNodeGroup,m.CustomNodeGroup.DebugProtectionCustomNodeGroup,m.CustomNodeGroup.DomainLockCustomNodeGroup,m.CustomNodeGroup.SelfDefendingCustomNodeGroup,m.CustomNodeGroup.StringArrayCustomNodeGroup],l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],N.prototype,"initialize",null),N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNodeGroup)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],N),t.CustomNodeGroupStorage=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(7)),s=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var c=r(5),d=r(1),u=r(4),l=function(e){function t(e,r){return(0,a.default)(this,t),(0,i.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,s.default)(t,e),t}(r(51).MapStorage);l=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(1,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object])],l),t.ControlFlowStorage=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(4),a=r(88),i=r(87),s=r(86);t.storagesModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.TCustomNodeGroupStorage).to(i.CustomNodeGroupStorage).inSingletonScope(),e(o.ServiceIdentifiers.TStringArrayStorage).to(s.StringArrayStorage).inSingletonScope(),e(o.ServiceIdentifiers.Newable__TControlFlowStorage).toConstructor(a.ControlFlowStorage),e(o.ServiceIdentifiers.Factory__TControlFlowStorage).toFactory(function(e){return function(){var t=new(e.container.get(o.ServiceIdentifiers.Newable__TControlFlowStorage))(e.container.get(o.ServiceIdentifiers.IRandomGenerator),e.container.get(o.ServiceIdentifiers.IOptions));return t.initialize(),t}})})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(10),g=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return m.NodeUtils.parentizeNode(e,t)}}]),t}(p.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],g),t.ParentificationTransformer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(52),m=r(13),g=r(14),N=r(19),_=d=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).obfuscatingGuards=d.obfuscatingGuardsList.map(e),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.obfuscatingGuards.every(function(t){return t.check(e)});return N.NodeMetadata.set(e,{ignoredNode:!r}),e}}]),t}(g.AbstractNodeTransformer);_.obfuscatingGuardsList=[p.ObfuscatingGuard.BlackListNodeGuard,p.ObfuscatingGuard.ConditionalCommentNodeGuard],_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__INodeGuard)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.ObfuscatingGuardsTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(9),g=r(19),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return g.NodeMetadata.set(e,{ignoredNode:!1}),m.NodeGuards.isIdentifierNode(e)&&g.NodeMetadata.set(e,{renamedIdentifier:!1}),m.NodeGuards.isLiteralNode(e)&&g.NodeMetadata.set(e,{replacedLiteral:!1}),e}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.MetadataTransformer=N},function(e,t){e.exports=require("js-string-escape")},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importDefault(r(93)),g=r(13),N=r(14),_=r(15),v=r(9),y=r(10),h=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).evalRootAstHostNodeSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Preparing:return{enter:function(e,r){if(r&&v.NodeGuards.isCallExpressionNode(e)&&v.NodeGuards.isIdentifierNode(e.callee)&&"eval"===e.callee.name)return t.transformNode(e,r)}};case g.TransformationStage.Finalizing:return this.evalRootAstHostNodeSet.size?{leave:function(e,r){if(r&&t.isEvalRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"transformNode",value:function(e,t){var r=e.arguments[0];if(!r)return e;var n,o=u.extractEvalStringFromCallExpressionArgument(r);if(!o)return e;try{n=y.NodeUtils.convertCodeToStructure(o)}catch(t){return e}var a=_.NodeFactory.functionExpressionNode([],_.NodeFactory.blockStatementNode(n));return this.evalRootAstHostNodeSet.add(a),a}},{key:"restoreNode",value:function(e,t){var r=e.body.body,n=y.NodeUtils.convertStructureToCode(r);return _.NodeFactory.callExpressionNode(_.NodeFactory.identifierNode("eval"),[_.NodeFactory.literalNode(m.default(n))])}},{key:"isEvalRootAstHostNode",value:function(e){return v.NodeGuards.isFunctionExpressionNode(e)&&this.evalRootAstHostNodeSet.has(e)}}],[{key:"extractEvalStringFromCallExpressionArgument",value:function(e){return v.NodeGuards.isLiteralNode(e)?u.extractEvalStringFromLiteralNode(e):v.NodeGuards.isTemplateLiteralNode(e)?u.extractEvalStringFromTemplateLiteralNode(e):null}},{key:"extractEvalStringFromLiteralNode",value:function(e){return"string"==typeof e.value?e.value:null}},{key:"extractEvalStringFromTemplateLiteralNode",value:function(e){var t=e.quasis;return 1!==t.length||e.expressions.length?null:t[0].value.cooked}}]),t}(N.AbstractNodeTransformer);h=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],h),t.EvalCallExpressionTransformer=h},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(24),p=r(13),m=r(14),g=r(9),N=function(e){function t(e,r,n,i,c){var d;return(0,a.default)(this,t),(d=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,i,c))).stackTraceData=[],d.stackTraceAnalyzer=e,d.obfuscationEventEmitter=r,d.customNodeGroupStorage=n,d}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Preparing:return{leave:function(e,r){if(g.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),t.appendCustomNodesBeforeObfuscation(e,r),t.transformNode(e,r)}};case p.TransformationStage.Finalizing:return{leave:function(e,r){g.NodeGuards.isProgramNode(e)&&t.appendCustomNodesAfterObfuscation(e,r)}};default:return null}}},{key:"analyzeNode",value:function(e,t){this.stackTraceData=this.stackTraceAnalyzer.analyze(e)}},{key:"transformNode",value:function(e,t){return e}},{key:"appendCustomNodesBeforeObfuscation",value:function(e,t){var r=this;this.customNodeGroupStorage.getStorage().forEach(function(e){e.initialize(),r.obfuscationEventEmitter.once(e.getAppendEvent(),e.appendCustomNodes.bind(e))}),this.obfuscationEventEmitter.emit(f.ObfuscationEvent.BeforeObfuscation,e,this.stackTraceData)}},{key:"appendCustomNodesAfterObfuscation",value:function(e,t){this.obfuscationEventEmitter.emit(f.ObfuscationEvent.AfterObfuscation,e,this.stackTraceData)}}]),t}(m.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IStackTraceAnalyzer)),d.__param(1,u.inject(l.ServiceIdentifiers.IObfuscationEventEmitter)),d.__param(2,u.inject(l.ServiceIdentifiers.TCustomNodeGroupStorage)),d.__param(3,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(4,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],N),t.CustomNodesTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(9),u=i=function(){function e(){(0,o.default)(this,e),this.obfuscationAllowedForCurrentNode=!0,this.obfuscationAllowedForNextNode=null}return(0,a.default)(e,[{key:"check",value:function(e){if(this.obfuscationAllowedForNextNode&&(this.obfuscationAllowedForCurrentNode=this.obfuscationAllowedForNextNode,this.obfuscationAllowedForNextNode=null),!d.NodeGuards.isNodeWithComments(e))return this.obfuscationAllowedForCurrentNode;var t=e.leadingComments,r=e.trailingComments;return t&&(this.obfuscationAllowedForCurrentNode=this.checkComments(t)),r&&(this.obfuscationAllowedForNextNode=this.checkComments(r)),this.obfuscationAllowedForCurrentNode}},{key:"checkComments",value:function(e){for(var t=e.length,r=this.obfuscationAllowedForCurrentNode,n=0;n=u.minimumLengthForStringArray&&this.randomGenerator.getMathRandom()<=this.options.stringArrayThreshold}},{key:"getStringArrayHexadecimalIndex",value:function(e,t){if(this.stringLiteralHexadecimalIndexCache.has(e))return{fromCache:!0,index:this.stringLiteralHexadecimalIndexCache.get(e)};var r=v.Utils.decToHex(t),n="".concat(v.Utils.hexadecimalPrefix).concat(r);return this.stringLiteralHexadecimalIndexCache.set(e,n),{fromCache:!1,index:n}}},{key:"getEncodedValue",value:function(e){var t,r=null;switch(this.options.stringArrayEncoding){case m.StringArrayEncoding.Rc4:r=this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys),t=this.cryptUtils.btoa(this.cryptUtils.rc4(e,r));break;case m.StringArrayEncoding.Base64:t=this.cryptUtils.btoa(e);break;default:t=e}return{encodedValue:t,key:r}}},{key:"replaceWithLiteralNode",value:function(e){return _.NodeFactory.literalNode(this.escapeSequenceEncoder.encode(e,this.options.unicodeEscapeSequence))}},{key:"replaceWithStringArrayCallNode",value:function(e){var t=this.getEncodedValue(e),r=t.encodedValue,n=t.key,o=this.escapeSequenceEncoder.encode(r,this.options.unicodeEscapeSequence),a=this.stringArrayStorage.getLength(),i=this.stringArrayStorage.getStorageId().split("|")[1],s=this.getStringArrayHexadecimalIndex(o,a),c=s.fromCache,d=s.index;c||this.stringArrayStorage.set(a,o);var l=[u.getHexadecimalLiteralNode(d)];n&&l.push(u.getRc4KeyLiteralNode(this.escapeSequenceEncoder.encode(n,this.options.unicodeEscapeSequence)));var f=_.NodeFactory.identifierNode(i);return N.NodeMetadata.set(f,{renamedIdentifier:!0}),_.NodeFactory.callExpressionNode(f,l)}}],[{key:"getHexadecimalLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return N.NodeMetadata.set(t,{replacedLiteral:!0}),t}},{key:"getRc4KeyLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return N.NodeMetadata.set(t,{replacedLiteral:!0}),t}}]),t}(g.AbstractObfuscatingReplacer);y.minimumLengthForStringArray=3,y.rc4KeyLength=4,y.rc4KeysCount=50,y=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(1,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.ICryptUtils)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],y),t.StringLiteralObfuscatingReplacer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(41),m=r(15),g=r(28),N=function(e){function t(e){var r;return(0,i.default)(this,t),(r=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e))).numberLiteralCache=new o.default,r}return(0,d.default)(t,e),(0,s.default)(t,[{key:"replace",value:function(e){var t;return this.numberLiteralCache.has(e)?t=this.numberLiteralCache.get(e):(t=g.Utils.isCeilNumber(e)?"".concat(g.Utils.hexadecimalPrefix).concat(g.Utils.decToHex(e)):String(e),this.numberLiteralCache.set(e,t)),m.NodeFactory.literalNode(e,t)}}]),t}(p.AbstractObfuscatingReplacer);N=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object])],N),t.NumberLiteralObfuscatingReplacer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(62)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(53),m=r(13),g=r(14),N=r(9),_=r(19),v=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).literalObfuscatingReplacerFactory=e,o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&N.NodeGuards.isLiteralNode(e)&&!_.NodeMetadata.isReplacedLiteral(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.isProhibitedNode(e,t))return e;switch((0,o.default)(e.value)){case"boolean":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.BooleanLiteralObfuscatingReplacer).replace(e.value);case"number":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.NumberLiteralObfuscatingReplacer).replace(e.value);case"string":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.StringLiteralObfuscatingReplacer).replace(e.value);default:return e}}},{key:"isProhibitedNode",value:function(e,t){return!(!N.NodeGuards.isPropertyNode(t)||t.key!==e)||!!N.NodeGuards.isImportDeclarationNode(t)}}]),t}(g.AbstractNodeTransformer);v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.LiteralTransformer=v},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importStar(r(18)),p=r(21),m=r(13),g=r(14),N=r(9),_=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(p.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&N.NodeGuards.isLabeledStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeLabeledStatementName(e,r),this.replaceLabeledStatementName(e,r),e}},{key:"storeLabeledStatementName",value:function(e,t){this.identifierObfuscatingReplacer.storeLocalName(e.label.name,t)}},{key:"replaceLabeledStatementName",value:function(e,t){var r=this;f.replace(e,{enter:function(e,n){if(n&&N.NodeGuards.isLabelIdentifierNode(e,n)){var o=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=o.name}}})}}]),t}(g.AbstractNodeTransformer);_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.LabeledStatementTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importStar(r(18)),g=r(21),N=r(13),_=r(14),v=r(9),y=r(19),h=r(10),b=u=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(g.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isImportDeclarationNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0];return this.storeImportSpecifierNames(e,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(n,r):this.replaceScopeIdentifiers(n,r),e}},{key:"storeImportSpecifierNames",value:function(e,t){var r=this;e.specifiers.forEach(function(e){u.isProhibitedImportSpecifierNode(e)||r.identifierObfuscatingReplacer.storeGlobalName(e.local.name,t)})}},{key:"replaceScopeCachedIdentifiers",value:function(e,t){var r=this;this.replaceableIdentifiers.get(e).forEach(function(e){var n=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=n.name,y.NodeMetadata.set(e,{renamedIdentifier:!0})})}},{key:"replaceScopeIdentifiers",value:function(e,t){var r=this,n=[];m.replace(e,{enter:function(e,o){if(o&&v.NodeGuards.isReplaceableIdentifierNode(e,o)&&!y.NodeMetadata.isRenamedIdentifier(e)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a?(e.name=a,y.NodeMetadata.set(e,{renamedIdentifier:!0})):n.push(e)}}}),this.replaceableIdentifiers.set(e,n)}}],[{key:"isProhibitedImportSpecifierNode",value:function(e){return v.NodeGuards.isImportSpecifierNode(e)&&e.imported.name===e.local.name}}]),t}(_.AbstractNodeTransformer);b=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],b),t.ImportDeclarationTransformer=b},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(21),g=r(13),N=r(14),_=r(9),v=r(19),y=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&(_.NodeGuards.isFunctionDeclarationNode(e)||_.NodeGuards.isFunctionExpressionNode(e)||_.NodeGuards.isArrowFunctionExpressionNode(e)))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeFunctionParams(e,r),this.replaceFunctionParams(e,r),e}},{key:"storeFunctionParams",value:function(e,t){var r=this;e.params.forEach(function(e){p.traverse(e,{enter:function(n){return _.NodeGuards.isPropertyNode(e)?p.VisitorOption.Skip:_.NodeGuards.isAssignmentPatternNode(n)&&_.NodeGuards.isIdentifierNode(n.left)?(r.identifierObfuscatingReplacer.storeLocalName(n.left.name,t),p.VisitorOption.Skip):void(_.NodeGuards.isIdentifierNode(n)&&r.identifierObfuscatingReplacer.storeLocalName(n.name,t))}})})}},{key:"addIdentifiersToIgnoredIdentifierNamesSet",value:function(e,t){e.forEach(function(e){e.key&&_.NodeGuards.isIdentifierNode(e.key)&&t.add(e.key.name)})}},{key:"replaceFunctionParams",value:function(e,t){var r=this,n=new o.default,a={enter:function(e,o){if(_.NodeGuards.isObjectPatternNode(e)&&r.addIdentifiersToIgnoredIdentifierNamesSet(e.properties,n),o&&_.NodeGuards.isReplaceableIdentifierNode(e,o)&&!n.has(e.name)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a&&(e.name=a,v.NodeMetadata.set(e,{renamedIdentifier:!0}))}}};e.params.forEach(function(e){return p.replace(e,a)}),p.replace(e.body,a)}}]),t}(N.AbstractNodeTransformer);y=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],y),t.FunctionTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(21),g=r(26),N=r(13),_=r(14),v=r(9),y=r(19),h=r(10),b=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isFunctionDeclarationNode(e)&&!v.NodeGuards.isExportNamedDeclarationNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0],o=n.type===g.NodeType.Program;return!this.options.renameGlobals&&o?e:(this.storeFunctionName(e,o,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(e,n,r):this.replaceScopeIdentifiers(n,r),e)}},{key:"storeFunctionName",value:function(e,t,r){t?this.identifierObfuscatingReplacer.storeGlobalName(e.id.name,r):this.identifierObfuscatingReplacer.storeLocalName(e.id.name,r)}},{key:"replaceScopeCachedIdentifiers",value:function(e,t,r){var n=this.replaceableIdentifiers.get(t);if(n){var o=n.get(e.id.name);if(o)for(var a=o.length,i=0;i=0);return"a".concat(n(r))},r=t(e);return this.isValidIdentifierName(r)||(r=this.generateNewMangledName(r)),r}}]),t}(m.AbstractIdentifierNamesGenerator);g.initMangledNameCharacter="9",g.nameSequence="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),g.reservedNames=["byte","case","char","do","else","enum","eval","for","goto","if","in","int","let","long","new","null","this","true","try","var","void","with"],g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],g),t.MangledIdentifierNamesGenerator=g},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(54),g=r(28),N=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).randomVariableNameSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"generate",value:function(){var e=this.randomGenerator.getRandomInteger(1e4,99999999),t=g.Utils.decToHex(e).substr(0,u.baseIdentifierNameLength),r="_".concat(g.Utils.hexadecimalPrefix).concat(t);return this.randomVariableNameSet.has(r)?this.generate():(this.randomVariableNameSet.add(r),r)}},{key:"generateWithPrefix",value:function(){var e=this.generate();return"".concat(this.options.identifiersPrefix).concat(e).replace("__","_")}}]),t}(m.AbstractIdentifierNamesGenerator);N.baseIdentifierNameLength=6,N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],N),t.HexadecimalIdentifierNamesGenerator=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(4),a=r(40),i=r(130),s=r(129);t.generatorsModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(i.HexadecimalIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator),e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(s.MangledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator),e(o.ServiceIdentifiers.Factory__IIdentifierNamesGenerator).toFactory(function(e){var t=null;return function(r){if(t)return t;var n;switch(r.identifierNamesGenerator){case a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator);break;case a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator:default:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator)}return t=n,n}})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1);t.finalizingTransformersModule=new n.ContainerModule(function(e){})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.literalValue=e}},{key:"getNodeStructure",value:function(){return[m.NodeFactory.expressionStatementNode(m.NodeFactory.literalNode(this.literalValue))]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"literalValue",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.StringLiteralNode=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.controlFlowStorageName=e,this.controlFlowStorageKey=t}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageName",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.StringLiteralControlFlowStorageCallNode=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.False="![]",e.True="!![]",e.a='(false+"")[1]',e.b='([]["entries"]()+"")[2]',e.c='([]["fill"]+"")[3]',e.d='(undefined+"")[2]',e.e='(true+"")[3]',e.f='(false+"")[0]',e.g="(false+[0]+String)[20]",e.h='(+(101))["toString"](21)[1]',e.i="([false]+undefined)[10]",e.j='([]["entries"]()+"")[3]',e.k='(+(20))["toString"](21)',e.l='(false+"")[2]',e.m='(Number+"")[11]',e.n='(undefined+"")[1]',e.o='(true+[]["fill"])[10]',e.p='(+(211))["toString"](31)[1]',e.q='(+(212))["toString"](31)[1]',e.r='(true+"")[1]',e.s='(false+"")[3]',e.t='(true+"")[0]',e.u='(undefined+"")[0]',e.v='(+(31))["toString"](32)',e.w='(+(32))["toString"](33)',e.x='(+(101))["toString"](34)[1]',e.y="(NaN+[Infinity])[10]",e.z='(+(35))["toString"](36)',e.A="(+[]+Array)[10]",e.B="(+[]+Boolean)[10]",e.C='Function("return escape")()(("")["italics"]())[2]',e.D='Function("return escape")()([]["fill"])["slice"]("-1")',e.E='(RegExp+"")[12]',e.F="(+[]+Function)[10]",e.G='(false+Function("return Date")()())[30]',e.H="'H'",e.I='(Infinity+"")[0]',e.J="'J'",e.K="'K'",e.L="'L'",e.M='(true+Function("return Date")()())[30]',e.N='(NaN+"")[0]',e.O='(NaN+Function("return{}")())[11]',e.P="'P'",e.Q="'Q'",e.R="(+[]+RegExp)[10]",e.S="(+[]+String)[10]",e.T='(NaN+Function("return Date")()())[30]',e.U='(NaN+Function("return{}")()["toString"]["call"]())[11]',e.V="'V'",e.W="'W'",e.X="'X'",e.Y="'Y'",e.Z="'Z'"}(t.JSFuck||(t.JSFuck={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionTemplate=function(){return"\n (function (array, {timesName}) {\n var {whileFunctionName} = function (times) {\n while (--times) {\n array['push'](array['shift']());\n }\n };\n \n {code}\n })({stringArrayName}, 0x{stringArrayRotateValue});\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var selfDefendingFunc = function () {\n var object = {\n data: {\n key: 'cookie',\n value: 'timeout'\n },\n setCookie: function (options, name, value, document) {\n document = document || {};\n \n var updatedCookie = name + \"=\" + value;\n\n var i = 0;\n \n for (var i = 0, len = options.length; i < len; i++) {\n var propName = options[i];\n \n updatedCookie += \"; \" + propName;\n \n var propValue = options[propName];\n \n options.push(propValue);\n len = options.length;\n \n if (propValue !== true) {\n updatedCookie += \"=\" + propValue;\n }\n }\n\n document['cookie'] = updatedCookie;\n },\n removeCookie: function(){return 'dev';},\n getCookie: function (document, name) {\n document = document || function (value) { return value };\n var matches = document(new RegExp(\n \"(?:^|; )\" + name.replace(/([.$?*|{}()[]\\/+^])/g, '\\$1') + \"=([^;]*)\"\n ));\n \n var func = function (param1, param2) {\n param1(++param2);\n };\n \n func({whileFunctionName}, {timesName});\n \n return matches ? decodeURIComponent(matches[1]) : undefined;\n }\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return regExp.test(object.removeCookie.toString());\n };\n \n object['updateCookie'] = test1;\n \n var cookie = '';\n var result = object['updateCookie']();\n \n if (!result) {\n object['setCookie'](['*'], 'counter', 1);\n } else if (result) {\n cookie = object['getCookie'](null, 'counter');\n } else {\n object['removeCookie']();\n }\n };\n \n selfDefendingFunc();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(43),N=r(137),_=r(136),v=r(16),y=r(37),h=r(10),b=r(28),S=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayRotateValue=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r="";return r=this.options.selfDefending?p.default(N.SelfDefendingTemplate(this.escapeSequenceEncoder),{timesName:e,whileFunctionName:t}):"".concat(t,"(++").concat(e,")"),y.JavaScriptObfuscator.obfuscate(p.default(_.StringArrayRotateFunctionTemplate(),{code:r,timesName:e,stringArrayName:this.stringArrayName,stringArrayRotateValue:b.Utils.decToHex(this.stringArrayRotateValue),whileFunctionName:t}),(0,o.default)({},g.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}}]),t}(v.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],S.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],S.prototype,"stringArrayRotateValue",void 0),S=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],S),t.StringArrayRotateFunctionNode=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTemplate=function(){return"\n var {stringArrayName} = [{stringArray}];\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(139),N=r(16),_=r(10),v=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.stringArrayStorage=e,this.stringArrayName=t,this.stringArrayRotateValue=r}},{key:"getNode",value:function(){return this.stringArrayStorage.rotateArray(this.stringArrayRotateValue),(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"getNode",this).call(this)}},{key:"getNodeStructure",value:function(){return _.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return p.default(g.StringArrayTemplate(),{stringArrayName:this.stringArrayName,stringArray:this.stringArrayStorage.toString()})}}]),t}(N.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",Object)],v.prototype,"stringArrayStorage",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",String)],v.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],v.prototype,"stringArrayRotateValue",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.StringArrayNode=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRc4DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {rc4Polyfill}\n {stringArrayCallsWrapperName}.").concat(r," = rc4;\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n\n if (cachedValue === undefined) {\n if ({stringArrayCallsWrapperName}.").concat(o," === undefined) {\n {selfDefendingCode}\n \n {stringArrayCallsWrapperName}.").concat(o," = true;\n }\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value, key);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperTemplate=function(){return"\n var {stringArrayCallsWrapperName} = function (index, key) {\n index = index - 0;\n \n var value = {stringArrayName}[index];\n \n {decodeNodeTemplate}\n \n return value;\n };\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayBase64DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {stringArrayCallsWrapperName}.").concat(r," = function (str) {\n var string = atob(str);\n var newStringChars = [];\n \n for (var i = 0, length = string.length; i < length; i++) {\n newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2);\n }\n \n return decodeURIComponent(newStringChars);\n };\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n \n if (cachedValue === undefined) {\n {selfDefendingCode}\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e,t){var r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6),a=e.getRandomString(6),i=e.getRandomString(6),s=e.getRandomString(6),c=e.getRandomString(6),d=e.getRandomString(6),u=e.getRandomString(6);return"\n var StatesClass = function (".concat(r,") {\n this.").concat(r," = ").concat(r,";\n this.").concat(n," = [1, 0, 0];\n this.").concat(o," = function(){return 'newState';};\n this.").concat(a," = '").concat(t.encode("\\w+ *\\(\\) *{\\w+ *",!0),"';\n this.").concat(i," = '").concat(t.encode("['|\"].+['|\"];? *}",!0),"';\n };\n \n StatesClass.prototype.").concat(s," = function () {\n var regExp = new RegExp(this.").concat(a," + this.").concat(i,");\n var expression = regExp.test(this.").concat(o,".toString())\n ? --this.").concat(n,"[1]\n : --this.").concat(n,"[0];\n \n return this.").concat(c,"(expression);\n };\n \n StatesClass.prototype.").concat(c," = function (").concat(u,") {\n if (!Boolean(~").concat(u,")) {\n return ").concat(u,";\n }\n \n return this.").concat(d,"(this.").concat(r,");\n };\n\n StatesClass.prototype.").concat(d," = function (").concat(r,") {\n for (var i = 0, len = this.").concat(n,".length; i < len; i++) {\n this.").concat(n,".push(Math.round(Math.random()));\n len = this.").concat(n,".length;\n }\n \n return ").concat(r,"(this.").concat(n,"[0]);\n };\n\n new StatesClass({stringArrayCallsWrapperName}).").concat(s,"();\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Rc4Template=function(){return"\n var rc4 = function (str, key) {\n var s = [], j = 0, x, res = '', newStr = '';\n \n str = atob(str);\n \n for (var k = 0, length = str.length; k < length; k++) {\n newStr += '%' + ('00' + str.charCodeAt(k).toString(16)).slice(-2);\n }\n \n str = decodeURIComponent(newStr);\n \t \n\t for (var i = 0; i < 256; i++) {\n s[i] = i;\n }\n \n for (i = 0; i < 256; i++) {\n j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n }\n \n i = 0;\n j = 0;\n \n for (var y = 0; y < str.length; y++) {\n i = (i + 1) % 256;\n j = (j + s[i]) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n res += String.fromCharCode(str.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);\n }\n \n return res;\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AtobTemplate=function(){return"\n (function () {\n {globalVariableTemplate}\n \n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n that.atob || (\n that.atob = function(input) {\n var str = String(input).replace(/=+$/, '');\n for (\n var bc = 0, bs, buffer, idx = 0, output = '';\n buffer = str.charAt(idx++);\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n buffer = chars.indexOf(buffer);\n }\n return output;\n });\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(23),g=r(38),N=r(11),_=r(43),v=r(146),y=r(44),h=r(145),b=r(144),S=r(143),I=r(142),C=r(141),F=r(16),O=r(37),j=r(10),T=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayCallsWrapperName=t}},{key:"getNodeStructure",value:function(){return j.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.getDecodeStringArrayTemplate();return O.JavaScriptObfuscator.obfuscate(p.default(I.StringArrayCallsWrapperTemplate(),{decodeNodeTemplate:e,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}},{key:"getDecodeStringArrayTemplate",value:function(){var e=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():y.GlobalVariableNoEvalTemplate(),t=p.default(v.AtobTemplate(),{globalVariableTemplate:e}),r="",n="";switch(this.options.selfDefending&&(n=p.default(b.SelfDefendingTemplate(this.randomGenerator,this.escapeSequenceEncoder),{stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName})),this.options.stringArrayEncoding){case g.StringArrayEncoding.Rc4:r=p.default(C.StringArrayRc4DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,rc4Polyfill:h.Rc4Template(),selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName});break;case g.StringArrayEncoding.Base64:r=p.default(S.StringArrayBase64DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}return r}}]),t}(F.AbstractCustomNode);u.__decorate([N.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayName",void 0),u.__decorate([N.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayCallsWrapperName",void 0),T=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],T),t.StringArrayCallsWrapper=T},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var {selfDefendingFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func1 = function(){return 'dev';},\n func2 = function () {\n return 'window';\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return !regExp.test(func1.toString());\n };\n \n var test2 = function () {\n var regExp = new RegExp('").concat(e.encode("(\\\\[x|u](\\w){2,4})+",!0),"');\n \n return regExp.test(func2.toString());\n };\n \n var recursiveFunc1 = function (string) {\n var i = ~-1 >> 1 + 255 % 0;\n \n if (string.indexOf('i' === i)) {\n recursiveFunc2(string)\n }\n };\n \n var recursiveFunc2 = function (string) {\n var i = ~-4 >> 1 + 255 % 0;\n \n if (string.indexOf((true+\"\")[3]) !== i) {\n recursiveFunc1(string)\n }\n };\n \n if (!test1()) {\n if (!test2()) {\n recursiveFunc1('indеxOf');\n } else {\n recursiveFunc1('indexOf');\n }\n } else {\n recursiveFunc1('indеxOf');\n }\n })\n \n {selfDefendingFunctionName}();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(43),N=r(148),_=r(16),v=r(37),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return v.JavaScriptObfuscator.obfuscate(p.default(N.SelfDefendingTemplate(this.escapeSequenceEncoder),{selfDefendingFunctionName:this.identifierNamesGenerator.generate(),singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},g.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed,unicodeEscapeSequence:!0})).getObfuscatedCode()}}]),t}(_.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.SelfDefendingUnicodeNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SingleNodeCallControllerTemplate=function(){return"\n var {singleNodeCallControllerFunctionName} = (function(){\n var firstCall = true;\n \n return function (context, fn){\n var rfn = firstCall ? function(){\n if(fn){\n var res = fn.apply(context, arguments);\n fn = null;\n return res;\n }\n } : function(){}\n \n firstCall = false;\n \n return rfn;\n }\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(24),g=r(11),N=r(150),_=r(43),v=r(16),y=r(37),h=r(10),b=function(e){function t(e,r,n){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.appendEvent=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return this.appendEvent===m.ObfuscationEvent.AfterObfuscation?y.JavaScriptObfuscator.obfuscate(p.default(N.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode():p.default(N.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],b.prototype,"callsControllerFunctionName",void 0),u.__decorate([g.initializable(),u.__metadata("design:type",String)],b.prototype,"appendEvent",void 0),b=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],b),t.NodeCallsControllerFunctionNode=b},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.logicalExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"operator",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.LogicalExpressionFunctionNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r,n){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.leftValue=r,this.rightValue=n}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.leftValue,this.rightValue]));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageName",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],N.prototype,"leftValue",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],N.prototype,"rightValue",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.ExpressionWithOperatorControlFlowStorageCallNode=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockNodeTemplate=function(){return'\n var {domainLockFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n \n {globalVariableTemplate}\n \n var func = function () {\n return {\n key: \'item\',\n value: \'attribute\',\n getAttribute: function () {\n for (var i = 0; i < 1000; i--) {\n var isPositive = i > 0;\n \n switch (isPositive) {\n case true:\n return this.item + \'_\' + this.value + \'_\' + i;\n default:\n this.item + \'_\' + this.value;\n }\n }\n }()\n };\n };\n \n var regExp = new RegExp("[{diff}]", "g");\n var domains = "{domains}".replace(regExp, "").split(";");\n var document;\n var domain;\n \n for (var d in that) {\n if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) {\n document = d;\n \n break;\n }\n }\n\n for (var d1 in that[document]) {\n if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) {\n domain = d1;\n \n break;\n }\n }\n \n if ((!document && !domain) || (!that[document] && !that[document][domain])) {\n return;\n }\n \n var currentDomain = that[document][domain];\n\n var ok = false;\n \n for (var i = 0; i < domains.length; i++) {\n var domain = domains[i];\n var position = currentDomain.length - domain.length;\n var lastIndex = currentDomain.indexOf(domain, position);\n var endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(".") === 0) {\n ok = true;\n }\n \n break;\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n });\n\n {domainLockFunctionName}();\n '}},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(23),g=r(11),N=r(154),_=r(44),v=r(16),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).cryptUtils=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.domainLock.join(";"),t=this.cryptUtils.hideString(e,3*e.length),r=(0,o.default)(t,2),n=r[0],a=r[1],i=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():_.GlobalVariableNoEvalTemplate();return p.default(N.DomainLockNodeTemplate(),{domainLockFunctionName:this.identifierNamesGenerator.generate(),diff:a,domains:n,globalVariableTemplate:i,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.ICryptUtils)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.DomainLockNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionTemplate=function(){return"\n function {debugProtectionFunctionName} (ret) {\n function debuggerProtection (counter) {\n \n {debuggerTemplate}\n \n debuggerProtection(++counter);\n }\n \n try {\n if (ret) {\n return debuggerProtection;\n } else {\n debuggerProtection(0);\n }\n } catch (y) {}\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplateNoEval=function(){return"\n if (typeof counter === 'string') {\n var func = function () {\n while (true) {}\n };\n \n return func();\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n debugger;\n } else {\n debugger;\n }\n \n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplate=function(){return"\n if (typeof counter === 'string') {\n return (function (arg) {}.constructor('while (true) {}').apply('counter'));\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n (function () {return true;}.constructor('debu' + 'gger').call('action'));\n } else {\n (function () {return false;}.constructor('debu' + 'gger').apply('stateObject'));\n }\n \n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(23),m=r(11),g=r(158),N=r(157),_=r(156),v=r(16),y=r(10),h=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?g.DebuggerTemplate():N.DebuggerTemplateNoEval();return f.default(_.DebugProtectionFunctionTemplate(),{debuggerTemplate:e,debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(v.AbstractCustomNode);d.__decorate([m.initializable(),d.__metadata("design:type",String)],h.prototype,"debugProtectionFunctionName",void 0),h=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],h),t.DebugProtectionFunctionNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalTemplate=function(){return"\n setInterval(function () {\n {debugProtectionFunctionName}();\n }, 4000);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(160),g=r(16),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return N.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionIntervalTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(g.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionIntervalNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallTemplate=function(){return"\n (function () {\n {singleNodeCallControllerFunctionName}(this, function () {\n var regExp1 = new RegExp('function *\\\\( *\\\\)');\n var regExp2 = new RegExp('\\\\+\\\\+ *\\(?:_0x(?:[a-f0-9]){4,6}|(?:\\\\b|\\\\d)[a-z0-9]{1,4}(?:\\\\b|\\\\d)\\)', 'i');\n \n var result = {debugProtectionFunctionName}('init');\n \n if (!regExp1.test(result + 'chain') || !regExp2.test(result + 'input')) {\n result('0');\n } else {\n {debugProtectionFunctionName}();\n }\n })();\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(162),g=r(16),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.debugProtectionFunctionName=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return N.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionCallTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(g.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"callsControllerFunctionName",void 0),d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionCallNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableExpressionTemplate=function(){return"\n var {consoleLogDisableFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func = function () {};\n \n {globalVariableTemplate}\n \n if (!that.console) {\n that.console = (function (func){\n var c = {};\n \n c.log = func;\n c.warn = func;\n c.debug = func;\n c.info = func;\n c.error = func;\n c.exception = func;\n c.trace = func;\n \n return c;\n })(func);\n } else {\n that.console.log = func;\n that.console.warn = func;\n that.console.debug = func;\n that.console.info = func;\n that.console.error = func;\n that.console.exception = func;\n that.console.trace = func;\n }\n });\n \n {consoleLogDisableFunctionName}();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(23),m=r(164),g=r(44),N=r(11),_=r(16),v=r(10),y=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return v.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():g.GlobalVariableNoEvalTemplate();return f.default(m.ConsoleOutputDisableExpressionTemplate(),{consoleLogDisableFunctionName:this.identifierNamesGenerator.generate(),globalVariableTemplate:e,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(_.AbstractCustomNode);d.__decorate([N.initializable(),d.__metadata("design:type",String)],y.prototype,"callsControllerFunctionName",void 0),y=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ConsoleOutputDisableExpressionNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(56)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(1),p=r(4),m=r(11),g=r(16),N=r(15),_=r(9),v=r(10),y=function(e){function t(e,r,n){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r,n))}return(0,u.default)(t,e),(0,c.default)(t,[{key:"initialize",value:function(e){this.controlFlowStorage=e}},{key:"getNodeStructure",value:function(){var e=(0,a.default)(this.controlFlowStorage.getStorage()).map(function(e){var t=(0,o.default)(e,2),r=t[0],n=t[1].getNode()[0];if(!_.NodeGuards.isExpressionStatementNode(n))throw new Error("Function node for control flow storage object should be passed inside the `ExpressionStatement` node!");return N.NodeFactory.propertyNode(N.NodeFactory.identifierNode(r),n.expression)}),t=N.NodeFactory.variableDeclarationNode([N.NodeFactory.variableDeclaratorNode(N.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()),N.NodeFactory.objectExpressionNode(e))]);return[t=v.NodeUtils.parentize(t)]}}]),t}(g.AbstractCustomNode);l.__decorate([m.initializable(),l.__metadata("design:type",Object)],y.prototype,"controlFlowStorage",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ControlFlowStorageNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.expressionArguments=e}},{key:"getNodeStructure",value:function(){for(var e=m.NodeFactory.identifierNode("callee"),t=[],r=this.expressionArguments.length,n=0;n.5,t=this.randomGenerator.getMathRandom()>.5,r=e?"===":"!==",n=this.randomGenerator.getRandomString(5),a=t?n:this.randomGenerator.getRandomString(5),i=e===t?[this.blockStatementNode,this.deadCodeInjectionRootAstHostNode]:[this.deadCodeInjectionRootAstHostNode,this.blockStatementNode],s=(0,o.default)(i,2),c=s[0],d=s[1],u=g.NodeFactory.blockStatementNode([g.NodeFactory.ifStatementNode(g.NodeFactory.binaryExpressionNode(r,g.NodeFactory.literalNode(n),g.NodeFactory.literalNode(a)),c,d)]);return N.NodeUtils.parentize(u),[u]}}]),t}(m.AbstractCustomNode);u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"blockStatementNode",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"deadCodeInjectionRootAstHostNode",void 0),_=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementDeadCodeInjectionNode=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(9),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.blockStatementBody=e,this.shuffledKeys=t,this.originalKeysIndexesInShuffledArray=r}},{key:"getNodeStructure",value:function(){var e=this,t=this.randomGenerator.getRandomString(6),r=this.randomGenerator.getRandomString(6),n=m.NodeFactory.blockStatementNode([m.NodeFactory.variableDeclarationNode([m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(t),m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join("|")),m.NodeFactory.identifierNode("split")),[m.NodeFactory.literalNode("|")])),m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(r),m.NodeFactory.literalNode(0))]),m.NodeFactory.whileStatementNode(m.NodeFactory.literalNode(!0),m.NodeFactory.blockStatementNode([m.NodeFactory.switchStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(t),m.NodeFactory.updateExpressionNode("++",m.NodeFactory.identifierNode(r)),!0),this.shuffledKeys.map(function(t,r){var n=e.blockStatementBody[t],o=[n];return g.NodeGuards.isReturnStatementNode(n)||o.push(m.NodeFactory.continueStatement()),m.NodeFactory.switchCaseNode(m.NodeFactory.literalNode(String(r)),o)})),m.NodeFactory.breakStatement()]))]);return N.NodeUtils.parentize(n),[n]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"blockStatementBody",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"originalKeysIndexesInShuffledArray",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"shuffledKeys",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementControlFlowFlatteningNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate2=function(){return"\n var getGlobal = function () {\n var globalObject;\n \n try {\n globalObject = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');')();\n } catch (e) {\n globalObject = window;\n }\n \n return globalObject;\n };\n var that = getGlobal();\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate1=function(){return"\n var that;\n \n try {\n var getGlobal = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');');\n \n that = getGlobal();\n } catch (e) {\n that = window;\n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.binaryExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"operator",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.BinaryExpressionFunctionNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(17)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(1),p=r(4),m=r(11),g=r(29),N=r(24),_=r(34),v=r(25),y=function(e){function t(e,r,n,o,a){var c;return(0,s.default)(this,t),(c=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,n,o,a))).appendEvent=N.ObfuscationEvent.AfterObfuscation,c.customNodeFactory=e,c.stringArrayStorage=r,c}return(0,u.default)(t,e),(0,c.default)(t,[{key:"appendCustomNodes",value:function(e,t){this.stringArrayStorage.getLength()&&(this.appendCustomNodeIfExist(g.CustomNode.StringArrayNode,function(t){v.NodeAppender.prependNode(e,t.getNode())}),this.appendCustomNodeIfExist(g.CustomNode.StringArrayCallsWrapper,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}),this.appendCustomNodeIfExist(g.CustomNode.StringArrayRotateFunctionNode,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}))}},{key:"initialize",value:function(){if(this.customNodes=new a.default,this.options.stringArray){var e,t=this.customNodeFactory(g.CustomNode.StringArrayNode),r=this.customNodeFactory(g.CustomNode.StringArrayCallsWrapper),n=this.customNodeFactory(g.CustomNode.StringArrayRotateFunctionNode),i=this.stringArrayStorage.getStorageId().split("|"),s=(0,o.default)(i,2),c=s[0],d=s[1];e=this.options.rotateStringArray?this.randomGenerator.getRandomInteger(100,500):0,t.initialize(this.stringArrayStorage,c,e),r.initialize(c,d),n.initialize(c,e),this.customNodes.set(g.CustomNode.StringArrayNode,t),this.customNodes.set(g.CustomNode.StringArrayCallsWrapper,r),this.options.rotateStringArray&&this.customNodes.set(g.CustomNode.StringArrayRotateFunctionNode,n)}}}]),t}(_.AbstractCustomNodeGroup);l.__decorate([m.initializable(),l.__metadata("design:type",a.default)],y.prototype,"customNodes",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(2,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Function,Object,Object])],y),t.StringArrayCustomNodeGroup=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),g=r(24),N=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.AfterObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.SelfDefendingUnicodeNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.selfDefending){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.SelfDefendingUnicodeNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.SelfDefendingUnicodeNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.SelfDefendingCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),g=r(24),N=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DomainLockNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.domainLock.length){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.DomainLockNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.DomainLockNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DomainLockCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),g=r(24),N=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this,n=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionCallNode,function(r){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,r.getNode(),n)}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionNode,function(t){_.NodeAppender.appendNode(e,t.getNode())}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionIntervalNode,function(t){var n=e.body.length,o=r.randomGenerator.getRandomInteger(0,n);_.NodeAppender.insertNodeAtIndex(e,t.getNode(),o)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(r){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,n,1):e,_.NodeAppender.prependNode(o,r.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.debugProtection){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionNode),n=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionCallNode),a=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionIntervalNode),i=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);r.initialize(e),n.initialize(e,t),a.initialize(e),i.initialize(this.appendEvent,t),this.customNodes.set(m.CustomNode.DebugProtectionFunctionNode,r),this.customNodes.set(m.CustomNode.DebugProtectionFunctionCallNode,n),this.options.debugProtectionInterval&&this.customNodes.set(m.CustomNode.DebugProtectionFunctionIntervalNode,a),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,i)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DebugProtectionCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),g=r(24),N=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.ConsoleOutputDisableExpressionNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.disableConsoleOutput){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.ConsoleOutputDisableExpressionNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.ConsoleOutputDisableExpressionNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.ConsoleOutputCustomNodeGroup=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(22),s=r(29),c=r(57),d=r(58),u=r(178),l=r(177),f=r(176),p=r(175),m=r(174),g=r(173),N=r(170),_=r(169),v=r(168),y=r(167),h=r(166),b=r(165),S=r(163),I=r(161),C=r(159),F=r(155),O=r(153),j=r(152),T=r(151),k=r(149),x=r(147),w=r(140),E=r(138),G=r(134),R=r(133);t.customNodesModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.ICustomNode).to(b.ConsoleOutputDisableExpressionNode).whenTargetNamed(s.CustomNode.ConsoleOutputDisableExpressionNode),e(a.ServiceIdentifiers.ICustomNode).to(S.DebugProtectionFunctionCallNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionCallNode),e(a.ServiceIdentifiers.ICustomNode).to(I.DebugProtectionFunctionIntervalNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionIntervalNode),e(a.ServiceIdentifiers.ICustomNode).to(C.DebugProtectionFunctionNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(F.DomainLockNode).whenTargetNamed(s.CustomNode.DomainLockNode),e(a.ServiceIdentifiers.ICustomNode).to(T.NodeCallsControllerFunctionNode).whenTargetNamed(s.CustomNode.NodeCallsControllerFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(k.SelfDefendingUnicodeNode).whenTargetNamed(s.CustomNode.SelfDefendingUnicodeNode),e(a.ServiceIdentifiers.ICustomNode).to(x.StringArrayCallsWrapper).whenTargetNamed(s.CustomNode.StringArrayCallsWrapper),e(a.ServiceIdentifiers.ICustomNode).to(w.StringArrayNode).whenTargetNamed(s.CustomNode.StringArrayNode),e(a.ServiceIdentifiers.ICustomNode).to(E.StringArrayRotateFunctionNode).whenTargetNamed(s.CustomNode.StringArrayRotateFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(g.BinaryExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.BinaryExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(N.BlockStatementControlFlowFlatteningNode).whenTargetNamed(i.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(v.CallExpressionControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(y.CallExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(h.ControlFlowStorageNode).whenTargetNamed(i.ControlFlowCustomNode.ControlFlowStorageNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(O.ExpressionWithOperatorControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(j.LogicalExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.LogicalExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(R.StringLiteralNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(G.StringLiteralControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(_.BlockStatementDeadCodeInjectionNode).whenTargetNamed(d.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode),e(a.ServiceIdentifiers.ICustomNodeGroup).to(u.ConsoleOutputCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.ConsoleOutputCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(l.DebugProtectionCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DebugProtectionCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(f.DomainLockCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DomainLockCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(p.SelfDefendingCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.SelfDefendingCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(m.StringArrayCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.StringArrayCustomNodeGroup),e(a.ServiceIdentifiers.Factory__ICustomNode).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNode)),e(a.ServiceIdentifiers.Factory__IControlFlowCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__ICustomNodeGroup).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNodeGroup))})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(13),m=r(14),g=r(15),N=r(9),_=d=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Converting:return{leave:function(e,r){if(r&&d.isValidTemplateLiteralNode(e,r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=e.expressions,n=[];if(e.quasis.forEach(function(e){n.push(g.NodeFactory.literalNode(e.value.cooked));var t=r.shift();t&&n.push(t)}),n=n.filter(function(e){return!(N.NodeGuards.isLiteralNode(e)&&""===e.value)}),d.isLiteralNodeWithStringValue(n[0])||d.isLiteralNodeWithStringValue(n[1])||n.unshift(g.NodeFactory.literalNode("")),n.length>1){var o=g.NodeFactory.binaryExpressionNode("+",n.shift(),n.shift());return n.forEach(function(e){o=g.NodeFactory.binaryExpressionNode("+",o,e)}),o}return n[0]}}],[{key:"isLiteralNodeWithStringValue",value:function(e){return e&&N.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value}},{key:"isValidTemplateLiteralNode",value:function(e,t){return N.NodeGuards.isTemplateLiteralNode(e)&&!N.NodeGuards.isTaggedTemplateExpressionNode(t)}}]),t}(m.AbstractNodeTransformer);_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],_),t.TemplateLiteralTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(15),g=r(9),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Converting:return{enter:function(e,r){if(r&&g.NodeGuards.isObjectExpressionNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return e.properties.forEach(function(e){!e.computed&&e.key&&(e.shorthand&&(e.shorthand=!1),g.NodeGuards.isIdentifierNode(e.key)&&(e.key=m.NodeFactory.literalNode(e.key.name)))}),e}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.ObjectExpressionTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(17)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l,f=r(5),p=r(1),m=r(4),g=r(13),N=r(14),_=r(25),v=r(15),y=r(9),h=r(10),b=l=function(e){function t(e,r){var n;return(0,s.default)(this,t),(n=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r))).cachedScopeNodesMap=new a.default,n}return(0,u.default)(t,e),(0,c.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Converting:return{enter:function(e,r){if(t.options.transformObjectKeys&&r&&y.NodeGuards.isObjectExpressionNode(e)&&y.NodeGuards.isVariableDeclaratorNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(!y.NodeGuards.isIdentifierNode(t.id))return e;var r=h.NodeUtils.getScopeOfNode(t);return r&&y.NodeGuards.isNodeHasScope(r)?(this.cachedScopeNodesMap.set(t,r),this.transformObjectExpressionNode(e,t.id,t)):e}},{key:"extractPropertiesToExpressionStatements",value:function(e,t,r){for(var n=e.length,o=[],a=[],i=0;if.hostNodeSearchMinDepth&&t.splice(0,f.hostNodeSearchMinDepth),t.length>f.hostNodeSearchMaxDepth&&(t.length=f.hostNodeSearchMaxDepth),this.randomGenerator.getRandomGenerator().pickone(t))}},{key:"isVisitedFunctionNode",value:function(e){return(I.NodeGuards.isFunctionDeclarationNode(e)||I.NodeGuards.isFunctionExpressionNode(e)||I.NodeGuards.isArrowFunctionExpressionNode(e))&&this.visitedFunctionNodes.has(e)}},{key:"transformFunctionBody",value:function(e,t){var r=this;N.replace(e,{enter:function(e,n){if(C.NodeMetadata.isIgnoredNode(e))return N.VisitorOption.Skip;if(r.isVisitedFunctionNode(e)||!n)return N.VisitorOption.Skip;if(!f.controlFlowReplacersMap.has(e.type))return e;if(r.randomGenerator.getMathRandom()>r.options.controlFlowFlatteningThreshold)return e;var a=f.controlFlowReplacersMap.get(e.type);return void 0===a?e:(0,o.default)({},r.controlFlowReplacerFactory(a).replace(e,n,t),{parentNode:n})}})}}]),t}(b.AbstractNodeTransformer);O.controlFlowReplacersMap=new i.default([[y.NodeType.BinaryExpression,v.ControlFlowReplacer.BinaryExpressionControlFlowReplacer],[y.NodeType.CallExpression,v.ControlFlowReplacer.CallExpressionControlFlowReplacer],[y.NodeType.LogicalExpression,v.ControlFlowReplacer.LogicalExpressionControlFlowReplacer],[y.NodeType.Literal,v.ControlFlowReplacer.StringLiteralControlFlowReplacer]]),O.hostNodeSearchMinDepth=0,O.hostNodeSearchMaxDepth=2,O=f=p.__decorate([m.injectable(),p.__param(0,m.inject(g.ServiceIdentifiers.Factory__TControlFlowStorage)),p.__param(1,m.inject(g.ServiceIdentifiers.Factory__IControlFlowReplacer)),p.__param(2,m.inject(g.ServiceIdentifiers.Factory__IControlFlowCustomNode)),p.__param(3,m.inject(g.ServiceIdentifiers.IRandomGenerator)),p.__param(4,m.inject(g.ServiceIdentifiers.IOptions)),p.__metadata("design:paramtypes",[Function,Function,Function,Object,Object])],O),t.FunctionControlFlowTransformer=O},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importStar(r(18)),g=r(58),N=r(32),_=r(26),v=r(13),y=r(14),h=r(15),b=r(9),S=r(10),I=u=function(e){function t(e,r,n,s){var d;return(0,i.default)(this,t),(d=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,n,s))).deadCodeInjectionRootAstHostNodeSet=new o.default,d.collectedBlockStatements=[],d.collectedBlockStatementsTotalLength=0,d.deadCodeInjectionCustomNodeFactory=e,d.transformersRunner=r,d}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case v.TransformationStage.DeadCodeInjection:return{enter:function(e,r){if(r&&b.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),e},leave:function(e,r){if(r&&b.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};case v.TransformationStage.Finalizing:return this.deadCodeInjectionRootAstHostNodeSet.size?{enter:function(e,r){if(r&&t.isDeadCodeInjectionRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"analyzeNode",value:function(e,t){var r=this;m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)){var t=S.NodeUtils.clone(e);u.isValidCollectedBlockStatementNode(t)&&(S.NodeUtils.parentizeNode(t,t),t=r.transformersRunner.transform(t,u.transformersToRenameBlockScopeIdentifiers,v.TransformationStage.Obfuscating),r.collectedBlockStatements.push(t))}}}),this.collectedBlockStatementsTotalLength=this.collectedBlockStatements.length}},{key:"transformNode",value:function(e,t){if(!this.collectedBlockStatements.length||this.collectedBlockStatementsTotalLengththis.options.deadCodeInjectionThreshold||!u.isValidWrappedBlockStatementNode(e))return e;var r=this.collectedBlockStatements.length-1,n=this.randomGenerator.getRandomInteger(0,r),o=this.collectedBlockStatements.splice(n,1)[0];return o===e?e:this.replaceBlockStatementNode(e,o,t)}},{key:"restoreNode",value:function(e,t){var r=e.body[0];if(!b.NodeGuards.isFunctionDeclarationNode(r))throw new Error("Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node");return r.body}},{key:"isDeadCodeInjectionRootAstHostNode",value:function(e){return b.NodeGuards.isBlockStatementNode(e)&&this.deadCodeInjectionRootAstHostNodeSet.has(e)}},{key:"replaceBlockStatementNode",value:function(e,t,r){var n=h.NodeFactory.blockStatementNode([h.NodeFactory.functionDeclarationNode(u.deadCodeInjectionRootAstHostNodeName,[],t)]);this.deadCodeInjectionRootAstHostNodeSet.add(n);var o=this.deadCodeInjectionCustomNodeFactory(g.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode);o.initialize(e,n);var a=o.getNode()[0];return S.NodeUtils.parentizeNode(a,r),a}}],[{key:"isProhibitedNodeInsideCollectedBlockStatement",value:function(e){return b.NodeGuards.isBreakStatementNode(e)||b.NodeGuards.isContinueStatementNode(e)||b.NodeGuards.isAwaitExpressionNode(e)||b.NodeGuards.isSuperNode(e)}},{key:"isScopeHoistingFunctionDeclaration",value:function(e){if(!b.NodeGuards.isFunctionDeclarationNode(e))return!1;var t=S.NodeUtils.getScopeOfNode(e),r=b.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,n=r.indexOf(e);if(0===n)return!1;var o=r.slice(0,n),a=h.NodeFactory.blockStatementNode(o),i=e.id.name,s=!1;return m.traverse(a,{enter:function(e){if(b.NodeGuards.isIdentifierNode(e)&&e.name===i)return s=!0,m.VisitorOption.Break}}),s}},{key:"isValidCollectedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=0,r=!0;return m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)&&t++,t>u.maxNestedBlockStatementsCount||u.isProhibitedNodeInsideCollectedBlockStatement(e)||u.isScopeHoistingFunctionDeclaration(e))return r=!1,m.VisitorOption.Break}}),r}},{key:"isValidWrappedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=!0;return m.traverse(e,{enter:function(e){if(u.isScopeHoistingFunctionDeclaration(e))return t=!1,m.VisitorOption.Break}}),!!t&&S.NodeUtils.getBlockScopesOfNode(e)[0].type!==_.NodeType.Program}}]),t}(y.AbstractNodeTransformer);I.deadCodeInjectionRootAstHostNodeName="deadCodeInjectionRootAstHostNode",I.maxNestedBlockStatementsCount=4,I.minCollectedBlockStatementsCount=5,I.transformersToRenameBlockScopeIdentifiers=[N.NodeTransformer.CatchClauseTransformer,N.NodeTransformer.ClassDeclarationTransformer,N.NodeTransformer.FunctionDeclarationTransformer,N.NodeTransformer.FunctionTransformer,N.NodeTransformer.LabeledStatementTransformer,N.NodeTransformer.VariableDeclarationTransformer],I=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.ITransformersRunner)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],I),t.DeadCodeInjectionTransformer=I},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(22),m=r(45),g=r(9),N=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.callee;if(!g.NodeGuards.isIdentifierNode(n))return e;var o=String(e.arguments.length),a=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionFunctionNode),i=e.arguments;a.initialize(i);var s=this.insertCustomNodeToControlFlowStorage(a,r,o,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),s,n,i)}},{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!g.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(m.AbstractControlFlowReplacer);N.usingExistingIdentifierChance=.5,N=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],N),t.CallExpressionControlFlowReplacer=N},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/has-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/define-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-names")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/get-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-descriptor")},function(e,t){e.exports=require("@babel/runtime/core-js/object/define-property")},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(22),g=r(13),N=r(14),_=r(9),v=r(10),y=d=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).controlFlowCustomNodeFactory=e,c.arrayUtils=r,c}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.ControlFlowFlattening:return{leave:function(e,r){if(r&&_.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold||!d.canTransformBlockStatementNode(e))return e;var r=e.body,n=this.arrayUtils.arrayRange(r.length),o=this.arrayUtils.arrayShuffle(n),a=n.map(function(e){return o.indexOf(e)}),i=this.controlFlowCustomNodeFactory(m.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode);i.initialize(r,o,a);var s=i.getNode()[0];return v.NodeUtils.parentizeNode(s,t),s}}],[{key:"blockStatementHasProhibitedStatements",value:function(e){return e.body.some(function(e){var t=_.NodeGuards.isBreakStatementNode(e)||_.NodeGuards.isContinueStatementNode(e),r=_.NodeGuards.isVariableDeclarationNode(e)&&("const"===e.kind||"let"===e.kind),n=_.NodeGuards.isClassDeclarationNode(e);return _.NodeGuards.isFunctionDeclarationNode(e)||t||r||n})}},{key:"canTransformBlockStatementNode",value:function(e){var t=!0;return p.traverse(e,{enter:function(e){if(_.NodeGuards.isWhileStatementNode(e))return p.VisitorOption.Skip;_.NodeGuards.isBlockStatementNode(e)&&d.blockStatementHasProhibitedStatements(e)&&(t=!1)}}),e.body.length<=4&&(t=!1),t}}]),t}(N.AbstractNodeTransformer);y=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IArrayUtils)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],y),t.BlockStatementControlFlowTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(22),m=r(59),g=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.operator,o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.BinaryExpressionFunctionNode);o.initialize(n);var a=this.insertCustomNodeToControlFlowStorage(o,r,n,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}}]),t}(m.ExpressionWithOperatorControlFlowReplacer);g.usingExistingIdentifierChance=.5,g=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],g),t.BinaryExpressionControlFlowReplacer=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(60),s=r(32),c=r(198),d=r(197),u=r(190),l=r(189),f=r(188),p=r(187),m=r(186);t.controlFlowTransformersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.INodeTransformer).to(d.BlockStatementControlFlowTransformer).whenTargetNamed(s.NodeTransformer.BlockStatementControlFlowTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(l.DeadCodeInjectionTransformer).whenTargetNamed(s.NodeTransformer.DeadCodeInjectionTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(f.FunctionControlFlowTransformer).whenTargetNamed(s.NodeTransformer.FunctionControlFlowTransformer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(c.BinaryExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.BinaryExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(u.CallExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.CallExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(p.LogicalExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.LogicalExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(m.StringLiteralControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.StringLiteralControlFlowReplacer),e(a.ServiceIdentifiers.Factory__IControlFlowReplacer).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.IControlFlowReplacer))})},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=c.__importStar(r(18)),f=r(63),p=r(9),m=r(10),g=s=function(){function e(t){(0,a.default)(this,e),this.calleeDataExtractorFactory=t}return(0,i.default)(e,[{key:"analyze",value:function(e){return this.analyzeRecursive(e.body)}},{key:"analyzeRecursive",value:function(e){for(var t=this,r=s.getLimitIndex(e.length),n=[],o=e.length,a=function(o){if(o>r)return"break";var a=e[o];l.traverse(a,{enter:function(r){if(p.NodeGuards.isCallExpressionNode(r))return a.parentNode!==m.NodeUtils.getBlockScopesOfNode(r)[0]?l.VisitorOption.Skip:void t.analyzeCallExpressionNode(n,e,r)}})},i=0;ir&&(n=Math.round(r+t*s.limitThreshold))>t&&(n=t),n}}]),e}();g.calleeDataExtractorsList=[f.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor,f.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor,f.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor],g.limitThresholdActivationLength=25,g.limitThreshold=.002,g=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.Factory__ICalleeDataExtractor)),c.__metadata("design:paramtypes",[Function])],g),t.StackTraceAnalyzer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(35)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=l.__importStar(r(18)),m=r(47),g=r(9),N=r(10),_=u=function(e){function t(){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).apply(this,arguments))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"extract",value:function(e,t){if(!g.NodeGuards.isMemberExpressionNode(t))return null;var r=this.createObjectMembersCallsChain([],t);if(!r.length)return null;var n=r[r.length-1],o=this.getCalleeBlockStatement(N.NodeUtils.getBlockScopesOfNode(e[0])[0],r);return o?{callee:o,name:n}:null}},{key:"createObjectMembersCallsChain",value:function(e,t){if(g.NodeGuards.isIdentifierNode(t.property)&&!1===t.computed)e.unshift(t.property.name);else{if(!g.NodeGuards.isLiteralNode(t.property)||"string"!=typeof t.property.value&&"number"!=typeof t.property.value)return e;e.unshift(t.property.value)}return g.NodeGuards.isMemberExpressionNode(t.object)?this.createObjectMembersCallsChain(e,t.object):(g.NodeGuards.isIdentifierNode(t.object)&&e.unshift(t.object.name),e)}},{key:"getCalleeBlockStatement",value:function(e,t){var r=this,n=t.shift();if(!n)return null;var o=null;return p.traverse(e,{enter:function(e){if(g.NodeGuards.isVariableDeclaratorNode(e)&&g.NodeGuards.isIdentifierNode(e.id)&&e.init&&g.NodeGuards.isObjectExpressionNode(e.init)&&e.id.name===n)return o=r.findCalleeBlockStatement(e.init.properties,t),p.VisitorOption.Break}}),o}},{key:"findCalleeBlockStatement",value:function(e,t){var r=t.shift();if(!r)return null;var n=!0,a=!1,i=void 0;try{for(var s,c=(0,o.default)(e);!(n=(s=c.next()).done);n=!0){var d=s.value;if(u.isValidTargetPropertyNode(d,r)){if(g.NodeGuards.isObjectExpressionNode(d.value))return this.findCalleeBlockStatement(d.value.properties,t);if(g.NodeGuards.isFunctionExpressionNode(d.value))return d.value.body}}}catch(e){a=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(a)throw i}}return null}}],[{key:"isValidTargetPropertyNode",value:function(e,t){if(!e.key)return!1;var r=g.NodeGuards.isIdentifierNode(e.key)&&e.key.name===t,n=g.NodeGuards.isLiteralNode(e.key)&&Boolean(e.key.value)&&e.key.value===t;return r||n}}]),t}(m.AbstractCalleeDataExtractor);_=u=l.__decorate([f.injectable()],_),t.ObjectExpressionCalleeDataExtractor=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=d.__importStar(r(18)),f=r(47),p=r(9),m=r(10),g=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){var r=null;return p.NodeGuards.isIdentifierNode(t)&&(r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name)),p.NodeGuards.isFunctionExpressionNode(t)&&(r=t.body),r?{callee:r,name:t.name||null}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e,n){if(p.NodeGuards.isFunctionExpressionNode(e)&&n&&p.NodeGuards.isVariableDeclaratorNode(n)&&p.NodeGuards.isIdentifierNode(n.id)&&n.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);g=d.__decorate([u.injectable()],g),t.FunctionExpressionCalleeDataExtractor=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=d.__importStar(r(18)),f=r(47),p=r(9),m=r(10),g=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){if(!p.NodeGuards.isIdentifierNode(t))return null;var r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name);return r?{callee:r,name:t.name}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e){if(p.NodeGuards.isFunctionDeclarationNode(e)&&e.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);g=d.__decorate([u.injectable()],g),t.FunctionDeclarationCalleeDataExtractor=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(63),s=r(203),c=r(202),d=r(201),u=r(200);t.analyzersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.IStackTraceAnalyzer).to(u.StackTraceAnalyzer).inSingletonScope(),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(s.FunctionDeclarationCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(c.FunctionExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(d.ObjectExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.Factory__ICalleeDataExtractor).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.ICalleeDataExtractor))})},function(e,t){e.exports=require("fs")},function(e,t){e.exports=require("multimatch")},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(205)),c=__importStar(r(67)),d=__importDefault(r(206)),u=r(64),l=r(68),f=r(65),p=function(){function e(t){(0,a.default)(this,e),this.options=t}return(0,i.default)(e,[{key:"readSourceCode",value:function(t){if(e.isFilePath(t)&&this.isValidFile(t))return this.readFile(t);if(e.isDirectoryPath(t)&&this.isValidDirectory(t))return this.readDirectoryRecursive(t);var r=e.availableInputExtensions.map(function(e){return"`".concat(e,"`")}).join(", ");throw new ReferenceError("Given input path must be a valid ".concat(r," file or directory path"))}},{key:"readDirectoryRecursive",value:function(t){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return s.readdirSync(t,l.JavaScriptObfuscatorCLI.encoding).forEach(function(a){var i="".concat(t,"/").concat(a);if(e.isDirectoryPath(i)&&r.isValidDirectory(i))n.push.apply(n,(0,o.default)(r.readDirectoryRecursive(i)));else if(e.isFilePath(i)&&r.isValidFile(i)){var s=r.readFile(i);n.push({filePath:i,content:s})}}),n}},{key:"readFile",value:function(t){return e.logFilePath(t),s.readFileSync(t,l.JavaScriptObfuscatorCLI.encoding)}},{key:"isValidDirectory",value:function(t){return!e.isExcludedPath(t,this.options.exclude)}},{key:"isValidFile",value:function(t){return e.availableInputExtensions.includes(c.extname(t))&&!t.includes(l.JavaScriptObfuscatorCLI.obfuscatedFilePrefix)&&!e.isExcludedPath(t,this.options.exclude)}}],[{key:"isExcludedPath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!t.length)return!1;var r=c.basename(e),n=!!d.default([e],t).length;return t.some(function(t){return e.includes(t)||r.includes(t)})||n}},{key:"isDirectoryPath",value:function(e){try{return s.statSync(e).isDirectory()}catch(e){return!1}}},{key:"isFilePath",value:function(e){try{return s.statSync(e).isFile()}catch(e){return!1}}},{key:"logFilePath",value:function(e){var t=c.normalize(e);f.Logger.log(f.Logger.colorInfo,u.LoggingPrefix.CLI,"Obfuscating file: ".concat(t,"..."))}}]),e}();p.availableInputExtensions=[".js"],t.SourceCodeReader=p},function(e,t){function r(e){var t=new Error('Cannot find module "'+e+'".');throw t.code="MODULE_NOT_FOUND",t}r.keys=function(){return[]},r.resolve=r,e.exports=r,r.id=208},function(e,t){e.exports=require("mkdirp")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=__importStar(r(205)),s=__importStar(r(209)),c=__importStar(r(67)),d=r(68),u=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"getOutputCodePath",value:function(e){return c.normalize(e).split(".").map(function(e,t){return 0===t?"".concat(e).concat(d.JavaScriptObfuscatorCLI.obfuscatedFilePrefix):e}).join(".")}},{key:"getOutputSourceMapPath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return t&&(e="".concat(e.substring(0,e.lastIndexOf("/")),"/").concat(t)),/\.js\.map$/.test(e)?/\.js$/.test(e)&&(e+=".map"):e="".concat(e.split(".")[0],".js.map"),e}},{key:"getUserConfig",value:function(e){var t;try{t=r(208)(e)}catch(r){try{t=require(e)}catch(e){throw new ReferenceError("Given config path must be a valid `.js` or `.json` file path")}}return t}},{key:"writeFile",value:function(e,t){s.sync(c.dirname(e)),i.writeFileSync(e,t,{encoding:d.JavaScriptObfuscatorCLI.encoding})}}]),e}();t.CLIUtils=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(38);t.StringArrayEncodingSanitizer=function(e){switch(e){case"true":case"1":case n.StringArrayEncoding.Base64:return!0;case n.StringArrayEncoding.Rc4:return n.StringArrayEncoding.Rc4;default:return!1}}},function(e,t,r){"use strict";var n=r(0)(r(36));Object.defineProperty(t,"__esModule",{value:!0});var o=r(39);t.SourceMapModeSanitizer=function(e){if(!(0,n.default)(o.SourceMapMode).some(function(t){return o.SourceMapMode[t]===e}))throw new ReferenceError("Invalid value of `--source-map-mode` option");return e}},function(e,t,r){"use strict";var n=r(0)(r(36));Object.defineProperty(t,"__esModule",{value:!0});var o=r(23);t.ObfuscationTargetSanitizer=function(e){if(!(0,n.default)(o.ObfuscationTarget).some(function(t){return o.ObfuscationTarget[t]===e}))throw new ReferenceError("Invalid value of `--target` option");return e}},function(e,t,r){"use strict";var n=r(0)(r(36));Object.defineProperty(t,"__esModule",{value:!0});var o=r(40);t.IdentifierNamesGeneratorSanitizer=function(e){if(!(0,n.default)(o.IdentifierNamesGenerator).some(function(t){return o.IdentifierNamesGenerator[t]===e}))throw new ReferenceError("Invalid value of `--identifier-names-generator` option");return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanSanitizer=function(e){return"true"===e||"1"===e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArraySanitizer=function(e){if(/,$/.test(e))throw new SyntaxError("Multiple values should be wrapped inside quotes: --option-name 'value1, value2'");return e.split(",").map(function(e){return e.trim()})}},function(e,t){e.exports=require("commander")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0}),r(66);var i=r(68),s=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"obfuscate",value:function(e){var t=new i.JavaScriptObfuscatorCLI(e);t.initialize(),t.run()}}]),e}();t.JavaScriptObfuscatorCLI=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(218);e.exports=n.JavaScriptObfuscatorCLI}]); +require("source-map-support").install(),module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r.w={},r(r.s=219)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("inversify")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Factory__ICalleeDataExtractor="Factory",e.Factory__IControlFlowCustomNode="Factory",e.Factory__IControlFlowReplacer="Factory",e.Factory__ICustomNode="Factory",e.Factory__ICustomNodeGroup="Factory",e.Factory__IDeadCodeInjectionCustomNode="Factory",e.Factory__IIdentifierNamesGenerator="Factory",e.Factory__IIdentifierObfuscatingReplacer="Factory",e.Factory__INodeGuard="Factory",e.Factory__INodeTransformer="Factory",e.Factory__IObfuscationResult="Factory",e.Factory__IObfuscatingReplacer="Factory",e.Factory__TControlFlowStorage="Factory",e.IArrayUtils="IArrayUtils",e.ICalleeDataExtractor="ICalleeDataExtractor",e.ICryptUtils="ICryptUtils",e.ICustomNode="ICustomNode",e.ICustomNodeGroup="ICustomNodeGroup",e.IControlFlowReplacer="IControlFlowReplacer",e.IEscapeSequenceEncoder="IEscapeSequenceEncoder",e.IIdentifierNamesGenerator="IIdentifierNamesGenerator",e.IIdentifierObfuscatingReplacer="IIdentifierObfuscatingReplacer",e.IJavaScriptObfuscator="IJavaScriptObfuscator",e.ILogger="ILogger",e.INodeGuard="INodeGuard",e.INodeTransformer="INodeTransformer",e.IObfuscationEventEmitter="IObfuscationEventEmitter",e.IObfuscationResult="IObfuscationResult",e.IOptions="IOptions",e.IOptionsNormalizer="IOptionsNormalizer",e.IObfuscatingReplacer="IObfuscatingReplacer",e.IRandomGenerator="IRandomGenerator",e.ISourceCode="ISourceCode",e.ISourceMapCorrector="ISourceMapCorrector",e.IStackTraceAnalyzer="IStackTraceAnalyzer",e.ITransformersRunner="ITransformersRunner",e.Newable__ICustomNode="Newable",e.Newable__TControlFlowStorage="Newable",e.TCustomNodeGroupStorage="TCustomNodeGroupStorage",e.TInputOptions="TInputOptions",e.TStringArrayStorage="TStringArrayStorage"}(t.ServiceIdentifiers||(t.ServiceIdentifiers={}))},function(e,t){e.exports=require("tslib")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-prototype-of")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(26),s=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"isArrayPatternNode",value:function(e){return e.type===i.NodeType.ArrayPattern}},{key:"isArrowFunctionExpressionNode",value:function(e){return e.type===i.NodeType.ArrowFunctionExpression}},{key:"isAssignmentPatternNode",value:function(e){return e.type===i.NodeType.AssignmentPattern}},{key:"isAwaitExpressionNode",value:function(e){return e.type===i.NodeType.AwaitExpression}},{key:"isBlockStatementNode",value:function(e){return e.type===i.NodeType.BlockStatement}},{key:"isBreakStatementNode",value:function(e){return e.type===i.NodeType.BreakStatement}},{key:"isCallExpressionNode",value:function(e){return e.type===i.NodeType.CallExpression}},{key:"isCatchClauseNode",value:function(e){return e.type===i.NodeType.CatchClause}},{key:"isClassDeclarationNode",value:function(e){return e.type===i.NodeType.ClassDeclaration}},{key:"isContinueStatementNode",value:function(e){return e.type===i.NodeType.ContinueStatement}},{key:"isExportNamedDeclarationNode",value:function(e){return e.type===i.NodeType.ExportNamedDeclaration}},{key:"isExpressionStatementNode",value:function(e){return e.type===i.NodeType.ExpressionStatement}},{key:"isFunctionDeclarationNode",value:function(e){return e.type===i.NodeType.FunctionDeclaration}},{key:"isFunctionExpressionNode",value:function(e){return e.type===i.NodeType.FunctionExpression}},{key:"isIdentifierNode",value:function(e){return e.type===i.NodeType.Identifier}},{key:"isIfStatementNode",value:function(e){return e.type===i.NodeType.IfStatement}},{key:"isImportDeclarationNode",value:function(e){return e.type===i.NodeType.ImportDeclaration}},{key:"isImportDefaultSpecifierNode",value:function(e){return e.type===i.NodeType.ImportDefaultSpecifier}},{key:"isImportNamespaceSpecifierNode",value:function(e){return e.type===i.NodeType.ImportNamespaceSpecifier}},{key:"isImportSpecifierNode",value:function(e){return e.type===i.NodeType.ImportSpecifier}},{key:"isLabelIdentifierNode",value:function(t,r){var n=e.isLabeledStatementNode(r)&&r.label===t,o=e.isContinueStatementNode(r)&&r.label===t,a=e.isBreakStatementNode(r)&&r.label===t;return n||o||a}},{key:"isLabeledStatementNode",value:function(e){return e.type===i.NodeType.LabeledStatement}},{key:"isLiteralNode",value:function(e){return e.type===i.NodeType.Literal}},{key:"isMemberExpressionNode",value:function(e){return e.type===i.NodeType.MemberExpression}},{key:"isMethodDefinitionNode",value:function(e){return e.type===i.NodeType.MethodDefinition}},{key:"isNode",value:function(e){return e&&void 0!==!e.type}},{key:"isNodeHasBlockScope",value:function(t,r){return e.isProgramNode(t)||e.isBlockStatementNode(t)&&e.nodesWithBlockScope.includes(r.type)}},{key:"isNodeHasScope",value:function(t){return e.isProgramNode(t)||e.isBlockStatementNode(t)||e.isSwitchCaseNode(t)}},{key:"isNodeWithComments",value:function(e){return Boolean(e.leadingComments)||Boolean(e.trailingComments)}},{key:"isObjectPatternNode",value:function(e){return e.type===i.NodeType.ObjectPattern}},{key:"isObjectExpressionNode",value:function(e){return e.type===i.NodeType.ObjectExpression}},{key:"isProgramNode",value:function(e){return e.type===i.NodeType.Program}},{key:"isPropertyNode",value:function(e){return e.type===i.NodeType.Property}},{key:"isReplaceableIdentifierNode",value:function(t,r){if(!e.isIdentifierNode(t))return!1;var n=e.isPropertyNode(r)&&!r.computed&&r.key===t,o=e.isMemberExpressionNode(r)&&!r.computed&&r.property===t,a=e.isMethodDefinitionNode(r)&&!r.computed,i=e.isLabelIdentifierNode(t,r);return!(n||o||a||i)}},{key:"isRestElementNode",value:function(e){return e.type===i.NodeType.RestElement}},{key:"isReturnStatementNode",value:function(e){return e.type===i.NodeType.ReturnStatement}},{key:"isSuperNode",value:function(e){return e.type===i.NodeType.Super}},{key:"isSwitchCaseNode",value:function(e){return e.type===i.NodeType.SwitchCase}},{key:"isTaggedTemplateExpressionNode",value:function(e){return e.type===i.NodeType.TaggedTemplateExpression}},{key:"isTemplateLiteralNode",value:function(e){return e.type===i.NodeType.TemplateLiteral}},{key:"isUnaryExpressionNode",value:function(e){return e.type===i.NodeType.UnaryExpression}},{key:"isUseStrictOperator",value:function(e){return e.type===i.NodeType.ExpressionStatement&&"use strict"===e.directive}},{key:"isVariableDeclarationNode",value:function(e){return e.type===i.NodeType.VariableDeclaration}},{key:"isVariableDeclaratorNode",value:function(e){return e.type===i.NodeType.VariableDeclarator}},{key:"isWhileStatementNode",value:function(e){return e.type===i.NodeType.WhileStatement}}]),e}();s.nodesWithBlockScope=[i.NodeType.ArrowFunctionExpression,i.NodeType.FunctionDeclaration,i.NodeType.FunctionExpression,i.NodeType.MethodDefinition],t.NodeGuards=s},function(e,t,r){"use strict";var n=r(0),o=n(r(62)),a=n(r(36)),i=n(r(2)),s=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var c=__importStar(r(46)),d=__importStar(r(61)),u=__importStar(r(18)),l=r(9),f=r(19),p=function(){function e(){(0,i.default)(this,e)}return(0,s.default)(e,null,[{key:"addXVerbatimPropertyToLiteralNode",value:function(e){return l.NodeGuards.isLiteralNode(e)&&(e["x-verbatim-property"]={content:e.raw,precedence:c.Precedence.Primary}),e}},{key:"clone",value:function(t){return e.parentize(e.cloneRecursive(t))}},{key:"convertCodeToStructure",value:function(t){var r=d.parse(t,{sourceType:"script"});return u.replace(r,{enter:function(t,r){return e.parentizeNode(t,r),e.addXVerbatimPropertyToLiteralNode(t),f.NodeMetadata.set(t,{ignoredNode:!1}),t}}),r.body}},{key:"convertStructureToCode",value:function(e){return e.reduce(function(e,t){return e+c.generate(t,{sourceMapWithCode:!0}).code},"")}},{key:"getBlockScopesOfNode",value:function(t){return e.getBlockScopesOfNodeRecursive(t)}},{key:"getNextSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,1)}},{key:"getPreviousSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,-1)}},{key:"getScopeOfNode",value:function(t){var r=t.parentNode;if(!r)throw new ReferenceError("`parentNode` property of given node is `undefined`");return l.NodeGuards.isNodeHasScope(r)?r:e.getScopeOfNode(r)}},{key:"getUnaryExpressionArgumentNode",value:function(t){return l.NodeGuards.isUnaryExpressionNode(t.argument)?e.getUnaryExpressionArgumentNode(t.argument):t.argument}},{key:"parentize",value:function(t){return u.replace(t,{enter:e.parentizeNode}),t}},{key:"parentizeNode",value:function(e,t){return e.parentNode=t||e,e}},{key:"cloneRecursive",value:function(t){if(null===t)return t;var r={};return(0,a.default)(t).forEach(function(n){if("parentNode"!==n){var a,i=t[n];a=null===i||i instanceof RegExp?i:Array.isArray(i)?i.map(e.cloneRecursive):"object"===(0,o.default)(i)?e.cloneRecursive(i):i,r[n]=a}}),r}},{key:"getBlockScopesOfNodeRecursive",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=t.parentNode;if(!o)throw new ReferenceError("`parentNode` property of given node is `undefined`");return l.NodeGuards.isBlockStatementNode(t)&&o===t&&r.push(t),(l.NodeGuards.isProgramNode(t)||n&&l.NodeGuards.isNodeHasBlockScope(t,o))&&r.push(t),t!==o?e.getBlockScopesOfNodeRecursive(o,r,++n):r}},{key:"getSiblingStatementNodeByOffset",value:function(t,r){var n=e.getScopeOfNode(t),o=l.NodeGuards.isSwitchCaseNode(n)?n.consequent:n.body;return o[o.indexOf(t)+r]||null}}]),e}();t.NodeUtils=p},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(196)),i=n(r(195)),s=n(r(194)),c=n(r(193)),d=n(r(192)),u=n(r(191)),l=n(r(31)),f=n(r(36));Object.defineProperty(t,"__esModule",{value:!0});var p={configurable:!0,enumerable:!0},m="_initialized",g="_initializablePropertiesSet",N="_wrappedMethodsSet",_="constructor";function v(e,t,r){(0,u.default)(e,r)||(0,d.default)(e,t,r)}t.initializable=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"initialize",t=(0,f.default)(this)[0];return function(r,n){var u=r[e];if(!u||"function"!=typeof u)throw new Error("`".concat(e,"` method with initialization logic not ")+"found. `@".concat(t,"` decorator requires `").concat(e,"` method"));return v(m,!1,r),v(g,new l.default,r),v(N,new l.default,r),function(e,t){var r=(0,c.default)(e),n=[t,_];r.forEach(function(r){var c=(0,s.default)(g,e),d=(0,s.default)(N,e),u=n.includes(r)||c.has(r)||d.has(r);if(!u){var l=e[r];if("function"==typeof l){var f=(0,i.default)(e,r)||p,_=f.value;(0,a.default)(e,r,(0,o.default)({},f,{value:function(){if(!(0,s.default)(m,this))throw new Error("Class should be initialized with `".concat(t,"()` method"));return _.apply(this,arguments)}})),d.add(r)}}})}(r,e),function(e,t,r){var n=(0,i.default)(e,t)||p,s=n.value;(0,a.default)(e,t,(0,o.default)({},n,{value:function(){(0,d.default)(m,!0,this);var e=s.apply(this,arguments);return this[r],e}}))}(r,e,n),function(e,t){(0,s.default)(g,e).add(t);var r="_".concat(t),n=(0,i.default)(e,r)||p;return(0,a.default)(e,t,(0,o.default)({},n,{get:function(){if(void 0===this[r])throw new Error("Property `".concat(t,"` is not initialized! Initialize it first!"));return this[r]},set:function(e){this[r]=e}})),n}(r,n)}}},function(e,t){e.exports=require("@babel/runtime/core-js/object/assign")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Preparing="Preparing",e.DeadCodeInjection="DeadCodeInjection",e.ControlFlowFlattening="ControlFlowFlattening",e.Converting="Converting",e.Obfuscating="Obfuscating",e.Finalizing="Finalizing"}(t.TransformationStage||(t.TransformationStage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=r(11),u=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"initialize",value:function(){this.nodeIdentifier=this.randomGenerator.getRandomInteger(0,1e4)}}]),e}();i.__decorate([d.initializable(),i.__metadata("design:type",Number)],u.prototype,"nodeIdentifier",void 0),i.__decorate([s.postConstruct(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[]),i.__metadata("design:returntype",void 0)],u.prototype,"initialize",null),u=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],u),t.AbstractNodeTransformer=u},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(46)),c=r(26),d=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"programNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.Program,body:e,sourceType:"script",metadata:{ignoredNode:!1}}}},{key:"arrayExpressionNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.ArrayExpression,elements:e,metadata:{ignoredNode:!1}}}},{key:"assignmentExpressionNode",value:function(e,t,r){return{type:c.NodeType.AssignmentExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"binaryExpressionNode",value:function(e,t,r){return{type:c.NodeType.BinaryExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"blockStatementNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.BlockStatement,body:e,metadata:{ignoredNode:!1}}}},{key:"breakStatement",value:function(e){var t={type:c.NodeType.BreakStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"callExpressionNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{type:c.NodeType.CallExpression,callee:e,arguments:t,metadata:{ignoredNode:!1}}}},{key:"continueStatement",value:function(e){var t={type:c.NodeType.ContinueStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"expressionStatementNode",value:function(e){return{type:c.NodeType.ExpressionStatement,expression:e,metadata:{ignoredNode:!1}}}},{key:"functionDeclarationNode",value:function(t,r,n){return{type:c.NodeType.FunctionDeclaration,id:e.identifierNode(t),params:r,body:n,generator:!1,metadata:{ignoredNode:!1}}}},{key:"functionExpressionNode",value:function(e,t){return{type:c.NodeType.FunctionExpression,params:e,body:t,generator:!1,metadata:{ignoredNode:!1}}}},{key:"ifStatementNode",value:function(e,t,r){return(0,o.default)({type:c.NodeType.IfStatement,test:e,consequent:t},r&&{alternate:r},{metadata:{ignoredNode:!1}})}},{key:"identifierNode",value:function(e){return{type:c.NodeType.Identifier,name:e,metadata:{ignoredNode:!1}}}},{key:"literalNode",value:function(e,t){return t=void 0!==t?t:"'".concat(e,"'"),{type:c.NodeType.Literal,value:e,raw:t,"x-verbatim-property":{content:t,precedence:s.Precedence.Primary},metadata:{ignoredNode:!1}}}},{key:"logicalExpressionNode",value:function(e,t,r){return{type:c.NodeType.LogicalExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"memberExpressionNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.MemberExpression,computed:r,object:e,property:t,metadata:{ignoredNode:!1}}}},{key:"methodDefinitionNode",value:function(e,t,r,n){return{type:c.NodeType.MethodDefinition,key:e,value:t,kind:r,computed:n,static:!1,metadata:{ignoredNode:!1}}}},{key:"objectExpressionNode",value:function(e){return{type:c.NodeType.ObjectExpression,properties:e,metadata:{ignoredNode:!1}}}},{key:"propertyNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.Property,key:e,value:t,kind:"init",method:!1,shorthand:!1,computed:r,metadata:{ignoredNode:!1}}}},{key:"returnStatementNode",value:function(e){return{type:c.NodeType.ReturnStatement,argument:e,metadata:{ignoredNode:!1}}}},{key:"switchStatementNode",value:function(e,t){return{type:c.NodeType.SwitchStatement,discriminant:e,cases:t,metadata:{ignoredNode:!1}}}},{key:"switchCaseNode",value:function(e,t){return{type:c.NodeType.SwitchCase,test:e,consequent:t,metadata:{ignoredNode:!1}}}},{key:"unaryExpressionNode",value:function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return{type:c.NodeType.UnaryExpression,operator:e,argument:t,prefix:r,metadata:{ignoredNode:!1}}}},{key:"updateExpressionNode",value:function(e,t){return{type:c.NodeType.UpdateExpression,operator:e,argument:t,prefix:!1,metadata:{ignoredNode:!1}}}},{key:"variableDeclarationNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"var";return{type:c.NodeType.VariableDeclaration,declarations:e,kind:t,metadata:{ignoredNode:!1}}}},{key:"variableDeclaratorNode",value:function(e,t){return{type:c.NodeType.VariableDeclarator,id:e,init:t,metadata:{ignoredNode:!1}}}},{key:"whileStatementNode",value:function(e,t){return{type:c.NodeType.WhileStatement,test:e,body:t,metadata:{ignoredNode:!1}}}}]),e}();t.NodeFactory=d},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(4),u=r(172),l=r(171),f=i=function(){function e(t,r,n){(0,o.default)(this,e),this.cachedNode=null,this.identifierNamesGenerator=t(n),this.randomGenerator=r,this.options=n}return(0,a.default)(e,[{key:"getNode",value:function(){return this.cachedNode||(this.cachedNode=this.getNodeStructure()),this.cachedNode}},{key:"getGlobalVariableTemplate",value:function(){return this.randomGenerator.getRandomGenerator().pickone(i.globalVariableTemplateFunctions)}}]),e}();f.globalVariableTemplateFunctions=[u.GlobalVariableTemplate1(),l.GlobalVariableTemplate2()],f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(2,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Function,Object,Object])],f),t.AbstractCustomNode=f},function(e,t){e.exports=require("@babel/runtime/core-js/map")},function(e,t){e.exports=require("estraverse")},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"set",value:function(e,t){e.metadata=(0,o.default)(e.metadata||{},t)}},{key:"get",value:function(e,t){return void 0!==e.metadata?e.metadata[t]:void 0}},{key:"isIgnoredNode",value:function(t){return!0===e.get(t,"ignoredNode")}},{key:"isRenamedIdentifier",value:function(t){return!0===e.get(t,"renamedIdentifier")}},{key:"isReplacedLiteral",value:function(t){return!0===e.get(t,"replacedLiteral")}}]),e}();t.NodeMetadata=s},function(e,t){e.exports=require("string-template")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BaseIdentifierObfuscatingReplacer="BaseIdentifierObfuscatingReplacer"}(t.IdentifierObfuscatingReplacer||(t.IdentifierObfuscatingReplacer={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionFunctionNode="BinaryExpressionFunctionNode",e.BlockStatementControlFlowFlatteningNode="BlockStatementControlFlowFlatteningNode",e.CallExpressionControlFlowStorageCallNode="CallExpressionControlFlowStorageCallNode",e.CallExpressionFunctionNode="CallExpressionFunctionNode",e.ControlFlowStorageNode="ControlFlowStorageNode",e.ExpressionWithOperatorControlFlowStorageCallNode="ExpressionWithOperatorControlFlowStorageCallNode",e.LogicalExpressionFunctionNode="LogicalExpressionFunctionNode",e.StringLiteralControlFlowStorageCallNode="StringLiteralControlFlowStorageCallNode",e.StringLiteralNode="StringLiteralNode"}(t.ControlFlowCustomNode||(t.ControlFlowCustomNode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Browser="browser",e.BrowserNoEval="browser-no-eval",e.Node="node"}(t.ObfuscationTarget||(t.ObfuscationTarget={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.AfterObfuscation="afterObfuscation",e.BeforeObfuscation="beforeObfuscation"}(t.ObfuscationEvent||(t.ObfuscationEvent={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(9),c=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"appendNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t)).concat((0,o.default)(r)))}},{key:"appendNodeToOptimalBlockScope",value:function(t,r,n){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;o=t.length?e.getOptimalBlockScope(t,a):r,e.prependNode(o,n)}},{key:"getOptimalBlockScope",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,o=t[r];if(n<=0)throw new Error("Invalid `deep` argument value. Value should be bigger then 0.");return n>1&&o.stackTrace.length?e.getOptimalBlockScope(o.stackTrace,0,--n):o.callee}},{key:"insertNodeAfter",value:function(t,r,n){var o=e.getScopeNodeStatements(t).indexOf(n);e.insertNodeAtIndex(t,r,o+1)}},{key:"insertNodeAtIndex",value:function(t,r,n){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t).slice(0,n)).concat((0,o.default)(r),(0,o.default)(e.getScopeNodeStatements(t).slice(n))))}},{key:"prependNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(r).concat((0,o.default)(e.getScopeNodeStatements(t))))}},{key:"getScopeNodeStatements",value:function(e){return s.NodeGuards.isSwitchCaseNode(e)?e.consequent:e.body}},{key:"parentizeScopeStatementsBeforeAppend",value:function(e,t){return t.forEach(function(t){t.parentNode=e}),t}},{key:"setScopeNodeStatements",value:function(e,t){s.NodeGuards.isSwitchCaseNode(e)?e.consequent=t:e.body=t}}]),e}();t.NodeAppender=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ArrayExpression="ArrayExpression",e.ArrayPattern="ArrayPattern",e.ArrowFunctionExpression="ArrowFunctionExpression",e.AssignmentExpression="AssignmentExpression",e.AssignmentPattern="AssignmentPattern",e.AwaitExpression="AwaitExpression",e.BinaryExpression="BinaryExpression",e.BlockStatement="BlockStatement",e.BreakStatement="BreakStatement",e.CallExpression="CallExpression",e.CatchClause="CatchClause",e.ClassDeclaration="ClassDeclaration",e.ContinueStatement="ContinueStatement",e.ExportNamedDeclaration="ExportNamedDeclaration",e.ExpressionStatement="ExpressionStatement",e.FunctionDeclaration="FunctionDeclaration",e.FunctionExpression="FunctionExpression",e.Identifier="Identifier",e.IfStatement="IfStatement",e.ImportDeclaration="ImportDeclaration",e.ImportDefaultSpecifier="ImportDefaultSpecifier",e.ImportNamespaceSpecifier="ImportNamespaceSpecifier",e.ImportSpecifier="ImportSpecifier",e.LabeledStatement="LabeledStatement",e.Literal="Literal",e.LogicalExpression="LogicalExpression",e.MemberExpression="MemberExpression",e.MethodDefinition="MethodDefinition",e.ObjectExpression="ObjectExpression",e.ObjectPattern="ObjectPattern",e.Program="Program",e.Property="Property",e.RestElement="RestElement",e.ReturnStatement="ReturnStatement",e.Super="Super",e.SwitchCase="SwitchCase",e.SwitchStatement="SwitchStatement",e.TaggedTemplateExpression="TaggedTemplateExpression",e.TemplateLiteral="TemplateLiteral",e.TryStatement="TryStatement",e.UnaryExpression="UnaryExpression",e.UpdateExpression="UpdateExpression",e.VariableDeclaration="VariableDeclaration",e.VariableDeclarator="VariableDeclarator",e.WhileStatement="WhileStatement"}(t.NodeType||(t.NodeType={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(1),c=r(4),d=r(204),u=r(199),l=r(185),f=r(179),p=r(132),m=r(131),g=r(128),N=r(127),_=r(114),v=r(99),y=r(89),h=r(84),b=r(78),S=r(65),I=r(75),C=r(73),F=r(72),O=r(71),j=r(70),T=function(){function e(){(0,a.default)(this,e),this.container=new s.Container}return(0,i.default)(e,[{key:"get",value:function(e){return this.container.get(e)}},{key:"getNamed",value:function(e,t){return this.container.getNamed(e,t)}},{key:"load",value:function(e,t){this.container.bind(c.ServiceIdentifiers.ISourceCode).toDynamicValue(function(){return new F.SourceCode(e)}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.TInputOptions).toDynamicValue(function(){return t}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ILogger).to(S.Logger).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IJavaScriptObfuscator).to(b.JavaScriptObfuscator).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ITransformersRunner).to(j.TransformersRunner).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationResult).to(C.ObfuscationResult).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.Factory__IObfuscationResult).toFactory(function(e){return function(t,r){var n=e.container.get(c.ServiceIdentifiers.IObfuscationResult);return n.initialize(t,r),n}}),this.container.bind(c.ServiceIdentifiers.ISourceMapCorrector).to(O.SourceMapCorrector).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationEventEmitter).to(I.ObfuscationEventEmitter).inSingletonScope(),this.container.load(d.analyzersModule),this.container.load(u.controlFlowTransformersModule),this.container.load(l.convertingTransformersModule),this.container.load(f.customNodesModule),this.container.load(p.finalizingTransformersModule),this.container.load(m.generatorsModule),this.container.load(g.nodeTransformersModule),this.container.load(N.obfuscatingTransformersModule),this.container.load(_.optionsModule),this.container.load(v.preparingTransformersModule),this.container.load(y.storagesModule),this.container.load(h.utilsModule)}},{key:"unload",value:function(){this.container.unbindAll()}}],[{key:"getFactory",value:function(e){return function(t){return function(r){return t.container.getNamed(e,r)}}}},{key:"getCacheFactory",value:function(e){return function(t){var r=new o.default;return function(n){if(r.has(n))return r.get(n);var o=t.container.getNamed(e,n);return r.set(n,o),o}}}},{key:"getConstructorFactory",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n-1||0===e.indexOf("//")?e.split("/")[2]:e.split("/")[0]).split(":")[0]}},{key:"isCeilNumber",value:function(e){return e%1==0}},{key:"stringRotate",value:function(e,t){if(!e)throw new ReferenceError("Cannot rotate empty string.");for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new s.InversifyContainerFacade;r.load(e,t);var n=r.get(i.ServiceIdentifiers.IJavaScriptObfuscator).obfuscate(e);return r.unload(),n}}]),e}();c.version="0.17.0-dev.0",t.JavaScriptObfuscator=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base64="base64",e.Rc4="rc4"}(t.StringArrayEncoding||(t.StringArrayEncoding={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Inline="inline",e.Separate="separate"}(t.SourceMapMode||(t.SourceMapMode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.HexadecimalIdentifierNamesGenerator="hexadecimal",e.MangledIdentifierNamesGenerator="mangled"}(t.IdentifierNamesGenerator||(t.IdentifierNamesGenerator={}))},function(e,t,r){"use strict";var n=r(0)(r(2));Object.defineProperty(t,"__esModule",{value:!0});var o=r(5),a=r(1),i=r(4),s=function e(t){(0,n.default)(this,e),this.options=t};s=o.__decorate([a.injectable(),o.__param(0,a.inject(i.ServiceIdentifiers.IOptions)),o.__metadata("design:paramtypes",[Object])],s),t.AbstractObfuscatingReplacer=s},function(e,t){e.exports=require("@babel/runtime/helpers/get")},function(e,t,r){"use strict";var n=r(0)(r(55));Object.defineProperty(t,"__esModule",{value:!0});var o=r(40),a=r(23),i=r(39);t.NO_ADDITIONAL_NODES_PRESET=(0,n.default)({compact:!0,controlFlowFlattening:!1,controlFlowFlatteningThreshold:0,deadCodeInjection:!1,deadCodeInjectionThreshold:0,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",log:!1,renameGlobals:!1,reservedNames:[],rotateStringArray:!1,seed:0,selfDefending:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,stringArray:!1,stringArrayEncoding:!1,stringArrayThreshold:0,target:a.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableNoEvalTemplate=function(){return"\n var that = (typeof window !== 'undefined'\n ? window\n : (typeof process === 'object' &&\n typeof require === 'function' &&\n typeof global === 'object')\n ? global\n : this);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=s=function(){function e(t,r,n){(0,a.default)(this,e),this.replacerDataByControlFlowStorageId=new o.default,this.controlFlowCustomNodeFactory=t,this.randomGenerator=r,this.options=n}return(0,i.default)(e,[{key:"insertCustomNodeToControlFlowStorage",value:function(e,t,r,n){var o=this,a=t.getStorageId(),i=s.getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId,a),c=i.get(r);if(this.randomGenerator.getMathRandom()1&&void 0!==arguments[1]?arguments[1]:i.randomGeneratorPool;return this.getRandomGenerator().string({length:e,pool:t})}},{key:"getSeed",value:function(){return this.seed}}]),e}();p.randomGeneratorPool="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",s.__decorate([f.initializable(),s.__metadata("design:type",Object)],p.prototype,"randomGenerator",void 0),s.__decorate([f.initializable(),s.__metadata("design:type",Number)],p.prototype,"seed",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],p.prototype,"initialize",null),p=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.ISourceCode)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],p),t.RandomGenerator=p},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(30)),i=n(r(35)),s=n(r(17)),c=n(r(2)),d=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=function(){function e(t,r){(0,c.default)(this,e),this.randomGenerator=t,this.options=r}return(0,d.default)(e,[{key:"initialize",value:function(){this.storage=new s.default,this.storageId=this.randomGenerator.getRandomString(6)}},{key:"get",value:function(e){var t=this.storage.get(e);if(!t)throw new Error("No value found in map storage with key `".concat(e,"`"));return t}},{key:"getKeyOf",value:function(e){var t=!0,r=!1,n=void 0;try{for(var o,s=(0,i.default)(this.storage);!(t=(o=s.next()).done);t=!0){var c=(0,a.default)(o.value,2),d=c[0];if(e===c[1])return d}}catch(e){r=!0,n=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw n}}return null}},{key:"getLength",value:function(){return this.storage.size}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"has",value:function(e){return this.storage.has(e)}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=new s.default((0,o.default)(this.storage).concat((0,o.default)(e.getStorage()))),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){this.storage.set(e,t)}}]),e}();u.__decorate([p.initializable(),u.__metadata("design:type",String)],m.prototype,"storageId",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",s.default)],m.prototype,"storage",void 0),u.__decorate([l.postConstruct(),u.__metadata("design:type",Function),u.__metadata("design:paramtypes",[]),u.__metadata("design:returntype",void 0)],m.prototype,"initialize",null),m=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],m),t.MapStorage=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlackListNodeGuard="BlackListNodeGuard",e.ConditionalCommentNodeGuard="ConditionalCommentNodeGuard"}(t.ObfuscatingGuard||(t.ObfuscatingGuard={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BooleanLiteralObfuscatingReplacer="BooleanLiteralObfuscatingReplacer",e.NumberLiteralObfuscatingReplacer="NumberLiteralObfuscatingReplacer",e.StringLiteralObfuscatingReplacer="StringLiteralObfuscatingReplacer"}(t.LiteralObfuscatingReplacer||(t.LiteralObfuscatingReplacer={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"isValidIdentifierName",value:function(e){return!this.options.reservedNames.length||!this.options.reservedNames.some(function(t){return null!==new RegExp(t,"g").exec(e)})}}]),e}();d=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],d),t.AbstractIdentifierNamesGenerator=d},function(e,t){e.exports=require("@babel/runtime/core-js/object/freeze")},function(e,t){e.exports=require("@babel/runtime/core-js/array/from")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ConsoleOutputCustomNodeGroup="ConsoleOutputCustomNodeGroup",e.DebugProtectionCustomNodeGroup="DebugProtectionCustomNodeGroup",e.DomainLockCustomNodeGroup="DomainLockCustomNodeGroup",e.SelfDefendingCustomNodeGroup="SelfDefendingCustomNodeGroup",e.StringArrayCustomNodeGroup="StringArrayCustomNodeGroup"}(t.CustomNodeGroup||(t.CustomNodeGroup={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlockStatementDeadCodeInjectionNode="BlockStatementDeadCodeInjectionNode"}(t.DeadCodeInjectionCustomNode||(t.DeadCodeInjectionCustomNode={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(22),p=r(45),m=r(9),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(f.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!m.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(p.AbstractControlFlowReplacer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.ExpressionWithOperatorControlFlowReplacer=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionControlFlowReplacer="BinaryExpressionControlFlowReplacer",e.CallExpressionControlFlowReplacer="CallExpressionControlFlowReplacer",e.LogicalExpressionControlFlowReplacer="LogicalExpressionControlFlowReplacer",e.StringLiteralControlFlowReplacer="StringLiteralControlFlowReplacer"}(t.ControlFlowReplacer||(t.ControlFlowReplacer={}))},function(e,t){e.exports=require("espree")},function(e,t){e.exports=require("@babel/runtime/helpers/typeof")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.FunctionDeclarationCalleeDataExtractor="FunctionDeclarationCalleeDataExtractor",e.FunctionExpressionCalleeDataExtractor="FunctionExpressionCalleeDataExtractor",e.ObjectExpressionCalleeDataExtractor="ObjectExpressionCalleeDataExtractor"}(t.CalleeDataExtractor||(t.CalleeDataExtractor={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base="[javascript-obfuscator]",e.CLI="[javascript-obfuscator-cli]"}(t.LoggingPrefix||(t.LoggingPrefix={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(4),u=s.__importDefault(r(49)),l=r(64),f=i=function(){function e(t){(0,o.default)(this,e),this.options=t}return(0,a.default)(e,[{key:"info",value:function(e,t){this.options.log&&i.log(i.colorInfo,l.LoggingPrefix.Base,e,t)}},{key:"success",value:function(e,t){this.options.log&&i.log(i.colorSuccess,l.LoggingPrefix.Base,e,t)}},{key:"warn",value:function(e,t){this.options.log&&i.log(i.colorWarn,l.LoggingPrefix.Base,e,t)}}],[{key:"log",value:function(e,t,r,n){var o=e("\n".concat(t," ").concat(r));console.log(o,n||"")}}]),e}();f.colorInfo=u.default.cyan,f.colorSuccess=u.default.green,f.colorWarn=u.default.yellow,f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object])],f),t.Logger=f},function(e,t){e.exports=require("reflect-metadata")},function(e,t){e.exports=require("path")},function(e,t,r){"use strict";var n=r(0),o=n(r(36)),a=n(r(12)),i=n(r(2)),s=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var c=r(5),d=c.__importStar(r(217)),u=c.__importStar(r(67)),l=r(11),f=r(48),p=r(216),m=r(215),g=r(214),N=r(213),_=r(212),v=r(211),y=r(210),h=r(37),b=r(207),S=function(){function e(t){(0,i.default)(this,e),this.rawArguments=t,this.arguments=t.slice(2)}return(0,s.default)(e,[{key:"initialize",value:function(){this.inputPath=u.normalize(this.arguments[0]||""),this.commands=new d.Command,this.configureCommands(),this.configureHelp(),this.inputCLIOptions=this.commands.opts()}},{key:"run",value:function(){if(!this.arguments.length||this.arguments.includes("--help"))this.commands.outputHelp();else{var e=new b.SourceCodeReader(this.inputCLIOptions).readSourceCode(this.inputPath);this.processSourceCodeData(e)}}},{key:"buildOptions",value:function(){var t=e.filterOptions(this.inputCLIOptions),r=this.inputCLIOptions.config,n=r?u.resolve(r,"."):"",o=n?y.CLIUtils.getUserConfig(n):{};return(0,a.default)({},f.DEFAULT_PRESET,o,t)}},{key:"configureCommands",value:function(){this.commands.usage(" [options]").version("0.17.0-dev.0","-v, --version").option("-o, --output ","Output path for obfuscated code").option("--compact ","Disable one line output code compacting",m.BooleanSanitizer).option("--config ","Name of js / json config file").option("--control-flow-flattening ","Enables control flow flattening",m.BooleanSanitizer).option("--control-flow-flattening-threshold ","The probability that the control flow flattening transformation will be applied to the node",parseFloat).option("--dead-code-injection ","Enables dead code injection",m.BooleanSanitizer).option("--dead-code-injection-threshold ","The probability that the dead code injection transformation will be applied to the node",parseFloat).option("--debug-protection ","Disable browser Debug panel (can cause DevTools enabled browser freeze)",m.BooleanSanitizer).option("--debug-protection-interval ","Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)",m.BooleanSanitizer).option("--disable-console-output ","Allow console.log, console.info, console.error and console.warn messages output into browser console",m.BooleanSanitizer).option("--domain-lock (comma separated, without whitespaces)","Blocks the execution of the code in domains that do not match the passed RegExp patterns (comma separated)",p.ArraySanitizer).option("--exclude (comma separated, without whitespaces)","A filename or glob which indicates files to exclude from obfuscation",p.ArraySanitizer).option("--identifier-names-generator ","Sets identifier names generator. Values: hexadecimal, mangled. Default: hexadecimal",g.IdentifierNamesGeneratorSanitizer).option("--identifiers-prefix ","Sets prefix for all global identifiers.").option("--log ","Enables logging of the information to the console",m.BooleanSanitizer).option("--reserved-names (comma separated, without whitespaces)","Disables obfuscation and generation of identifiers, which being matched by passed RegExp patterns (comma separated)",p.ArraySanitizer).option("--rename-globals ","Allows to enable obfuscation of global variable and function names with declaration.",m.BooleanSanitizer).option("--rotate-string-array ","Disable rotation of unicode array values during obfuscation",m.BooleanSanitizer).option("--seed ","Sets seed for random generator. This is useful for creating repeatable results.",parseFloat).option("--self-defending ","Disables self-defending for obfuscated code",m.BooleanSanitizer).option("--source-map ","Enables source map generation",m.BooleanSanitizer).option("--source-map-base-url ","Sets base url to the source map import url when `--source-map-mode=separate`").option("--source-map-file-name ","Sets file name for output source map when `--source-map-mode=separate`").option("--source-map-mode ","Specify source map output mode. Values: inline, separate. Default: separate",_.SourceMapModeSanitizer).option("--string-array ","Disables gathering of all literal strings into an array and replacing every literal string with an array call",m.BooleanSanitizer).option("--string-array-encoding ","Encodes all strings in strings array using base64 or rc4 (this option can slow down your code speed. Values: true, false, base64, rc4. Default: false",v.StringArrayEncodingSanitizer).option("--string-array-threshold ","The probability that the literal string will be inserted into stringArray (Default: 0.8, Min: 0, Max: 1)",parseFloat).option("--target ","Allows to set target environment for obfuscated code. Values: browser, browser-no-eval, node. Default: browser",N.ObfuscationTargetSanitizer).option("--transform-object-keys ","Enables transformation of object keys",m.BooleanSanitizer).option("--unicode-escape-sequence ","Allows to enable/disable string conversion to unicode escape sequence",m.BooleanSanitizer).parse(this.rawArguments)}},{key:"configureHelp",value:function(){this.commands.on("--help",function(){console.log(" Examples:\n"),console.log(" %> javascript-obfuscator input_file_name.js --compact true --self-defending false"),console.log(" %> javascript-obfuscator input_file_name.js --output output_file_name.js --compact true --self-defending false"),console.log(" %> javascript-obfuscator input_directory_name --compact true --self-defending false"),console.log("")})}},{key:"processSourceCodeData",value:function(e){var t=this,r=this.inputCLIOptions.output?u.normalize(this.inputCLIOptions.output):"";if(Array.isArray(e))e.forEach(function(e,n){var o=e.filePath,a=e.content,i=r?u.join(r,o):y.CLIUtils.getOutputCodePath(o);t.processSourceCode(a,i,n)});else{var n=r||y.CLIUtils.getOutputCodePath(this.inputPath);this.processSourceCode(e,n,null)}}},{key:"processSourceCode",value:function(t,r,n){var o=this.buildOptions();if(null!==n){var i=this.inputCLIOptions.identifiersPrefix||e.baseIdentifiersPrefix,s="".concat(i).concat(n);o=(0,a.default)({},o,{identifiersPrefix:s})}o.sourceMap?e.processSourceCodeWithSourceMap(t,r,o):e.processSourceCodeWithoutSourceMap(t,r,o)}}],[{key:"filterOptions",value:function(e){var t={};return(0,o.default)(e).forEach(function(r){void 0!==e[r]&&(t[r]=e[r])}),t}},{key:"processSourceCodeWithoutSourceMap",value:function(e,t,r){var n=h.JavaScriptObfuscator.obfuscate(e,r).getObfuscatedCode();y.CLIUtils.writeFile(t,n)}},{key:"processSourceCodeWithSourceMap",value:function(e,t,r){var n=y.CLIUtils.getOutputSourceMapPath(t,r.sourceMapFileName||"");r=(0,a.default)({},r,{sourceMapFileName:u.basename(n)});var o=h.JavaScriptObfuscator.obfuscate(e,r);y.CLIUtils.writeFile(t,o.getObfuscatedCode()),"separate"===r.sourceMapMode&&o.getSourceMap()&&y.CLIUtils.writeFile(n,o.getSourceMap())}}]),e}();S.encoding="utf8",S.obfuscatedFilePrefix="-obfuscated",S.baseIdentifiersPrefix="a",c.__decorate([l.initializable(),c.__metadata("design:type",Object)],S.prototype,"commands",void 0),c.__decorate([l.initializable(),c.__metadata("design:type",Object)],S.prototype,"inputCLIOptions",void 0),c.__decorate([l.initializable(),c.__metadata("design:type",String)],S.prototype,"inputPath",void 0),t.JavaScriptObfuscatorCLI=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Enter="enter",e.Leave="leave"}(t.VisitorDirection||(t.VisitorDirection={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=i.__importStar(r(18)),u=r(69),l=r(9),f=r(19),p=function(){function e(t){(0,o.default)(this,e),this.nodeTransformerFactory=t}return(0,a.default)(e,[{key:"transform",value:function(e,t,r){if(!t.length)return e;for(var n,o=[],a=[],i=t.length,s=0;s"),c="...".concat(o.substring(a,i).replace(/^\s+/,""),"...");throw new Error("Line ".concat(n.line,": ").concat(r,"\n").concat(s," ").concat(c))}}]),e}();u.colorError=d.default.red,u.nearestSymbolsCount=15,u.sourceTypes=["script","module"],t.EspreeFacade=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.EmptySourceCode="Empty source code. Obfuscation canceled...",e.ObfuscationCompleted="Obfuscation completed. Total time: %s sec.",e.ObfuscationStarted="Obfuscation started...",e.RandomGeneratorSeed="Random generator seed: %s...",e.TransformationStage="Transformation stage: %s...",e.Version="Version: %s"}(t.LoggingMessage||(t.LoggingMessage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=c.__importStar(r(46)),f=r(77),p=r(32),m=r(13),g=r(76),N=r(9),_=s=function(){function e(t,r,n,o,i){(0,a.default)(this,e),this.transformersRunner=t,this.sourceMapCorrector=r,this.randomGenerator=n,this.logger=o,this.options=i}return(0,i.default)(e,[{key:"obfuscate",value:function(e){var t=Date.now();this.logger.info(f.LoggingMessage.Version,"0.16.0"),this.logger.info(f.LoggingMessage.ObfuscationStarted),this.logger.info(f.LoggingMessage.RandomGeneratorSeed,this.randomGenerator.getSeed());var r=this.parseCode(e),n=this.transformAstTree(r),o=this.generateCode(e,n),a=(Date.now()-t)/1e3;return this.logger.success(f.LoggingMessage.ObfuscationCompleted,a),this.getObfuscationResult(o)}},{key:"parseCode",value:function(e){return g.EspreeFacade.parse(e,s.espreeParseOptions)}},{key:"transformAstTree",value:function(e){return!N.NodeGuards.isProgramNode(e)||e.body.length||e.leadingComments||e.trailingComments?(e=this.runTransformationStage(e,m.TransformationStage.Preparing),this.options.deadCodeInjection&&(e=this.runTransformationStage(e,m.TransformationStage.DeadCodeInjection)),this.options.controlFlowFlattening&&(e=this.runTransformationStage(e,m.TransformationStage.ControlFlowFlattening)),e=this.runTransformationStage(e,m.TransformationStage.Converting),e=this.runTransformationStage(e,m.TransformationStage.Obfuscating),e=this.runTransformationStage(e,m.TransformationStage.Finalizing)):(this.logger.warn(f.LoggingMessage.EmptySourceCode),e)}},{key:"generateCode",value:function(e,t){var r=(0,o.default)({},s.escodegenParams);this.options.sourceMap&&(r.sourceMap="sourceMap",r.sourceContent=e);var n=l.generate(t,(0,o.default)({},r,{format:{compact:this.options.compact}}));return n.map=n.map?n.map.toString():"",n}},{key:"getObfuscationResult",value:function(e){return this.sourceMapCorrector.correct(e.code,e.map)}},{key:"runTransformationStage",value:function(e,t){return this.logger.info(f.LoggingMessage.TransformationStage,t),this.transformersRunner.transform(e,s.transformersList,t)}}]),e}();_.espreeParseOptions={attachComment:!0,comment:!0,ecmaFeatures:{experimentalObjectRestSpread:!0},ecmaVersion:9,loc:!0,range:!0},_.escodegenParams={comment:!0,verbatim:"x-verbatim-property",sourceMapWithCode:!0},_.transformersList=[p.NodeTransformer.BlockStatementControlFlowTransformer,p.NodeTransformer.ClassDeclarationTransformer,p.NodeTransformer.CommentsTransformer,p.NodeTransformer.CustomNodesTransformer,p.NodeTransformer.DeadCodeInjectionTransformer,p.NodeTransformer.EvalCallExpressionTransformer,p.NodeTransformer.FunctionControlFlowTransformer,p.NodeTransformer.CatchClauseTransformer,p.NodeTransformer.FunctionDeclarationTransformer,p.NodeTransformer.FunctionTransformer,p.NodeTransformer.ImportDeclarationTransformer,p.NodeTransformer.LabeledStatementTransformer,p.NodeTransformer.LiteralTransformer,p.NodeTransformer.MemberExpressionTransformer,p.NodeTransformer.MetadataTransformer,p.NodeTransformer.MethodDefinitionTransformer,p.NodeTransformer.ObfuscatingGuardsTransformer,p.NodeTransformer.ObjectExpressionKeysTransformer,p.NodeTransformer.ObjectExpressionTransformer,p.NodeTransformer.ParentificationTransformer,p.NodeTransformer.TemplateLiteralTransformer,p.NodeTransformer.VariableDeclarationTransformer],_=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.ITransformersRunner)),c.__param(1,d.inject(u.ServiceIdentifiers.ISourceMapCorrector)),c.__param(2,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(3,d.inject(u.ServiceIdentifiers.ILogger)),c.__param(4,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],_),t.JavaScriptObfuscator=_},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(5),c=r(1),d=function(){function e(){(0,a.default)(this,e),this.stringsCache=new o.default}return(0,i.default)(e,[{key:"encode",value:function(e,t){var r="".concat(e,"-").concat(String(t));if(this.stringsCache.has(r))return this.stringsCache.get(r);var n,o,a=new RegExp("[\\s\\S]","g"),i=new RegExp("['\"\\\\\\s]"),s=new RegExp("[\\x00-\\x7F]"),c=e.replace(a,function(e){return t||i.exec(e)?(s.exec(e)?(n="\\x",o="00"):(n="\\u",o="0000"),"".concat(n).concat((o+e.charCodeAt(0).toString(16)).slice(-o.length))):e});return this.stringsCache.set(r,c),c}}]),e}();d=s.__decorate([c.injectable()],d),t.EscapeSequenceEncoder=d},function(e,t){e.exports=require("chance")},function(e,t){e.exports=require("md5")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=r(50),u=r(28),l=function(){function e(t){(0,o.default)(this,e),this.randomGenerator=t}return(0,a.default)(e,[{key:"btoa",value:function(e){var t="";e=encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode(parseInt("".concat(u.Utils.hexadecimalPrefix).concat(t)))});for(var r,n,o=0,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.charAt(0|o)||(a="=",o%1);t+=a.charAt(63&r>>8-o%1*8)){if((n=e.charCodeAt(o+=.75))>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");r=r<<8|n}return t}},{key:"hideString",value:function(e,t){var r=this,n=this.randomGenerator.getRandomGenerator().string({length:t,pool:d.RandomGenerator.randomGeneratorPool}).replace(new RegExp("[".concat(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"]"),"g"),""),o=n.split("");return this.randomGenerator.getRandomGenerator().shuffle(o),[function(e,t){for(var n=-1,o=-1,a="";n=0?t:null}},{key:"getLength",value:function(){return this.storageLength}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=(0,o.default)(this.storage).concat((0,o.default)(e.getStorage())),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){e===this.storageLength?this.storage.push(t):this.storage.splice(e,0,t),this.storageLength++}}]),e}();s.__decorate([u.initializable(),s.__metadata("design:type",Array)],l.prototype,"storage",void 0),s.__decorate([u.initializable(),s.__metadata("design:type",String)],l.prototype,"storageId",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],l.prototype,"initialize",null),l=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],l),t.ArrayStorage=l},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(85),g=u=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).identifierNamesGenerator=e(i),c.arrayUtils=r,c}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this);var e=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),r=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),n="".concat(this.options.identifiersPrefix).concat(e),a="".concat(this.options.identifiersPrefix).concat(r);this.storageId="".concat(n,"|").concat(a)}},{key:"rotateArray",value:function(e){this.storage=this.arrayUtils.arrayRotate(this.storage,e)}},{key:"toString",value:function(){return this.storage.map(function(e){return"'".concat(e,"'")}).toString()}}]),t}(m.ArrayStorage);g.stringArrayNameLength=7,l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],g.prototype,"initialize",null),g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IArrayUtils)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],g),t.StringArrayStorage=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(57),g=r(51),N=u=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).customNodeGroupFactory=e,i}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){var e=this;(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this),u.customNodeGroupsList.forEach(function(t){var r=e.customNodeGroupFactory(t);r&&e.storage.set(t,r)})}}]),t}(g.MapStorage);N.customNodeGroupsList=[m.CustomNodeGroup.ConsoleOutputCustomNodeGroup,m.CustomNodeGroup.DebugProtectionCustomNodeGroup,m.CustomNodeGroup.DomainLockCustomNodeGroup,m.CustomNodeGroup.SelfDefendingCustomNodeGroup,m.CustomNodeGroup.StringArrayCustomNodeGroup],l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],N.prototype,"initialize",null),N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNodeGroup)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],N),t.CustomNodeGroupStorage=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(7)),s=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var c=r(5),d=r(1),u=r(4),l=function(e){function t(e,r){return(0,a.default)(this,t),(0,i.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,s.default)(t,e),t}(r(51).MapStorage);l=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(1,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object])],l),t.ControlFlowStorage=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(4),a=r(88),i=r(87),s=r(86);t.storagesModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.TCustomNodeGroupStorage).to(i.CustomNodeGroupStorage).inSingletonScope(),e(o.ServiceIdentifiers.TStringArrayStorage).to(s.StringArrayStorage).inSingletonScope(),e(o.ServiceIdentifiers.Newable__TControlFlowStorage).toConstructor(a.ControlFlowStorage),e(o.ServiceIdentifiers.Factory__TControlFlowStorage).toFactory(function(e){return function(){var t=new(e.container.get(o.ServiceIdentifiers.Newable__TControlFlowStorage))(e.container.get(o.ServiceIdentifiers.IRandomGenerator),e.container.get(o.ServiceIdentifiers.IOptions));return t.initialize(),t}})})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(10),g=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return m.NodeUtils.parentizeNode(e,t)}}]),t}(p.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],g),t.ParentificationTransformer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(52),m=r(13),g=r(14),N=r(19),_=d=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).obfuscatingGuards=d.obfuscatingGuardsList.map(e),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.obfuscatingGuards.every(function(t){return t.check(e)});return N.NodeMetadata.set(e,{ignoredNode:!r}),e}}]),t}(g.AbstractNodeTransformer);_.obfuscatingGuardsList=[p.ObfuscatingGuard.BlackListNodeGuard,p.ObfuscatingGuard.ConditionalCommentNodeGuard],_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__INodeGuard)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.ObfuscatingGuardsTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(9),g=r(19),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return g.NodeMetadata.set(e,{ignoredNode:!1}),m.NodeGuards.isIdentifierNode(e)&&g.NodeMetadata.set(e,{renamedIdentifier:!1}),m.NodeGuards.isLiteralNode(e)&&g.NodeMetadata.set(e,{replacedLiteral:!1}),e}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.MetadataTransformer=N},function(e,t){e.exports=require("js-string-escape")},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importDefault(r(93)),g=r(13),N=r(14),_=r(15),v=r(9),y=r(10),h=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).evalRootAstHostNodeSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Preparing:return{enter:function(e,r){if(r&&v.NodeGuards.isCallExpressionNode(e)&&v.NodeGuards.isIdentifierNode(e.callee)&&"eval"===e.callee.name)return t.transformNode(e,r)}};case g.TransformationStage.Finalizing:return this.evalRootAstHostNodeSet.size?{leave:function(e,r){if(r&&t.isEvalRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"transformNode",value:function(e,t){var r=e.arguments[0];if(!r)return e;var n,o=u.extractEvalStringFromCallExpressionArgument(r);if(!o)return e;try{n=y.NodeUtils.convertCodeToStructure(o)}catch(t){return e}var a=_.NodeFactory.functionExpressionNode([],_.NodeFactory.blockStatementNode(n));return this.evalRootAstHostNodeSet.add(a),a}},{key:"restoreNode",value:function(e,t){var r=e.body.body,n=y.NodeUtils.convertStructureToCode(r);return _.NodeFactory.callExpressionNode(_.NodeFactory.identifierNode("eval"),[_.NodeFactory.literalNode(m.default(n))])}},{key:"isEvalRootAstHostNode",value:function(e){return v.NodeGuards.isFunctionExpressionNode(e)&&this.evalRootAstHostNodeSet.has(e)}}],[{key:"extractEvalStringFromCallExpressionArgument",value:function(e){return v.NodeGuards.isLiteralNode(e)?u.extractEvalStringFromLiteralNode(e):v.NodeGuards.isTemplateLiteralNode(e)?u.extractEvalStringFromTemplateLiteralNode(e):null}},{key:"extractEvalStringFromLiteralNode",value:function(e){return"string"==typeof e.value?e.value:null}},{key:"extractEvalStringFromTemplateLiteralNode",value:function(e){var t=e.quasis;return 1!==t.length||e.expressions.length?null:t[0].value.cooked}}]),t}(N.AbstractNodeTransformer);h=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],h),t.EvalCallExpressionTransformer=h},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(24),p=r(13),m=r(14),g=r(9),N=function(e){function t(e,r,n,i,c){var d;return(0,a.default)(this,t),(d=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,i,c))).stackTraceData=[],d.stackTraceAnalyzer=e,d.obfuscationEventEmitter=r,d.customNodeGroupStorage=n,d}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Preparing:return{leave:function(e,r){if(g.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),t.appendCustomNodesBeforeObfuscation(e,r),t.transformNode(e,r)}};case p.TransformationStage.Finalizing:return{leave:function(e,r){g.NodeGuards.isProgramNode(e)&&t.appendCustomNodesAfterObfuscation(e,r)}};default:return null}}},{key:"analyzeNode",value:function(e,t){this.stackTraceData=this.stackTraceAnalyzer.analyze(e)}},{key:"transformNode",value:function(e,t){return e}},{key:"appendCustomNodesBeforeObfuscation",value:function(e,t){var r=this;this.customNodeGroupStorage.getStorage().forEach(function(e){e.initialize(),r.obfuscationEventEmitter.once(e.getAppendEvent(),e.appendCustomNodes.bind(e))}),this.obfuscationEventEmitter.emit(f.ObfuscationEvent.BeforeObfuscation,e,this.stackTraceData)}},{key:"appendCustomNodesAfterObfuscation",value:function(e,t){this.obfuscationEventEmitter.emit(f.ObfuscationEvent.AfterObfuscation,e,this.stackTraceData)}}]),t}(m.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IStackTraceAnalyzer)),d.__param(1,u.inject(l.ServiceIdentifiers.IObfuscationEventEmitter)),d.__param(2,u.inject(l.ServiceIdentifiers.TCustomNodeGroupStorage)),d.__param(3,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(4,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],N),t.CustomNodesTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(9),u=i=function(){function e(){(0,o.default)(this,e),this.obfuscationAllowedForCurrentNode=!0,this.obfuscationAllowedForNextNode=null}return(0,a.default)(e,[{key:"check",value:function(e){if(this.obfuscationAllowedForNextNode&&(this.obfuscationAllowedForCurrentNode=this.obfuscationAllowedForNextNode,this.obfuscationAllowedForNextNode=null),!d.NodeGuards.isNodeWithComments(e))return this.obfuscationAllowedForCurrentNode;var t=e.leadingComments,r=e.trailingComments;return t&&(this.obfuscationAllowedForCurrentNode=this.checkComments(t)),r&&(this.obfuscationAllowedForNextNode=this.checkComments(r)),this.obfuscationAllowedForCurrentNode}},{key:"checkComments",value:function(e){for(var t=e.length,r=this.obfuscationAllowedForCurrentNode,n=0;n=u.minimumLengthForStringArray&&this.randomGenerator.getMathRandom()<=this.options.stringArrayThreshold}},{key:"getStringArrayHexadecimalIndex",value:function(e,t){if(this.stringLiteralHexadecimalIndexCache.has(e))return{fromCache:!0,index:this.stringLiteralHexadecimalIndexCache.get(e)};var r=v.Utils.decToHex(t),n="".concat(v.Utils.hexadecimalPrefix).concat(r);return this.stringLiteralHexadecimalIndexCache.set(e,n),{fromCache:!1,index:n}}},{key:"getEncodedValue",value:function(e){var t,r=null;switch(this.options.stringArrayEncoding){case m.StringArrayEncoding.Rc4:r=this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys),t=this.cryptUtils.btoa(this.cryptUtils.rc4(e,r));break;case m.StringArrayEncoding.Base64:t=this.cryptUtils.btoa(e);break;default:t=e}return{encodedValue:t,key:r}}},{key:"replaceWithLiteralNode",value:function(e){return _.NodeFactory.literalNode(this.escapeSequenceEncoder.encode(e,this.options.unicodeEscapeSequence))}},{key:"replaceWithStringArrayCallNode",value:function(e){var t=this.getEncodedValue(e),r=t.encodedValue,n=t.key,o=this.escapeSequenceEncoder.encode(r,this.options.unicodeEscapeSequence),a=this.stringArrayStorage.getLength(),i=this.stringArrayStorage.getStorageId().split("|")[1],s=this.getStringArrayHexadecimalIndex(o,a),c=s.fromCache,d=s.index;c||this.stringArrayStorage.set(a,o);var l=[u.getHexadecimalLiteralNode(d)];n&&l.push(u.getRc4KeyLiteralNode(this.escapeSequenceEncoder.encode(n,this.options.unicodeEscapeSequence)));var f=_.NodeFactory.identifierNode(i);return N.NodeMetadata.set(f,{renamedIdentifier:!0}),_.NodeFactory.callExpressionNode(f,l)}}],[{key:"getHexadecimalLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return N.NodeMetadata.set(t,{replacedLiteral:!0}),t}},{key:"getRc4KeyLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return N.NodeMetadata.set(t,{replacedLiteral:!0}),t}}]),t}(g.AbstractObfuscatingReplacer);y.minimumLengthForStringArray=3,y.rc4KeyLength=4,y.rc4KeysCount=50,y=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(1,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.ICryptUtils)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],y),t.StringLiteralObfuscatingReplacer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(41),m=r(15),g=r(28),N=function(e){function t(e){var r;return(0,i.default)(this,t),(r=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e))).numberLiteralCache=new o.default,r}return(0,d.default)(t,e),(0,s.default)(t,[{key:"replace",value:function(e){var t;return this.numberLiteralCache.has(e)?t=this.numberLiteralCache.get(e):(t=g.Utils.isCeilNumber(e)?"".concat(g.Utils.hexadecimalPrefix).concat(g.Utils.decToHex(e)):String(e),this.numberLiteralCache.set(e,t)),m.NodeFactory.literalNode(e,t)}}]),t}(p.AbstractObfuscatingReplacer);N=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object])],N),t.NumberLiteralObfuscatingReplacer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(62)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(53),m=r(13),g=r(14),N=r(9),_=r(19),v=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).literalObfuscatingReplacerFactory=e,o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&N.NodeGuards.isLiteralNode(e)&&!_.NodeMetadata.isReplacedLiteral(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.isProhibitedNode(e,t))return e;switch((0,o.default)(e.value)){case"boolean":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.BooleanLiteralObfuscatingReplacer).replace(e.value);case"number":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.NumberLiteralObfuscatingReplacer).replace(e.value);case"string":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.StringLiteralObfuscatingReplacer).replace(e.value);default:return e}}},{key:"isProhibitedNode",value:function(e,t){return!(!N.NodeGuards.isPropertyNode(t)||t.key!==e)||!!N.NodeGuards.isImportDeclarationNode(t)}}]),t}(g.AbstractNodeTransformer);v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.LiteralTransformer=v},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importStar(r(18)),p=r(21),m=r(13),g=r(14),N=r(9),_=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(p.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&N.NodeGuards.isLabeledStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeLabeledStatementName(e,r),this.replaceLabeledStatementName(e,r),e}},{key:"storeLabeledStatementName",value:function(e,t){this.identifierObfuscatingReplacer.storeLocalName(e.label.name,t)}},{key:"replaceLabeledStatementName",value:function(e,t){var r=this;f.replace(e,{enter:function(e,n){if(n&&N.NodeGuards.isLabelIdentifierNode(e,n)){var o=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=o.name}}})}}]),t}(g.AbstractNodeTransformer);_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.LabeledStatementTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importStar(r(18)),g=r(21),N=r(13),_=r(14),v=r(9),y=r(19),h=r(10),b=u=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(g.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isImportDeclarationNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0];return this.storeImportSpecifierNames(e,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(n,r):this.replaceScopeIdentifiers(n,r),e}},{key:"storeImportSpecifierNames",value:function(e,t){var r=this;e.specifiers.forEach(function(e){u.isProhibitedImportSpecifierNode(e)||r.identifierObfuscatingReplacer.storeGlobalName(e.local.name,t)})}},{key:"replaceScopeCachedIdentifiers",value:function(e,t){var r=this;this.replaceableIdentifiers.get(e).forEach(function(e){var n=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=n.name,y.NodeMetadata.set(e,{renamedIdentifier:!0})})}},{key:"replaceScopeIdentifiers",value:function(e,t){var r=this,n=[];m.replace(e,{enter:function(e,o){if(o&&v.NodeGuards.isReplaceableIdentifierNode(e,o)&&!y.NodeMetadata.isRenamedIdentifier(e)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a?(e.name=a,y.NodeMetadata.set(e,{renamedIdentifier:!0})):n.push(e)}}}),this.replaceableIdentifiers.set(e,n)}}],[{key:"isProhibitedImportSpecifierNode",value:function(e){return v.NodeGuards.isImportSpecifierNode(e)&&e.imported.name===e.local.name}}]),t}(_.AbstractNodeTransformer);b=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],b),t.ImportDeclarationTransformer=b},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(21),g=r(13),N=r(14),_=r(9),v=r(19),y=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&(_.NodeGuards.isFunctionDeclarationNode(e)||_.NodeGuards.isFunctionExpressionNode(e)||_.NodeGuards.isArrowFunctionExpressionNode(e)))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeFunctionParams(e,r),this.replaceFunctionParams(e,r),e}},{key:"storeFunctionParams",value:function(e,t){var r=this;e.params.forEach(function(e){p.traverse(e,{enter:function(n){return _.NodeGuards.isPropertyNode(e)?p.VisitorOption.Skip:_.NodeGuards.isAssignmentPatternNode(n)&&_.NodeGuards.isIdentifierNode(n.left)?(r.identifierObfuscatingReplacer.storeLocalName(n.left.name,t),p.VisitorOption.Skip):void(_.NodeGuards.isIdentifierNode(n)&&r.identifierObfuscatingReplacer.storeLocalName(n.name,t))}})})}},{key:"addIdentifiersToIgnoredIdentifierNamesSet",value:function(e,t){e.forEach(function(e){e.key&&_.NodeGuards.isIdentifierNode(e.key)&&t.add(e.key.name)})}},{key:"replaceFunctionParams",value:function(e,t){var r=this,n=new o.default,a={enter:function(e,o){if(_.NodeGuards.isObjectPatternNode(e)&&r.addIdentifiersToIgnoredIdentifierNamesSet(e.properties,n),o&&_.NodeGuards.isReplaceableIdentifierNode(e,o)&&!n.has(e.name)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a&&(e.name=a,v.NodeMetadata.set(e,{renamedIdentifier:!0}))}}};e.params.forEach(function(e){return p.replace(e,a)}),p.replace(e.body,a)}}]),t}(N.AbstractNodeTransformer);y=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],y),t.FunctionTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(21),g=r(26),N=r(13),_=r(14),v=r(9),y=r(19),h=r(10),b=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isFunctionDeclarationNode(e)&&!v.NodeGuards.isExportNamedDeclarationNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0],o=n.type===g.NodeType.Program;return!this.options.renameGlobals&&o?e:(this.storeFunctionName(e,o,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(e,n,r):this.replaceScopeIdentifiers(n,r),e)}},{key:"storeFunctionName",value:function(e,t,r){t?this.identifierObfuscatingReplacer.storeGlobalName(e.id.name,r):this.identifierObfuscatingReplacer.storeLocalName(e.id.name,r)}},{key:"replaceScopeCachedIdentifiers",value:function(e,t,r){var n=this.replaceableIdentifiers.get(t);if(n){var o=n.get(e.id.name);if(o)for(var a=o.length,i=0;i=0);return"a".concat(n(r))},r=t(e);return this.isValidIdentifierName(r)||(r=this.generateNewMangledName(r)),r}}]),t}(m.AbstractIdentifierNamesGenerator);g.initMangledNameCharacter="9",g.nameSequence="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),g.reservedNames=["byte","case","char","do","else","enum","eval","for","goto","if","in","int","let","long","new","null","this","true","try","var","void","with"],g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],g),t.MangledIdentifierNamesGenerator=g},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(54),g=r(28),N=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).randomVariableNameSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"generate",value:function(){var e=this.randomGenerator.getRandomInteger(1e4,99999999),t=g.Utils.decToHex(e).substr(0,u.baseIdentifierNameLength),r="_".concat(g.Utils.hexadecimalPrefix).concat(t);return this.randomVariableNameSet.has(r)?this.generate():(this.randomVariableNameSet.add(r),r)}},{key:"generateWithPrefix",value:function(){var e=this.generate();return"".concat(this.options.identifiersPrefix).concat(e).replace("__","_")}}]),t}(m.AbstractIdentifierNamesGenerator);N.baseIdentifierNameLength=6,N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],N),t.HexadecimalIdentifierNamesGenerator=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(4),a=r(40),i=r(130),s=r(129);t.generatorsModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(i.HexadecimalIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator),e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(s.MangledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator),e(o.ServiceIdentifiers.Factory__IIdentifierNamesGenerator).toFactory(function(e){var t=null;return function(r){if(t)return t;var n;switch(r.identifierNamesGenerator){case a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator);break;case a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator:default:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator)}return t=n,n}})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1);t.finalizingTransformersModule=new n.ContainerModule(function(e){})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.literalValue=e}},{key:"getNodeStructure",value:function(){return[m.NodeFactory.expressionStatementNode(m.NodeFactory.literalNode(this.literalValue))]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"literalValue",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.StringLiteralNode=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.controlFlowStorageName=e,this.controlFlowStorageKey=t}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageName",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.StringLiteralControlFlowStorageCallNode=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.False="![]",e.True="!![]",e.a='(false+"")[1]',e.b='([]["entries"]()+"")[2]',e.c='([]["fill"]+"")[3]',e.d='(undefined+"")[2]',e.e='(true+"")[3]',e.f='(false+"")[0]',e.g="(false+[0]+String)[20]",e.h='(+(101))["toString"](21)[1]',e.i="([false]+undefined)[10]",e.j='([]["entries"]()+"")[3]',e.k='(+(20))["toString"](21)',e.l='(false+"")[2]',e.m='(Number+"")[11]',e.n='(undefined+"")[1]',e.o='(true+[]["fill"])[10]',e.p='(+(211))["toString"](31)[1]',e.q='(+(212))["toString"](31)[1]',e.r='(true+"")[1]',e.s='(false+"")[3]',e.t='(true+"")[0]',e.u='(undefined+"")[0]',e.v='(+(31))["toString"](32)',e.w='(+(32))["toString"](33)',e.x='(+(101))["toString"](34)[1]',e.y="(NaN+[Infinity])[10]",e.z='(+(35))["toString"](36)',e.A="(+[]+Array)[10]",e.B="(+[]+Boolean)[10]",e.C='Function("return escape")()(("")["italics"]())[2]',e.D='Function("return escape")()([]["fill"])["slice"]("-1")',e.E='(RegExp+"")[12]',e.F="(+[]+Function)[10]",e.G='(false+Function("return Date")()())[30]',e.H="'H'",e.I='(Infinity+"")[0]',e.J="'J'",e.K="'K'",e.L="'L'",e.M='(true+Function("return Date")()())[30]',e.N='(NaN+"")[0]',e.O='(NaN+Function("return{}")())[11]',e.P="'P'",e.Q="'Q'",e.R="(+[]+RegExp)[10]",e.S="(+[]+String)[10]",e.T='(NaN+Function("return Date")()())[30]',e.U='(NaN+Function("return{}")()["toString"]["call"]())[11]',e.V="'V'",e.W="'W'",e.X="'X'",e.Y="'Y'",e.Z="'Z'"}(t.JSFuck||(t.JSFuck={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionTemplate=function(){return"\n (function (array, {timesName}) {\n var {whileFunctionName} = function (times) {\n while (--times) {\n array['push'](array['shift']());\n }\n };\n \n {code}\n })({stringArrayName}, 0x{stringArrayRotateValue});\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var selfDefendingFunc = function () {\n var object = {\n data: {\n key: 'cookie',\n value: 'timeout'\n },\n setCookie: function (options, name, value, document) {\n document = document || {};\n \n var updatedCookie = name + \"=\" + value;\n\n var i = 0;\n \n for (var i = 0, len = options.length; i < len; i++) {\n var propName = options[i];\n \n updatedCookie += \"; \" + propName;\n \n var propValue = options[propName];\n \n options.push(propValue);\n len = options.length;\n \n if (propValue !== true) {\n updatedCookie += \"=\" + propValue;\n }\n }\n\n document['cookie'] = updatedCookie;\n },\n removeCookie: function(){return 'dev';},\n getCookie: function (document, name) {\n document = document || function (value) { return value };\n var matches = document(new RegExp(\n \"(?:^|; )\" + name.replace(/([.$?*|{}()[]\\/+^])/g, '\\$1') + \"=([^;]*)\"\n ));\n \n var func = function (param1, param2) {\n param1(++param2);\n };\n \n func({whileFunctionName}, {timesName});\n \n return matches ? decodeURIComponent(matches[1]) : undefined;\n }\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return regExp.test(object.removeCookie.toString());\n };\n \n object['updateCookie'] = test1;\n \n var cookie = '';\n var result = object['updateCookie']();\n \n if (!result) {\n object['setCookie'](['*'], 'counter', 1);\n } else if (result) {\n cookie = object['getCookie'](null, 'counter');\n } else {\n object['removeCookie']();\n }\n };\n \n selfDefendingFunc();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(43),N=r(137),_=r(136),v=r(16),y=r(37),h=r(10),b=r(28),S=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayRotateValue=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r="";return r=this.options.selfDefending?p.default(N.SelfDefendingTemplate(this.escapeSequenceEncoder),{timesName:e,whileFunctionName:t}):"".concat(t,"(++").concat(e,")"),y.JavaScriptObfuscator.obfuscate(p.default(_.StringArrayRotateFunctionTemplate(),{code:r,timesName:e,stringArrayName:this.stringArrayName,stringArrayRotateValue:b.Utils.decToHex(this.stringArrayRotateValue),whileFunctionName:t}),(0,o.default)({},g.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}}]),t}(v.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],S.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],S.prototype,"stringArrayRotateValue",void 0),S=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],S),t.StringArrayRotateFunctionNode=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTemplate=function(){return"\n var {stringArrayName} = [{stringArray}];\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(139),N=r(16),_=r(10),v=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.stringArrayStorage=e,this.stringArrayName=t,this.stringArrayRotateValue=r}},{key:"getNode",value:function(){return this.stringArrayStorage.rotateArray(this.stringArrayRotateValue),(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"getNode",this).call(this)}},{key:"getNodeStructure",value:function(){return _.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return p.default(g.StringArrayTemplate(),{stringArrayName:this.stringArrayName,stringArray:this.stringArrayStorage.toString()})}}]),t}(N.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",Object)],v.prototype,"stringArrayStorage",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",String)],v.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],v.prototype,"stringArrayRotateValue",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.StringArrayNode=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRc4DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {rc4Polyfill}\n {stringArrayCallsWrapperName}.").concat(r," = rc4;\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n\n if (cachedValue === undefined) {\n if ({stringArrayCallsWrapperName}.").concat(o," === undefined) {\n {selfDefendingCode}\n \n {stringArrayCallsWrapperName}.").concat(o," = true;\n }\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value, key);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperTemplate=function(){return"\n var {stringArrayCallsWrapperName} = function (index, key) {\n index = index - 0;\n \n var value = {stringArrayName}[index];\n \n {decodeNodeTemplate}\n \n return value;\n };\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayBase64DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {stringArrayCallsWrapperName}.").concat(r," = function (str) {\n var string = atob(str);\n var newStringChars = [];\n \n for (var i = 0, length = string.length; i < length; i++) {\n newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2);\n }\n \n return decodeURIComponent(newStringChars);\n };\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n \n if (cachedValue === undefined) {\n {selfDefendingCode}\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e,t){var r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6),a=e.getRandomString(6),i=e.getRandomString(6),s=e.getRandomString(6),c=e.getRandomString(6),d=e.getRandomString(6),u=e.getRandomString(6);return"\n var StatesClass = function (".concat(r,") {\n this.").concat(r," = ").concat(r,";\n this.").concat(n," = [1, 0, 0];\n this.").concat(o," = function(){return 'newState';};\n this.").concat(a," = '").concat(t.encode("\\w+ *\\(\\) *{\\w+ *",!0),"';\n this.").concat(i," = '").concat(t.encode("['|\"].+['|\"];? *}",!0),"';\n };\n \n StatesClass.prototype.").concat(s," = function () {\n var regExp = new RegExp(this.").concat(a," + this.").concat(i,");\n var expression = regExp.test(this.").concat(o,".toString())\n ? --this.").concat(n,"[1]\n : --this.").concat(n,"[0];\n \n return this.").concat(c,"(expression);\n };\n \n StatesClass.prototype.").concat(c," = function (").concat(u,") {\n if (!Boolean(~").concat(u,")) {\n return ").concat(u,";\n }\n \n return this.").concat(d,"(this.").concat(r,");\n };\n\n StatesClass.prototype.").concat(d," = function (").concat(r,") {\n for (var i = 0, len = this.").concat(n,".length; i < len; i++) {\n this.").concat(n,".push(Math.round(Math.random()));\n len = this.").concat(n,".length;\n }\n \n return ").concat(r,"(this.").concat(n,"[0]);\n };\n\n new StatesClass({stringArrayCallsWrapperName}).").concat(s,"();\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Rc4Template=function(){return"\n var rc4 = function (str, key) {\n var s = [], j = 0, x, res = '', newStr = '';\n \n str = atob(str);\n \n for (var k = 0, length = str.length; k < length; k++) {\n newStr += '%' + ('00' + str.charCodeAt(k).toString(16)).slice(-2);\n }\n \n str = decodeURIComponent(newStr);\n \t \n\t for (var i = 0; i < 256; i++) {\n s[i] = i;\n }\n \n for (i = 0; i < 256; i++) {\n j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n }\n \n i = 0;\n j = 0;\n \n for (var y = 0; y < str.length; y++) {\n i = (i + 1) % 256;\n j = (j + s[i]) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n res += String.fromCharCode(str.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);\n }\n \n return res;\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AtobTemplate=function(){return"\n (function () {\n {globalVariableTemplate}\n \n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n that.atob || (\n that.atob = function(input) {\n var str = String(input).replace(/=+$/, '');\n for (\n var bc = 0, bs, buffer, idx = 0, output = '';\n buffer = str.charAt(idx++);\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n buffer = chars.indexOf(buffer);\n }\n return output;\n });\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(23),g=r(38),N=r(11),_=r(43),v=r(146),y=r(44),h=r(145),b=r(144),S=r(143),I=r(142),C=r(141),F=r(16),O=r(37),j=r(10),T=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayCallsWrapperName=t}},{key:"getNodeStructure",value:function(){return j.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.getDecodeStringArrayTemplate();return O.JavaScriptObfuscator.obfuscate(p.default(I.StringArrayCallsWrapperTemplate(),{decodeNodeTemplate:e,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}},{key:"getDecodeStringArrayTemplate",value:function(){var e=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():y.GlobalVariableNoEvalTemplate(),t=p.default(v.AtobTemplate(),{globalVariableTemplate:e}),r="",n="";switch(this.options.selfDefending&&(n=p.default(b.SelfDefendingTemplate(this.randomGenerator,this.escapeSequenceEncoder),{stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName})),this.options.stringArrayEncoding){case g.StringArrayEncoding.Rc4:r=p.default(C.StringArrayRc4DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,rc4Polyfill:h.Rc4Template(),selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName});break;case g.StringArrayEncoding.Base64:r=p.default(S.StringArrayBase64DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}return r}}]),t}(F.AbstractCustomNode);u.__decorate([N.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayName",void 0),u.__decorate([N.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayCallsWrapperName",void 0),T=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],T),t.StringArrayCallsWrapper=T},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var {selfDefendingFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func1 = function(){return 'dev';},\n func2 = function () {\n return 'window';\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return !regExp.test(func1.toString());\n };\n \n var test2 = function () {\n var regExp = new RegExp('").concat(e.encode("(\\\\[x|u](\\w){2,4})+",!0),"');\n \n return regExp.test(func2.toString());\n };\n \n var recursiveFunc1 = function (string) {\n var i = ~-1 >> 1 + 255 % 0;\n \n if (string.indexOf('i' === i)) {\n recursiveFunc2(string)\n }\n };\n \n var recursiveFunc2 = function (string) {\n var i = ~-4 >> 1 + 255 % 0;\n \n if (string.indexOf((true+\"\")[3]) !== i) {\n recursiveFunc1(string)\n }\n };\n \n if (!test1()) {\n if (!test2()) {\n recursiveFunc1('indеxOf');\n } else {\n recursiveFunc1('indexOf');\n }\n } else {\n recursiveFunc1('indеxOf');\n }\n })\n \n {selfDefendingFunctionName}();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),g=r(43),N=r(148),_=r(16),v=r(37),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return v.JavaScriptObfuscator.obfuscate(p.default(N.SelfDefendingTemplate(this.escapeSequenceEncoder),{selfDefendingFunctionName:this.identifierNamesGenerator.generate(),singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},g.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed,unicodeEscapeSequence:!0})).getObfuscatedCode()}}]),t}(_.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.SelfDefendingUnicodeNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SingleNodeCallControllerTemplate=function(){return"\n var {singleNodeCallControllerFunctionName} = (function(){\n var firstCall = true;\n \n return function (context, fn){\n var rfn = firstCall ? function(){\n if(fn){\n var res = fn.apply(context, arguments);\n fn = null;\n return res;\n }\n } : function(){}\n \n firstCall = false;\n \n return rfn;\n }\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(24),g=r(11),N=r(150),_=r(43),v=r(16),y=r(37),h=r(10),b=function(e){function t(e,r,n){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.appendEvent=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return this.appendEvent===m.ObfuscationEvent.AfterObfuscation?y.JavaScriptObfuscator.obfuscate(p.default(N.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode():p.default(N.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],b.prototype,"callsControllerFunctionName",void 0),u.__decorate([g.initializable(),u.__metadata("design:type",String)],b.prototype,"appendEvent",void 0),b=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],b),t.NodeCallsControllerFunctionNode=b},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.logicalExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"operator",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.LogicalExpressionFunctionNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r,n){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.leftValue=r,this.rightValue=n}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.leftValue,this.rightValue]));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"controlFlowStorageName",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],N.prototype,"leftValue",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],N.prototype,"rightValue",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.ExpressionWithOperatorControlFlowStorageCallNode=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockNodeTemplate=function(){return'\n var {domainLockFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n \n {globalVariableTemplate}\n \n var func = function () {\n return {\n key: \'item\',\n value: \'attribute\',\n getAttribute: function () {\n for (var i = 0; i < 1000; i--) {\n var isPositive = i > 0;\n \n switch (isPositive) {\n case true:\n return this.item + \'_\' + this.value + \'_\' + i;\n default:\n this.item + \'_\' + this.value;\n }\n }\n }()\n };\n };\n \n var regExp = new RegExp("[{diff}]", "g");\n var domains = "{domains}".replace(regExp, "").split(";");\n var document;\n var domain;\n \n for (var d in that) {\n if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) {\n document = d;\n \n break;\n }\n }\n\n for (var d1 in that[document]) {\n if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) {\n domain = d1;\n \n break;\n }\n }\n \n if ((!document && !domain) || (!that[document] && !that[document][domain])) {\n return;\n }\n \n var currentDomain = that[document][domain];\n\n var ok = false;\n \n for (var i = 0; i < domains.length; i++) {\n var domain = domains[i];\n var position = currentDomain.length - domain.length;\n var lastIndex = currentDomain.indexOf(domain, position);\n var endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(".") === 0) {\n ok = true;\n }\n \n break;\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n });\n\n {domainLockFunctionName}();\n '}},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(23),g=r(11),N=r(154),_=r(44),v=r(16),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).cryptUtils=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.domainLock.join(";"),t=this.cryptUtils.hideString(e,3*e.length),r=(0,o.default)(t,2),n=r[0],a=r[1],i=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():_.GlobalVariableNoEvalTemplate();return p.default(N.DomainLockNodeTemplate(),{domainLockFunctionName:this.identifierNamesGenerator.generate(),diff:a,domains:n,globalVariableTemplate:i,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.ICryptUtils)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.DomainLockNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionTemplate=function(){return"\n function {debugProtectionFunctionName} (ret) {\n function debuggerProtection (counter) {\n \n {debuggerTemplate}\n \n debuggerProtection(++counter);\n }\n \n try {\n if (ret) {\n return debuggerProtection;\n } else {\n debuggerProtection(0);\n }\n } catch (y) {}\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplateNoEval=function(){return"\n if (typeof counter === 'string') {\n var func = function () {\n while (true) {}\n };\n \n return func();\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n debugger;\n } else {\n debugger;\n }\n \n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplate=function(){return"\n if (typeof counter === 'string') {\n return (function (arg) {}.constructor('while (true) {}').apply('counter'));\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n (function () {return true;}.constructor('debu' + 'gger').call('action'));\n } else {\n (function () {return false;}.constructor('debu' + 'gger').apply('stateObject'));\n }\n \n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(23),m=r(11),g=r(158),N=r(157),_=r(156),v=r(16),y=r(10),h=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?g.DebuggerTemplate():N.DebuggerTemplateNoEval();return f.default(_.DebugProtectionFunctionTemplate(),{debuggerTemplate:e,debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(v.AbstractCustomNode);d.__decorate([m.initializable(),d.__metadata("design:type",String)],h.prototype,"debugProtectionFunctionName",void 0),h=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],h),t.DebugProtectionFunctionNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalTemplate=function(){return"\n setInterval(function () {\n {debugProtectionFunctionName}();\n }, 4000);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(160),g=r(16),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return N.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionIntervalTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(g.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionIntervalNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallTemplate=function(){return"\n (function () {\n {singleNodeCallControllerFunctionName}(this, function () {\n var regExp1 = new RegExp('function *\\\\( *\\\\)');\n var regExp2 = new RegExp('\\\\+\\\\+ *\\(?:_0x(?:[a-f0-9]){4,6}|(?:\\\\b|\\\\d)[a-z0-9]{1,4}(?:\\\\b|\\\\d)\\)', 'i');\n \n var result = {debugProtectionFunctionName}('init');\n \n if (!regExp1.test(result + 'chain') || !regExp2.test(result + 'input')) {\n result('0');\n } else {\n {debugProtectionFunctionName}();\n }\n })();\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(162),g=r(16),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.debugProtectionFunctionName=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return N.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionCallTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(g.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"callsControllerFunctionName",void 0),d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionCallNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableExpressionTemplate=function(){return"\n var {consoleLogDisableFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func = function () {};\n \n {globalVariableTemplate}\n \n if (!that.console) {\n that.console = (function (func){\n var c = {};\n \n c.log = func;\n c.warn = func;\n c.debug = func;\n c.info = func;\n c.error = func;\n c.exception = func;\n c.trace = func;\n \n return c;\n })(func);\n } else {\n that.console.log = func;\n that.console.warn = func;\n that.console.debug = func;\n that.console.info = func;\n that.console.error = func;\n that.console.exception = func;\n that.console.trace = func;\n }\n });\n \n {consoleLogDisableFunctionName}();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(23),m=r(164),g=r(44),N=r(11),_=r(16),v=r(10),y=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return v.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():g.GlobalVariableNoEvalTemplate();return f.default(m.ConsoleOutputDisableExpressionTemplate(),{consoleLogDisableFunctionName:this.identifierNamesGenerator.generate(),globalVariableTemplate:e,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(_.AbstractCustomNode);d.__decorate([N.initializable(),d.__metadata("design:type",String)],y.prototype,"callsControllerFunctionName",void 0),y=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ConsoleOutputDisableExpressionNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(56)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(1),p=r(4),m=r(11),g=r(16),N=r(15),_=r(9),v=r(10),y=function(e){function t(e,r,n){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r,n))}return(0,u.default)(t,e),(0,c.default)(t,[{key:"initialize",value:function(e){this.controlFlowStorage=e}},{key:"getNodeStructure",value:function(){var e=(0,a.default)(this.controlFlowStorage.getStorage()).map(function(e){var t=(0,o.default)(e,2),r=t[0],n=t[1].getNode()[0];if(!_.NodeGuards.isExpressionStatementNode(n))throw new Error("Function node for control flow storage object should be passed inside the `ExpressionStatement` node!");return N.NodeFactory.propertyNode(N.NodeFactory.identifierNode(r),n.expression)}),t=N.NodeFactory.variableDeclarationNode([N.NodeFactory.variableDeclaratorNode(N.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()),N.NodeFactory.objectExpressionNode(e))]);return[t=v.NodeUtils.parentize(t)]}}]),t}(g.AbstractCustomNode);l.__decorate([m.initializable(),l.__metadata("design:type",Object)],y.prototype,"controlFlowStorage",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ControlFlowStorageNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.expressionArguments=e}},{key:"getNodeStructure",value:function(){for(var e=m.NodeFactory.identifierNode("callee"),t=[],r=this.expressionArguments.length,n=0;n.5,t=this.randomGenerator.getMathRandom()>.5,r=e?"===":"!==",n=this.randomGenerator.getRandomString(5),a=t?n:this.randomGenerator.getRandomString(5),i=e===t?[this.blockStatementNode,this.deadCodeInjectionRootAstHostNode]:[this.deadCodeInjectionRootAstHostNode,this.blockStatementNode],s=(0,o.default)(i,2),c=s[0],d=s[1],u=g.NodeFactory.blockStatementNode([g.NodeFactory.ifStatementNode(g.NodeFactory.binaryExpressionNode(r,g.NodeFactory.literalNode(n),g.NodeFactory.literalNode(a)),c,d)]);return N.NodeUtils.parentize(u),[u]}}]),t}(m.AbstractCustomNode);u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"blockStatementNode",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"deadCodeInjectionRootAstHostNode",void 0),_=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementDeadCodeInjectionNode=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(9),N=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.blockStatementBody=e,this.shuffledKeys=t,this.originalKeysIndexesInShuffledArray=r}},{key:"getNodeStructure",value:function(){var e=this,t=this.randomGenerator.getRandomString(6),r=this.randomGenerator.getRandomString(6),n=m.NodeFactory.blockStatementNode([m.NodeFactory.variableDeclarationNode([m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(t),m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join("|")),m.NodeFactory.identifierNode("split")),[m.NodeFactory.literalNode("|")])),m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(r),m.NodeFactory.literalNode(0))]),m.NodeFactory.whileStatementNode(m.NodeFactory.literalNode(!0),m.NodeFactory.blockStatementNode([m.NodeFactory.switchStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(t),m.NodeFactory.updateExpressionNode("++",m.NodeFactory.identifierNode(r)),!0),this.shuffledKeys.map(function(t,r){var n=e.blockStatementBody[t],o=[n];return g.NodeGuards.isReturnStatementNode(n)||o.push(m.NodeFactory.continueStatement()),m.NodeFactory.switchCaseNode(m.NodeFactory.literalNode(String(r)),o)})),m.NodeFactory.breakStatement()]))]);return N.NodeUtils.parentize(n),[n]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"blockStatementBody",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"originalKeysIndexesInShuffledArray",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"shuffledKeys",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementControlFlowFlatteningNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate2=function(){return"\n var getGlobal = function () {\n var globalObject;\n \n try {\n globalObject = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');')();\n } catch (e) {\n globalObject = window;\n }\n \n return globalObject;\n };\n var that = getGlobal();\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate1=function(){return"\n var that;\n \n try {\n var getGlobal = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');');\n \n that = getGlobal();\n } catch (e) {\n that = window;\n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),g=r(10),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.binaryExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return g.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"operator",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.BinaryExpressionFunctionNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(17)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(1),p=r(4),m=r(11),g=r(29),N=r(24),_=r(34),v=r(25),y=function(e){function t(e,r,n,o,a){var c;return(0,s.default)(this,t),(c=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,n,o,a))).appendEvent=N.ObfuscationEvent.AfterObfuscation,c.customNodeFactory=e,c.stringArrayStorage=r,c}return(0,u.default)(t,e),(0,c.default)(t,[{key:"appendCustomNodes",value:function(e,t){this.stringArrayStorage.getLength()&&(this.appendCustomNodeIfExist(g.CustomNode.StringArrayNode,function(t){v.NodeAppender.prependNode(e,t.getNode())}),this.appendCustomNodeIfExist(g.CustomNode.StringArrayCallsWrapper,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}),this.appendCustomNodeIfExist(g.CustomNode.StringArrayRotateFunctionNode,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}))}},{key:"initialize",value:function(){if(this.customNodes=new a.default,this.options.stringArray){var e,t=this.customNodeFactory(g.CustomNode.StringArrayNode),r=this.customNodeFactory(g.CustomNode.StringArrayCallsWrapper),n=this.customNodeFactory(g.CustomNode.StringArrayRotateFunctionNode),i=this.stringArrayStorage.getStorageId().split("|"),s=(0,o.default)(i,2),c=s[0],d=s[1];e=this.options.rotateStringArray?this.randomGenerator.getRandomInteger(100,500):0,t.initialize(this.stringArrayStorage,c,e),r.initialize(c,d),n.initialize(c,e),this.customNodes.set(g.CustomNode.StringArrayNode,t),this.customNodes.set(g.CustomNode.StringArrayCallsWrapper,r),this.options.rotateStringArray&&this.customNodes.set(g.CustomNode.StringArrayRotateFunctionNode,n)}}}]),t}(_.AbstractCustomNodeGroup);l.__decorate([m.initializable(),l.__metadata("design:type",a.default)],y.prototype,"customNodes",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(2,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Function,Object,Object])],y),t.StringArrayCustomNodeGroup=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),g=r(24),N=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.AfterObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.SelfDefendingUnicodeNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.selfDefending){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.SelfDefendingUnicodeNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.SelfDefendingUnicodeNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.SelfDefendingCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),g=r(24),N=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DomainLockNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.domainLock.length){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.DomainLockNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.DomainLockNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DomainLockCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),g=r(24),N=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this,n=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionCallNode,function(r){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,r.getNode(),n)}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionNode,function(t){_.NodeAppender.appendNode(e,t.getNode())}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionIntervalNode,function(t){var n=e.body.length,o=r.randomGenerator.getRandomInteger(0,n);_.NodeAppender.insertNodeAtIndex(e,t.getNode(),o)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(r){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,n,1):e,_.NodeAppender.prependNode(o,r.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.debugProtection){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionNode),n=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionCallNode),a=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionIntervalNode),i=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);r.initialize(e),n.initialize(e,t),a.initialize(e),i.initialize(this.appendEvent,t),this.customNodes.set(m.CustomNode.DebugProtectionFunctionNode,r),this.customNodes.set(m.CustomNode.DebugProtectionFunctionCallNode,n),this.options.debugProtectionInterval&&this.customNodes.set(m.CustomNode.DebugProtectionFunctionIntervalNode,a),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,i)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DebugProtectionCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),g=r(24),N=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=g.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.ConsoleOutputDisableExpressionNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.disableConsoleOutput){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.ConsoleOutputDisableExpressionNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.ConsoleOutputDisableExpressionNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(N.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.ConsoleOutputCustomNodeGroup=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(22),s=r(29),c=r(57),d=r(58),u=r(178),l=r(177),f=r(176),p=r(175),m=r(174),g=r(173),N=r(170),_=r(169),v=r(168),y=r(167),h=r(166),b=r(165),S=r(163),I=r(161),C=r(159),F=r(155),O=r(153),j=r(152),T=r(151),k=r(149),x=r(147),w=r(140),E=r(138),G=r(134),R=r(133);t.customNodesModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.ICustomNode).to(b.ConsoleOutputDisableExpressionNode).whenTargetNamed(s.CustomNode.ConsoleOutputDisableExpressionNode),e(a.ServiceIdentifiers.ICustomNode).to(S.DebugProtectionFunctionCallNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionCallNode),e(a.ServiceIdentifiers.ICustomNode).to(I.DebugProtectionFunctionIntervalNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionIntervalNode),e(a.ServiceIdentifiers.ICustomNode).to(C.DebugProtectionFunctionNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(F.DomainLockNode).whenTargetNamed(s.CustomNode.DomainLockNode),e(a.ServiceIdentifiers.ICustomNode).to(T.NodeCallsControllerFunctionNode).whenTargetNamed(s.CustomNode.NodeCallsControllerFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(k.SelfDefendingUnicodeNode).whenTargetNamed(s.CustomNode.SelfDefendingUnicodeNode),e(a.ServiceIdentifiers.ICustomNode).to(x.StringArrayCallsWrapper).whenTargetNamed(s.CustomNode.StringArrayCallsWrapper),e(a.ServiceIdentifiers.ICustomNode).to(w.StringArrayNode).whenTargetNamed(s.CustomNode.StringArrayNode),e(a.ServiceIdentifiers.ICustomNode).to(E.StringArrayRotateFunctionNode).whenTargetNamed(s.CustomNode.StringArrayRotateFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(g.BinaryExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.BinaryExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(N.BlockStatementControlFlowFlatteningNode).whenTargetNamed(i.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(v.CallExpressionControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(y.CallExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(h.ControlFlowStorageNode).whenTargetNamed(i.ControlFlowCustomNode.ControlFlowStorageNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(O.ExpressionWithOperatorControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(j.LogicalExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.LogicalExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(R.StringLiteralNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(G.StringLiteralControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(_.BlockStatementDeadCodeInjectionNode).whenTargetNamed(d.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode),e(a.ServiceIdentifiers.ICustomNodeGroup).to(u.ConsoleOutputCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.ConsoleOutputCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(l.DebugProtectionCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DebugProtectionCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(f.DomainLockCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DomainLockCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(p.SelfDefendingCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.SelfDefendingCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(m.StringArrayCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.StringArrayCustomNodeGroup),e(a.ServiceIdentifiers.Factory__ICustomNode).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNode)),e(a.ServiceIdentifiers.Factory__IControlFlowCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__ICustomNodeGroup).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNodeGroup))})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(13),m=r(14),g=r(15),N=r(9),_=d=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Converting:return{leave:function(e,r){if(r&&d.isValidTemplateLiteralNode(e,r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=e.expressions,n=[];if(e.quasis.forEach(function(e){n.push(g.NodeFactory.literalNode(e.value.cooked));var t=r.shift();t&&n.push(t)}),n=n.filter(function(e){return!(N.NodeGuards.isLiteralNode(e)&&""===e.value)}),d.isLiteralNodeWithStringValue(n[0])||d.isLiteralNodeWithStringValue(n[1])||n.unshift(g.NodeFactory.literalNode("")),n.length>1){var o=g.NodeFactory.binaryExpressionNode("+",n.shift(),n.shift());return n.forEach(function(e){o=g.NodeFactory.binaryExpressionNode("+",o,e)}),o}return n[0]}}],[{key:"isLiteralNodeWithStringValue",value:function(e){return e&&N.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value}},{key:"isValidTemplateLiteralNode",value:function(e,t){return N.NodeGuards.isTemplateLiteralNode(e)&&!N.NodeGuards.isTaggedTemplateExpressionNode(t)}}]),t}(m.AbstractNodeTransformer);_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],_),t.TemplateLiteralTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(15),g=r(9),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Converting:return{enter:function(e,r){if(r&&g.NodeGuards.isObjectExpressionNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return e.properties.forEach(function(e){!e.computed&&e.key&&(e.shorthand&&(e.shorthand=!1),g.NodeGuards.isIdentifierNode(e.key)&&(e.key=m.NodeFactory.literalNode(e.key.name)))}),e}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.ObjectExpressionTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(17)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l,f=r(5),p=r(1),m=r(4),g=r(13),N=r(14),_=r(25),v=r(15),y=r(9),h=r(10),b=l=function(e){function t(e,r){var n;return(0,s.default)(this,t),(n=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r))).cachedScopeNodesMap=new a.default,n}return(0,u.default)(t,e),(0,c.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Converting:return{enter:function(e,r){if(t.options.transformObjectKeys&&r&&y.NodeGuards.isObjectExpressionNode(e)&&y.NodeGuards.isVariableDeclaratorNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(!y.NodeGuards.isIdentifierNode(t.id))return e;var r=h.NodeUtils.getScopeOfNode(t);return r&&y.NodeGuards.isNodeHasScope(r)?(this.cachedScopeNodesMap.set(t,r),this.transformObjectExpressionNode(e,t.id,t)):e}},{key:"extractPropertiesToExpressionStatements",value:function(e,t,r){for(var n=e.length,o=[],a=[],i=0;if.hostNodeSearchMinDepth&&t.splice(0,f.hostNodeSearchMinDepth),t.length>f.hostNodeSearchMaxDepth&&(t.length=f.hostNodeSearchMaxDepth),this.randomGenerator.getRandomGenerator().pickone(t))}},{key:"isVisitedFunctionNode",value:function(e){return(I.NodeGuards.isFunctionDeclarationNode(e)||I.NodeGuards.isFunctionExpressionNode(e)||I.NodeGuards.isArrowFunctionExpressionNode(e))&&this.visitedFunctionNodes.has(e)}},{key:"transformFunctionBody",value:function(e,t){var r=this;N.replace(e,{enter:function(e,n){if(C.NodeMetadata.isIgnoredNode(e))return N.VisitorOption.Skip;if(r.isVisitedFunctionNode(e)||!n)return N.VisitorOption.Skip;if(!f.controlFlowReplacersMap.has(e.type))return e;if(r.randomGenerator.getMathRandom()>r.options.controlFlowFlatteningThreshold)return e;var a=f.controlFlowReplacersMap.get(e.type);return void 0===a?e:(0,o.default)({},r.controlFlowReplacerFactory(a).replace(e,n,t),{parentNode:n})}})}}]),t}(b.AbstractNodeTransformer);O.controlFlowReplacersMap=new i.default([[y.NodeType.BinaryExpression,v.ControlFlowReplacer.BinaryExpressionControlFlowReplacer],[y.NodeType.CallExpression,v.ControlFlowReplacer.CallExpressionControlFlowReplacer],[y.NodeType.LogicalExpression,v.ControlFlowReplacer.LogicalExpressionControlFlowReplacer],[y.NodeType.Literal,v.ControlFlowReplacer.StringLiteralControlFlowReplacer]]),O.hostNodeSearchMinDepth=0,O.hostNodeSearchMaxDepth=2,O=f=p.__decorate([m.injectable(),p.__param(0,m.inject(g.ServiceIdentifiers.Factory__TControlFlowStorage)),p.__param(1,m.inject(g.ServiceIdentifiers.Factory__IControlFlowReplacer)),p.__param(2,m.inject(g.ServiceIdentifiers.Factory__IControlFlowCustomNode)),p.__param(3,m.inject(g.ServiceIdentifiers.IRandomGenerator)),p.__param(4,m.inject(g.ServiceIdentifiers.IOptions)),p.__metadata("design:paramtypes",[Function,Function,Function,Object,Object])],O),t.FunctionControlFlowTransformer=O},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importStar(r(18)),g=r(58),N=r(32),_=r(26),v=r(13),y=r(14),h=r(15),b=r(9),S=r(10),I=u=function(e){function t(e,r,n,s){var d;return(0,i.default)(this,t),(d=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,n,s))).deadCodeInjectionRootAstHostNodeSet=new o.default,d.collectedBlockStatements=[],d.collectedBlockStatementsTotalLength=0,d.deadCodeInjectionCustomNodeFactory=e,d.transformersRunner=r,d}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case v.TransformationStage.DeadCodeInjection:return{enter:function(e,r){if(r&&b.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),e},leave:function(e,r){if(r&&b.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};case v.TransformationStage.Finalizing:return this.deadCodeInjectionRootAstHostNodeSet.size?{enter:function(e,r){if(r&&t.isDeadCodeInjectionRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"analyzeNode",value:function(e,t){var r=this;m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)){var t=S.NodeUtils.clone(e);u.isValidCollectedBlockStatementNode(t)&&(S.NodeUtils.parentizeNode(t,t),t=r.transformersRunner.transform(t,u.transformersToRenameBlockScopeIdentifiers,v.TransformationStage.Obfuscating),r.collectedBlockStatements.push(t))}}}),this.collectedBlockStatementsTotalLength=this.collectedBlockStatements.length}},{key:"transformNode",value:function(e,t){if(!this.collectedBlockStatements.length||this.collectedBlockStatementsTotalLengththis.options.deadCodeInjectionThreshold||!u.isValidWrappedBlockStatementNode(e))return e;var r=this.collectedBlockStatements.length-1,n=this.randomGenerator.getRandomInteger(0,r),o=this.collectedBlockStatements.splice(n,1)[0];return o===e?e:this.replaceBlockStatementNode(e,o,t)}},{key:"restoreNode",value:function(e,t){var r=e.body[0];if(!b.NodeGuards.isFunctionDeclarationNode(r))throw new Error("Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node");return r.body}},{key:"isDeadCodeInjectionRootAstHostNode",value:function(e){return b.NodeGuards.isBlockStatementNode(e)&&this.deadCodeInjectionRootAstHostNodeSet.has(e)}},{key:"replaceBlockStatementNode",value:function(e,t,r){var n=h.NodeFactory.blockStatementNode([h.NodeFactory.functionDeclarationNode(u.deadCodeInjectionRootAstHostNodeName,[],t)]);this.deadCodeInjectionRootAstHostNodeSet.add(n);var o=this.deadCodeInjectionCustomNodeFactory(g.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode);o.initialize(e,n);var a=o.getNode()[0];return S.NodeUtils.parentizeNode(a,r),a}}],[{key:"isProhibitedNodeInsideCollectedBlockStatement",value:function(e){return b.NodeGuards.isBreakStatementNode(e)||b.NodeGuards.isContinueStatementNode(e)||b.NodeGuards.isAwaitExpressionNode(e)||b.NodeGuards.isSuperNode(e)}},{key:"isScopeHoistingFunctionDeclaration",value:function(e){if(!b.NodeGuards.isFunctionDeclarationNode(e))return!1;var t=S.NodeUtils.getScopeOfNode(e),r=b.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,n=r.indexOf(e);if(0===n)return!1;var o=r.slice(0,n),a=h.NodeFactory.blockStatementNode(o),i=e.id.name,s=!1;return m.traverse(a,{enter:function(e){if(b.NodeGuards.isIdentifierNode(e)&&e.name===i)return s=!0,m.VisitorOption.Break}}),s}},{key:"isValidCollectedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=0,r=!0;return m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)&&t++,t>u.maxNestedBlockStatementsCount||u.isProhibitedNodeInsideCollectedBlockStatement(e)||u.isScopeHoistingFunctionDeclaration(e))return r=!1,m.VisitorOption.Break}}),r}},{key:"isValidWrappedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=!0;return m.traverse(e,{enter:function(e){if(u.isScopeHoistingFunctionDeclaration(e))return t=!1,m.VisitorOption.Break}}),!!t&&S.NodeUtils.getBlockScopesOfNode(e)[0].type!==_.NodeType.Program}}]),t}(y.AbstractNodeTransformer);I.deadCodeInjectionRootAstHostNodeName="deadCodeInjectionRootAstHostNode",I.maxNestedBlockStatementsCount=4,I.minCollectedBlockStatementsCount=5,I.transformersToRenameBlockScopeIdentifiers=[N.NodeTransformer.CatchClauseTransformer,N.NodeTransformer.ClassDeclarationTransformer,N.NodeTransformer.FunctionDeclarationTransformer,N.NodeTransformer.FunctionTransformer,N.NodeTransformer.LabeledStatementTransformer,N.NodeTransformer.VariableDeclarationTransformer],I=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.ITransformersRunner)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],I),t.DeadCodeInjectionTransformer=I},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(22),m=r(45),g=r(9),N=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.callee;if(!g.NodeGuards.isIdentifierNode(n))return e;var o=String(e.arguments.length),a=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionFunctionNode),i=e.arguments;a.initialize(i);var s=this.insertCustomNodeToControlFlowStorage(a,r,o,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),s,n,i)}},{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!g.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(m.AbstractControlFlowReplacer);N.usingExistingIdentifierChance=.5,N=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],N),t.CallExpressionControlFlowReplacer=N},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/has-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/define-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-names")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/get-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-descriptor")},function(e,t){e.exports=require("@babel/runtime/core-js/object/define-property")},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(22),g=r(13),N=r(14),_=r(9),v=r(10),y=d=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).controlFlowCustomNodeFactory=e,c.arrayUtils=r,c}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.ControlFlowFlattening:return{leave:function(e,r){if(r&&_.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold||!d.canTransformBlockStatementNode(e))return e;var r=e.body,n=this.arrayUtils.arrayRange(r.length),o=this.arrayUtils.arrayShuffle(n),a=n.map(function(e){return o.indexOf(e)}),i=this.controlFlowCustomNodeFactory(m.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode);i.initialize(r,o,a);var s=i.getNode()[0];return v.NodeUtils.parentizeNode(s,t),s}}],[{key:"blockStatementHasProhibitedStatements",value:function(e){return e.body.some(function(e){var t=_.NodeGuards.isBreakStatementNode(e)||_.NodeGuards.isContinueStatementNode(e),r=_.NodeGuards.isVariableDeclarationNode(e)&&("const"===e.kind||"let"===e.kind),n=_.NodeGuards.isClassDeclarationNode(e);return _.NodeGuards.isFunctionDeclarationNode(e)||t||r||n})}},{key:"canTransformBlockStatementNode",value:function(e){var t=!0;return p.traverse(e,{enter:function(e){if(_.NodeGuards.isWhileStatementNode(e))return p.VisitorOption.Skip;_.NodeGuards.isBlockStatementNode(e)&&d.blockStatementHasProhibitedStatements(e)&&(t=!1)}}),e.body.length<=4&&(t=!1),t}}]),t}(N.AbstractNodeTransformer);y=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IArrayUtils)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],y),t.BlockStatementControlFlowTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(22),m=r(59),g=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.operator,o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.BinaryExpressionFunctionNode);o.initialize(n);var a=this.insertCustomNodeToControlFlowStorage(o,r,n,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}}]),t}(m.ExpressionWithOperatorControlFlowReplacer);g.usingExistingIdentifierChance=.5,g=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],g),t.BinaryExpressionControlFlowReplacer=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(60),s=r(32),c=r(198),d=r(197),u=r(190),l=r(189),f=r(188),p=r(187),m=r(186);t.controlFlowTransformersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.INodeTransformer).to(d.BlockStatementControlFlowTransformer).whenTargetNamed(s.NodeTransformer.BlockStatementControlFlowTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(l.DeadCodeInjectionTransformer).whenTargetNamed(s.NodeTransformer.DeadCodeInjectionTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(f.FunctionControlFlowTransformer).whenTargetNamed(s.NodeTransformer.FunctionControlFlowTransformer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(c.BinaryExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.BinaryExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(u.CallExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.CallExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(p.LogicalExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.LogicalExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(m.StringLiteralControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.StringLiteralControlFlowReplacer),e(a.ServiceIdentifiers.Factory__IControlFlowReplacer).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.IControlFlowReplacer))})},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=c.__importStar(r(18)),f=r(63),p=r(9),m=r(10),g=s=function(){function e(t){(0,a.default)(this,e),this.calleeDataExtractorFactory=t}return(0,i.default)(e,[{key:"analyze",value:function(e){return this.analyzeRecursive(e.body)}},{key:"analyzeRecursive",value:function(e){for(var t=this,r=s.getLimitIndex(e.length),n=[],o=e.length,a=function(o){if(o>r)return"break";var a=e[o];l.traverse(a,{enter:function(r){if(p.NodeGuards.isCallExpressionNode(r))return a.parentNode!==m.NodeUtils.getBlockScopesOfNode(r)[0]?l.VisitorOption.Skip:void t.analyzeCallExpressionNode(n,e,r)}})},i=0;ir&&(n=Math.round(r+t*s.limitThreshold))>t&&(n=t),n}}]),e}();g.calleeDataExtractorsList=[f.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor,f.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor,f.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor],g.limitThresholdActivationLength=25,g.limitThreshold=.002,g=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.Factory__ICalleeDataExtractor)),c.__metadata("design:paramtypes",[Function])],g),t.StackTraceAnalyzer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(35)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=l.__importStar(r(18)),m=r(47),g=r(9),N=r(10),_=u=function(e){function t(){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).apply(this,arguments))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"extract",value:function(e,t){if(!g.NodeGuards.isMemberExpressionNode(t))return null;var r=this.createObjectMembersCallsChain([],t);if(!r.length)return null;var n=r[r.length-1],o=this.getCalleeBlockStatement(N.NodeUtils.getBlockScopesOfNode(e[0])[0],r);return o?{callee:o,name:n}:null}},{key:"createObjectMembersCallsChain",value:function(e,t){if(g.NodeGuards.isIdentifierNode(t.property)&&!1===t.computed)e.unshift(t.property.name);else{if(!g.NodeGuards.isLiteralNode(t.property)||"string"!=typeof t.property.value&&"number"!=typeof t.property.value)return e;e.unshift(t.property.value)}return g.NodeGuards.isMemberExpressionNode(t.object)?this.createObjectMembersCallsChain(e,t.object):(g.NodeGuards.isIdentifierNode(t.object)&&e.unshift(t.object.name),e)}},{key:"getCalleeBlockStatement",value:function(e,t){var r=this,n=t.shift();if(!n)return null;var o=null;return p.traverse(e,{enter:function(e){if(g.NodeGuards.isVariableDeclaratorNode(e)&&g.NodeGuards.isIdentifierNode(e.id)&&e.init&&g.NodeGuards.isObjectExpressionNode(e.init)&&e.id.name===n)return o=r.findCalleeBlockStatement(e.init.properties,t),p.VisitorOption.Break}}),o}},{key:"findCalleeBlockStatement",value:function(e,t){var r=t.shift();if(!r)return null;var n=!0,a=!1,i=void 0;try{for(var s,c=(0,o.default)(e);!(n=(s=c.next()).done);n=!0){var d=s.value;if(u.isValidTargetPropertyNode(d,r)){if(g.NodeGuards.isObjectExpressionNode(d.value))return this.findCalleeBlockStatement(d.value.properties,t);if(g.NodeGuards.isFunctionExpressionNode(d.value))return d.value.body}}}catch(e){a=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(a)throw i}}return null}}],[{key:"isValidTargetPropertyNode",value:function(e,t){if(!e.key)return!1;var r=g.NodeGuards.isIdentifierNode(e.key)&&e.key.name===t,n=g.NodeGuards.isLiteralNode(e.key)&&Boolean(e.key.value)&&e.key.value===t;return r||n}}]),t}(m.AbstractCalleeDataExtractor);_=u=l.__decorate([f.injectable()],_),t.ObjectExpressionCalleeDataExtractor=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=d.__importStar(r(18)),f=r(47),p=r(9),m=r(10),g=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){var r=null;return p.NodeGuards.isIdentifierNode(t)&&(r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name)),p.NodeGuards.isFunctionExpressionNode(t)&&(r=t.body),r?{callee:r,name:t.name||null}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e,n){if(p.NodeGuards.isFunctionExpressionNode(e)&&n&&p.NodeGuards.isVariableDeclaratorNode(n)&&p.NodeGuards.isIdentifierNode(n.id)&&n.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);g=d.__decorate([u.injectable()],g),t.FunctionExpressionCalleeDataExtractor=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=d.__importStar(r(18)),f=r(47),p=r(9),m=r(10),g=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){if(!p.NodeGuards.isIdentifierNode(t))return null;var r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name);return r?{callee:r,name:t.name}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e){if(p.NodeGuards.isFunctionDeclarationNode(e)&&e.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);g=d.__decorate([u.injectable()],g),t.FunctionDeclarationCalleeDataExtractor=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(63),s=r(203),c=r(202),d=r(201),u=r(200);t.analyzersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.IStackTraceAnalyzer).to(u.StackTraceAnalyzer).inSingletonScope(),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(s.FunctionDeclarationCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(c.FunctionExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(d.ObjectExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.Factory__ICalleeDataExtractor).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.ICalleeDataExtractor))})},function(e,t){e.exports=require("fs")},function(e,t){e.exports=require("multimatch")},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(205)),c=__importStar(r(67)),d=__importDefault(r(206)),u=r(64),l=r(68),f=r(65),p=function(){function e(t){(0,a.default)(this,e),this.options=t}return(0,i.default)(e,[{key:"readSourceCode",value:function(t){if(e.isFilePath(t)&&this.isValidFile(t))return this.readFile(t);if(e.isDirectoryPath(t)&&this.isValidDirectory(t))return this.readDirectoryRecursive(t);var r=e.availableInputExtensions.map(function(e){return"`".concat(e,"`")}).join(", ");throw new ReferenceError("Given input path must be a valid ".concat(r," file or directory path"))}},{key:"readDirectoryRecursive",value:function(t){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return s.readdirSync(t,l.JavaScriptObfuscatorCLI.encoding).forEach(function(a){var i="".concat(t,"/").concat(a);if(e.isDirectoryPath(i)&&r.isValidDirectory(i))n.push.apply(n,(0,o.default)(r.readDirectoryRecursive(i)));else if(e.isFilePath(i)&&r.isValidFile(i)){var s=r.readFile(i);n.push({filePath:i,content:s})}}),n}},{key:"readFile",value:function(t){return e.logFilePath(t),s.readFileSync(t,l.JavaScriptObfuscatorCLI.encoding)}},{key:"isValidDirectory",value:function(t){return!e.isExcludedPath(t,this.options.exclude)}},{key:"isValidFile",value:function(t){return e.availableInputExtensions.includes(c.extname(t))&&!t.includes(l.JavaScriptObfuscatorCLI.obfuscatedFilePrefix)&&!e.isExcludedPath(t,this.options.exclude)}}],[{key:"isExcludedPath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!t.length)return!1;var r=c.basename(e),n=!!d.default([e],t).length;return t.some(function(t){return e.includes(t)||r.includes(t)})||n}},{key:"isDirectoryPath",value:function(e){try{return s.statSync(e).isDirectory()}catch(e){return!1}}},{key:"isFilePath",value:function(e){try{return s.statSync(e).isFile()}catch(e){return!1}}},{key:"logFilePath",value:function(e){var t=c.normalize(e);f.Logger.log(f.Logger.colorInfo,u.LoggingPrefix.CLI,"Obfuscating file: ".concat(t,"..."))}}]),e}();p.availableInputExtensions=[".js"],t.SourceCodeReader=p},function(e,t){function r(e){var t=new Error('Cannot find module "'+e+'".');throw t.code="MODULE_NOT_FOUND",t}r.keys=function(){return[]},r.resolve=r,e.exports=r,r.id=208},function(e,t){e.exports=require("mkdirp")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=__importStar(r(205)),s=__importStar(r(209)),c=__importStar(r(67)),d=r(68),u=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"getOutputCodePath",value:function(e){return c.normalize(e).split(".").map(function(e,t){return 0===t?"".concat(e).concat(d.JavaScriptObfuscatorCLI.obfuscatedFilePrefix):e}).join(".")}},{key:"getOutputSourceMapPath",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return t&&(e="".concat(e.substring(0,e.lastIndexOf("/")),"/").concat(t)),/\.js\.map$/.test(e)?/\.js$/.test(e)&&(e+=".map"):e="".concat(e.split(".")[0],".js.map"),e}},{key:"getUserConfig",value:function(e){var t;try{t=r(208)(e)}catch(r){try{t=require(e)}catch(e){throw new ReferenceError("Given config path must be a valid `.js` or `.json` file path")}}return t}},{key:"writeFile",value:function(e,t){s.sync(c.dirname(e)),i.writeFileSync(e,t,{encoding:d.JavaScriptObfuscatorCLI.encoding})}}]),e}();t.CLIUtils=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(38);t.StringArrayEncodingSanitizer=function(e){switch(e){case"true":case"1":case n.StringArrayEncoding.Base64:return!0;case n.StringArrayEncoding.Rc4:return n.StringArrayEncoding.Rc4;default:return!1}}},function(e,t,r){"use strict";var n=r(0)(r(36));Object.defineProperty(t,"__esModule",{value:!0});var o=r(39);t.SourceMapModeSanitizer=function(e){if(!(0,n.default)(o.SourceMapMode).some(function(t){return o.SourceMapMode[t]===e}))throw new ReferenceError("Invalid value of `--source-map-mode` option");return e}},function(e,t,r){"use strict";var n=r(0)(r(36));Object.defineProperty(t,"__esModule",{value:!0});var o=r(23);t.ObfuscationTargetSanitizer=function(e){if(!(0,n.default)(o.ObfuscationTarget).some(function(t){return o.ObfuscationTarget[t]===e}))throw new ReferenceError("Invalid value of `--target` option");return e}},function(e,t,r){"use strict";var n=r(0)(r(36));Object.defineProperty(t,"__esModule",{value:!0});var o=r(40);t.IdentifierNamesGeneratorSanitizer=function(e){if(!(0,n.default)(o.IdentifierNamesGenerator).some(function(t){return o.IdentifierNamesGenerator[t]===e}))throw new ReferenceError("Invalid value of `--identifier-names-generator` option");return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanSanitizer=function(e){return"true"===e||"1"===e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArraySanitizer=function(e){if(/,$/.test(e))throw new SyntaxError("Multiple values should be wrapped inside quotes: --option-name 'value1, value2'");return e.split(",").map(function(e){return e.trim()})}},function(e,t){e.exports=require("commander")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0}),r(66);var i=r(68),s=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"obfuscate",value:function(e){var t=new i.JavaScriptObfuscatorCLI(e);t.initialize(),t.run()}}]),e}();t.JavaScriptObfuscatorCLI=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(218);e.exports=n.JavaScriptObfuscatorCLI}]); //# sourceMappingURL=index.cli.js.map \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 1fc2dbdc..ee77e81c 100644 --- a/dist/index.js +++ b/dist/index.js @@ -21,5 +21,5 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -require("source-map-support").install(),module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r.w={},r(r.s=220)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("inversify")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Factory__ICalleeDataExtractor="Factory",e.Factory__IControlFlowCustomNode="Factory",e.Factory__IControlFlowReplacer="Factory",e.Factory__ICustomNode="Factory",e.Factory__ICustomNodeGroup="Factory",e.Factory__IDeadCodeInjectionCustomNode="Factory",e.Factory__IIdentifierNamesGenerator="Factory",e.Factory__IIdentifierObfuscatingReplacer="Factory",e.Factory__INodeGuard="Factory",e.Factory__INodeTransformer="Factory",e.Factory__IObfuscationResult="Factory",e.Factory__IObfuscatingReplacer="Factory",e.Factory__TControlFlowStorage="Factory",e.IArrayUtils="IArrayUtils",e.ICalleeDataExtractor="ICalleeDataExtractor",e.ICryptUtils="ICryptUtils",e.ICustomNode="ICustomNode",e.ICustomNodeGroup="ICustomNodeGroup",e.IControlFlowReplacer="IControlFlowReplacer",e.IEscapeSequenceEncoder="IEscapeSequenceEncoder",e.IIdentifierNamesGenerator="IIdentifierNamesGenerator",e.IIdentifierObfuscatingReplacer="IIdentifierObfuscatingReplacer",e.IJavaScriptObfuscator="IJavaScriptObfuscator",e.ILogger="ILogger",e.INodeGuard="INodeGuard",e.INodeTransformer="INodeTransformer",e.IObfuscationEventEmitter="IObfuscationEventEmitter",e.IObfuscationResult="IObfuscationResult",e.IOptions="IOptions",e.IOptionsNormalizer="IOptionsNormalizer",e.IObfuscatingReplacer="IObfuscatingReplacer",e.IRandomGenerator="IRandomGenerator",e.ISourceCode="ISourceCode",e.ISourceMapCorrector="ISourceMapCorrector",e.IStackTraceAnalyzer="IStackTraceAnalyzer",e.ITransformersRunner="ITransformersRunner",e.Newable__ICustomNode="Newable",e.Newable__TControlFlowStorage="Newable",e.TCustomNodeGroupStorage="TCustomNodeGroupStorage",e.TInputOptions="TInputOptions",e.TStringArrayStorage="TStringArrayStorage"}(t.ServiceIdentifiers||(t.ServiceIdentifiers={}))},function(e,t){e.exports=require("tslib")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-prototype-of")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(26),s=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"isArrayPatternNode",value:function(e){return e.type===i.NodeType.ArrayPattern}},{key:"isArrowFunctionExpressionNode",value:function(e){return e.type===i.NodeType.ArrowFunctionExpression}},{key:"isAssignmentPatternNode",value:function(e){return e.type===i.NodeType.AssignmentPattern}},{key:"isAwaitExpressionNode",value:function(e){return e.type===i.NodeType.AwaitExpression}},{key:"isBlockStatementNode",value:function(e){return e.type===i.NodeType.BlockStatement}},{key:"isBreakStatementNode",value:function(e){return e.type===i.NodeType.BreakStatement}},{key:"isCallExpressionNode",value:function(e){return e.type===i.NodeType.CallExpression}},{key:"isCatchClauseNode",value:function(e){return e.type===i.NodeType.CatchClause}},{key:"isClassDeclarationNode",value:function(e){return e.type===i.NodeType.ClassDeclaration}},{key:"isContinueStatementNode",value:function(e){return e.type===i.NodeType.ContinueStatement}},{key:"isExportNamedDeclarationNode",value:function(e){return e.type===i.NodeType.ExportNamedDeclaration}},{key:"isExpressionStatementNode",value:function(e){return e.type===i.NodeType.ExpressionStatement}},{key:"isFunctionDeclarationNode",value:function(e){return e.type===i.NodeType.FunctionDeclaration}},{key:"isFunctionExpressionNode",value:function(e){return e.type===i.NodeType.FunctionExpression}},{key:"isIdentifierNode",value:function(e){return e.type===i.NodeType.Identifier}},{key:"isIfStatementNode",value:function(e){return e.type===i.NodeType.IfStatement}},{key:"isImportDeclarationNode",value:function(e){return e.type===i.NodeType.ImportDeclaration}},{key:"isImportDefaultSpecifierNode",value:function(e){return e.type===i.NodeType.ImportDefaultSpecifier}},{key:"isImportNamespaceSpecifierNode",value:function(e){return e.type===i.NodeType.ImportNamespaceSpecifier}},{key:"isImportSpecifierNode",value:function(e){return e.type===i.NodeType.ImportSpecifier}},{key:"isLabelIdentifierNode",value:function(t,r){var n=e.isLabeledStatementNode(r)&&r.label===t,o=e.isContinueStatementNode(r)&&r.label===t,a=e.isBreakStatementNode(r)&&r.label===t;return n||o||a}},{key:"isLabeledStatementNode",value:function(e){return e.type===i.NodeType.LabeledStatement}},{key:"isLiteralNode",value:function(e){return e.type===i.NodeType.Literal}},{key:"isMemberExpressionNode",value:function(e){return e.type===i.NodeType.MemberExpression}},{key:"isMethodDefinitionNode",value:function(e){return e.type===i.NodeType.MethodDefinition}},{key:"isNode",value:function(e){return e&&void 0!==!e.type}},{key:"isNodeHasBlockScope",value:function(t,r){return e.isProgramNode(t)||e.isBlockStatementNode(t)&&e.nodesWithBlockScope.includes(r.type)}},{key:"isNodeHasScope",value:function(t){return e.isProgramNode(t)||e.isBlockStatementNode(t)||e.isSwitchCaseNode(t)}},{key:"isNodeWithComments",value:function(e){return Boolean(e.leadingComments)||Boolean(e.trailingComments)}},{key:"isObjectPatternNode",value:function(e){return e.type===i.NodeType.ObjectPattern}},{key:"isObjectExpressionNode",value:function(e){return e.type===i.NodeType.ObjectExpression}},{key:"isProgramNode",value:function(e){return e.type===i.NodeType.Program}},{key:"isPropertyNode",value:function(e){return e.type===i.NodeType.Property}},{key:"isReplaceableIdentifierNode",value:function(t,r){if(!e.isIdentifierNode(t))return!1;var n=e.isPropertyNode(r)&&!r.computed&&r.key===t,o=e.isMemberExpressionNode(r)&&!r.computed&&r.property===t,a=e.isMethodDefinitionNode(r)&&!r.computed,i=e.isLabelIdentifierNode(t,r);return!(n||o||a||i)}},{key:"isRestElementNode",value:function(e){return e.type===i.NodeType.RestElement}},{key:"isReturnStatementNode",value:function(e){return e.type===i.NodeType.ReturnStatement}},{key:"isSuperNode",value:function(e){return e.type===i.NodeType.Super}},{key:"isSwitchCaseNode",value:function(e){return e.type===i.NodeType.SwitchCase}},{key:"isTaggedTemplateExpressionNode",value:function(e){return e.type===i.NodeType.TaggedTemplateExpression}},{key:"isTemplateLiteralNode",value:function(e){return e.type===i.NodeType.TemplateLiteral}},{key:"isUnaryExpressionNode",value:function(e){return e.type===i.NodeType.UnaryExpression}},{key:"isUseStrictOperator",value:function(e){return e.type===i.NodeType.ExpressionStatement&&"use strict"===e.directive}},{key:"isVariableDeclarationNode",value:function(e){return e.type===i.NodeType.VariableDeclaration}},{key:"isVariableDeclaratorNode",value:function(e){return e.type===i.NodeType.VariableDeclarator}},{key:"isWhileStatementNode",value:function(e){return e.type===i.NodeType.WhileStatement}}]),e}();s.nodesWithBlockScope=[i.NodeType.ArrowFunctionExpression,i.NodeType.FunctionDeclaration,i.NodeType.FunctionExpression,i.NodeType.MethodDefinition],t.NodeGuards=s},function(e,t,r){"use strict";var n=r(0),o=n(r(62)),a=n(r(36)),i=n(r(2)),s=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var c=__importStar(r(46)),d=__importStar(r(61)),u=__importStar(r(18)),l=r(9),f=r(19),p=function(){function e(){(0,i.default)(this,e)}return(0,s.default)(e,null,[{key:"addXVerbatimPropertyToLiteralNode",value:function(e){return l.NodeGuards.isLiteralNode(e)&&(e["x-verbatim-property"]={content:e.raw,precedence:c.Precedence.Primary}),e}},{key:"clone",value:function(t){return e.parentize(e.cloneRecursive(t))}},{key:"convertCodeToStructure",value:function(t){var r=d.parse(t,{sourceType:"script"});return u.replace(r,{enter:function(t,r){return e.parentizeNode(t,r),e.addXVerbatimPropertyToLiteralNode(t),f.NodeMetadata.set(t,{ignoredNode:!1}),t}}),r.body}},{key:"convertStructureToCode",value:function(e){return e.reduce(function(e,t){return e+c.generate(t,{sourceMapWithCode:!0}).code},"")}},{key:"getBlockScopesOfNode",value:function(t){return e.getBlockScopesOfNodeRecursive(t)}},{key:"getNextSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,1)}},{key:"getPreviousSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,-1)}},{key:"getScopeOfNode",value:function(t){var r=t.parentNode;if(!r)throw new ReferenceError("`parentNode` property of given node is `undefined`");return l.NodeGuards.isNodeHasScope(r)?r:e.getScopeOfNode(r)}},{key:"getUnaryExpressionArgumentNode",value:function(t){return l.NodeGuards.isUnaryExpressionNode(t.argument)?e.getUnaryExpressionArgumentNode(t.argument):t.argument}},{key:"parentize",value:function(t){return u.replace(t,{enter:e.parentizeNode}),t}},{key:"parentizeNode",value:function(e,t){return e.parentNode=t||e,e}},{key:"cloneRecursive",value:function(t){if(null===t)return t;var r={};return(0,a.default)(t).forEach(function(n){if("parentNode"!==n){var a,i=t[n];a=null===i||i instanceof RegExp?i:Array.isArray(i)?i.map(e.cloneRecursive):"object"===(0,o.default)(i)?e.cloneRecursive(i):i,r[n]=a}}),r}},{key:"getBlockScopesOfNodeRecursive",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=t.parentNode;if(!o)throw new ReferenceError("`parentNode` property of given node is `undefined`");return l.NodeGuards.isBlockStatementNode(t)&&o===t&&r.push(t),(l.NodeGuards.isProgramNode(t)||n&&l.NodeGuards.isNodeHasBlockScope(t,o))&&r.push(t),t!==o?e.getBlockScopesOfNodeRecursive(o,r,++n):r}},{key:"getSiblingStatementNodeByOffset",value:function(t,r){var n=e.getScopeOfNode(t),o=l.NodeGuards.isSwitchCaseNode(n)?n.consequent:n.body;return o[o.indexOf(t)+r]||null}}]),e}();t.NodeUtils=p},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(196)),i=n(r(195)),s=n(r(194)),c=n(r(193)),d=n(r(192)),u=n(r(191)),l=n(r(31)),f=n(r(36));Object.defineProperty(t,"__esModule",{value:!0});var p={configurable:!0,enumerable:!0},m="_initialized",N="_initializablePropertiesSet",g="_wrappedMethodsSet",_="constructor";function v(e,t,r){(0,u.default)(e,r)||(0,d.default)(e,t,r)}t.initializable=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"initialize",t=(0,f.default)(this)[0];return function(r,n){var u=r[e];if(!u||"function"!=typeof u)throw new Error("`".concat(e,"` method with initialization logic not ")+"found. `@".concat(t,"` decorator requires `").concat(e,"` method"));return v(m,!1,r),v(N,new l.default,r),v(g,new l.default,r),function(e,t){var r=(0,c.default)(e),n=[t,_];r.forEach(function(r){var c=(0,s.default)(N,e),d=(0,s.default)(g,e),u=n.includes(r)||c.has(r)||d.has(r);if(!u){var l=e[r];if("function"==typeof l){var f=(0,i.default)(e,r)||p,_=f.value;(0,a.default)(e,r,(0,o.default)({},f,{value:function(){if(!(0,s.default)(m,this))throw new Error("Class should be initialized with `".concat(t,"()` method"));return _.apply(this,arguments)}})),d.add(r)}}})}(r,e),function(e,t,r){var n=(0,i.default)(e,t)||p,s=n.value;(0,a.default)(e,t,(0,o.default)({},n,{value:function(){(0,d.default)(m,!0,this);var e=s.apply(this,arguments);return this[r],e}}))}(r,e,n),function(e,t){(0,s.default)(N,e).add(t);var r="_".concat(t),n=(0,i.default)(e,r)||p;return(0,a.default)(e,t,(0,o.default)({},n,{get:function(){if(void 0===this[r])throw new Error("Property `".concat(t,"` is not initialized! Initialize it first!"));return this[r]},set:function(e){this[r]=e}})),n}(r,n)}}},function(e,t){e.exports=require("@babel/runtime/core-js/object/assign")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Preparing="Preparing",e.DeadCodeInjection="DeadCodeInjection",e.ControlFlowFlattening="ControlFlowFlattening",e.Converting="Converting",e.Obfuscating="Obfuscating",e.Finalizing="Finalizing"}(t.TransformationStage||(t.TransformationStage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=r(11),u=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"initialize",value:function(){this.nodeIdentifier=this.randomGenerator.getRandomInteger(0,1e4)}}]),e}();i.__decorate([d.initializable(),i.__metadata("design:type",Number)],u.prototype,"nodeIdentifier",void 0),i.__decorate([s.postConstruct(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[]),i.__metadata("design:returntype",void 0)],u.prototype,"initialize",null),u=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],u),t.AbstractNodeTransformer=u},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(46)),c=r(26),d=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"programNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.Program,body:e,sourceType:"script",metadata:{ignoredNode:!1}}}},{key:"arrayExpressionNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.ArrayExpression,elements:e,metadata:{ignoredNode:!1}}}},{key:"assignmentExpressionNode",value:function(e,t,r){return{type:c.NodeType.AssignmentExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"binaryExpressionNode",value:function(e,t,r){return{type:c.NodeType.BinaryExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"blockStatementNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.BlockStatement,body:e,metadata:{ignoredNode:!1}}}},{key:"breakStatement",value:function(e){var t={type:c.NodeType.BreakStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"callExpressionNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{type:c.NodeType.CallExpression,callee:e,arguments:t,metadata:{ignoredNode:!1}}}},{key:"continueStatement",value:function(e){var t={type:c.NodeType.ContinueStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"expressionStatementNode",value:function(e){return{type:c.NodeType.ExpressionStatement,expression:e,metadata:{ignoredNode:!1}}}},{key:"functionDeclarationNode",value:function(t,r,n){return{type:c.NodeType.FunctionDeclaration,id:e.identifierNode(t),params:r,body:n,generator:!1,metadata:{ignoredNode:!1}}}},{key:"functionExpressionNode",value:function(e,t){return{type:c.NodeType.FunctionExpression,params:e,body:t,generator:!1,metadata:{ignoredNode:!1}}}},{key:"ifStatementNode",value:function(e,t,r){return(0,o.default)({type:c.NodeType.IfStatement,test:e,consequent:t},r&&{alternate:r},{metadata:{ignoredNode:!1}})}},{key:"identifierNode",value:function(e){return{type:c.NodeType.Identifier,name:e,metadata:{ignoredNode:!1}}}},{key:"literalNode",value:function(e,t){return t=void 0!==t?t:"'".concat(e,"'"),{type:c.NodeType.Literal,value:e,raw:t,"x-verbatim-property":{content:t,precedence:s.Precedence.Primary},metadata:{ignoredNode:!1}}}},{key:"logicalExpressionNode",value:function(e,t,r){return{type:c.NodeType.LogicalExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"memberExpressionNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.MemberExpression,computed:r,object:e,property:t,metadata:{ignoredNode:!1}}}},{key:"methodDefinitionNode",value:function(e,t,r,n){return{type:c.NodeType.MethodDefinition,key:e,value:t,kind:r,computed:n,static:!1,metadata:{ignoredNode:!1}}}},{key:"objectExpressionNode",value:function(e){return{type:c.NodeType.ObjectExpression,properties:e,metadata:{ignoredNode:!1}}}},{key:"propertyNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.Property,key:e,value:t,kind:"init",method:!1,shorthand:!1,computed:r,metadata:{ignoredNode:!1}}}},{key:"returnStatementNode",value:function(e){return{type:c.NodeType.ReturnStatement,argument:e,metadata:{ignoredNode:!1}}}},{key:"switchStatementNode",value:function(e,t){return{type:c.NodeType.SwitchStatement,discriminant:e,cases:t,metadata:{ignoredNode:!1}}}},{key:"switchCaseNode",value:function(e,t){return{type:c.NodeType.SwitchCase,test:e,consequent:t,metadata:{ignoredNode:!1}}}},{key:"unaryExpressionNode",value:function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return{type:c.NodeType.UnaryExpression,operator:e,argument:t,prefix:r,metadata:{ignoredNode:!1}}}},{key:"updateExpressionNode",value:function(e,t){return{type:c.NodeType.UpdateExpression,operator:e,argument:t,prefix:!1,metadata:{ignoredNode:!1}}}},{key:"variableDeclarationNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"var";return{type:c.NodeType.VariableDeclaration,declarations:e,kind:t,metadata:{ignoredNode:!1}}}},{key:"variableDeclaratorNode",value:function(e,t){return{type:c.NodeType.VariableDeclarator,id:e,init:t,metadata:{ignoredNode:!1}}}},{key:"whileStatementNode",value:function(e,t){return{type:c.NodeType.WhileStatement,test:e,body:t,metadata:{ignoredNode:!1}}}}]),e}();t.NodeFactory=d},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(4),u=r(172),l=r(171),f=i=function(){function e(t,r,n){(0,o.default)(this,e),this.cachedNode=null,this.identifierNamesGenerator=t(n),this.randomGenerator=r,this.options=n}return(0,a.default)(e,[{key:"getNode",value:function(){return this.cachedNode||(this.cachedNode=this.getNodeStructure()),this.cachedNode}},{key:"getGlobalVariableTemplate",value:function(){return this.randomGenerator.getRandomGenerator().pickone(i.globalVariableTemplateFunctions)}}]),e}();f.globalVariableTemplateFunctions=[u.GlobalVariableTemplate1(),l.GlobalVariableTemplate2()],f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(2,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Function,Object,Object])],f),t.AbstractCustomNode=f},function(e,t){e.exports=require("@babel/runtime/core-js/map")},function(e,t){e.exports=require("estraverse")},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"set",value:function(e,t){e.metadata=(0,o.default)(e.metadata||{},t)}},{key:"get",value:function(e,t){return void 0!==e.metadata?e.metadata[t]:void 0}},{key:"isIgnoredNode",value:function(t){return!0===e.get(t,"ignoredNode")}},{key:"isRenamedIdentifier",value:function(t){return!0===e.get(t,"renamedIdentifier")}},{key:"isReplacedLiteral",value:function(t){return!0===e.get(t,"replacedLiteral")}}]),e}();t.NodeMetadata=s},function(e,t){e.exports=require("string-template")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BaseIdentifierObfuscatingReplacer="BaseIdentifierObfuscatingReplacer"}(t.IdentifierObfuscatingReplacer||(t.IdentifierObfuscatingReplacer={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionFunctionNode="BinaryExpressionFunctionNode",e.BlockStatementControlFlowFlatteningNode="BlockStatementControlFlowFlatteningNode",e.CallExpressionControlFlowStorageCallNode="CallExpressionControlFlowStorageCallNode",e.CallExpressionFunctionNode="CallExpressionFunctionNode",e.ControlFlowStorageNode="ControlFlowStorageNode",e.ExpressionWithOperatorControlFlowStorageCallNode="ExpressionWithOperatorControlFlowStorageCallNode",e.LogicalExpressionFunctionNode="LogicalExpressionFunctionNode",e.StringLiteralControlFlowStorageCallNode="StringLiteralControlFlowStorageCallNode",e.StringLiteralNode="StringLiteralNode"}(t.ControlFlowCustomNode||(t.ControlFlowCustomNode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Browser="browser",e.BrowserNoEval="browser-no-eval",e.Node="node"}(t.ObfuscationTarget||(t.ObfuscationTarget={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.AfterObfuscation="afterObfuscation",e.BeforeObfuscation="beforeObfuscation"}(t.ObfuscationEvent||(t.ObfuscationEvent={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(9),c=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"appendNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t)).concat((0,o.default)(r)))}},{key:"appendNodeToOptimalBlockScope",value:function(t,r,n){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;o=t.length?e.getOptimalBlockScope(t,a):r,e.prependNode(o,n)}},{key:"getOptimalBlockScope",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,o=t[r];if(n<=0)throw new Error("Invalid `deep` argument value. Value should be bigger then 0.");return n>1&&o.stackTrace.length?e.getOptimalBlockScope(o.stackTrace,0,--n):o.callee}},{key:"insertNodeAfter",value:function(t,r,n){var o=e.getScopeNodeStatements(t).indexOf(n);e.insertNodeAtIndex(t,r,o+1)}},{key:"insertNodeAtIndex",value:function(t,r,n){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t).slice(0,n)).concat((0,o.default)(r),(0,o.default)(e.getScopeNodeStatements(t).slice(n))))}},{key:"prependNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(r).concat((0,o.default)(e.getScopeNodeStatements(t))))}},{key:"getScopeNodeStatements",value:function(e){return s.NodeGuards.isSwitchCaseNode(e)?e.consequent:e.body}},{key:"parentizeScopeStatementsBeforeAppend",value:function(e,t){return t.forEach(function(t){t.parentNode=e}),t}},{key:"setScopeNodeStatements",value:function(e,t){s.NodeGuards.isSwitchCaseNode(e)?e.consequent=t:e.body=t}}]),e}();t.NodeAppender=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ArrayExpression="ArrayExpression",e.ArrayPattern="ArrayPattern",e.ArrowFunctionExpression="ArrowFunctionExpression",e.AssignmentExpression="AssignmentExpression",e.AssignmentPattern="AssignmentPattern",e.AwaitExpression="AwaitExpression",e.BinaryExpression="BinaryExpression",e.BlockStatement="BlockStatement",e.BreakStatement="BreakStatement",e.CallExpression="CallExpression",e.CatchClause="CatchClause",e.ClassDeclaration="ClassDeclaration",e.ContinueStatement="ContinueStatement",e.ExportNamedDeclaration="ExportNamedDeclaration",e.ExpressionStatement="ExpressionStatement",e.FunctionDeclaration="FunctionDeclaration",e.FunctionExpression="FunctionExpression",e.Identifier="Identifier",e.IfStatement="IfStatement",e.ImportDeclaration="ImportDeclaration",e.ImportDefaultSpecifier="ImportDefaultSpecifier",e.ImportNamespaceSpecifier="ImportNamespaceSpecifier",e.ImportSpecifier="ImportSpecifier",e.LabeledStatement="LabeledStatement",e.Literal="Literal",e.LogicalExpression="LogicalExpression",e.MemberExpression="MemberExpression",e.MethodDefinition="MethodDefinition",e.ObjectExpression="ObjectExpression",e.ObjectPattern="ObjectPattern",e.Program="Program",e.Property="Property",e.RestElement="RestElement",e.ReturnStatement="ReturnStatement",e.Super="Super",e.SwitchCase="SwitchCase",e.SwitchStatement="SwitchStatement",e.TaggedTemplateExpression="TaggedTemplateExpression",e.TemplateLiteral="TemplateLiteral",e.TryStatement="TryStatement",e.UnaryExpression="UnaryExpression",e.UpdateExpression="UpdateExpression",e.VariableDeclaration="VariableDeclaration",e.VariableDeclarator="VariableDeclarator",e.WhileStatement="WhileStatement"}(t.NodeType||(t.NodeType={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(1),c=r(4),d=r(204),u=r(199),l=r(185),f=r(179),p=r(132),m=r(131),N=r(128),g=r(127),_=r(114),v=r(99),y=r(89),h=r(84),b=r(78),S=r(65),I=r(75),C=r(73),F=r(72),j=r(71),O=r(70),T=function(){function e(){(0,a.default)(this,e),this.container=new s.Container}return(0,i.default)(e,[{key:"get",value:function(e){return this.container.get(e)}},{key:"getNamed",value:function(e,t){return this.container.getNamed(e,t)}},{key:"load",value:function(e,t){this.container.bind(c.ServiceIdentifiers.ISourceCode).toDynamicValue(function(){return new F.SourceCode(e)}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.TInputOptions).toDynamicValue(function(){return t}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ILogger).to(S.Logger).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IJavaScriptObfuscator).to(b.JavaScriptObfuscator).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ITransformersRunner).to(O.TransformersRunner).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationResult).to(C.ObfuscationResult).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.Factory__IObfuscationResult).toFactory(function(e){return function(t,r){var n=e.container.get(c.ServiceIdentifiers.IObfuscationResult);return n.initialize(t,r),n}}),this.container.bind(c.ServiceIdentifiers.ISourceMapCorrector).to(j.SourceMapCorrector).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationEventEmitter).to(I.ObfuscationEventEmitter).inSingletonScope(),this.container.load(d.analyzersModule),this.container.load(u.controlFlowTransformersModule),this.container.load(l.convertingTransformersModule),this.container.load(f.customNodesModule),this.container.load(p.finalizingTransformersModule),this.container.load(m.generatorsModule),this.container.load(N.nodeTransformersModule),this.container.load(g.obfuscatingTransformersModule),this.container.load(_.optionsModule),this.container.load(v.preparingTransformersModule),this.container.load(y.storagesModule),this.container.load(h.utilsModule)}},{key:"unload",value:function(){this.container.unbindAll()}}],[{key:"getFactory",value:function(e){return function(t){return function(r){return t.container.getNamed(e,r)}}}},{key:"getCacheFactory",value:function(e){return function(t){var r=new o.default;return function(n){if(r.has(n))return r.get(n);var o=t.container.getNamed(e,n);return r.set(n,o),o}}}},{key:"getConstructorFactory",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n-1||0===e.indexOf("//")?e.split("/")[2]:e.split("/")[0]).split(":")[0]}},{key:"isCeilNumber",value:function(e){return e%1==0}},{key:"stringRotate",value:function(e,t){if(!e)throw new ReferenceError("Cannot rotate empty string.");for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new s.InversifyContainerFacade;r.load(e,t);var n=r.get(i.ServiceIdentifiers.IJavaScriptObfuscator).obfuscate(e);return r.unload(),n}}]),e}();c.version="0.16.0",t.JavaScriptObfuscator=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base64="base64",e.Rc4="rc4"}(t.StringArrayEncoding||(t.StringArrayEncoding={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Inline="inline",e.Separate="separate"}(t.SourceMapMode||(t.SourceMapMode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.HexadecimalIdentifierNamesGenerator="hexadecimal",e.MangledIdentifierNamesGenerator="mangled"}(t.IdentifierNamesGenerator||(t.IdentifierNamesGenerator={}))},function(e,t,r){"use strict";var n=r(0)(r(2));Object.defineProperty(t,"__esModule",{value:!0});var o=r(5),a=r(1),i=r(4),s=function e(t){(0,n.default)(this,e),this.options=t};s=o.__decorate([a.injectable(),o.__param(0,a.inject(i.ServiceIdentifiers.IOptions)),o.__metadata("design:paramtypes",[Object])],s),t.AbstractObfuscatingReplacer=s},function(e,t){e.exports=require("@babel/runtime/helpers/get")},function(e,t,r){"use strict";var n=r(0)(r(55));Object.defineProperty(t,"__esModule",{value:!0});var o=r(40),a=r(23),i=r(39);t.NO_ADDITIONAL_NODES_PRESET=(0,n.default)({compact:!0,controlFlowFlattening:!1,controlFlowFlatteningThreshold:0,deadCodeInjection:!1,deadCodeInjectionThreshold:0,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",log:!1,renameGlobals:!1,reservedNames:[],rotateStringArray:!1,seed:0,selfDefending:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,stringArray:!1,stringArrayEncoding:!1,stringArrayThreshold:0,target:a.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableNoEvalTemplate=function(){return"\n var that = (typeof window !== 'undefined'\n ? window\n : (typeof process === 'object' &&\n typeof require === 'function' &&\n typeof global === 'object')\n ? global\n : this);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=s=function(){function e(t,r,n){(0,a.default)(this,e),this.replacerDataByControlFlowStorageId=new o.default,this.controlFlowCustomNodeFactory=t,this.randomGenerator=r,this.options=n}return(0,i.default)(e,[{key:"insertCustomNodeToControlFlowStorage",value:function(e,t,r,n){var o=this,a=t.getStorageId(),i=s.getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId,a),c=i.get(r);if(this.randomGenerator.getMathRandom()1&&void 0!==arguments[1]?arguments[1]:i.randomGeneratorPool;return this.getRandomGenerator().string({length:e,pool:t})}},{key:"getSeed",value:function(){return this.seed}}]),e}();p.randomGeneratorPool="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",s.__decorate([f.initializable(),s.__metadata("design:type",Object)],p.prototype,"randomGenerator",void 0),s.__decorate([f.initializable(),s.__metadata("design:type",Number)],p.prototype,"seed",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],p.prototype,"initialize",null),p=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.ISourceCode)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],p),t.RandomGenerator=p},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(30)),i=n(r(35)),s=n(r(17)),c=n(r(2)),d=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=function(){function e(t,r){(0,c.default)(this,e),this.randomGenerator=t,this.options=r}return(0,d.default)(e,[{key:"initialize",value:function(){this.storage=new s.default,this.storageId=this.randomGenerator.getRandomString(6)}},{key:"get",value:function(e){var t=this.storage.get(e);if(!t)throw new Error("No value found in map storage with key `".concat(e,"`"));return t}},{key:"getKeyOf",value:function(e){var t=!0,r=!1,n=void 0;try{for(var o,s=(0,i.default)(this.storage);!(t=(o=s.next()).done);t=!0){var c=(0,a.default)(o.value,2),d=c[0];if(e===c[1])return d}}catch(e){r=!0,n=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw n}}return null}},{key:"getLength",value:function(){return this.storage.size}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"has",value:function(e){return this.storage.has(e)}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=new s.default((0,o.default)(this.storage).concat((0,o.default)(e.getStorage()))),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){this.storage.set(e,t)}}]),e}();u.__decorate([p.initializable(),u.__metadata("design:type",String)],m.prototype,"storageId",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",s.default)],m.prototype,"storage",void 0),u.__decorate([l.postConstruct(),u.__metadata("design:type",Function),u.__metadata("design:paramtypes",[]),u.__metadata("design:returntype",void 0)],m.prototype,"initialize",null),m=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],m),t.MapStorage=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlackListNodeGuard="BlackListNodeGuard",e.ConditionalCommentNodeGuard="ConditionalCommentNodeGuard"}(t.ObfuscatingGuard||(t.ObfuscatingGuard={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BooleanLiteralObfuscatingReplacer="BooleanLiteralObfuscatingReplacer",e.NumberLiteralObfuscatingReplacer="NumberLiteralObfuscatingReplacer",e.StringLiteralObfuscatingReplacer="StringLiteralObfuscatingReplacer"}(t.LiteralObfuscatingReplacer||(t.LiteralObfuscatingReplacer={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"isValidIdentifierName",value:function(e){return!this.options.reservedNames.length||!this.options.reservedNames.some(function(t){return null!==new RegExp(t,"g").exec(e)})}}]),e}();d=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],d),t.AbstractIdentifierNamesGenerator=d},function(e,t){e.exports=require("@babel/runtime/core-js/object/freeze")},function(e,t){e.exports=require("@babel/runtime/core-js/array/from")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ConsoleOutputCustomNodeGroup="ConsoleOutputCustomNodeGroup",e.DebugProtectionCustomNodeGroup="DebugProtectionCustomNodeGroup",e.DomainLockCustomNodeGroup="DomainLockCustomNodeGroup",e.SelfDefendingCustomNodeGroup="SelfDefendingCustomNodeGroup",e.StringArrayCustomNodeGroup="StringArrayCustomNodeGroup"}(t.CustomNodeGroup||(t.CustomNodeGroup={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlockStatementDeadCodeInjectionNode="BlockStatementDeadCodeInjectionNode"}(t.DeadCodeInjectionCustomNode||(t.DeadCodeInjectionCustomNode={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(22),p=r(45),m=r(9),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(f.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!m.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(p.AbstractControlFlowReplacer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.ExpressionWithOperatorControlFlowReplacer=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionControlFlowReplacer="BinaryExpressionControlFlowReplacer",e.CallExpressionControlFlowReplacer="CallExpressionControlFlowReplacer",e.LogicalExpressionControlFlowReplacer="LogicalExpressionControlFlowReplacer",e.StringLiteralControlFlowReplacer="StringLiteralControlFlowReplacer"}(t.ControlFlowReplacer||(t.ControlFlowReplacer={}))},function(e,t){e.exports=require("espree")},function(e,t){e.exports=require("@babel/runtime/helpers/typeof")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.FunctionDeclarationCalleeDataExtractor="FunctionDeclarationCalleeDataExtractor",e.FunctionExpressionCalleeDataExtractor="FunctionExpressionCalleeDataExtractor",e.ObjectExpressionCalleeDataExtractor="ObjectExpressionCalleeDataExtractor"}(t.CalleeDataExtractor||(t.CalleeDataExtractor={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base="[javascript-obfuscator]",e.CLI="[javascript-obfuscator-cli]"}(t.LoggingPrefix||(t.LoggingPrefix={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(4),u=s.__importDefault(r(49)),l=r(64),f=i=function(){function e(t){(0,o.default)(this,e),this.options=t}return(0,a.default)(e,[{key:"info",value:function(e,t){this.options.log&&i.log(i.colorInfo,l.LoggingPrefix.Base,e,t)}},{key:"success",value:function(e,t){this.options.log&&i.log(i.colorSuccess,l.LoggingPrefix.Base,e,t)}},{key:"warn",value:function(e,t){this.options.log&&i.log(i.colorWarn,l.LoggingPrefix.Base,e,t)}}],[{key:"log",value:function(e,t,r,n){var o=e("\n".concat(t," ").concat(r));console.log(o,n||"")}}]),e}();f.colorInfo=u.default.cyan,f.colorSuccess=u.default.green,f.colorWarn=u.default.yellow,f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object])],f),t.Logger=f},function(e,t){e.exports=require("reflect-metadata")},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Enter="enter",e.Leave="leave"}(t.VisitorDirection||(t.VisitorDirection={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=i.__importStar(r(18)),u=r(69),l=r(9),f=r(19),p=function(){function e(t){(0,o.default)(this,e),this.nodeTransformerFactory=t}return(0,a.default)(e,[{key:"transform",value:function(e,t,r){if(!t.length)return e;for(var n,o=[],a=[],i=t.length,s=0;s"),c="...".concat(o.substring(a,i).replace(/^\s+/,""),"...");throw new Error("Line ".concat(n.line,": ").concat(r,"\n").concat(s," ").concat(c))}}]),e}();u.colorError=d.default.red,u.nearestSymbolsCount=15,u.sourceTypes=["script","module"],t.EspreeFacade=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.EmptySourceCode="Empty source code. Obfuscation canceled...",e.ObfuscationCompleted="Obfuscation completed. Total time: %s sec.",e.ObfuscationStarted="Obfuscation started...",e.RandomGeneratorSeed="Random generator seed: %s...",e.TransformationStage="Transformation stage: %s...",e.Version="Version: %s"}(t.LoggingMessage||(t.LoggingMessage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=c.__importStar(r(46)),f=r(77),p=r(32),m=r(13),N=r(76),g=r(9),_=s=function(){function e(t,r,n,o,i){(0,a.default)(this,e),this.transformersRunner=t,this.sourceMapCorrector=r,this.randomGenerator=n,this.logger=o,this.options=i}return(0,i.default)(e,[{key:"obfuscate",value:function(e){var t=Date.now();this.logger.info(f.LoggingMessage.Version,"0.16.0"),this.logger.info(f.LoggingMessage.ObfuscationStarted),this.logger.info(f.LoggingMessage.RandomGeneratorSeed,this.randomGenerator.getSeed());var r=this.parseCode(e),n=this.transformAstTree(r),o=this.generateCode(e,n),a=(Date.now()-t)/1e3;return this.logger.success(f.LoggingMessage.ObfuscationCompleted,a),this.getObfuscationResult(o)}},{key:"parseCode",value:function(e){return N.EspreeFacade.parse(e,s.espreeParseOptions)}},{key:"transformAstTree",value:function(e){return!g.NodeGuards.isProgramNode(e)||e.body.length||e.leadingComments||e.trailingComments?(e=this.runTransformationStage(e,m.TransformationStage.Preparing),this.options.deadCodeInjection&&(e=this.runTransformationStage(e,m.TransformationStage.DeadCodeInjection)),this.options.controlFlowFlattening&&(e=this.runTransformationStage(e,m.TransformationStage.ControlFlowFlattening)),e=this.runTransformationStage(e,m.TransformationStage.Converting),e=this.runTransformationStage(e,m.TransformationStage.Obfuscating),e=this.runTransformationStage(e,m.TransformationStage.Finalizing)):(this.logger.warn(f.LoggingMessage.EmptySourceCode),e)}},{key:"generateCode",value:function(e,t){var r=(0,o.default)({},s.escodegenParams);this.options.sourceMap&&(r.sourceMap="sourceMap",r.sourceContent=e);var n=l.generate(t,(0,o.default)({},r,{format:{compact:this.options.compact}}));return n.map=n.map?n.map.toString():"",n}},{key:"getObfuscationResult",value:function(e){return this.sourceMapCorrector.correct(e.code,e.map)}},{key:"runTransformationStage",value:function(e,t){return this.logger.info(f.LoggingMessage.TransformationStage,t),this.transformersRunner.transform(e,s.transformersList,t)}}]),e}();_.espreeParseOptions={attachComment:!0,comment:!0,ecmaFeatures:{experimentalObjectRestSpread:!0},ecmaVersion:9,loc:!0,range:!0},_.escodegenParams={comment:!0,verbatim:"x-verbatim-property",sourceMapWithCode:!0},_.transformersList=[p.NodeTransformer.BlockStatementControlFlowTransformer,p.NodeTransformer.ClassDeclarationTransformer,p.NodeTransformer.CommentsTransformer,p.NodeTransformer.CustomNodesTransformer,p.NodeTransformer.DeadCodeInjectionTransformer,p.NodeTransformer.EvalCallExpressionTransformer,p.NodeTransformer.FunctionControlFlowTransformer,p.NodeTransformer.CatchClauseTransformer,p.NodeTransformer.FunctionDeclarationTransformer,p.NodeTransformer.FunctionTransformer,p.NodeTransformer.ImportDeclarationTransformer,p.NodeTransformer.LabeledStatementTransformer,p.NodeTransformer.LiteralTransformer,p.NodeTransformer.MemberExpressionTransformer,p.NodeTransformer.MetadataTransformer,p.NodeTransformer.MethodDefinitionTransformer,p.NodeTransformer.ObfuscatingGuardsTransformer,p.NodeTransformer.ObjectExpressionKeysTransformer,p.NodeTransformer.ObjectExpressionTransformer,p.NodeTransformer.ParentificationTransformer,p.NodeTransformer.TemplateLiteralTransformer,p.NodeTransformer.VariableDeclarationTransformer],_=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.ITransformersRunner)),c.__param(1,d.inject(u.ServiceIdentifiers.ISourceMapCorrector)),c.__param(2,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(3,d.inject(u.ServiceIdentifiers.ILogger)),c.__param(4,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],_),t.JavaScriptObfuscator=_},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(5),c=r(1),d=function(){function e(){(0,a.default)(this,e),this.stringsCache=new o.default}return(0,i.default)(e,[{key:"encode",value:function(e,t){var r="".concat(e,"-").concat(String(t));if(this.stringsCache.has(r))return this.stringsCache.get(r);var n,o,a=new RegExp("[\\s\\S]","g"),i=new RegExp("['\"\\\\\\s]"),s=new RegExp("[\\x00-\\x7F]"),c=e.replace(a,function(e){return t||i.exec(e)?(s.exec(e)?(n="\\x",o="00"):(n="\\u",o="0000"),"".concat(n).concat((o+e.charCodeAt(0).toString(16)).slice(-o.length))):e});return this.stringsCache.set(r,c),c}}]),e}();d=s.__decorate([c.injectable()],d),t.EscapeSequenceEncoder=d},function(e,t){e.exports=require("chance")},function(e,t){e.exports=require("md5")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=r(50),u=r(28),l=function(){function e(t){(0,o.default)(this,e),this.randomGenerator=t}return(0,a.default)(e,[{key:"btoa",value:function(e){var t="";e=encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode(parseInt("".concat(u.Utils.hexadecimalPrefix).concat(t)))});for(var r,n,o=0,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.charAt(0|o)||(a="=",o%1);t+=a.charAt(63&r>>8-o%1*8)){if((n=e.charCodeAt(o+=.75))>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");r=r<<8|n}return t}},{key:"hideString",value:function(e,t){var r=this,n=this.randomGenerator.getRandomGenerator().string({length:t,pool:d.RandomGenerator.randomGeneratorPool}).replace(new RegExp("[".concat(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"]"),"g"),""),o=n.split("");return this.randomGenerator.getRandomGenerator().shuffle(o),[function(e,t){for(var n=-1,o=-1,a="";n=0?t:null}},{key:"getLength",value:function(){return this.storageLength}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=(0,o.default)(this.storage).concat((0,o.default)(e.getStorage())),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){e===this.storageLength?this.storage.push(t):this.storage.splice(e,0,t),this.storageLength++}}]),e}();s.__decorate([u.initializable(),s.__metadata("design:type",Array)],l.prototype,"storage",void 0),s.__decorate([u.initializable(),s.__metadata("design:type",String)],l.prototype,"storageId",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],l.prototype,"initialize",null),l=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],l),t.ArrayStorage=l},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(85),N=u=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).identifierNamesGenerator=e(i),c.arrayUtils=r,c}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this);var e=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),r=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),n="".concat(this.options.identifiersPrefix).concat(e),a="".concat(this.options.identifiersPrefix).concat(r);this.storageId="".concat(n,"|").concat(a)}},{key:"rotateArray",value:function(e){this.storage=this.arrayUtils.arrayRotate(this.storage,e)}},{key:"toString",value:function(){return this.storage.map(function(e){return"'".concat(e,"'")}).toString()}}]),t}(m.ArrayStorage);N.stringArrayNameLength=7,l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],N.prototype,"initialize",null),N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IArrayUtils)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],N),t.StringArrayStorage=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(57),N=r(51),g=u=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).customNodeGroupFactory=e,i}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){var e=this;(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this),u.customNodeGroupsList.forEach(function(t){var r=e.customNodeGroupFactory(t);r&&e.storage.set(t,r)})}}]),t}(N.MapStorage);g.customNodeGroupsList=[m.CustomNodeGroup.ConsoleOutputCustomNodeGroup,m.CustomNodeGroup.DebugProtectionCustomNodeGroup,m.CustomNodeGroup.DomainLockCustomNodeGroup,m.CustomNodeGroup.SelfDefendingCustomNodeGroup,m.CustomNodeGroup.StringArrayCustomNodeGroup],l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],g.prototype,"initialize",null),g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNodeGroup)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],g),t.CustomNodeGroupStorage=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(7)),s=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var c=r(5),d=r(1),u=r(4),l=function(e){function t(e,r){return(0,a.default)(this,t),(0,i.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,s.default)(t,e),t}(r(51).MapStorage);l=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(1,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object])],l),t.ControlFlowStorage=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(4),a=r(88),i=r(87),s=r(86);t.storagesModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.TCustomNodeGroupStorage).to(i.CustomNodeGroupStorage).inSingletonScope(),e(o.ServiceIdentifiers.TStringArrayStorage).to(s.StringArrayStorage).inSingletonScope(),e(o.ServiceIdentifiers.Newable__TControlFlowStorage).toConstructor(a.ControlFlowStorage),e(o.ServiceIdentifiers.Factory__TControlFlowStorage).toFactory(function(e){return function(){var t=new(e.container.get(o.ServiceIdentifiers.Newable__TControlFlowStorage))(e.container.get(o.ServiceIdentifiers.IRandomGenerator),e.container.get(o.ServiceIdentifiers.IOptions));return t.initialize(),t}})})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(10),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return m.NodeUtils.parentizeNode(e,t)}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.ParentificationTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(52),m=r(13),N=r(14),g=r(19),_=d=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).obfuscatingGuards=d.obfuscatingGuardsList.map(e),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.obfuscatingGuards.every(function(t){return t.check(e)});return g.NodeMetadata.set(e,{ignoredNode:!r}),e}}]),t}(N.AbstractNodeTransformer);_.obfuscatingGuardsList=[p.ObfuscatingGuard.BlackListNodeGuard,p.ObfuscatingGuard.ConditionalCommentNodeGuard],_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__INodeGuard)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.ObfuscatingGuardsTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(9),N=r(19),g=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return N.NodeMetadata.set(e,{ignoredNode:!1}),m.NodeGuards.isIdentifierNode(e)&&N.NodeMetadata.set(e,{renamedIdentifier:!1}),m.NodeGuards.isLiteralNode(e)&&N.NodeMetadata.set(e,{replacedLiteral:!1}),e}}]),t}(p.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],g),t.MetadataTransformer=g},function(e,t){e.exports=require("js-string-escape")},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importDefault(r(93)),N=r(13),g=r(14),_=r(15),v=r(9),y=r(10),h=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).evalRootAstHostNodeSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Preparing:return{enter:function(e,r){if(r&&v.NodeGuards.isCallExpressionNode(e)&&v.NodeGuards.isIdentifierNode(e.callee)&&"eval"===e.callee.name)return t.transformNode(e,r)}};case N.TransformationStage.Finalizing:return this.evalRootAstHostNodeSet.size?{leave:function(e,r){if(r&&t.isEvalRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"transformNode",value:function(e,t){var r=e.arguments[0];if(!r)return e;var n,o=u.extractEvalStringFromCallExpressionArgument(r);if(!o)return e;try{n=y.NodeUtils.convertCodeToStructure(o)}catch(t){return e}var a=_.NodeFactory.functionExpressionNode([],_.NodeFactory.blockStatementNode(n));return this.evalRootAstHostNodeSet.add(a),a}},{key:"restoreNode",value:function(e,t){var r=e.body.body,n=y.NodeUtils.convertStructureToCode(r);return _.NodeFactory.callExpressionNode(_.NodeFactory.identifierNode("eval"),[_.NodeFactory.literalNode(m.default(n))])}},{key:"isEvalRootAstHostNode",value:function(e){return v.NodeGuards.isFunctionExpressionNode(e)&&this.evalRootAstHostNodeSet.has(e)}}],[{key:"extractEvalStringFromCallExpressionArgument",value:function(e){return v.NodeGuards.isLiteralNode(e)?u.extractEvalStringFromLiteralNode(e):v.NodeGuards.isTemplateLiteralNode(e)?u.extractEvalStringFromTemplateLiteralNode(e):null}},{key:"extractEvalStringFromLiteralNode",value:function(e){return"string"==typeof e.value?e.value:null}},{key:"extractEvalStringFromTemplateLiteralNode",value:function(e){var t=e.quasis;return 1!==t.length||e.expressions.length?null:t[0].value.cooked}}]),t}(g.AbstractNodeTransformer);h=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],h),t.EvalCallExpressionTransformer=h},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(24),p=r(13),m=r(14),N=r(9),g=function(e){function t(e,r,n,i,c){var d;return(0,a.default)(this,t),(d=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,i,c))).stackTraceData=[],d.stackTraceAnalyzer=e,d.obfuscationEventEmitter=r,d.customNodeGroupStorage=n,d}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Preparing:return{leave:function(e,r){if(N.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),t.appendCustomNodesBeforeObfuscation(e,r),t.transformNode(e,r)}};case p.TransformationStage.Finalizing:return{leave:function(e,r){N.NodeGuards.isProgramNode(e)&&t.appendCustomNodesAfterObfuscation(e,r)}};default:return null}}},{key:"analyzeNode",value:function(e,t){this.stackTraceData=this.stackTraceAnalyzer.analyze(e)}},{key:"transformNode",value:function(e,t){return e}},{key:"appendCustomNodesBeforeObfuscation",value:function(e,t){var r=this;this.customNodeGroupStorage.getStorage().forEach(function(e){e.initialize(),r.obfuscationEventEmitter.once(e.getAppendEvent(),e.appendCustomNodes.bind(e))}),this.obfuscationEventEmitter.emit(f.ObfuscationEvent.BeforeObfuscation,e,this.stackTraceData)}},{key:"appendCustomNodesAfterObfuscation",value:function(e,t){this.obfuscationEventEmitter.emit(f.ObfuscationEvent.AfterObfuscation,e,this.stackTraceData)}}]),t}(m.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IStackTraceAnalyzer)),d.__param(1,u.inject(l.ServiceIdentifiers.IObfuscationEventEmitter)),d.__param(2,u.inject(l.ServiceIdentifiers.TCustomNodeGroupStorage)),d.__param(3,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(4,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],g),t.CustomNodesTransformer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(9),u=i=function(){function e(){(0,o.default)(this,e),this.obfuscationAllowedForCurrentNode=!0,this.obfuscationAllowedForNextNode=null}return(0,a.default)(e,[{key:"check",value:function(e){if(this.obfuscationAllowedForNextNode&&(this.obfuscationAllowedForCurrentNode=this.obfuscationAllowedForNextNode,this.obfuscationAllowedForNextNode=null),!d.NodeGuards.isNodeWithComments(e))return this.obfuscationAllowedForCurrentNode;var t=e.leadingComments,r=e.trailingComments;return t&&(this.obfuscationAllowedForCurrentNode=this.checkComments(t)),r&&(this.obfuscationAllowedForNextNode=this.checkComments(r)),this.obfuscationAllowedForCurrentNode}},{key:"checkComments",value:function(e){for(var t=e.length,r=this.obfuscationAllowedForCurrentNode,n=0;n=u.minimumLengthForStringArray&&this.randomGenerator.getMathRandom()<=this.options.stringArrayThreshold}},{key:"getStringArrayHexadecimalIndex",value:function(e,t){if(this.stringLiteralHexadecimalIndexCache.has(e))return{fromCache:!0,index:this.stringLiteralHexadecimalIndexCache.get(e)};var r=v.Utils.decToHex(t),n="".concat(v.Utils.hexadecimalPrefix).concat(r);return this.stringLiteralHexadecimalIndexCache.set(e,n),{fromCache:!1,index:n}}},{key:"getEncodedValue",value:function(e){var t,r=null;switch(this.options.stringArrayEncoding){case m.StringArrayEncoding.Rc4:r=this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys),t=this.cryptUtils.btoa(this.cryptUtils.rc4(e,r));break;case m.StringArrayEncoding.Base64:t=this.cryptUtils.btoa(e);break;default:t=e}return{encodedValue:t,key:r}}},{key:"replaceWithLiteralNode",value:function(e){return _.NodeFactory.literalNode(this.escapeSequenceEncoder.encode(e,this.options.unicodeEscapeSequence))}},{key:"replaceWithStringArrayCallNode",value:function(e){var t=this.getEncodedValue(e),r=t.encodedValue,n=t.key,o=this.escapeSequenceEncoder.encode(r,this.options.unicodeEscapeSequence),a=this.stringArrayStorage.getLength(),i=this.stringArrayStorage.getStorageId().split("|")[1],s=this.getStringArrayHexadecimalIndex(o,a),c=s.fromCache,d=s.index;c||this.stringArrayStorage.set(a,o);var l=[u.getHexadecimalLiteralNode(d)];n&&l.push(u.getRc4KeyLiteralNode(this.escapeSequenceEncoder.encode(n,this.options.unicodeEscapeSequence)));var f=_.NodeFactory.identifierNode(i);return g.NodeMetadata.set(f,{renamedIdentifier:!0}),_.NodeFactory.callExpressionNode(f,l)}}],[{key:"getHexadecimalLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return g.NodeMetadata.set(t,{replacedLiteral:!0}),t}},{key:"getRc4KeyLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return g.NodeMetadata.set(t,{replacedLiteral:!0}),t}}]),t}(N.AbstractObfuscatingReplacer);y.minimumLengthForStringArray=3,y.rc4KeyLength=4,y.rc4KeysCount=50,y=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(1,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.ICryptUtils)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],y),t.StringLiteralObfuscatingReplacer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(41),m=r(15),N=r(28),g=function(e){function t(e){var r;return(0,i.default)(this,t),(r=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e))).numberLiteralCache=new o.default,r}return(0,d.default)(t,e),(0,s.default)(t,[{key:"replace",value:function(e){var t;return this.numberLiteralCache.has(e)?t=this.numberLiteralCache.get(e):(t=N.Utils.isCeilNumber(e)?"".concat(N.Utils.hexadecimalPrefix).concat(N.Utils.decToHex(e)):String(e),this.numberLiteralCache.set(e,t)),m.NodeFactory.literalNode(e,t)}}]),t}(p.AbstractObfuscatingReplacer);g=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object])],g),t.NumberLiteralObfuscatingReplacer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(62)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(53),m=r(13),N=r(14),g=r(9),_=r(19),v=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).literalObfuscatingReplacerFactory=e,o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&g.NodeGuards.isLiteralNode(e)&&!_.NodeMetadata.isReplacedLiteral(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.isProhibitedNode(e,t))return e;switch((0,o.default)(e.value)){case"boolean":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.BooleanLiteralObfuscatingReplacer).replace(e.value);case"number":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.NumberLiteralObfuscatingReplacer).replace(e.value);case"string":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.StringLiteralObfuscatingReplacer).replace(e.value);default:return e}}},{key:"isProhibitedNode",value:function(e,t){return!(!g.NodeGuards.isPropertyNode(t)||t.key!==e)||!!g.NodeGuards.isImportDeclarationNode(t)}}]),t}(N.AbstractNodeTransformer);v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.LiteralTransformer=v},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importStar(r(18)),p=r(21),m=r(13),N=r(14),g=r(9),_=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(p.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&g.NodeGuards.isLabeledStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeLabeledStatementName(e,r),this.replaceLabeledStatementName(e,r),e}},{key:"storeLabeledStatementName",value:function(e,t){this.identifierObfuscatingReplacer.storeLocalName(e.label.name,t)}},{key:"replaceLabeledStatementName",value:function(e,t){var r=this;f.replace(e,{enter:function(e,n){if(n&&g.NodeGuards.isLabelIdentifierNode(e,n)){var o=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=o.name}}})}}]),t}(N.AbstractNodeTransformer);_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.LabeledStatementTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importStar(r(18)),N=r(21),g=r(13),_=r(14),v=r(9),y=r(19),h=r(10),b=u=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(N.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isImportDeclarationNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0];return this.storeImportSpecifierNames(e,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(n,r):this.replaceScopeIdentifiers(n,r),e}},{key:"storeImportSpecifierNames",value:function(e,t){var r=this;e.specifiers.forEach(function(e){u.isProhibitedImportSpecifierNode(e)||r.identifierObfuscatingReplacer.storeGlobalName(e.local.name,t)})}},{key:"replaceScopeCachedIdentifiers",value:function(e,t){var r=this;this.replaceableIdentifiers.get(e).forEach(function(e){var n=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=n.name,y.NodeMetadata.set(e,{renamedIdentifier:!0})})}},{key:"replaceScopeIdentifiers",value:function(e,t){var r=this,n=[];m.replace(e,{enter:function(e,o){if(o&&v.NodeGuards.isReplaceableIdentifierNode(e,o)&&!y.NodeMetadata.isRenamedIdentifier(e)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a?(e.name=a,y.NodeMetadata.set(e,{renamedIdentifier:!0})):n.push(e)}}}),this.replaceableIdentifiers.set(e,n)}}],[{key:"isProhibitedImportSpecifierNode",value:function(e){return v.NodeGuards.isImportSpecifierNode(e)&&e.imported.name===e.local.name}}]),t}(_.AbstractNodeTransformer);b=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],b),t.ImportDeclarationTransformer=b},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(21),N=r(13),g=r(14),_=r(9),v=r(19),y=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&(_.NodeGuards.isFunctionDeclarationNode(e)||_.NodeGuards.isFunctionExpressionNode(e)||_.NodeGuards.isArrowFunctionExpressionNode(e)))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeFunctionParams(e,r),this.replaceFunctionParams(e,r),e}},{key:"storeFunctionParams",value:function(e,t){var r=this;e.params.forEach(function(e){p.traverse(e,{enter:function(n){return _.NodeGuards.isPropertyNode(e)?p.VisitorOption.Skip:_.NodeGuards.isAssignmentPatternNode(n)&&_.NodeGuards.isIdentifierNode(n.left)?(r.identifierObfuscatingReplacer.storeLocalName(n.left.name,t),p.VisitorOption.Skip):void(_.NodeGuards.isIdentifierNode(n)&&r.identifierObfuscatingReplacer.storeLocalName(n.name,t))}})})}},{key:"addIdentifiersToIgnoredIdentifierNamesSet",value:function(e,t){e.forEach(function(e){e.key&&_.NodeGuards.isIdentifierNode(e.key)&&t.add(e.key.name)})}},{key:"replaceFunctionParams",value:function(e,t){var r=this,n=new o.default,a={enter:function(e,o){if(_.NodeGuards.isObjectPatternNode(e)&&r.addIdentifiersToIgnoredIdentifierNamesSet(e.properties,n),o&&_.NodeGuards.isReplaceableIdentifierNode(e,o)&&!n.has(e.name)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a&&(e.name=a,v.NodeMetadata.set(e,{renamedIdentifier:!0}))}}};e.params.forEach(function(e){return p.replace(e,a)}),p.replace(e.body,a)}}]),t}(g.AbstractNodeTransformer);y=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],y),t.FunctionTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(21),N=r(26),g=r(13),_=r(14),v=r(9),y=r(19),h=r(10),b=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isFunctionDeclarationNode(e)&&!v.NodeGuards.isExportNamedDeclarationNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0],o=n.type===N.NodeType.Program;return!this.options.renameGlobals&&o?e:(this.storeFunctionName(e,o,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(e,n,r):this.replaceScopeIdentifiers(n,r),e)}},{key:"storeFunctionName",value:function(e,t,r){t?this.identifierObfuscatingReplacer.storeGlobalName(e.id.name,r):this.identifierObfuscatingReplacer.storeLocalName(e.id.name,r)}},{key:"replaceScopeCachedIdentifiers",value:function(e,t,r){var n=this.replaceableIdentifiers.get(t);if(n){var o=n.get(e.id.name);if(o)for(var a=o.length,i=0;i=0);return"a".concat(n(r))},r=t(e);return this.isValidIdentifierName(r)||(r=this.generateNewMangledName(r)),r}}]),t}(m.AbstractIdentifierNamesGenerator);N.initMangledNameCharacter="9",N.nameSequence="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),N.reservedNames=["byte","case","char","do","else","enum","eval","for","goto","if","in","int","let","long","new","null","this","true","try","var","void","with"],N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],N),t.MangledIdentifierNamesGenerator=N},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(54),N=r(28),g=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).randomVariableNameSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"generate",value:function(){var e=this.randomGenerator.getRandomInteger(1e4,99999999),t=N.Utils.decToHex(e).substr(0,u.baseIdentifierNameLength),r="_".concat(N.Utils.hexadecimalPrefix).concat(t);return this.randomVariableNameSet.has(r)?this.generate():(this.randomVariableNameSet.add(r),r)}},{key:"generateWithPrefix",value:function(){var e=this.generate();return"".concat(this.options.identifiersPrefix).concat(e).replace("__","_")}}]),t}(m.AbstractIdentifierNamesGenerator);g.baseIdentifierNameLength=6,g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],g),t.HexadecimalIdentifierNamesGenerator=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(4),a=r(40),i=r(130),s=r(129);t.generatorsModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(i.HexadecimalIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator),e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(s.MangledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator),e(o.ServiceIdentifiers.Factory__IIdentifierNamesGenerator).toFactory(function(e){var t=null;return function(r){if(t)return t;var n;switch(r.identifierNamesGenerator){case a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator);break;case a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator:default:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator)}return t=n,n}})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1);t.finalizingTransformersModule=new n.ContainerModule(function(e){})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.literalValue=e}},{key:"getNodeStructure",value:function(){return[m.NodeFactory.expressionStatementNode(m.NodeFactory.literalNode(this.literalValue))]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"literalValue",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.StringLiteralNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.controlFlowStorageName=e,this.controlFlowStorageKey=t}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)));return N.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"controlFlowStorageName",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.StringLiteralControlFlowStorageCallNode=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.False="![]",e.True="!![]",e.a='(false+"")[1]',e.b='([]["entries"]()+"")[2]',e.c='([]["fill"]+"")[3]',e.d='(undefined+"")[2]',e.e='(true+"")[3]',e.f='(false+"")[0]',e.g="(false+[0]+String)[20]",e.h='(+(101))["toString"](21)[1]',e.i="([false]+undefined)[10]",e.j='([]["entries"]()+"")[3]',e.k='(+(20))["toString"](21)',e.l='(false+"")[2]',e.m='(Number+"")[11]',e.n='(undefined+"")[1]',e.o='(true+[]["fill"])[10]',e.p='(+(211))["toString"](31)[1]',e.q='(+(212))["toString"](31)[1]',e.r='(true+"")[1]',e.s='(false+"")[3]',e.t='(true+"")[0]',e.u='(undefined+"")[0]',e.v='(+(31))["toString"](32)',e.w='(+(32))["toString"](33)',e.x='(+(101))["toString"](34)[1]',e.y="(NaN+[Infinity])[10]",e.z='(+(35))["toString"](36)',e.A="(+[]+Array)[10]",e.B="(+[]+Boolean)[10]",e.C='Function("return escape")()(("")["italics"]())[2]',e.D='Function("return escape")()([]["fill"])["slice"]("-1")',e.E='(RegExp+"")[12]',e.F="(+[]+Function)[10]",e.G='(false+Function("return Date")()())[30]',e.H="'H'",e.I='(Infinity+"")[0]',e.J="'J'",e.K="'K'",e.L="'L'",e.M='(true+Function("return Date")()())[30]',e.N='(NaN+"")[0]',e.O='(NaN+Function("return{}")())[11]',e.P="'P'",e.Q="'Q'",e.R="(+[]+RegExp)[10]",e.S="(+[]+String)[10]",e.T='(NaN+Function("return Date")()())[30]',e.U='(NaN+Function("return{}")()["toString"]["call"]())[11]',e.V="'V'",e.W="'W'",e.X="'X'",e.Y="'Y'",e.Z="'Z'"}(t.JSFuck||(t.JSFuck={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionTemplate=function(){return"\n (function (array, {timesName}) {\n var {whileFunctionName} = function (times) {\n while (--times) {\n array['push'](array['shift']());\n }\n };\n \n {code}\n })({stringArrayName}, 0x{stringArrayRotateValue});\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var selfDefendingFunc = function () {\n var object = {\n data: {\n key: 'cookie',\n value: 'timeout'\n },\n setCookie: function (options, name, value, document) {\n document = document || {};\n \n var updatedCookie = name + \"=\" + value;\n\n var i = 0;\n \n for (var i = 0, len = options.length; i < len; i++) {\n var propName = options[i];\n \n updatedCookie += \"; \" + propName;\n \n var propValue = options[propName];\n \n options.push(propValue);\n len = options.length;\n \n if (propValue !== true) {\n updatedCookie += \"=\" + propValue;\n }\n }\n\n document['cookie'] = updatedCookie;\n },\n removeCookie: function(){return 'dev';},\n getCookie: function (document, name) {\n document = document || function (value) { return value };\n var matches = document(new RegExp(\n \"(?:^|; )\" + name.replace(/([.$?*|{}()[]\\/+^])/g, '\\$1') + \"=([^;]*)\"\n ));\n \n var func = function (param1, param2) {\n param1(++param2);\n };\n \n func({whileFunctionName}, {timesName});\n \n return matches ? decodeURIComponent(matches[1]) : undefined;\n }\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return regExp.test(object.removeCookie.toString());\n };\n \n object['updateCookie'] = test1;\n \n var cookie = '';\n var result = object['updateCookie']();\n \n if (!result) {\n object['setCookie'](['*'], 'counter', 1);\n } else if (result) {\n cookie = object['getCookie'](null, 'counter');\n } else {\n object['removeCookie']();\n }\n };\n \n selfDefendingFunc();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),N=r(43),g=r(137),_=r(136),v=r(16),y=r(37),h=r(10),b=r(28),S=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayRotateValue=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r="";return r=this.options.selfDefending?p.default(g.SelfDefendingTemplate(this.escapeSequenceEncoder),{timesName:e,whileFunctionName:t}):"".concat(t,"(++").concat(e,")"),y.JavaScriptObfuscator.obfuscate(p.default(_.StringArrayRotateFunctionTemplate(),{code:r,timesName:e,stringArrayName:this.stringArrayName,stringArrayRotateValue:b.Utils.decToHex(this.stringArrayRotateValue),whileFunctionName:t}),(0,o.default)({},N.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}}]),t}(v.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],S.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],S.prototype,"stringArrayRotateValue",void 0),S=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],S),t.StringArrayRotateFunctionNode=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTemplate=function(){return"\n var {stringArrayName} = [{stringArray}];\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),N=r(139),g=r(16),_=r(10),v=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.stringArrayStorage=e,this.stringArrayName=t,this.stringArrayRotateValue=r}},{key:"getNode",value:function(){return this.stringArrayStorage.rotateArray(this.stringArrayRotateValue),(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"getNode",this).call(this)}},{key:"getNodeStructure",value:function(){return _.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return p.default(N.StringArrayTemplate(),{stringArrayName:this.stringArrayName,stringArray:this.stringArrayStorage.toString()})}}]),t}(g.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",Object)],v.prototype,"stringArrayStorage",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",String)],v.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],v.prototype,"stringArrayRotateValue",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.StringArrayNode=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRc4DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {rc4Polyfill}\n {stringArrayCallsWrapperName}.").concat(r," = rc4;\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n\n if (cachedValue === undefined) {\n if ({stringArrayCallsWrapperName}.").concat(o," === undefined) {\n {selfDefendingCode}\n \n {stringArrayCallsWrapperName}.").concat(o," = true;\n }\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value, key);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperTemplate=function(){return"\n var {stringArrayCallsWrapperName} = function (index, key) {\n index = index - 0;\n \n var value = {stringArrayName}[index];\n \n {decodeNodeTemplate}\n \n return value;\n };\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayBase64DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {stringArrayCallsWrapperName}.").concat(r," = function (str) {\n var string = atob(str);\n var newStringChars = [];\n \n for (var i = 0, length = string.length; i < length; i++) {\n newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2);\n }\n \n return decodeURIComponent(newStringChars);\n };\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n \n if (cachedValue === undefined) {\n {selfDefendingCode}\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e,t){var r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6),a=e.getRandomString(6),i=e.getRandomString(6),s=e.getRandomString(6),c=e.getRandomString(6),d=e.getRandomString(6),u=e.getRandomString(6);return"\n var StatesClass = function (".concat(r,") {\n this.").concat(r," = ").concat(r,";\n this.").concat(n," = [1, 0, 0];\n this.").concat(o," = function(){return 'newState';};\n this.").concat(a," = '").concat(t.encode("\\w+ *\\(\\) *{\\w+ *",!0),"';\n this.").concat(i," = '").concat(t.encode("['|\"].+['|\"];? *}",!0),"';\n };\n \n StatesClass.prototype.").concat(s," = function () {\n var regExp = new RegExp(this.").concat(a," + this.").concat(i,");\n var expression = regExp.test(this.").concat(o,".toString())\n ? --this.").concat(n,"[1]\n : --this.").concat(n,"[0];\n \n return this.").concat(c,"(expression);\n };\n \n StatesClass.prototype.").concat(c," = function (").concat(u,") {\n if (!Boolean(~").concat(u,")) {\n return ").concat(u,";\n }\n \n return this.").concat(d,"(this.").concat(r,");\n };\n\n StatesClass.prototype.").concat(d," = function (").concat(r,") {\n for (var i = 0, len = this.").concat(n,".length; i < len; i++) {\n this.").concat(n,".push(Math.round(Math.random()));\n len = this.").concat(n,".length;\n }\n \n return ").concat(r,"(this.").concat(n,"[0]);\n };\n\n new StatesClass({stringArrayCallsWrapperName}).").concat(s,"();\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Rc4Template=function(){return"\n var rc4 = function (str, key) {\n var s = [], j = 0, x, res = '', newStr = '';\n \n str = atob(str);\n \n for (var k = 0, length = str.length; k < length; k++) {\n newStr += '%' + ('00' + str.charCodeAt(k).toString(16)).slice(-2);\n }\n \n str = decodeURIComponent(newStr);\n \t \n\t for (var i = 0; i < 256; i++) {\n s[i] = i;\n }\n \n for (i = 0; i < 256; i++) {\n j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n }\n \n i = 0;\n j = 0;\n \n for (var y = 0; y < str.length; y++) {\n i = (i + 1) % 256;\n j = (j + s[i]) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n res += String.fromCharCode(str.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);\n }\n \n return res;\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AtobTemplate=function(){return"\n (function () {\n {globalVariableTemplate}\n \n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n that.atob || (\n that.atob = function(input) {\n var str = String(input).replace(/=+$/, '');\n for (\n var bc = 0, bs, buffer, idx = 0, output = '';\n buffer = str.charAt(idx++);\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n buffer = chars.indexOf(buffer);\n }\n return output;\n });\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(23),N=r(38),g=r(11),_=r(43),v=r(146),y=r(44),h=r(145),b=r(144),S=r(143),I=r(142),C=r(141),F=r(16),j=r(37),O=r(10),T=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayCallsWrapperName=t}},{key:"getNodeStructure",value:function(){return O.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.getDecodeStringArrayTemplate();return j.JavaScriptObfuscator.obfuscate(p.default(I.StringArrayCallsWrapperTemplate(),{decodeNodeTemplate:e,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}},{key:"getDecodeStringArrayTemplate",value:function(){var e=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():y.GlobalVariableNoEvalTemplate(),t=p.default(v.AtobTemplate(),{globalVariableTemplate:e}),r="",n="";switch(this.options.selfDefending&&(n=p.default(b.SelfDefendingTemplate(this.randomGenerator,this.escapeSequenceEncoder),{stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName})),this.options.stringArrayEncoding){case N.StringArrayEncoding.Rc4:r=p.default(C.StringArrayRc4DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,rc4Polyfill:h.Rc4Template(),selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName});break;case N.StringArrayEncoding.Base64:r=p.default(S.StringArrayBase64DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}return r}}]),t}(F.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayName",void 0),u.__decorate([g.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayCallsWrapperName",void 0),T=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],T),t.StringArrayCallsWrapper=T},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var {selfDefendingFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func1 = function(){return 'dev';},\n func2 = function () {\n return 'window';\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return !regExp.test(func1.toString());\n };\n \n var test2 = function () {\n var regExp = new RegExp('").concat(e.encode("(\\\\[x|u](\\w){2,4})+",!0),"');\n \n return regExp.test(func2.toString());\n };\n \n var recursiveFunc1 = function (string) {\n var i = ~-1 >> 1 + 255 % 0;\n \n if (string.indexOf('i' === i)) {\n recursiveFunc2(string)\n }\n };\n \n var recursiveFunc2 = function (string) {\n var i = ~-4 >> 1 + 255 % 0;\n \n if (string.indexOf((true+\"\")[3]) !== i) {\n recursiveFunc1(string)\n }\n };\n \n if (!test1()) {\n if (!test2()) {\n recursiveFunc1('indеxOf');\n } else {\n recursiveFunc1('indexOf');\n }\n } else {\n recursiveFunc1('indеxOf');\n }\n })\n \n {selfDefendingFunctionName}();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),N=r(43),g=r(148),_=r(16),v=r(37),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return v.JavaScriptObfuscator.obfuscate(p.default(g.SelfDefendingTemplate(this.escapeSequenceEncoder),{selfDefendingFunctionName:this.identifierNamesGenerator.generate(),singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},N.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed,unicodeEscapeSequence:!0})).getObfuscatedCode()}}]),t}(_.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.SelfDefendingUnicodeNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SingleNodeCallControllerTemplate=function(){return"\n var {singleNodeCallControllerFunctionName} = (function(){\n var firstCall = true;\n \n return function (context, fn){\n var rfn = firstCall ? function(){\n if(fn){\n var res = fn.apply(context, arguments);\n fn = null;\n return res;\n }\n } : function(){}\n \n firstCall = false;\n \n return rfn;\n }\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(24),N=r(11),g=r(150),_=r(43),v=r(16),y=r(37),h=r(10),b=function(e){function t(e,r,n){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.appendEvent=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return this.appendEvent===m.ObfuscationEvent.AfterObfuscation?y.JavaScriptObfuscator.obfuscate(p.default(g.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode():p.default(g.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([N.initializable(),u.__metadata("design:type",String)],b.prototype,"callsControllerFunctionName",void 0),u.__decorate([N.initializable(),u.__metadata("design:type",String)],b.prototype,"appendEvent",void 0),b=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],b),t.NodeCallsControllerFunctionNode=b},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.logicalExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return N.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"operator",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.LogicalExpressionFunctionNode=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r,n){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.leftValue=r,this.rightValue=n}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.leftValue,this.rightValue]));return N.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"controlFlowStorageName",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],g.prototype,"leftValue",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],g.prototype,"rightValue",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.ExpressionWithOperatorControlFlowStorageCallNode=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockNodeTemplate=function(){return'\n var {domainLockFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n \n {globalVariableTemplate}\n \n var func = function () {\n return {\n key: \'item\',\n value: \'attribute\',\n getAttribute: function () {\n for (var i = 0; i < 1000; i--) {\n var isPositive = i > 0;\n \n switch (isPositive) {\n case true:\n return this.item + \'_\' + this.value + \'_\' + i;\n default:\n this.item + \'_\' + this.value;\n }\n }\n }()\n };\n };\n \n var regExp = new RegExp("[{diff}]", "g");\n var domains = "{domains}".replace(regExp, "").split(";");\n var document;\n var domain;\n \n for (var d in that) {\n if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) {\n document = d;\n \n break;\n }\n }\n\n for (var d1 in that[document]) {\n if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) {\n domain = d1;\n \n break;\n }\n }\n \n if ((!document && !domain) || (!that[document] && !that[document][domain])) {\n return;\n }\n \n var currentDomain = that[document][domain];\n\n var ok = false;\n \n for (var i = 0; i < domains.length; i++) {\n var domain = domains[i];\n var position = currentDomain.length - domain.length;\n var lastIndex = currentDomain.indexOf(domain, position);\n var endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(".") === 0) {\n ok = true;\n }\n \n break;\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n });\n\n {domainLockFunctionName}();\n '}},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(23),N=r(11),g=r(154),_=r(44),v=r(16),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).cryptUtils=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.domainLock.join(";"),t=this.cryptUtils.hideString(e,3*e.length),r=(0,o.default)(t,2),n=r[0],a=r[1],i=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():_.GlobalVariableNoEvalTemplate();return p.default(g.DomainLockNodeTemplate(),{domainLockFunctionName:this.identifierNamesGenerator.generate(),diff:a,domains:n,globalVariableTemplate:i,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([N.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.ICryptUtils)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.DomainLockNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionTemplate=function(){return"\n function {debugProtectionFunctionName} (ret) {\n function debuggerProtection (counter) {\n \n {debuggerTemplate}\n \n debuggerProtection(++counter);\n }\n \n try {\n if (ret) {\n return debuggerProtection;\n } else {\n debuggerProtection(0);\n }\n } catch (y) {}\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplateNoEval=function(){return"\n if (typeof counter === 'string') {\n var func = function () {\n while (true) {}\n };\n \n return func();\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n debugger;\n } else {\n debugger;\n }\n \n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplate=function(){return"\n if (typeof counter === 'string') {\n return (function (arg) {}.constructor('while (true) {}').apply('counter'));\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n (function () {return true;}.constructor('debu' + 'gger').call('action'));\n } else {\n (function () {return false;}.constructor('debu' + 'gger').apply('stateObject'));\n }\n \n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(23),m=r(11),N=r(158),g=r(157),_=r(156),v=r(16),y=r(10),h=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?N.DebuggerTemplate():g.DebuggerTemplateNoEval();return f.default(_.DebugProtectionFunctionTemplate(),{debuggerTemplate:e,debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(v.AbstractCustomNode);d.__decorate([m.initializable(),d.__metadata("design:type",String)],h.prototype,"debugProtectionFunctionName",void 0),h=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],h),t.DebugProtectionFunctionNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalTemplate=function(){return"\n setInterval(function () {\n {debugProtectionFunctionName}();\n }, 4000);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(160),N=r(16),g=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return g.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionIntervalTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(N.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionIntervalNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallTemplate=function(){return"\n (function () {\n {singleNodeCallControllerFunctionName}(this, function () {\n var regExp1 = new RegExp('function *\\\\( *\\\\)');\n var regExp2 = new RegExp('\\\\+\\\\+ *\\(?:_0x(?:[a-f0-9]){4,6}|(?:\\\\b|\\\\d)[a-z0-9]{1,4}(?:\\\\b|\\\\d)\\)', 'i');\n \n var result = {debugProtectionFunctionName}('init');\n \n if (!regExp1.test(result + 'chain') || !regExp2.test(result + 'input')) {\n result('0');\n } else {\n {debugProtectionFunctionName}();\n }\n })();\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(162),N=r(16),g=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.debugProtectionFunctionName=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return g.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionCallTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(N.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"callsControllerFunctionName",void 0),d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionCallNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableExpressionTemplate=function(){return"\n var {consoleLogDisableFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func = function () {};\n \n {globalVariableTemplate}\n \n if (!that.console) {\n that.console = (function (func){\n var c = {};\n \n c.log = func;\n c.warn = func;\n c.debug = func;\n c.info = func;\n c.error = func;\n c.exception = func;\n c.trace = func;\n \n return c;\n })(func);\n } else {\n that.console.log = func;\n that.console.warn = func;\n that.console.debug = func;\n that.console.info = func;\n that.console.error = func;\n that.console.exception = func;\n that.console.trace = func;\n }\n });\n \n {consoleLogDisableFunctionName}();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(23),m=r(164),N=r(44),g=r(11),_=r(16),v=r(10),y=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return v.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():N.GlobalVariableNoEvalTemplate();return f.default(m.ConsoleOutputDisableExpressionTemplate(),{consoleLogDisableFunctionName:this.identifierNamesGenerator.generate(),globalVariableTemplate:e,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(_.AbstractCustomNode);d.__decorate([g.initializable(),d.__metadata("design:type",String)],y.prototype,"callsControllerFunctionName",void 0),y=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ConsoleOutputDisableExpressionNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(56)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(1),p=r(4),m=r(11),N=r(16),g=r(15),_=r(9),v=r(10),y=function(e){function t(e,r,n){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r,n))}return(0,u.default)(t,e),(0,c.default)(t,[{key:"initialize",value:function(e){this.controlFlowStorage=e}},{key:"getNodeStructure",value:function(){var e=(0,a.default)(this.controlFlowStorage.getStorage()).map(function(e){var t=(0,o.default)(e,2),r=t[0],n=t[1].getNode()[0];if(!_.NodeGuards.isExpressionStatementNode(n))throw new Error("Function node for control flow storage object should be passed inside the `ExpressionStatement` node!");return g.NodeFactory.propertyNode(g.NodeFactory.identifierNode(r),n.expression)}),t=g.NodeFactory.variableDeclarationNode([g.NodeFactory.variableDeclaratorNode(g.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()),g.NodeFactory.objectExpressionNode(e))]);return[t=v.NodeUtils.parentize(t)]}}]),t}(N.AbstractCustomNode);l.__decorate([m.initializable(),l.__metadata("design:type",Object)],y.prototype,"controlFlowStorage",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ControlFlowStorageNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.expressionArguments=e}},{key:"getNodeStructure",value:function(){for(var e=m.NodeFactory.identifierNode("callee"),t=[],r=this.expressionArguments.length,n=0;n.5,t=this.randomGenerator.getMathRandom()>.5,r=e?"===":"!==",n=this.randomGenerator.getRandomString(5),a=t?n:this.randomGenerator.getRandomString(5),i=e===t?[this.blockStatementNode,this.deadCodeInjectionRootAstHostNode]:[this.deadCodeInjectionRootAstHostNode,this.blockStatementNode],s=(0,o.default)(i,2),c=s[0],d=s[1],u=N.NodeFactory.blockStatementNode([N.NodeFactory.ifStatementNode(N.NodeFactory.binaryExpressionNode(r,N.NodeFactory.literalNode(n),N.NodeFactory.literalNode(a)),c,d)]);return g.NodeUtils.parentize(u),[u]}}]),t}(m.AbstractCustomNode);u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"blockStatementNode",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"deadCodeInjectionRootAstHostNode",void 0),_=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementDeadCodeInjectionNode=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(9),g=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.blockStatementBody=e,this.shuffledKeys=t,this.originalKeysIndexesInShuffledArray=r}},{key:"getNodeStructure",value:function(){var e=this,t=this.randomGenerator.getRandomString(6),r=this.randomGenerator.getRandomString(6),n=m.NodeFactory.blockStatementNode([m.NodeFactory.variableDeclarationNode([m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(t),m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join("|")),m.NodeFactory.identifierNode("split")),[m.NodeFactory.literalNode("|")])),m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(r),m.NodeFactory.literalNode(0))]),m.NodeFactory.whileStatementNode(m.NodeFactory.literalNode(!0),m.NodeFactory.blockStatementNode([m.NodeFactory.switchStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(t),m.NodeFactory.updateExpressionNode("++",m.NodeFactory.identifierNode(r)),!0),this.shuffledKeys.map(function(t,r){var n=e.blockStatementBody[t],o=[n];return N.NodeGuards.isReturnStatementNode(n)||o.push(m.NodeFactory.continueStatement()),m.NodeFactory.switchCaseNode(m.NodeFactory.literalNode(String(r)),o)})),m.NodeFactory.breakStatement()]))]);return g.NodeUtils.parentize(n),[n]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"blockStatementBody",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"originalKeysIndexesInShuffledArray",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"shuffledKeys",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementControlFlowFlatteningNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate2=function(){return"\n var getGlobal = function () {\n var globalObject;\n \n try {\n globalObject = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');')();\n } catch (e) {\n globalObject = window;\n }\n \n return globalObject;\n };\n var that = getGlobal();\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate1=function(){return"\n var that;\n \n try {\n var getGlobal = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');');\n \n that = getGlobal();\n } catch (e) {\n that = window;\n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.binaryExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return N.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"operator",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.BinaryExpressionFunctionNode=g},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(17)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(1),p=r(4),m=r(11),N=r(29),g=r(24),_=r(34),v=r(25),y=function(e){function t(e,r,n,o,a){var c;return(0,s.default)(this,t),(c=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,n,o,a))).appendEvent=g.ObfuscationEvent.AfterObfuscation,c.customNodeFactory=e,c.stringArrayStorage=r,c}return(0,u.default)(t,e),(0,c.default)(t,[{key:"appendCustomNodes",value:function(e,t){this.stringArrayStorage.getLength()&&(this.appendCustomNodeIfExist(N.CustomNode.StringArrayNode,function(t){v.NodeAppender.prependNode(e,t.getNode())}),this.appendCustomNodeIfExist(N.CustomNode.StringArrayCallsWrapper,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}),this.appendCustomNodeIfExist(N.CustomNode.StringArrayRotateFunctionNode,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}))}},{key:"initialize",value:function(){if(this.customNodes=new a.default,this.options.stringArray){var e,t=this.customNodeFactory(N.CustomNode.StringArrayNode),r=this.customNodeFactory(N.CustomNode.StringArrayCallsWrapper),n=this.customNodeFactory(N.CustomNode.StringArrayRotateFunctionNode),i=this.stringArrayStorage.getStorageId().split("|"),s=(0,o.default)(i,2),c=s[0],d=s[1];e=this.options.rotateStringArray?this.randomGenerator.getRandomInteger(100,500):0,t.initialize(this.stringArrayStorage,c,e),r.initialize(c,d),n.initialize(c,e),this.customNodes.set(N.CustomNode.StringArrayNode,t),this.customNodes.set(N.CustomNode.StringArrayCallsWrapper,r),this.options.rotateStringArray&&this.customNodes.set(N.CustomNode.StringArrayRotateFunctionNode,n)}}}]),t}(_.AbstractCustomNodeGroup);l.__decorate([m.initializable(),l.__metadata("design:type",a.default)],y.prototype,"customNodes",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(2,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Function,Object,Object])],y),t.StringArrayCustomNodeGroup=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),N=r(24),g=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=N.ObfuscationEvent.AfterObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.SelfDefendingUnicodeNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.selfDefending){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.SelfDefendingUnicodeNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.SelfDefendingUnicodeNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(g.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.SelfDefendingCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),N=r(24),g=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=N.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DomainLockNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.domainLock.length){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.DomainLockNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.DomainLockNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(g.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DomainLockCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),N=r(24),g=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=N.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this,n=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionCallNode,function(r){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,r.getNode(),n)}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionNode,function(t){_.NodeAppender.appendNode(e,t.getNode())}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionIntervalNode,function(t){var n=e.body.length,o=r.randomGenerator.getRandomInteger(0,n);_.NodeAppender.insertNodeAtIndex(e,t.getNode(),o)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(r){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,n,1):e,_.NodeAppender.prependNode(o,r.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.debugProtection){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionNode),n=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionCallNode),a=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionIntervalNode),i=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);r.initialize(e),n.initialize(e,t),a.initialize(e),i.initialize(this.appendEvent,t),this.customNodes.set(m.CustomNode.DebugProtectionFunctionNode,r),this.customNodes.set(m.CustomNode.DebugProtectionFunctionCallNode,n),this.options.debugProtectionInterval&&this.customNodes.set(m.CustomNode.DebugProtectionFunctionIntervalNode,a),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,i)}}}]),t}(g.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DebugProtectionCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),N=r(24),g=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=N.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.ConsoleOutputDisableExpressionNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.disableConsoleOutput){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.ConsoleOutputDisableExpressionNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.ConsoleOutputDisableExpressionNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(g.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.ConsoleOutputCustomNodeGroup=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(22),s=r(29),c=r(57),d=r(58),u=r(178),l=r(177),f=r(176),p=r(175),m=r(174),N=r(173),g=r(170),_=r(169),v=r(168),y=r(167),h=r(166),b=r(165),S=r(163),I=r(161),C=r(159),F=r(155),j=r(153),O=r(152),T=r(151),k=r(149),x=r(147),E=r(140),w=r(138),G=r(134),R=r(133);t.customNodesModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.ICustomNode).to(b.ConsoleOutputDisableExpressionNode).whenTargetNamed(s.CustomNode.ConsoleOutputDisableExpressionNode),e(a.ServiceIdentifiers.ICustomNode).to(S.DebugProtectionFunctionCallNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionCallNode),e(a.ServiceIdentifiers.ICustomNode).to(I.DebugProtectionFunctionIntervalNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionIntervalNode),e(a.ServiceIdentifiers.ICustomNode).to(C.DebugProtectionFunctionNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(F.DomainLockNode).whenTargetNamed(s.CustomNode.DomainLockNode),e(a.ServiceIdentifiers.ICustomNode).to(T.NodeCallsControllerFunctionNode).whenTargetNamed(s.CustomNode.NodeCallsControllerFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(k.SelfDefendingUnicodeNode).whenTargetNamed(s.CustomNode.SelfDefendingUnicodeNode),e(a.ServiceIdentifiers.ICustomNode).to(x.StringArrayCallsWrapper).whenTargetNamed(s.CustomNode.StringArrayCallsWrapper),e(a.ServiceIdentifiers.ICustomNode).to(E.StringArrayNode).whenTargetNamed(s.CustomNode.StringArrayNode),e(a.ServiceIdentifiers.ICustomNode).to(w.StringArrayRotateFunctionNode).whenTargetNamed(s.CustomNode.StringArrayRotateFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(N.BinaryExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.BinaryExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(g.BlockStatementControlFlowFlatteningNode).whenTargetNamed(i.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(v.CallExpressionControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(y.CallExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(h.ControlFlowStorageNode).whenTargetNamed(i.ControlFlowCustomNode.ControlFlowStorageNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(j.ExpressionWithOperatorControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(O.LogicalExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.LogicalExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(R.StringLiteralNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(G.StringLiteralControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(_.BlockStatementDeadCodeInjectionNode).whenTargetNamed(d.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode),e(a.ServiceIdentifiers.ICustomNodeGroup).to(u.ConsoleOutputCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.ConsoleOutputCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(l.DebugProtectionCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DebugProtectionCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(f.DomainLockCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DomainLockCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(p.SelfDefendingCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.SelfDefendingCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(m.StringArrayCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.StringArrayCustomNodeGroup),e(a.ServiceIdentifiers.Factory__ICustomNode).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNode)),e(a.ServiceIdentifiers.Factory__IControlFlowCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__ICustomNodeGroup).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNodeGroup))})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(13),m=r(14),N=r(15),g=r(9),_=d=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Converting:return{leave:function(e,r){if(r&&d.isValidTemplateLiteralNode(e,r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=e.expressions,n=[];if(e.quasis.forEach(function(e){n.push(N.NodeFactory.literalNode(e.value.cooked));var t=r.shift();t&&n.push(t)}),n=n.filter(function(e){return!(g.NodeGuards.isLiteralNode(e)&&""===e.value)}),d.isLiteralNodeWithStringValue(n[0])||d.isLiteralNodeWithStringValue(n[1])||n.unshift(N.NodeFactory.literalNode("")),n.length>1){var o=N.NodeFactory.binaryExpressionNode("+",n.shift(),n.shift());return n.forEach(function(e){o=N.NodeFactory.binaryExpressionNode("+",o,e)}),o}return n[0]}}],[{key:"isLiteralNodeWithStringValue",value:function(e){return e&&g.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value}},{key:"isValidTemplateLiteralNode",value:function(e,t){return g.NodeGuards.isTemplateLiteralNode(e)&&!g.NodeGuards.isTaggedTemplateExpressionNode(t)}}]),t}(m.AbstractNodeTransformer);_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],_),t.TemplateLiteralTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(15),N=r(9),g=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Converting:return{enter:function(e,r){if(r&&N.NodeGuards.isObjectExpressionNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return e.properties.forEach(function(e){!e.computed&&e.key&&(e.shorthand&&(e.shorthand=!1),N.NodeGuards.isIdentifierNode(e.key)&&(e.key=m.NodeFactory.literalNode(e.key.name)))}),e}}]),t}(p.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],g),t.ObjectExpressionTransformer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(17)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l,f=r(5),p=r(1),m=r(4),N=r(13),g=r(14),_=r(25),v=r(15),y=r(9),h=r(10),b=l=function(e){function t(e,r){var n;return(0,s.default)(this,t),(n=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r))).cachedScopeNodesMap=new a.default,n}return(0,u.default)(t,e),(0,c.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Converting:return{enter:function(e,r){if(t.options.transformObjectKeys&&r&&y.NodeGuards.isObjectExpressionNode(e)&&y.NodeGuards.isVariableDeclaratorNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(!y.NodeGuards.isIdentifierNode(t.id))return e;var r=h.NodeUtils.getScopeOfNode(t);return r&&y.NodeGuards.isNodeHasScope(r)?(this.cachedScopeNodesMap.set(t,r),this.transformObjectExpressionNode(e,t.id,t)):e}},{key:"extractPropertiesToExpressionStatements",value:function(e,t,r){for(var n=e.length,o=[],a=[],i=0;if.hostNodeSearchMinDepth&&t.splice(0,f.hostNodeSearchMinDepth),t.length>f.hostNodeSearchMaxDepth&&(t.length=f.hostNodeSearchMaxDepth),this.randomGenerator.getRandomGenerator().pickone(t))}},{key:"isVisitedFunctionNode",value:function(e){return(I.NodeGuards.isFunctionDeclarationNode(e)||I.NodeGuards.isFunctionExpressionNode(e)||I.NodeGuards.isArrowFunctionExpressionNode(e))&&this.visitedFunctionNodes.has(e)}},{key:"transformFunctionBody",value:function(e,t){var r=this;g.replace(e,{enter:function(e,n){if(C.NodeMetadata.isIgnoredNode(e))return g.VisitorOption.Skip;if(r.isVisitedFunctionNode(e)||!n)return g.VisitorOption.Skip;if(!f.controlFlowReplacersMap.has(e.type))return e;if(r.randomGenerator.getMathRandom()>r.options.controlFlowFlatteningThreshold)return e;var a=f.controlFlowReplacersMap.get(e.type);return void 0===a?e:(0,o.default)({},r.controlFlowReplacerFactory(a).replace(e,n,t),{parentNode:n})}})}}]),t}(b.AbstractNodeTransformer);j.controlFlowReplacersMap=new i.default([[y.NodeType.BinaryExpression,v.ControlFlowReplacer.BinaryExpressionControlFlowReplacer],[y.NodeType.CallExpression,v.ControlFlowReplacer.CallExpressionControlFlowReplacer],[y.NodeType.LogicalExpression,v.ControlFlowReplacer.LogicalExpressionControlFlowReplacer],[y.NodeType.Literal,v.ControlFlowReplacer.StringLiteralControlFlowReplacer]]),j.hostNodeSearchMinDepth=0,j.hostNodeSearchMaxDepth=2,j=f=p.__decorate([m.injectable(),p.__param(0,m.inject(N.ServiceIdentifiers.Factory__TControlFlowStorage)),p.__param(1,m.inject(N.ServiceIdentifiers.Factory__IControlFlowReplacer)),p.__param(2,m.inject(N.ServiceIdentifiers.Factory__IControlFlowCustomNode)),p.__param(3,m.inject(N.ServiceIdentifiers.IRandomGenerator)),p.__param(4,m.inject(N.ServiceIdentifiers.IOptions)),p.__metadata("design:paramtypes",[Function,Function,Function,Object,Object])],j),t.FunctionControlFlowTransformer=j},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importStar(r(18)),N=r(58),g=r(32),_=r(26),v=r(13),y=r(14),h=r(15),b=r(9),S=r(10),I=u=function(e){function t(e,r,n,s){var d;return(0,i.default)(this,t),(d=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,n,s))).deadCodeInjectionRootAstHostNodeSet=new o.default,d.collectedBlockStatements=[],d.collectedBlockStatementsTotalLength=0,d.deadCodeInjectionCustomNodeFactory=e,d.transformersRunner=r,d}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case v.TransformationStage.DeadCodeInjection:return{enter:function(e,r){if(r&&b.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),e},leave:function(e,r){if(r&&b.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};case v.TransformationStage.Finalizing:return this.deadCodeInjectionRootAstHostNodeSet.size?{enter:function(e,r){if(r&&t.isDeadCodeInjectionRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"analyzeNode",value:function(e,t){var r=this;m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)){var t=S.NodeUtils.clone(e);u.isValidCollectedBlockStatementNode(t)&&(S.NodeUtils.parentizeNode(t,t),t=r.transformersRunner.transform(t,u.transformersToRenameBlockScopeIdentifiers,v.TransformationStage.Obfuscating),r.collectedBlockStatements.push(t))}}}),this.collectedBlockStatementsTotalLength=this.collectedBlockStatements.length}},{key:"transformNode",value:function(e,t){if(!this.collectedBlockStatements.length||this.collectedBlockStatementsTotalLengththis.options.deadCodeInjectionThreshold||!u.isValidWrappedBlockStatementNode(e))return e;var r=this.collectedBlockStatements.length-1,n=this.randomGenerator.getRandomInteger(0,r),o=this.collectedBlockStatements.splice(n,1)[0];return o===e?e:this.replaceBlockStatementNode(e,o,t)}},{key:"restoreNode",value:function(e,t){var r=e.body[0];if(!b.NodeGuards.isFunctionDeclarationNode(r))throw new Error("Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node");return r.body}},{key:"isDeadCodeInjectionRootAstHostNode",value:function(e){return b.NodeGuards.isBlockStatementNode(e)&&this.deadCodeInjectionRootAstHostNodeSet.has(e)}},{key:"replaceBlockStatementNode",value:function(e,t,r){var n=h.NodeFactory.blockStatementNode([h.NodeFactory.functionDeclarationNode(u.deadCodeInjectionRootAstHostNodeName,[],t)]);this.deadCodeInjectionRootAstHostNodeSet.add(n);var o=this.deadCodeInjectionCustomNodeFactory(N.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode);o.initialize(e,n);var a=o.getNode()[0];return S.NodeUtils.parentizeNode(a,r),a}}],[{key:"isProhibitedNodeInsideCollectedBlockStatement",value:function(e){return b.NodeGuards.isBreakStatementNode(e)||b.NodeGuards.isContinueStatementNode(e)||b.NodeGuards.isAwaitExpressionNode(e)||b.NodeGuards.isSuperNode(e)}},{key:"isScopeHoistingFunctionDeclaration",value:function(e){if(!b.NodeGuards.isFunctionDeclarationNode(e))return!1;var t=S.NodeUtils.getScopeOfNode(e),r=b.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,n=r.indexOf(e);if(0===n)return!1;var o=r.slice(0,n),a=h.NodeFactory.blockStatementNode(o),i=e.id.name,s=!1;return m.traverse(a,{enter:function(e){if(b.NodeGuards.isIdentifierNode(e)&&e.name===i)return s=!0,m.VisitorOption.Break}}),s}},{key:"isValidCollectedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=0,r=!0;return m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)&&t++,t>u.maxNestedBlockStatementsCount||u.isProhibitedNodeInsideCollectedBlockStatement(e)||u.isScopeHoistingFunctionDeclaration(e))return r=!1,m.VisitorOption.Break}}),r}},{key:"isValidWrappedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=!0;return m.traverse(e,{enter:function(e){if(u.isScopeHoistingFunctionDeclaration(e))return t=!1,m.VisitorOption.Break}}),!!t&&S.NodeUtils.getBlockScopesOfNode(e)[0].type!==_.NodeType.Program}}]),t}(y.AbstractNodeTransformer);I.deadCodeInjectionRootAstHostNodeName="deadCodeInjectionRootAstHostNode",I.maxNestedBlockStatementsCount=4,I.minCollectedBlockStatementsCount=5,I.transformersToRenameBlockScopeIdentifiers=[g.NodeTransformer.CatchClauseTransformer,g.NodeTransformer.ClassDeclarationTransformer,g.NodeTransformer.FunctionDeclarationTransformer,g.NodeTransformer.FunctionTransformer,g.NodeTransformer.LabeledStatementTransformer,g.NodeTransformer.VariableDeclarationTransformer],I=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.ITransformersRunner)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],I),t.DeadCodeInjectionTransformer=I},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(22),m=r(45),N=r(9),g=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.callee;if(!N.NodeGuards.isIdentifierNode(n))return e;var o=String(e.arguments.length),a=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionFunctionNode),i=e.arguments;a.initialize(i);var s=this.insertCustomNodeToControlFlowStorage(a,r,o,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),s,n,i)}},{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!N.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(m.AbstractControlFlowReplacer);g.usingExistingIdentifierChance=.5,g=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],g),t.CallExpressionControlFlowReplacer=g},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/has-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/define-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-names")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/get-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-descriptor")},function(e,t){e.exports=require("@babel/runtime/core-js/object/define-property")},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(22),N=r(13),g=r(14),_=r(9),v=r(10),y=d=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).controlFlowCustomNodeFactory=e,c.arrayUtils=r,c}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.ControlFlowFlattening:return{leave:function(e,r){if(r&&_.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold||!d.canTransformBlockStatementNode(e))return e;var r=e.body,n=this.arrayUtils.arrayRange(r.length),o=this.arrayUtils.arrayShuffle(n),a=n.map(function(e){return o.indexOf(e)}),i=this.controlFlowCustomNodeFactory(m.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode);i.initialize(r,o,a);var s=i.getNode()[0];return v.NodeUtils.parentizeNode(s,t),s}}],[{key:"blockStatementHasProhibitedStatements",value:function(e){return e.body.some(function(e){var t=_.NodeGuards.isBreakStatementNode(e)||_.NodeGuards.isContinueStatementNode(e),r=_.NodeGuards.isVariableDeclarationNode(e)&&("const"===e.kind||"let"===e.kind),n=_.NodeGuards.isClassDeclarationNode(e);return _.NodeGuards.isFunctionDeclarationNode(e)||t||r||n})}},{key:"canTransformBlockStatementNode",value:function(e){var t=!0;return p.traverse(e,{enter:function(e){if(_.NodeGuards.isWhileStatementNode(e))return p.VisitorOption.Skip;_.NodeGuards.isBlockStatementNode(e)&&d.blockStatementHasProhibitedStatements(e)&&(t=!1)}}),e.body.length<=4&&(t=!1),t}}]),t}(g.AbstractNodeTransformer);y=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IArrayUtils)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],y),t.BlockStatementControlFlowTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(22),m=r(59),N=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.operator,o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.BinaryExpressionFunctionNode);o.initialize(n);var a=this.insertCustomNodeToControlFlowStorage(o,r,n,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}}]),t}(m.ExpressionWithOperatorControlFlowReplacer);N.usingExistingIdentifierChance=.5,N=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],N),t.BinaryExpressionControlFlowReplacer=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(60),s=r(32),c=r(198),d=r(197),u=r(190),l=r(189),f=r(188),p=r(187),m=r(186);t.controlFlowTransformersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.INodeTransformer).to(d.BlockStatementControlFlowTransformer).whenTargetNamed(s.NodeTransformer.BlockStatementControlFlowTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(l.DeadCodeInjectionTransformer).whenTargetNamed(s.NodeTransformer.DeadCodeInjectionTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(f.FunctionControlFlowTransformer).whenTargetNamed(s.NodeTransformer.FunctionControlFlowTransformer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(c.BinaryExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.BinaryExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(u.CallExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.CallExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(p.LogicalExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.LogicalExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(m.StringLiteralControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.StringLiteralControlFlowReplacer),e(a.ServiceIdentifiers.Factory__IControlFlowReplacer).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.IControlFlowReplacer))})},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=c.__importStar(r(18)),f=r(63),p=r(9),m=r(10),N=s=function(){function e(t){(0,a.default)(this,e),this.calleeDataExtractorFactory=t}return(0,i.default)(e,[{key:"analyze",value:function(e){return this.analyzeRecursive(e.body)}},{key:"analyzeRecursive",value:function(e){for(var t=this,r=s.getLimitIndex(e.length),n=[],o=e.length,a=function(o){if(o>r)return"break";var a=e[o];l.traverse(a,{enter:function(r){if(p.NodeGuards.isCallExpressionNode(r))return a.parentNode!==m.NodeUtils.getBlockScopesOfNode(r)[0]?l.VisitorOption.Skip:void t.analyzeCallExpressionNode(n,e,r)}})},i=0;ir&&(n=Math.round(r+t*s.limitThreshold))>t&&(n=t),n}}]),e}();N.calleeDataExtractorsList=[f.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor,f.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor,f.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor],N.limitThresholdActivationLength=25,N.limitThreshold=.002,N=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.Factory__ICalleeDataExtractor)),c.__metadata("design:paramtypes",[Function])],N),t.StackTraceAnalyzer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(35)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=l.__importStar(r(18)),m=r(47),N=r(9),g=r(10),_=u=function(e){function t(){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).apply(this,arguments))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"extract",value:function(e,t){if(!N.NodeGuards.isMemberExpressionNode(t))return null;var r=this.createObjectMembersCallsChain([],t);if(!r.length)return null;var n=r[r.length-1],o=this.getCalleeBlockStatement(g.NodeUtils.getBlockScopesOfNode(e[0])[0],r);return o?{callee:o,name:n}:null}},{key:"createObjectMembersCallsChain",value:function(e,t){if(N.NodeGuards.isIdentifierNode(t.property)&&!1===t.computed)e.unshift(t.property.name);else{if(!N.NodeGuards.isLiteralNode(t.property)||"string"!=typeof t.property.value&&"number"!=typeof t.property.value)return e;e.unshift(t.property.value)}return N.NodeGuards.isMemberExpressionNode(t.object)?this.createObjectMembersCallsChain(e,t.object):(N.NodeGuards.isIdentifierNode(t.object)&&e.unshift(t.object.name),e)}},{key:"getCalleeBlockStatement",value:function(e,t){var r=this,n=t.shift();if(!n)return null;var o=null;return p.traverse(e,{enter:function(e){if(N.NodeGuards.isVariableDeclaratorNode(e)&&N.NodeGuards.isIdentifierNode(e.id)&&e.init&&N.NodeGuards.isObjectExpressionNode(e.init)&&e.id.name===n)return o=r.findCalleeBlockStatement(e.init.properties,t),p.VisitorOption.Break}}),o}},{key:"findCalleeBlockStatement",value:function(e,t){var r=t.shift();if(!r)return null;var n=!0,a=!1,i=void 0;try{for(var s,c=(0,o.default)(e);!(n=(s=c.next()).done);n=!0){var d=s.value;if(u.isValidTargetPropertyNode(d,r)){if(N.NodeGuards.isObjectExpressionNode(d.value))return this.findCalleeBlockStatement(d.value.properties,t);if(N.NodeGuards.isFunctionExpressionNode(d.value))return d.value.body}}}catch(e){a=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(a)throw i}}return null}}],[{key:"isValidTargetPropertyNode",value:function(e,t){if(!e.key)return!1;var r=N.NodeGuards.isIdentifierNode(e.key)&&e.key.name===t,n=N.NodeGuards.isLiteralNode(e.key)&&Boolean(e.key.value)&&e.key.value===t;return r||n}}]),t}(m.AbstractCalleeDataExtractor);_=u=l.__decorate([f.injectable()],_),t.ObjectExpressionCalleeDataExtractor=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=d.__importStar(r(18)),f=r(47),p=r(9),m=r(10),N=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){var r=null;return p.NodeGuards.isIdentifierNode(t)&&(r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name)),p.NodeGuards.isFunctionExpressionNode(t)&&(r=t.body),r?{callee:r,name:t.name||null}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e,n){if(p.NodeGuards.isFunctionExpressionNode(e)&&n&&p.NodeGuards.isVariableDeclaratorNode(n)&&p.NodeGuards.isIdentifierNode(n.id)&&n.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);N=d.__decorate([u.injectable()],N),t.FunctionExpressionCalleeDataExtractor=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=d.__importStar(r(18)),f=r(47),p=r(9),m=r(10),N=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){if(!p.NodeGuards.isIdentifierNode(t))return null;var r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name);return r?{callee:r,name:t.name}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e){if(p.NodeGuards.isFunctionDeclarationNode(e)&&e.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);N=d.__decorate([u.injectable()],N),t.FunctionDeclarationCalleeDataExtractor=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(63),s=r(203),c=r(202),d=r(201),u=r(200);t.analyzersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.IStackTraceAnalyzer).to(u.StackTraceAnalyzer).inSingletonScope(),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(s.FunctionDeclarationCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(c.FunctionExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(d.ObjectExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.Factory__ICalleeDataExtractor).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.ICalleeDataExtractor))})},,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(37);e.exports=n.JavaScriptObfuscator}]); +require("source-map-support").install(),module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r.w={},r(r.s=220)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("inversify")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Factory__ICalleeDataExtractor="Factory",e.Factory__IControlFlowCustomNode="Factory",e.Factory__IControlFlowReplacer="Factory",e.Factory__ICustomNode="Factory",e.Factory__ICustomNodeGroup="Factory",e.Factory__IDeadCodeInjectionCustomNode="Factory",e.Factory__IIdentifierNamesGenerator="Factory",e.Factory__IIdentifierObfuscatingReplacer="Factory",e.Factory__INodeGuard="Factory",e.Factory__INodeTransformer="Factory",e.Factory__IObfuscationResult="Factory",e.Factory__IObfuscatingReplacer="Factory",e.Factory__TControlFlowStorage="Factory",e.IArrayUtils="IArrayUtils",e.ICalleeDataExtractor="ICalleeDataExtractor",e.ICryptUtils="ICryptUtils",e.ICustomNode="ICustomNode",e.ICustomNodeGroup="ICustomNodeGroup",e.IControlFlowReplacer="IControlFlowReplacer",e.IEscapeSequenceEncoder="IEscapeSequenceEncoder",e.IIdentifierNamesGenerator="IIdentifierNamesGenerator",e.IIdentifierObfuscatingReplacer="IIdentifierObfuscatingReplacer",e.IJavaScriptObfuscator="IJavaScriptObfuscator",e.ILogger="ILogger",e.INodeGuard="INodeGuard",e.INodeTransformer="INodeTransformer",e.IObfuscationEventEmitter="IObfuscationEventEmitter",e.IObfuscationResult="IObfuscationResult",e.IOptions="IOptions",e.IOptionsNormalizer="IOptionsNormalizer",e.IObfuscatingReplacer="IObfuscatingReplacer",e.IRandomGenerator="IRandomGenerator",e.ISourceCode="ISourceCode",e.ISourceMapCorrector="ISourceMapCorrector",e.IStackTraceAnalyzer="IStackTraceAnalyzer",e.ITransformersRunner="ITransformersRunner",e.Newable__ICustomNode="Newable",e.Newable__TControlFlowStorage="Newable",e.TCustomNodeGroupStorage="TCustomNodeGroupStorage",e.TInputOptions="TInputOptions",e.TStringArrayStorage="TStringArrayStorage"}(t.ServiceIdentifiers||(t.ServiceIdentifiers={}))},function(e,t){e.exports=require("tslib")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-prototype-of")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(26),s=function(){function e(){(0,o.default)(this,e)}return(0,a.default)(e,null,[{key:"isArrayPatternNode",value:function(e){return e.type===i.NodeType.ArrayPattern}},{key:"isArrowFunctionExpressionNode",value:function(e){return e.type===i.NodeType.ArrowFunctionExpression}},{key:"isAssignmentPatternNode",value:function(e){return e.type===i.NodeType.AssignmentPattern}},{key:"isAwaitExpressionNode",value:function(e){return e.type===i.NodeType.AwaitExpression}},{key:"isBlockStatementNode",value:function(e){return e.type===i.NodeType.BlockStatement}},{key:"isBreakStatementNode",value:function(e){return e.type===i.NodeType.BreakStatement}},{key:"isCallExpressionNode",value:function(e){return e.type===i.NodeType.CallExpression}},{key:"isCatchClauseNode",value:function(e){return e.type===i.NodeType.CatchClause}},{key:"isClassDeclarationNode",value:function(e){return e.type===i.NodeType.ClassDeclaration}},{key:"isContinueStatementNode",value:function(e){return e.type===i.NodeType.ContinueStatement}},{key:"isExportNamedDeclarationNode",value:function(e){return e.type===i.NodeType.ExportNamedDeclaration}},{key:"isExpressionStatementNode",value:function(e){return e.type===i.NodeType.ExpressionStatement}},{key:"isFunctionDeclarationNode",value:function(e){return e.type===i.NodeType.FunctionDeclaration}},{key:"isFunctionExpressionNode",value:function(e){return e.type===i.NodeType.FunctionExpression}},{key:"isIdentifierNode",value:function(e){return e.type===i.NodeType.Identifier}},{key:"isIfStatementNode",value:function(e){return e.type===i.NodeType.IfStatement}},{key:"isImportDeclarationNode",value:function(e){return e.type===i.NodeType.ImportDeclaration}},{key:"isImportDefaultSpecifierNode",value:function(e){return e.type===i.NodeType.ImportDefaultSpecifier}},{key:"isImportNamespaceSpecifierNode",value:function(e){return e.type===i.NodeType.ImportNamespaceSpecifier}},{key:"isImportSpecifierNode",value:function(e){return e.type===i.NodeType.ImportSpecifier}},{key:"isLabelIdentifierNode",value:function(t,r){var n=e.isLabeledStatementNode(r)&&r.label===t,o=e.isContinueStatementNode(r)&&r.label===t,a=e.isBreakStatementNode(r)&&r.label===t;return n||o||a}},{key:"isLabeledStatementNode",value:function(e){return e.type===i.NodeType.LabeledStatement}},{key:"isLiteralNode",value:function(e){return e.type===i.NodeType.Literal}},{key:"isMemberExpressionNode",value:function(e){return e.type===i.NodeType.MemberExpression}},{key:"isMethodDefinitionNode",value:function(e){return e.type===i.NodeType.MethodDefinition}},{key:"isNode",value:function(e){return e&&void 0!==!e.type}},{key:"isNodeHasBlockScope",value:function(t,r){return e.isProgramNode(t)||e.isBlockStatementNode(t)&&e.nodesWithBlockScope.includes(r.type)}},{key:"isNodeHasScope",value:function(t){return e.isProgramNode(t)||e.isBlockStatementNode(t)||e.isSwitchCaseNode(t)}},{key:"isNodeWithComments",value:function(e){return Boolean(e.leadingComments)||Boolean(e.trailingComments)}},{key:"isObjectPatternNode",value:function(e){return e.type===i.NodeType.ObjectPattern}},{key:"isObjectExpressionNode",value:function(e){return e.type===i.NodeType.ObjectExpression}},{key:"isProgramNode",value:function(e){return e.type===i.NodeType.Program}},{key:"isPropertyNode",value:function(e){return e.type===i.NodeType.Property}},{key:"isReplaceableIdentifierNode",value:function(t,r){if(!e.isIdentifierNode(t))return!1;var n=e.isPropertyNode(r)&&!r.computed&&r.key===t,o=e.isMemberExpressionNode(r)&&!r.computed&&r.property===t,a=e.isMethodDefinitionNode(r)&&!r.computed,i=e.isLabelIdentifierNode(t,r);return!(n||o||a||i)}},{key:"isRestElementNode",value:function(e){return e.type===i.NodeType.RestElement}},{key:"isReturnStatementNode",value:function(e){return e.type===i.NodeType.ReturnStatement}},{key:"isSuperNode",value:function(e){return e.type===i.NodeType.Super}},{key:"isSwitchCaseNode",value:function(e){return e.type===i.NodeType.SwitchCase}},{key:"isTaggedTemplateExpressionNode",value:function(e){return e.type===i.NodeType.TaggedTemplateExpression}},{key:"isTemplateLiteralNode",value:function(e){return e.type===i.NodeType.TemplateLiteral}},{key:"isUnaryExpressionNode",value:function(e){return e.type===i.NodeType.UnaryExpression}},{key:"isUseStrictOperator",value:function(e){return e.type===i.NodeType.ExpressionStatement&&"use strict"===e.directive}},{key:"isVariableDeclarationNode",value:function(e){return e.type===i.NodeType.VariableDeclaration}},{key:"isVariableDeclaratorNode",value:function(e){return e.type===i.NodeType.VariableDeclarator}},{key:"isWhileStatementNode",value:function(e){return e.type===i.NodeType.WhileStatement}}]),e}();s.nodesWithBlockScope=[i.NodeType.ArrowFunctionExpression,i.NodeType.FunctionDeclaration,i.NodeType.FunctionExpression,i.NodeType.MethodDefinition],t.NodeGuards=s},function(e,t,r){"use strict";var n=r(0),o=n(r(62)),a=n(r(36)),i=n(r(2)),s=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var c=__importStar(r(46)),d=__importStar(r(61)),u=__importStar(r(18)),l=r(9),f=r(19),p=function(){function e(){(0,i.default)(this,e)}return(0,s.default)(e,null,[{key:"addXVerbatimPropertyToLiteralNode",value:function(e){return l.NodeGuards.isLiteralNode(e)&&(e["x-verbatim-property"]={content:e.raw,precedence:c.Precedence.Primary}),e}},{key:"clone",value:function(t){return e.parentize(e.cloneRecursive(t))}},{key:"convertCodeToStructure",value:function(t){var r=d.parse(t,{sourceType:"script"});return u.replace(r,{enter:function(t,r){return e.parentizeNode(t,r),e.addXVerbatimPropertyToLiteralNode(t),f.NodeMetadata.set(t,{ignoredNode:!1}),t}}),r.body}},{key:"convertStructureToCode",value:function(e){return e.reduce(function(e,t){return e+c.generate(t,{sourceMapWithCode:!0}).code},"")}},{key:"getBlockScopesOfNode",value:function(t){return e.getBlockScopesOfNodeRecursive(t)}},{key:"getNextSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,1)}},{key:"getPreviousSiblingStatementNode",value:function(t){return e.getSiblingStatementNodeByOffset(t,-1)}},{key:"getScopeOfNode",value:function(t){var r=t.parentNode;if(!r)throw new ReferenceError("`parentNode` property of given node is `undefined`");return l.NodeGuards.isNodeHasScope(r)?r:e.getScopeOfNode(r)}},{key:"getUnaryExpressionArgumentNode",value:function(t){return l.NodeGuards.isUnaryExpressionNode(t.argument)?e.getUnaryExpressionArgumentNode(t.argument):t.argument}},{key:"parentize",value:function(t){return u.replace(t,{enter:e.parentizeNode}),t}},{key:"parentizeNode",value:function(e,t){return e.parentNode=t||e,e}},{key:"cloneRecursive",value:function(t){if(null===t)return t;var r={};return(0,a.default)(t).forEach(function(n){if("parentNode"!==n){var a,i=t[n];a=null===i||i instanceof RegExp?i:Array.isArray(i)?i.map(e.cloneRecursive):"object"===(0,o.default)(i)?e.cloneRecursive(i):i,r[n]=a}}),r}},{key:"getBlockScopesOfNodeRecursive",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=t.parentNode;if(!o)throw new ReferenceError("`parentNode` property of given node is `undefined`");return l.NodeGuards.isBlockStatementNode(t)&&o===t&&r.push(t),(l.NodeGuards.isProgramNode(t)||n&&l.NodeGuards.isNodeHasBlockScope(t,o))&&r.push(t),t!==o?e.getBlockScopesOfNodeRecursive(o,r,++n):r}},{key:"getSiblingStatementNodeByOffset",value:function(t,r){var n=e.getScopeOfNode(t),o=l.NodeGuards.isSwitchCaseNode(n)?n.consequent:n.body;return o[o.indexOf(t)+r]||null}}]),e}();t.NodeUtils=p},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(196)),i=n(r(195)),s=n(r(194)),c=n(r(193)),d=n(r(192)),u=n(r(191)),l=n(r(31)),f=n(r(36));Object.defineProperty(t,"__esModule",{value:!0});var p={configurable:!0,enumerable:!0},m="_initialized",N="_initializablePropertiesSet",g="_wrappedMethodsSet",_="constructor";function v(e,t,r){(0,u.default)(e,r)||(0,d.default)(e,t,r)}t.initializable=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"initialize",t=(0,f.default)(this)[0];return function(r,n){var u=r[e];if(!u||"function"!=typeof u)throw new Error("`".concat(e,"` method with initialization logic not ")+"found. `@".concat(t,"` decorator requires `").concat(e,"` method"));return v(m,!1,r),v(N,new l.default,r),v(g,new l.default,r),function(e,t){var r=(0,c.default)(e),n=[t,_];r.forEach(function(r){var c=(0,s.default)(N,e),d=(0,s.default)(g,e),u=n.includes(r)||c.has(r)||d.has(r);if(!u){var l=e[r];if("function"==typeof l){var f=(0,i.default)(e,r)||p,_=f.value;(0,a.default)(e,r,(0,o.default)({},f,{value:function(){if(!(0,s.default)(m,this))throw new Error("Class should be initialized with `".concat(t,"()` method"));return _.apply(this,arguments)}})),d.add(r)}}})}(r,e),function(e,t,r){var n=(0,i.default)(e,t)||p,s=n.value;(0,a.default)(e,t,(0,o.default)({},n,{value:function(){(0,d.default)(m,!0,this);var e=s.apply(this,arguments);return this[r],e}}))}(r,e,n),function(e,t){(0,s.default)(N,e).add(t);var r="_".concat(t),n=(0,i.default)(e,r)||p;return(0,a.default)(e,t,(0,o.default)({},n,{get:function(){if(void 0===this[r])throw new Error("Property `".concat(t,"` is not initialized! Initialize it first!"));return this[r]},set:function(e){this[r]=e}})),n}(r,n)}}},function(e,t){e.exports=require("@babel/runtime/core-js/object/assign")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Preparing="Preparing",e.DeadCodeInjection="DeadCodeInjection",e.ControlFlowFlattening="ControlFlowFlattening",e.Converting="Converting",e.Obfuscating="Obfuscating",e.Finalizing="Finalizing"}(t.TransformationStage||(t.TransformationStage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=r(11),u=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"initialize",value:function(){this.nodeIdentifier=this.randomGenerator.getRandomInteger(0,1e4)}}]),e}();i.__decorate([d.initializable(),i.__metadata("design:type",Number)],u.prototype,"nodeIdentifier",void 0),i.__decorate([s.postConstruct(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[]),i.__metadata("design:returntype",void 0)],u.prototype,"initialize",null),u=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],u),t.AbstractNodeTransformer=u},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=__importStar(r(46)),c=r(26),d=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"programNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.Program,body:e,sourceType:"script",metadata:{ignoredNode:!1}}}},{key:"arrayExpressionNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.ArrayExpression,elements:e,metadata:{ignoredNode:!1}}}},{key:"assignmentExpressionNode",value:function(e,t,r){return{type:c.NodeType.AssignmentExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"binaryExpressionNode",value:function(e,t,r){return{type:c.NodeType.BinaryExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"blockStatementNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.BlockStatement,body:e,metadata:{ignoredNode:!1}}}},{key:"breakStatement",value:function(e){var t={type:c.NodeType.BreakStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"callExpressionNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{type:c.NodeType.CallExpression,callee:e,arguments:t,metadata:{ignoredNode:!1}}}},{key:"continueStatement",value:function(e){var t={type:c.NodeType.ContinueStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"expressionStatementNode",value:function(e){return{type:c.NodeType.ExpressionStatement,expression:e,metadata:{ignoredNode:!1}}}},{key:"functionDeclarationNode",value:function(t,r,n){return{type:c.NodeType.FunctionDeclaration,id:e.identifierNode(t),params:r,body:n,generator:!1,metadata:{ignoredNode:!1}}}},{key:"functionExpressionNode",value:function(e,t){return{type:c.NodeType.FunctionExpression,params:e,body:t,generator:!1,metadata:{ignoredNode:!1}}}},{key:"ifStatementNode",value:function(e,t,r){return(0,o.default)({type:c.NodeType.IfStatement,test:e,consequent:t},r&&{alternate:r},{metadata:{ignoredNode:!1}})}},{key:"identifierNode",value:function(e){return{type:c.NodeType.Identifier,name:e,metadata:{ignoredNode:!1}}}},{key:"literalNode",value:function(e,t){return t=void 0!==t?t:"'".concat(e,"'"),{type:c.NodeType.Literal,value:e,raw:t,"x-verbatim-property":{content:t,precedence:s.Precedence.Primary},metadata:{ignoredNode:!1}}}},{key:"logicalExpressionNode",value:function(e,t,r){return{type:c.NodeType.LogicalExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}},{key:"memberExpressionNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.MemberExpression,computed:r,object:e,property:t,metadata:{ignoredNode:!1}}}},{key:"methodDefinitionNode",value:function(e,t,r,n){return{type:c.NodeType.MethodDefinition,key:e,value:t,kind:r,computed:n,static:!1,metadata:{ignoredNode:!1}}}},{key:"objectExpressionNode",value:function(e){return{type:c.NodeType.ObjectExpression,properties:e,metadata:{ignoredNode:!1}}}},{key:"propertyNode",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.Property,key:e,value:t,kind:"init",method:!1,shorthand:!1,computed:r,metadata:{ignoredNode:!1}}}},{key:"returnStatementNode",value:function(e){return{type:c.NodeType.ReturnStatement,argument:e,metadata:{ignoredNode:!1}}}},{key:"switchStatementNode",value:function(e,t){return{type:c.NodeType.SwitchStatement,discriminant:e,cases:t,metadata:{ignoredNode:!1}}}},{key:"switchCaseNode",value:function(e,t){return{type:c.NodeType.SwitchCase,test:e,consequent:t,metadata:{ignoredNode:!1}}}},{key:"unaryExpressionNode",value:function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return{type:c.NodeType.UnaryExpression,operator:e,argument:t,prefix:r,metadata:{ignoredNode:!1}}}},{key:"updateExpressionNode",value:function(e,t){return{type:c.NodeType.UpdateExpression,operator:e,argument:t,prefix:!1,metadata:{ignoredNode:!1}}}},{key:"variableDeclarationNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"var";return{type:c.NodeType.VariableDeclaration,declarations:e,kind:t,metadata:{ignoredNode:!1}}}},{key:"variableDeclaratorNode",value:function(e,t){return{type:c.NodeType.VariableDeclarator,id:e,init:t,metadata:{ignoredNode:!1}}}},{key:"whileStatementNode",value:function(e,t){return{type:c.NodeType.WhileStatement,test:e,body:t,metadata:{ignoredNode:!1}}}}]),e}();t.NodeFactory=d},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(4),u=r(172),l=r(171),f=i=function(){function e(t,r,n){(0,o.default)(this,e),this.cachedNode=null,this.identifierNamesGenerator=t(n),this.randomGenerator=r,this.options=n}return(0,a.default)(e,[{key:"getNode",value:function(){return this.cachedNode||(this.cachedNode=this.getNodeStructure()),this.cachedNode}},{key:"getGlobalVariableTemplate",value:function(){return this.randomGenerator.getRandomGenerator().pickone(i.globalVariableTemplateFunctions)}}]),e}();f.globalVariableTemplateFunctions=[u.GlobalVariableTemplate1(),l.GlobalVariableTemplate2()],f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(2,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Function,Object,Object])],f),t.AbstractCustomNode=f},function(e,t){e.exports=require("@babel/runtime/core-js/map")},function(e,t){e.exports=require("estraverse")},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"set",value:function(e,t){e.metadata=(0,o.default)(e.metadata||{},t)}},{key:"get",value:function(e,t){return void 0!==e.metadata?e.metadata[t]:void 0}},{key:"isIgnoredNode",value:function(t){return!0===e.get(t,"ignoredNode")}},{key:"isRenamedIdentifier",value:function(t){return!0===e.get(t,"renamedIdentifier")}},{key:"isReplacedLiteral",value:function(t){return!0===e.get(t,"replacedLiteral")}}]),e}();t.NodeMetadata=s},function(e,t){e.exports=require("string-template")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BaseIdentifierObfuscatingReplacer="BaseIdentifierObfuscatingReplacer"}(t.IdentifierObfuscatingReplacer||(t.IdentifierObfuscatingReplacer={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionFunctionNode="BinaryExpressionFunctionNode",e.BlockStatementControlFlowFlatteningNode="BlockStatementControlFlowFlatteningNode",e.CallExpressionControlFlowStorageCallNode="CallExpressionControlFlowStorageCallNode",e.CallExpressionFunctionNode="CallExpressionFunctionNode",e.ControlFlowStorageNode="ControlFlowStorageNode",e.ExpressionWithOperatorControlFlowStorageCallNode="ExpressionWithOperatorControlFlowStorageCallNode",e.LogicalExpressionFunctionNode="LogicalExpressionFunctionNode",e.StringLiteralControlFlowStorageCallNode="StringLiteralControlFlowStorageCallNode",e.StringLiteralNode="StringLiteralNode"}(t.ControlFlowCustomNode||(t.ControlFlowCustomNode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Browser="browser",e.BrowserNoEval="browser-no-eval",e.Node="node"}(t.ObfuscationTarget||(t.ObfuscationTarget={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.AfterObfuscation="afterObfuscation",e.BeforeObfuscation="beforeObfuscation"}(t.ObfuscationEvent||(t.ObfuscationEvent={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(9),c=function(){function e(){(0,a.default)(this,e)}return(0,i.default)(e,null,[{key:"appendNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t)).concat((0,o.default)(r)))}},{key:"appendNodeToOptimalBlockScope",value:function(t,r,n){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;o=t.length?e.getOptimalBlockScope(t,a):r,e.prependNode(o,n)}},{key:"getOptimalBlockScope",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,o=t[r];if(n<=0)throw new Error("Invalid `deep` argument value. Value should be bigger then 0.");return n>1&&o.stackTrace.length?e.getOptimalBlockScope(o.stackTrace,0,--n):o.callee}},{key:"insertNodeAfter",value:function(t,r,n){var o=e.getScopeNodeStatements(t).indexOf(n);e.insertNodeAtIndex(t,r,o+1)}},{key:"insertNodeAtIndex",value:function(t,r,n){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(e.getScopeNodeStatements(t).slice(0,n)).concat((0,o.default)(r),(0,o.default)(e.getScopeNodeStatements(t).slice(n))))}},{key:"prependNode",value:function(t,r){r=e.parentizeScopeStatementsBeforeAppend(t,r),e.setScopeNodeStatements(t,(0,o.default)(r).concat((0,o.default)(e.getScopeNodeStatements(t))))}},{key:"getScopeNodeStatements",value:function(e){return s.NodeGuards.isSwitchCaseNode(e)?e.consequent:e.body}},{key:"parentizeScopeStatementsBeforeAppend",value:function(e,t){return t.forEach(function(t){t.parentNode=e}),t}},{key:"setScopeNodeStatements",value:function(e,t){s.NodeGuards.isSwitchCaseNode(e)?e.consequent=t:e.body=t}}]),e}();t.NodeAppender=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ArrayExpression="ArrayExpression",e.ArrayPattern="ArrayPattern",e.ArrowFunctionExpression="ArrowFunctionExpression",e.AssignmentExpression="AssignmentExpression",e.AssignmentPattern="AssignmentPattern",e.AwaitExpression="AwaitExpression",e.BinaryExpression="BinaryExpression",e.BlockStatement="BlockStatement",e.BreakStatement="BreakStatement",e.CallExpression="CallExpression",e.CatchClause="CatchClause",e.ClassDeclaration="ClassDeclaration",e.ContinueStatement="ContinueStatement",e.ExportNamedDeclaration="ExportNamedDeclaration",e.ExpressionStatement="ExpressionStatement",e.FunctionDeclaration="FunctionDeclaration",e.FunctionExpression="FunctionExpression",e.Identifier="Identifier",e.IfStatement="IfStatement",e.ImportDeclaration="ImportDeclaration",e.ImportDefaultSpecifier="ImportDefaultSpecifier",e.ImportNamespaceSpecifier="ImportNamespaceSpecifier",e.ImportSpecifier="ImportSpecifier",e.LabeledStatement="LabeledStatement",e.Literal="Literal",e.LogicalExpression="LogicalExpression",e.MemberExpression="MemberExpression",e.MethodDefinition="MethodDefinition",e.ObjectExpression="ObjectExpression",e.ObjectPattern="ObjectPattern",e.Program="Program",e.Property="Property",e.RestElement="RestElement",e.ReturnStatement="ReturnStatement",e.Super="Super",e.SwitchCase="SwitchCase",e.SwitchStatement="SwitchStatement",e.TaggedTemplateExpression="TaggedTemplateExpression",e.TemplateLiteral="TemplateLiteral",e.TryStatement="TryStatement",e.UnaryExpression="UnaryExpression",e.UpdateExpression="UpdateExpression",e.VariableDeclaration="VariableDeclaration",e.VariableDeclarator="VariableDeclarator",e.WhileStatement="WhileStatement"}(t.NodeType||(t.NodeType={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(1),c=r(4),d=r(204),u=r(199),l=r(185),f=r(179),p=r(132),m=r(131),N=r(128),g=r(127),_=r(114),v=r(99),y=r(89),h=r(84),b=r(78),S=r(65),I=r(75),C=r(73),F=r(72),j=r(71),O=r(70),T=function(){function e(){(0,a.default)(this,e),this.container=new s.Container}return(0,i.default)(e,[{key:"get",value:function(e){return this.container.get(e)}},{key:"getNamed",value:function(e,t){return this.container.getNamed(e,t)}},{key:"load",value:function(e,t){this.container.bind(c.ServiceIdentifiers.ISourceCode).toDynamicValue(function(){return new F.SourceCode(e)}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.TInputOptions).toDynamicValue(function(){return t}).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ILogger).to(S.Logger).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IJavaScriptObfuscator).to(b.JavaScriptObfuscator).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.ITransformersRunner).to(O.TransformersRunner).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationResult).to(C.ObfuscationResult).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.Factory__IObfuscationResult).toFactory(function(e){return function(t,r){var n=e.container.get(c.ServiceIdentifiers.IObfuscationResult);return n.initialize(t,r),n}}),this.container.bind(c.ServiceIdentifiers.ISourceMapCorrector).to(j.SourceMapCorrector).inSingletonScope(),this.container.bind(c.ServiceIdentifiers.IObfuscationEventEmitter).to(I.ObfuscationEventEmitter).inSingletonScope(),this.container.load(d.analyzersModule),this.container.load(u.controlFlowTransformersModule),this.container.load(l.convertingTransformersModule),this.container.load(f.customNodesModule),this.container.load(p.finalizingTransformersModule),this.container.load(m.generatorsModule),this.container.load(N.nodeTransformersModule),this.container.load(g.obfuscatingTransformersModule),this.container.load(_.optionsModule),this.container.load(v.preparingTransformersModule),this.container.load(y.storagesModule),this.container.load(h.utilsModule)}},{key:"unload",value:function(){this.container.unbindAll()}}],[{key:"getFactory",value:function(e){return function(t){return function(r){return t.container.getNamed(e,r)}}}},{key:"getCacheFactory",value:function(e){return function(t){var r=new o.default;return function(n){if(r.has(n))return r.get(n);var o=t.container.getNamed(e,n);return r.set(n,o),o}}}},{key:"getConstructorFactory",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n-1||0===e.indexOf("//")?e.split("/")[2]:e.split("/")[0]).split(":")[0]}},{key:"isCeilNumber",value:function(e){return e%1==0}},{key:"stringRotate",value:function(e,t){if(!e)throw new ReferenceError("Cannot rotate empty string.");for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=new s.InversifyContainerFacade;r.load(e,t);var n=r.get(i.ServiceIdentifiers.IJavaScriptObfuscator).obfuscate(e);return r.unload(),n}}]),e}();c.version="0.17.0-dev.0",t.JavaScriptObfuscator=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base64="base64",e.Rc4="rc4"}(t.StringArrayEncoding||(t.StringArrayEncoding={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Inline="inline",e.Separate="separate"}(t.SourceMapMode||(t.SourceMapMode={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.HexadecimalIdentifierNamesGenerator="hexadecimal",e.MangledIdentifierNamesGenerator="mangled"}(t.IdentifierNamesGenerator||(t.IdentifierNamesGenerator={}))},function(e,t,r){"use strict";var n=r(0)(r(2));Object.defineProperty(t,"__esModule",{value:!0});var o=r(5),a=r(1),i=r(4),s=function e(t){(0,n.default)(this,e),this.options=t};s=o.__decorate([a.injectable(),o.__param(0,a.inject(i.ServiceIdentifiers.IOptions)),o.__metadata("design:paramtypes",[Object])],s),t.AbstractObfuscatingReplacer=s},function(e,t){e.exports=require("@babel/runtime/helpers/get")},function(e,t,r){"use strict";var n=r(0)(r(55));Object.defineProperty(t,"__esModule",{value:!0});var o=r(40),a=r(23),i=r(39);t.NO_ADDITIONAL_NODES_PRESET=(0,n.default)({compact:!0,controlFlowFlattening:!1,controlFlowFlatteningThreshold:0,deadCodeInjection:!1,deadCodeInjectionThreshold:0,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",log:!1,renameGlobals:!1,reservedNames:[],rotateStringArray:!1,seed:0,selfDefending:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,stringArray:!1,stringArrayEncoding:!1,stringArrayThreshold:0,target:a.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableNoEvalTemplate=function(){return"\n var that = (typeof window !== 'undefined'\n ? window\n : (typeof process === 'object' &&\n typeof require === 'function' &&\n typeof global === 'object')\n ? global\n : this);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=s=function(){function e(t,r,n){(0,a.default)(this,e),this.replacerDataByControlFlowStorageId=new o.default,this.controlFlowCustomNodeFactory=t,this.randomGenerator=r,this.options=n}return(0,i.default)(e,[{key:"insertCustomNodeToControlFlowStorage",value:function(e,t,r,n){var o=this,a=t.getStorageId(),i=s.getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId,a),c=i.get(r);if(this.randomGenerator.getMathRandom()1&&void 0!==arguments[1]?arguments[1]:i.randomGeneratorPool;return this.getRandomGenerator().string({length:e,pool:t})}},{key:"getSeed",value:function(){return this.seed}}]),e}();p.randomGeneratorPool="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",s.__decorate([f.initializable(),s.__metadata("design:type",Object)],p.prototype,"randomGenerator",void 0),s.__decorate([f.initializable(),s.__metadata("design:type",Number)],p.prototype,"seed",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],p.prototype,"initialize",null),p=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.ISourceCode)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],p),t.RandomGenerator=p},function(e,t,r){"use strict";var n=r(0),o=n(r(33)),a=n(r(30)),i=n(r(35)),s=n(r(17)),c=n(r(2)),d=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=function(){function e(t,r){(0,c.default)(this,e),this.randomGenerator=t,this.options=r}return(0,d.default)(e,[{key:"initialize",value:function(){this.storage=new s.default,this.storageId=this.randomGenerator.getRandomString(6)}},{key:"get",value:function(e){var t=this.storage.get(e);if(!t)throw new Error("No value found in map storage with key `".concat(e,"`"));return t}},{key:"getKeyOf",value:function(e){var t=!0,r=!1,n=void 0;try{for(var o,s=(0,i.default)(this.storage);!(t=(o=s.next()).done);t=!0){var c=(0,a.default)(o.value,2),d=c[0];if(e===c[1])return d}}catch(e){r=!0,n=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw n}}return null}},{key:"getLength",value:function(){return this.storage.size}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"has",value:function(e){return this.storage.has(e)}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=new s.default((0,o.default)(this.storage).concat((0,o.default)(e.getStorage()))),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){this.storage.set(e,t)}}]),e}();u.__decorate([p.initializable(),u.__metadata("design:type",String)],m.prototype,"storageId",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",s.default)],m.prototype,"storage",void 0),u.__decorate([l.postConstruct(),u.__metadata("design:type",Function),u.__metadata("design:paramtypes",[]),u.__metadata("design:returntype",void 0)],m.prototype,"initialize",null),m=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],m),t.MapStorage=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlackListNodeGuard="BlackListNodeGuard",e.ConditionalCommentNodeGuard="ConditionalCommentNodeGuard"}(t.ObfuscatingGuard||(t.ObfuscatingGuard={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BooleanLiteralObfuscatingReplacer="BooleanLiteralObfuscatingReplacer",e.NumberLiteralObfuscatingReplacer="NumberLiteralObfuscatingReplacer",e.StringLiteralObfuscatingReplacer="StringLiteralObfuscatingReplacer"}(t.LiteralObfuscatingReplacer||(t.LiteralObfuscatingReplacer={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=function(){function e(t,r){(0,o.default)(this,e),this.randomGenerator=t,this.options=r}return(0,a.default)(e,[{key:"isValidIdentifierName",value:function(e){return!this.options.reservedNames.length||!this.options.reservedNames.some(function(t){return null!==new RegExp(t,"g").exec(e)})}}]),e}();d=i.__decorate([s.injectable(),i.__param(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i.__param(1,s.inject(c.ServiceIdentifiers.IOptions)),i.__metadata("design:paramtypes",[Object,Object])],d),t.AbstractIdentifierNamesGenerator=d},function(e,t){e.exports=require("@babel/runtime/core-js/object/freeze")},function(e,t){e.exports=require("@babel/runtime/core-js/array/from")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ConsoleOutputCustomNodeGroup="ConsoleOutputCustomNodeGroup",e.DebugProtectionCustomNodeGroup="DebugProtectionCustomNodeGroup",e.DomainLockCustomNodeGroup="DomainLockCustomNodeGroup",e.SelfDefendingCustomNodeGroup="SelfDefendingCustomNodeGroup",e.StringArrayCustomNodeGroup="StringArrayCustomNodeGroup"}(t.CustomNodeGroup||(t.CustomNodeGroup={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BlockStatementDeadCodeInjectionNode="BlockStatementDeadCodeInjectionNode"}(t.DeadCodeInjectionCustomNode||(t.DeadCodeInjectionCustomNode={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(22),p=r(45),m=r(9),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(f.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!m.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(p.AbstractControlFlowReplacer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.ExpressionWithOperatorControlFlowReplacer=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BinaryExpressionControlFlowReplacer="BinaryExpressionControlFlowReplacer",e.CallExpressionControlFlowReplacer="CallExpressionControlFlowReplacer",e.LogicalExpressionControlFlowReplacer="LogicalExpressionControlFlowReplacer",e.StringLiteralControlFlowReplacer="StringLiteralControlFlowReplacer"}(t.ControlFlowReplacer||(t.ControlFlowReplacer={}))},function(e,t){e.exports=require("espree")},function(e,t){e.exports=require("@babel/runtime/helpers/typeof")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.FunctionDeclarationCalleeDataExtractor="FunctionDeclarationCalleeDataExtractor",e.FunctionExpressionCalleeDataExtractor="FunctionExpressionCalleeDataExtractor",e.ObjectExpressionCalleeDataExtractor="ObjectExpressionCalleeDataExtractor"}(t.CalleeDataExtractor||(t.CalleeDataExtractor={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base="[javascript-obfuscator]",e.CLI="[javascript-obfuscator-cli]"}(t.LoggingPrefix||(t.LoggingPrefix={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(4),u=s.__importDefault(r(49)),l=r(64),f=i=function(){function e(t){(0,o.default)(this,e),this.options=t}return(0,a.default)(e,[{key:"info",value:function(e,t){this.options.log&&i.log(i.colorInfo,l.LoggingPrefix.Base,e,t)}},{key:"success",value:function(e,t){this.options.log&&i.log(i.colorSuccess,l.LoggingPrefix.Base,e,t)}},{key:"warn",value:function(e,t){this.options.log&&i.log(i.colorWarn,l.LoggingPrefix.Base,e,t)}}],[{key:"log",value:function(e,t,r,n){var o=e("\n".concat(t," ").concat(r));console.log(o,n||"")}}]),e}();f.colorInfo=u.default.cyan,f.colorSuccess=u.default.green,f.colorWarn=u.default.yellow,f=i=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object])],f),t.Logger=f},function(e,t){e.exports=require("reflect-metadata")},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Enter="enter",e.Leave="leave"}(t.VisitorDirection||(t.VisitorDirection={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=i.__importStar(r(18)),u=r(69),l=r(9),f=r(19),p=function(){function e(t){(0,o.default)(this,e),this.nodeTransformerFactory=t}return(0,a.default)(e,[{key:"transform",value:function(e,t,r){if(!t.length)return e;for(var n,o=[],a=[],i=t.length,s=0;s"),c="...".concat(o.substring(a,i).replace(/^\s+/,""),"...");throw new Error("Line ".concat(n.line,": ").concat(r,"\n").concat(s," ").concat(c))}}]),e}();u.colorError=d.default.red,u.nearestSymbolsCount=15,u.sourceTypes=["script","module"],t.EspreeFacade=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.EmptySourceCode="Empty source code. Obfuscation canceled...",e.ObfuscationCompleted="Obfuscation completed. Total time: %s sec.",e.ObfuscationStarted="Obfuscation started...",e.RandomGeneratorSeed="Random generator seed: %s...",e.TransformationStage="Transformation stage: %s...",e.Version="Version: %s"}(t.LoggingMessage||(t.LoggingMessage={}))},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=c.__importStar(r(46)),f=r(77),p=r(32),m=r(13),N=r(76),g=r(9),_=s=function(){function e(t,r,n,o,i){(0,a.default)(this,e),this.transformersRunner=t,this.sourceMapCorrector=r,this.randomGenerator=n,this.logger=o,this.options=i}return(0,i.default)(e,[{key:"obfuscate",value:function(e){var t=Date.now();this.logger.info(f.LoggingMessage.Version,"0.16.0"),this.logger.info(f.LoggingMessage.ObfuscationStarted),this.logger.info(f.LoggingMessage.RandomGeneratorSeed,this.randomGenerator.getSeed());var r=this.parseCode(e),n=this.transformAstTree(r),o=this.generateCode(e,n),a=(Date.now()-t)/1e3;return this.logger.success(f.LoggingMessage.ObfuscationCompleted,a),this.getObfuscationResult(o)}},{key:"parseCode",value:function(e){return N.EspreeFacade.parse(e,s.espreeParseOptions)}},{key:"transformAstTree",value:function(e){return!g.NodeGuards.isProgramNode(e)||e.body.length||e.leadingComments||e.trailingComments?(e=this.runTransformationStage(e,m.TransformationStage.Preparing),this.options.deadCodeInjection&&(e=this.runTransformationStage(e,m.TransformationStage.DeadCodeInjection)),this.options.controlFlowFlattening&&(e=this.runTransformationStage(e,m.TransformationStage.ControlFlowFlattening)),e=this.runTransformationStage(e,m.TransformationStage.Converting),e=this.runTransformationStage(e,m.TransformationStage.Obfuscating),e=this.runTransformationStage(e,m.TransformationStage.Finalizing)):(this.logger.warn(f.LoggingMessage.EmptySourceCode),e)}},{key:"generateCode",value:function(e,t){var r=(0,o.default)({},s.escodegenParams);this.options.sourceMap&&(r.sourceMap="sourceMap",r.sourceContent=e);var n=l.generate(t,(0,o.default)({},r,{format:{compact:this.options.compact}}));return n.map=n.map?n.map.toString():"",n}},{key:"getObfuscationResult",value:function(e){return this.sourceMapCorrector.correct(e.code,e.map)}},{key:"runTransformationStage",value:function(e,t){return this.logger.info(f.LoggingMessage.TransformationStage,t),this.transformersRunner.transform(e,s.transformersList,t)}}]),e}();_.espreeParseOptions={attachComment:!0,comment:!0,ecmaFeatures:{experimentalObjectRestSpread:!0},ecmaVersion:9,loc:!0,range:!0},_.escodegenParams={comment:!0,verbatim:"x-verbatim-property",sourceMapWithCode:!0},_.transformersList=[p.NodeTransformer.BlockStatementControlFlowTransformer,p.NodeTransformer.ClassDeclarationTransformer,p.NodeTransformer.CommentsTransformer,p.NodeTransformer.CustomNodesTransformer,p.NodeTransformer.DeadCodeInjectionTransformer,p.NodeTransformer.EvalCallExpressionTransformer,p.NodeTransformer.FunctionControlFlowTransformer,p.NodeTransformer.CatchClauseTransformer,p.NodeTransformer.FunctionDeclarationTransformer,p.NodeTransformer.FunctionTransformer,p.NodeTransformer.ImportDeclarationTransformer,p.NodeTransformer.LabeledStatementTransformer,p.NodeTransformer.LiteralTransformer,p.NodeTransformer.MemberExpressionTransformer,p.NodeTransformer.MetadataTransformer,p.NodeTransformer.MethodDefinitionTransformer,p.NodeTransformer.ObfuscatingGuardsTransformer,p.NodeTransformer.ObjectExpressionKeysTransformer,p.NodeTransformer.ObjectExpressionTransformer,p.NodeTransformer.ParentificationTransformer,p.NodeTransformer.TemplateLiteralTransformer,p.NodeTransformer.VariableDeclarationTransformer],_=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.ITransformersRunner)),c.__param(1,d.inject(u.ServiceIdentifiers.ISourceMapCorrector)),c.__param(2,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(3,d.inject(u.ServiceIdentifiers.ILogger)),c.__param(4,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],_),t.JavaScriptObfuscator=_},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s=r(5),c=r(1),d=function(){function e(){(0,a.default)(this,e),this.stringsCache=new o.default}return(0,i.default)(e,[{key:"encode",value:function(e,t){var r="".concat(e,"-").concat(String(t));if(this.stringsCache.has(r))return this.stringsCache.get(r);var n,o,a=new RegExp("[\\s\\S]","g"),i=new RegExp("['\"\\\\\\s]"),s=new RegExp("[\\x00-\\x7F]"),c=e.replace(a,function(e){return t||i.exec(e)?(s.exec(e)?(n="\\x",o="00"):(n="\\u",o="0000"),"".concat(n).concat((o+e.charCodeAt(0).toString(16)).slice(-o.length))):e});return this.stringsCache.set(r,c),c}}]),e}();d=s.__decorate([c.injectable()],d),t.EscapeSequenceEncoder=d},function(e,t){e.exports=require("chance")},function(e,t){e.exports=require("md5")},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i=r(5),s=r(1),c=r(4),d=r(50),u=r(28),l=function(){function e(t){(0,o.default)(this,e),this.randomGenerator=t}return(0,a.default)(e,[{key:"btoa",value:function(e){var t="";e=encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode(parseInt("".concat(u.Utils.hexadecimalPrefix).concat(t)))});for(var r,n,o=0,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.charAt(0|o)||(a="=",o%1);t+=a.charAt(63&r>>8-o%1*8)){if((n=e.charCodeAt(o+=.75))>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");r=r<<8|n}return t}},{key:"hideString",value:function(e,t){var r=this,n=this.randomGenerator.getRandomGenerator().string({length:t,pool:d.RandomGenerator.randomGeneratorPool}).replace(new RegExp("[".concat(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"]"),"g"),""),o=n.split("");return this.randomGenerator.getRandomGenerator().shuffle(o),[function(e,t){for(var n=-1,o=-1,a="";n=0?t:null}},{key:"getLength",value:function(){return this.storageLength}},{key:"getStorage",value:function(){return this.storage}},{key:"getStorageId",value:function(){return this.storageId}},{key:"mergeWith",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.storage=(0,o.default)(this.storage).concat((0,o.default)(e.getStorage())),t&&(this.storageId=e.getStorageId())}},{key:"set",value:function(e,t){e===this.storageLength?this.storage.push(t):this.storage.splice(e,0,t),this.storageLength++}}]),e}();s.__decorate([u.initializable(),s.__metadata("design:type",Array)],l.prototype,"storage",void 0),s.__decorate([u.initializable(),s.__metadata("design:type",String)],l.prototype,"storageId",void 0),s.__decorate([c.postConstruct(),s.__metadata("design:type",Function),s.__metadata("design:paramtypes",[]),s.__metadata("design:returntype",void 0)],l.prototype,"initialize",null),l=s.__decorate([c.injectable(),s.__param(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s.__param(1,c.inject(d.ServiceIdentifiers.IOptions)),s.__metadata("design:paramtypes",[Object,Object])],l),t.ArrayStorage=l},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(85),N=u=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).identifierNamesGenerator=e(i),c.arrayUtils=r,c}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this);var e=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),r=this.identifierNamesGenerator.generate().slice(0,u.stringArrayNameLength),n="".concat(this.options.identifiersPrefix).concat(e),a="".concat(this.options.identifiersPrefix).concat(r);this.storageId="".concat(n,"|").concat(a)}},{key:"rotateArray",value:function(e){this.storage=this.arrayUtils.arrayRotate(this.storage,e)}},{key:"toString",value:function(){return this.storage.map(function(e){return"'".concat(e,"'")}).toString()}}]),t}(m.ArrayStorage);N.stringArrayNameLength=7,l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],N.prototype,"initialize",null),N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IArrayUtils)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],N),t.StringArrayStorage=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(57),N=r(51),g=u=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).customNodeGroupFactory=e,i}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(){var e=this;(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"initialize",this).call(this),u.customNodeGroupsList.forEach(function(t){var r=e.customNodeGroupFactory(t);r&&e.storage.set(t,r)})}}]),t}(N.MapStorage);g.customNodeGroupsList=[m.CustomNodeGroup.ConsoleOutputCustomNodeGroup,m.CustomNodeGroup.DebugProtectionCustomNodeGroup,m.CustomNodeGroup.DomainLockCustomNodeGroup,m.CustomNodeGroup.SelfDefendingCustomNodeGroup,m.CustomNodeGroup.StringArrayCustomNodeGroup],l.__decorate([f.postConstruct(),l.__metadata("design:type",Function),l.__metadata("design:paramtypes",[]),l.__metadata("design:returntype",void 0)],g.prototype,"initialize",null),g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNodeGroup)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],g),t.CustomNodeGroupStorage=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(7)),s=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var c=r(5),d=r(1),u=r(4),l=function(e){function t(e,r){return(0,a.default)(this,t),(0,i.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,s.default)(t,e),t}(r(51).MapStorage);l=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.IRandomGenerator)),c.__param(1,d.inject(u.ServiceIdentifiers.IOptions)),c.__metadata("design:paramtypes",[Object,Object])],l),t.ControlFlowStorage=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(4),a=r(88),i=r(87),s=r(86);t.storagesModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.TCustomNodeGroupStorage).to(i.CustomNodeGroupStorage).inSingletonScope(),e(o.ServiceIdentifiers.TStringArrayStorage).to(s.StringArrayStorage).inSingletonScope(),e(o.ServiceIdentifiers.Newable__TControlFlowStorage).toConstructor(a.ControlFlowStorage),e(o.ServiceIdentifiers.Factory__TControlFlowStorage).toFactory(function(e){return function(){var t=new(e.container.get(o.ServiceIdentifiers.Newable__TControlFlowStorage))(e.container.get(o.ServiceIdentifiers.IRandomGenerator),e.container.get(o.ServiceIdentifiers.IOptions));return t.initialize(),t}})})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(10),N=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return m.NodeUtils.parentizeNode(e,t)}}]),t}(p.AbstractNodeTransformer);N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],N),t.ParentificationTransformer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(52),m=r(13),N=r(14),g=r(19),_=d=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).obfuscatingGuards=d.obfuscatingGuardsList.map(e),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.obfuscatingGuards.every(function(t){return t.check(e)});return g.NodeMetadata.set(e,{ignoredNode:!r}),e}}]),t}(N.AbstractNodeTransformer);_.obfuscatingGuardsList=[p.ObfuscatingGuard.BlackListNodeGuard,p.ObfuscatingGuard.ConditionalCommentNodeGuard],_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__INodeGuard)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.ObfuscatingGuardsTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(9),N=r(19),g=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Preparing:return{enter:function(e,r){return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return N.NodeMetadata.set(e,{ignoredNode:!1}),m.NodeGuards.isIdentifierNode(e)&&N.NodeMetadata.set(e,{renamedIdentifier:!1}),m.NodeGuards.isLiteralNode(e)&&N.NodeMetadata.set(e,{replacedLiteral:!1}),e}}]),t}(p.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],g),t.MetadataTransformer=g},function(e,t){e.exports=require("js-string-escape")},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importDefault(r(93)),N=r(13),g=r(14),_=r(15),v=r(9),y=r(10),h=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).evalRootAstHostNodeSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Preparing:return{enter:function(e,r){if(r&&v.NodeGuards.isCallExpressionNode(e)&&v.NodeGuards.isIdentifierNode(e.callee)&&"eval"===e.callee.name)return t.transformNode(e,r)}};case N.TransformationStage.Finalizing:return this.evalRootAstHostNodeSet.size?{leave:function(e,r){if(r&&t.isEvalRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"transformNode",value:function(e,t){var r=e.arguments[0];if(!r)return e;var n,o=u.extractEvalStringFromCallExpressionArgument(r);if(!o)return e;try{n=y.NodeUtils.convertCodeToStructure(o)}catch(t){return e}var a=_.NodeFactory.functionExpressionNode([],_.NodeFactory.blockStatementNode(n));return this.evalRootAstHostNodeSet.add(a),a}},{key:"restoreNode",value:function(e,t){var r=e.body.body,n=y.NodeUtils.convertStructureToCode(r);return _.NodeFactory.callExpressionNode(_.NodeFactory.identifierNode("eval"),[_.NodeFactory.literalNode(m.default(n))])}},{key:"isEvalRootAstHostNode",value:function(e){return v.NodeGuards.isFunctionExpressionNode(e)&&this.evalRootAstHostNodeSet.has(e)}}],[{key:"extractEvalStringFromCallExpressionArgument",value:function(e){return v.NodeGuards.isLiteralNode(e)?u.extractEvalStringFromLiteralNode(e):v.NodeGuards.isTemplateLiteralNode(e)?u.extractEvalStringFromTemplateLiteralNode(e):null}},{key:"extractEvalStringFromLiteralNode",value:function(e){return"string"==typeof e.value?e.value:null}},{key:"extractEvalStringFromTemplateLiteralNode",value:function(e){var t=e.quasis;return 1!==t.length||e.expressions.length?null:t[0].value.cooked}}]),t}(g.AbstractNodeTransformer);h=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],h),t.EvalCallExpressionTransformer=h},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(24),p=r(13),m=r(14),N=r(9),g=function(e){function t(e,r,n,i,c){var d;return(0,a.default)(this,t),(d=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,i,c))).stackTraceData=[],d.stackTraceAnalyzer=e,d.obfuscationEventEmitter=r,d.customNodeGroupStorage=n,d}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Preparing:return{leave:function(e,r){if(N.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),t.appendCustomNodesBeforeObfuscation(e,r),t.transformNode(e,r)}};case p.TransformationStage.Finalizing:return{leave:function(e,r){N.NodeGuards.isProgramNode(e)&&t.appendCustomNodesAfterObfuscation(e,r)}};default:return null}}},{key:"analyzeNode",value:function(e,t){this.stackTraceData=this.stackTraceAnalyzer.analyze(e)}},{key:"transformNode",value:function(e,t){return e}},{key:"appendCustomNodesBeforeObfuscation",value:function(e,t){var r=this;this.customNodeGroupStorage.getStorage().forEach(function(e){e.initialize(),r.obfuscationEventEmitter.once(e.getAppendEvent(),e.appendCustomNodes.bind(e))}),this.obfuscationEventEmitter.emit(f.ObfuscationEvent.BeforeObfuscation,e,this.stackTraceData)}},{key:"appendCustomNodesAfterObfuscation",value:function(e,t){this.obfuscationEventEmitter.emit(f.ObfuscationEvent.AfterObfuscation,e,this.stackTraceData)}}]),t}(m.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IStackTraceAnalyzer)),d.__param(1,u.inject(l.ServiceIdentifiers.IObfuscationEventEmitter)),d.__param(2,u.inject(l.ServiceIdentifiers.TCustomNodeGroupStorage)),d.__param(3,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(4,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],g),t.CustomNodesTransformer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(2)),a=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var i,s=r(5),c=r(1),d=r(9),u=i=function(){function e(){(0,o.default)(this,e),this.obfuscationAllowedForCurrentNode=!0,this.obfuscationAllowedForNextNode=null}return(0,a.default)(e,[{key:"check",value:function(e){if(this.obfuscationAllowedForNextNode&&(this.obfuscationAllowedForCurrentNode=this.obfuscationAllowedForNextNode,this.obfuscationAllowedForNextNode=null),!d.NodeGuards.isNodeWithComments(e))return this.obfuscationAllowedForCurrentNode;var t=e.leadingComments,r=e.trailingComments;return t&&(this.obfuscationAllowedForCurrentNode=this.checkComments(t)),r&&(this.obfuscationAllowedForNextNode=this.checkComments(r)),this.obfuscationAllowedForCurrentNode}},{key:"checkComments",value:function(e){for(var t=e.length,r=this.obfuscationAllowedForCurrentNode,n=0;n=u.minimumLengthForStringArray&&this.randomGenerator.getMathRandom()<=this.options.stringArrayThreshold}},{key:"getStringArrayHexadecimalIndex",value:function(e,t){if(this.stringLiteralHexadecimalIndexCache.has(e))return{fromCache:!0,index:this.stringLiteralHexadecimalIndexCache.get(e)};var r=v.Utils.decToHex(t),n="".concat(v.Utils.hexadecimalPrefix).concat(r);return this.stringLiteralHexadecimalIndexCache.set(e,n),{fromCache:!1,index:n}}},{key:"getEncodedValue",value:function(e){var t,r=null;switch(this.options.stringArrayEncoding){case m.StringArrayEncoding.Rc4:r=this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys),t=this.cryptUtils.btoa(this.cryptUtils.rc4(e,r));break;case m.StringArrayEncoding.Base64:t=this.cryptUtils.btoa(e);break;default:t=e}return{encodedValue:t,key:r}}},{key:"replaceWithLiteralNode",value:function(e){return _.NodeFactory.literalNode(this.escapeSequenceEncoder.encode(e,this.options.unicodeEscapeSequence))}},{key:"replaceWithStringArrayCallNode",value:function(e){var t=this.getEncodedValue(e),r=t.encodedValue,n=t.key,o=this.escapeSequenceEncoder.encode(r,this.options.unicodeEscapeSequence),a=this.stringArrayStorage.getLength(),i=this.stringArrayStorage.getStorageId().split("|")[1],s=this.getStringArrayHexadecimalIndex(o,a),c=s.fromCache,d=s.index;c||this.stringArrayStorage.set(a,o);var l=[u.getHexadecimalLiteralNode(d)];n&&l.push(u.getRc4KeyLiteralNode(this.escapeSequenceEncoder.encode(n,this.options.unicodeEscapeSequence)));var f=_.NodeFactory.identifierNode(i);return g.NodeMetadata.set(f,{renamedIdentifier:!0}),_.NodeFactory.callExpressionNode(f,l)}}],[{key:"getHexadecimalLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return g.NodeMetadata.set(t,{replacedLiteral:!0}),t}},{key:"getRc4KeyLiteralNode",value:function(e){var t=_.NodeFactory.literalNode(e);return g.NodeMetadata.set(t,{replacedLiteral:!0}),t}}]),t}(N.AbstractObfuscatingReplacer);y.minimumLengthForStringArray=3,y.rc4KeyLength=4,y.rc4KeysCount=50,y=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(1,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.ICryptUtils)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object,Object,Object,Object])],y),t.StringLiteralObfuscatingReplacer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(41),m=r(15),N=r(28),g=function(e){function t(e){var r;return(0,i.default)(this,t),(r=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e))).numberLiteralCache=new o.default,r}return(0,d.default)(t,e),(0,s.default)(t,[{key:"replace",value:function(e){var t;return this.numberLiteralCache.has(e)?t=this.numberLiteralCache.get(e):(t=N.Utils.isCeilNumber(e)?"".concat(N.Utils.hexadecimalPrefix).concat(N.Utils.decToHex(e)):String(e),this.numberLiteralCache.set(e,t)),m.NodeFactory.literalNode(e,t)}}]),t}(p.AbstractObfuscatingReplacer);g=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object])],g),t.NumberLiteralObfuscatingReplacer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(62)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(53),m=r(13),N=r(14),g=r(9),_=r(19),v=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).literalObfuscatingReplacerFactory=e,o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&g.NodeGuards.isLiteralNode(e)&&!_.NodeMetadata.isReplacedLiteral(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.isProhibitedNode(e,t))return e;switch((0,o.default)(e.value)){case"boolean":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.BooleanLiteralObfuscatingReplacer).replace(e.value);case"number":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.NumberLiteralObfuscatingReplacer).replace(e.value);case"string":return this.literalObfuscatingReplacerFactory(p.LiteralObfuscatingReplacer.StringLiteralObfuscatingReplacer).replace(e.value);default:return e}}},{key:"isProhibitedNode",value:function(e,t){return!(!g.NodeGuards.isPropertyNode(t)||t.key!==e)||!!g.NodeGuards.isImportDeclarationNode(t)}}]),t}(N.AbstractNodeTransformer);v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.LiteralTransformer=v},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importStar(r(18)),p=r(21),m=r(13),N=r(14),g=r(9),_=function(e){function t(e,r,n){var i;return(0,a.default)(this,t),(i=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(p.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),i}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case m.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&g.NodeGuards.isLabeledStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeLabeledStatementName(e,r),this.replaceLabeledStatementName(e,r),e}},{key:"storeLabeledStatementName",value:function(e,t){this.identifierObfuscatingReplacer.storeLocalName(e.label.name,t)}},{key:"replaceLabeledStatementName",value:function(e,t){var r=this;f.replace(e,{enter:function(e,n){if(n&&g.NodeGuards.isLabelIdentifierNode(e,n)){var o=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=o.name}}})}}]),t}(N.AbstractNodeTransformer);_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.LabeledStatementTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importStar(r(18)),N=r(21),g=r(13),_=r(14),v=r(9),y=r(19),h=r(10),b=u=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(N.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isImportDeclarationNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0];return this.storeImportSpecifierNames(e,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(n,r):this.replaceScopeIdentifiers(n,r),e}},{key:"storeImportSpecifierNames",value:function(e,t){var r=this;e.specifiers.forEach(function(e){u.isProhibitedImportSpecifierNode(e)||r.identifierObfuscatingReplacer.storeGlobalName(e.local.name,t)})}},{key:"replaceScopeCachedIdentifiers",value:function(e,t){var r=this;this.replaceableIdentifiers.get(e).forEach(function(e){var n=r.identifierObfuscatingReplacer.replace(e.name,t);e.name=n.name,y.NodeMetadata.set(e,{renamedIdentifier:!0})})}},{key:"replaceScopeIdentifiers",value:function(e,t){var r=this,n=[];m.replace(e,{enter:function(e,o){if(o&&v.NodeGuards.isReplaceableIdentifierNode(e,o)&&!y.NodeMetadata.isRenamedIdentifier(e)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a?(e.name=a,y.NodeMetadata.set(e,{renamedIdentifier:!0})):n.push(e)}}}),this.replaceableIdentifiers.set(e,n)}}],[{key:"isProhibitedImportSpecifierNode",value:function(e){return v.NodeGuards.isImportSpecifierNode(e)&&e.imported.name===e.local.name}}]),t}(_.AbstractNodeTransformer);b=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],b),t.ImportDeclarationTransformer=b},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(21),N=r(13),g=r(14),_=r(9),v=r(19),y=function(e){function t(e,r,n){var o;return(0,i.default)(this,t),(o=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),o}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&(_.NodeGuards.isFunctionDeclarationNode(e)||_.NodeGuards.isFunctionExpressionNode(e)||_.NodeGuards.isArrowFunctionExpressionNode(e)))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++;return this.storeFunctionParams(e,r),this.replaceFunctionParams(e,r),e}},{key:"storeFunctionParams",value:function(e,t){var r=this;e.params.forEach(function(e){p.traverse(e,{enter:function(n){return _.NodeGuards.isPropertyNode(e)?p.VisitorOption.Skip:_.NodeGuards.isAssignmentPatternNode(n)&&_.NodeGuards.isIdentifierNode(n.left)?(r.identifierObfuscatingReplacer.storeLocalName(n.left.name,t),p.VisitorOption.Skip):void(_.NodeGuards.isIdentifierNode(n)&&r.identifierObfuscatingReplacer.storeLocalName(n.name,t))}})})}},{key:"addIdentifiersToIgnoredIdentifierNamesSet",value:function(e,t){e.forEach(function(e){e.key&&_.NodeGuards.isIdentifierNode(e.key)&&t.add(e.key.name)})}},{key:"replaceFunctionParams",value:function(e,t){var r=this,n=new o.default,a={enter:function(e,o){if(_.NodeGuards.isObjectPatternNode(e)&&r.addIdentifiersToIgnoredIdentifierNamesSet(e.properties,n),o&&_.NodeGuards.isReplaceableIdentifierNode(e,o)&&!n.has(e.name)){var a=r.identifierObfuscatingReplacer.replace(e.name,t).name;e.name!==a&&(e.name=a,v.NodeMetadata.set(e,{renamedIdentifier:!0}))}}};e.params.forEach(function(e){return p.replace(e,a)}),p.replace(e.body,a)}}]),t}(g.AbstractNodeTransformer);y=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],y),t.FunctionTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(21),N=r(26),g=r(13),_=r(14),v=r(9),y=r(19),h=r(10),b=function(e){function t(e,r,n){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n))).replaceableIdentifiers=new o.default,s.identifierObfuscatingReplacer=e(m.IdentifierObfuscatingReplacer.BaseIdentifierObfuscatingReplacer),s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case g.TransformationStage.Obfuscating:return{enter:function(e,r){if(r&&v.NodeGuards.isFunctionDeclarationNode(e)&&!v.NodeGuards.isExportNamedDeclarationNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=this.nodeIdentifier++,n=h.NodeUtils.getBlockScopesOfNode(e)[0],o=n.type===N.NodeType.Program;return!this.options.renameGlobals&&o?e:(this.storeFunctionName(e,o,r),this.replaceableIdentifiers.has(n)?this.replaceScopeCachedIdentifiers(e,n,r):this.replaceScopeIdentifiers(n,r),e)}},{key:"storeFunctionName",value:function(e,t,r){t?this.identifierObfuscatingReplacer.storeGlobalName(e.id.name,r):this.identifierObfuscatingReplacer.storeLocalName(e.id.name,r)}},{key:"replaceScopeCachedIdentifiers",value:function(e,t,r){var n=this.replaceableIdentifiers.get(t);if(n){var o=n.get(e.id.name);if(o)for(var a=o.length,i=0;i=0);return"a".concat(n(r))},r=t(e);return this.isValidIdentifierName(r)||(r=this.generateNewMangledName(r)),r}}]),t}(m.AbstractIdentifierNamesGenerator);N.initMangledNameCharacter="9",N.nameSequence="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),N.reservedNames=["byte","case","char","do","else","enum","eval","for","goto","if","in","int","let","long","new","null","this","true","try","var","void","with"],N=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],N),t.MangledIdentifierNamesGenerator=N},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=r(54),N=r(28),g=u=function(e){function t(e,r){var n;return(0,i.default)(this,t),(n=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r))).randomVariableNameSet=new o.default,n}return(0,d.default)(t,e),(0,s.default)(t,[{key:"generate",value:function(){var e=this.randomGenerator.getRandomInteger(1e4,99999999),t=N.Utils.decToHex(e).substr(0,u.baseIdentifierNameLength),r="_".concat(N.Utils.hexadecimalPrefix).concat(t);return this.randomVariableNameSet.has(r)?this.generate():(this.randomVariableNameSet.add(r),r)}},{key:"generateWithPrefix",value:function(){var e=this.generate();return"".concat(this.options.identifiersPrefix).concat(e).replace("__","_")}}]),t}(m.AbstractIdentifierNamesGenerator);g.baseIdentifierNameLength=6,g=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Object,Object])],g),t.HexadecimalIdentifierNamesGenerator=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),o=r(4),a=r(40),i=r(130),s=r(129);t.generatorsModule=new n.ContainerModule(function(e){e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(i.HexadecimalIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator),e(o.ServiceIdentifiers.IIdentifierNamesGenerator).to(s.MangledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator),e(o.ServiceIdentifiers.Factory__IIdentifierNamesGenerator).toFactory(function(e){var t=null;return function(r){if(t)return t;var n;switch(r.identifierNamesGenerator){case a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.MangledIdentifierNamesGenerator);break;case a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator:default:n=e.container.getNamed(o.ServiceIdentifiers.IIdentifierNamesGenerator,a.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator)}return t=n,n}})})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1);t.finalizingTransformersModule=new n.ContainerModule(function(e){})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.literalValue=e}},{key:"getNodeStructure",value:function(){return[m.NodeFactory.expressionStatementNode(m.NodeFactory.literalNode(this.literalValue))]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],N.prototype,"literalValue",void 0),N=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],N),t.StringLiteralNode=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.controlFlowStorageName=e,this.controlFlowStorageKey=t}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)));return N.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"controlFlowStorageName",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.StringLiteralControlFlowStorageCallNode=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.False="![]",e.True="!![]",e.a='(false+"")[1]',e.b='([]["entries"]()+"")[2]',e.c='([]["fill"]+"")[3]',e.d='(undefined+"")[2]',e.e='(true+"")[3]',e.f='(false+"")[0]',e.g="(false+[0]+String)[20]",e.h='(+(101))["toString"](21)[1]',e.i="([false]+undefined)[10]",e.j='([]["entries"]()+"")[3]',e.k='(+(20))["toString"](21)',e.l='(false+"")[2]',e.m='(Number+"")[11]',e.n='(undefined+"")[1]',e.o='(true+[]["fill"])[10]',e.p='(+(211))["toString"](31)[1]',e.q='(+(212))["toString"](31)[1]',e.r='(true+"")[1]',e.s='(false+"")[3]',e.t='(true+"")[0]',e.u='(undefined+"")[0]',e.v='(+(31))["toString"](32)',e.w='(+(32))["toString"](33)',e.x='(+(101))["toString"](34)[1]',e.y="(NaN+[Infinity])[10]",e.z='(+(35))["toString"](36)',e.A="(+[]+Array)[10]",e.B="(+[]+Boolean)[10]",e.C='Function("return escape")()(("")["italics"]())[2]',e.D='Function("return escape")()([]["fill"])["slice"]("-1")',e.E='(RegExp+"")[12]',e.F="(+[]+Function)[10]",e.G='(false+Function("return Date")()())[30]',e.H="'H'",e.I='(Infinity+"")[0]',e.J="'J'",e.K="'K'",e.L="'L'",e.M='(true+Function("return Date")()())[30]',e.N='(NaN+"")[0]',e.O='(NaN+Function("return{}")())[11]',e.P="'P'",e.Q="'Q'",e.R="(+[]+RegExp)[10]",e.S="(+[]+String)[10]",e.T='(NaN+Function("return Date")()())[30]',e.U='(NaN+Function("return{}")()["toString"]["call"]())[11]',e.V="'V'",e.W="'W'",e.X="'X'",e.Y="'Y'",e.Z="'Z'"}(t.JSFuck||(t.JSFuck={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionTemplate=function(){return"\n (function (array, {timesName}) {\n var {whileFunctionName} = function (times) {\n while (--times) {\n array['push'](array['shift']());\n }\n };\n \n {code}\n })({stringArrayName}, 0x{stringArrayRotateValue});\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var selfDefendingFunc = function () {\n var object = {\n data: {\n key: 'cookie',\n value: 'timeout'\n },\n setCookie: function (options, name, value, document) {\n document = document || {};\n \n var updatedCookie = name + \"=\" + value;\n\n var i = 0;\n \n for (var i = 0, len = options.length; i < len; i++) {\n var propName = options[i];\n \n updatedCookie += \"; \" + propName;\n \n var propValue = options[propName];\n \n options.push(propValue);\n len = options.length;\n \n if (propValue !== true) {\n updatedCookie += \"=\" + propValue;\n }\n }\n\n document['cookie'] = updatedCookie;\n },\n removeCookie: function(){return 'dev';},\n getCookie: function (document, name) {\n document = document || function (value) { return value };\n var matches = document(new RegExp(\n \"(?:^|; )\" + name.replace(/([.$?*|{}()[]\\/+^])/g, '\\$1') + \"=([^;]*)\"\n ));\n \n var func = function (param1, param2) {\n param1(++param2);\n };\n \n func({whileFunctionName}, {timesName});\n \n return matches ? decodeURIComponent(matches[1]) : undefined;\n }\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return regExp.test(object.removeCookie.toString());\n };\n \n object['updateCookie'] = test1;\n \n var cookie = '';\n var result = object['updateCookie']();\n \n if (!result) {\n object['setCookie'](['*'], 'counter', 1);\n } else if (result) {\n cookie = object['getCookie'](null, 'counter');\n } else {\n object['removeCookie']();\n }\n };\n \n selfDefendingFunc();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),N=r(43),g=r(137),_=r(136),v=r(16),y=r(37),h=r(10),b=r(28),S=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayRotateValue=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r="";return r=this.options.selfDefending?p.default(g.SelfDefendingTemplate(this.escapeSequenceEncoder),{timesName:e,whileFunctionName:t}):"".concat(t,"(++").concat(e,")"),y.JavaScriptObfuscator.obfuscate(p.default(_.StringArrayRotateFunctionTemplate(),{code:r,timesName:e,stringArrayName:this.stringArrayName,stringArrayRotateValue:b.Utils.decToHex(this.stringArrayRotateValue),whileFunctionName:t}),(0,o.default)({},N.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}}]),t}(v.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],S.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],S.prototype,"stringArrayRotateValue",void 0),S=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],S),t.StringArrayRotateFunctionNode=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTemplate=function(){return"\n var {stringArrayName} = [{stringArray}];\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(42)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),N=r(139),g=r(16),_=r(10),v=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.stringArrayStorage=e,this.stringArrayName=t,this.stringArrayRotateValue=r}},{key:"getNode",value:function(){return this.stringArrayStorage.rotateArray(this.stringArrayRotateValue),(0,c.default)(t.prototype.__proto__||(0,o.default)(t.prototype),"getNode",this).call(this)}},{key:"getNodeStructure",value:function(){return _.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return p.default(N.StringArrayTemplate(),{stringArrayName:this.stringArrayName,stringArray:this.stringArrayStorage.toString()})}}]),t}(g.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",Object)],v.prototype,"stringArrayStorage",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",String)],v.prototype,"stringArrayName",void 0),u.__decorate([m.initializable(),u.__metadata("design:type",Number)],v.prototype,"stringArrayRotateValue",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],v),t.StringArrayNode=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRc4DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {rc4Polyfill}\n {stringArrayCallsWrapperName}.").concat(r," = rc4;\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n\n if (cachedValue === undefined) {\n if ({stringArrayCallsWrapperName}.").concat(o," === undefined) {\n {selfDefendingCode}\n \n {stringArrayCallsWrapperName}.").concat(o," = true;\n }\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value, key);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperTemplate=function(){return"\n var {stringArrayCallsWrapperName} = function (index, key) {\n index = index - 0;\n \n var value = {stringArrayName}[index];\n \n {decodeNodeTemplate}\n \n return value;\n };\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayBase64DecodeNodeTemplate=function(e){var t=e.getRandomString(6),r=e.getRandomString(6),n=e.getRandomString(6);return"\n if ({stringArrayCallsWrapperName}.".concat(t," === undefined) {\n {atobPolyfill}\n \n {stringArrayCallsWrapperName}.").concat(r," = function (str) {\n var string = atob(str);\n var newStringChars = [];\n \n for (var i = 0, length = string.length; i < length; i++) {\n newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2);\n }\n \n return decodeURIComponent(newStringChars);\n };\n \n {stringArrayCallsWrapperName}.").concat(n," = {};\n \n {stringArrayCallsWrapperName}.").concat(t," = true;\n }\n \n var cachedValue = {stringArrayCallsWrapperName}.").concat(n,"[index];\n \n if (cachedValue === undefined) {\n {selfDefendingCode}\n \n value = {stringArrayCallsWrapperName}.").concat(r,"(value);\n {stringArrayCallsWrapperName}.").concat(n,"[index] = value;\n } else {\n value = cachedValue;\n }\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e,t){var r=e.getRandomString(6),n=e.getRandomString(6),o=e.getRandomString(6),a=e.getRandomString(6),i=e.getRandomString(6),s=e.getRandomString(6),c=e.getRandomString(6),d=e.getRandomString(6),u=e.getRandomString(6);return"\n var StatesClass = function (".concat(r,") {\n this.").concat(r," = ").concat(r,";\n this.").concat(n," = [1, 0, 0];\n this.").concat(o," = function(){return 'newState';};\n this.").concat(a," = '").concat(t.encode("\\w+ *\\(\\) *{\\w+ *",!0),"';\n this.").concat(i," = '").concat(t.encode("['|\"].+['|\"];? *}",!0),"';\n };\n \n StatesClass.prototype.").concat(s," = function () {\n var regExp = new RegExp(this.").concat(a," + this.").concat(i,");\n var expression = regExp.test(this.").concat(o,".toString())\n ? --this.").concat(n,"[1]\n : --this.").concat(n,"[0];\n \n return this.").concat(c,"(expression);\n };\n \n StatesClass.prototype.").concat(c," = function (").concat(u,") {\n if (!Boolean(~").concat(u,")) {\n return ").concat(u,";\n }\n \n return this.").concat(d,"(this.").concat(r,");\n };\n\n StatesClass.prototype.").concat(d," = function (").concat(r,") {\n for (var i = 0, len = this.").concat(n,".length; i < len; i++) {\n this.").concat(n,".push(Math.round(Math.random()));\n len = this.").concat(n,".length;\n }\n \n return ").concat(r,"(this.").concat(n,"[0]);\n };\n\n new StatesClass({stringArrayCallsWrapperName}).").concat(s,"();\n ")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Rc4Template=function(){return"\n var rc4 = function (str, key) {\n var s = [], j = 0, x, res = '', newStr = '';\n \n str = atob(str);\n \n for (var k = 0, length = str.length; k < length; k++) {\n newStr += '%' + ('00' + str.charCodeAt(k).toString(16)).slice(-2);\n }\n \n str = decodeURIComponent(newStr);\n \t \n\t for (var i = 0; i < 256; i++) {\n s[i] = i;\n }\n \n for (i = 0; i < 256; i++) {\n j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n }\n \n i = 0;\n j = 0;\n \n for (var y = 0; y < str.length; y++) {\n i = (i + 1) % 256;\n j = (j + s[i]) % 256;\n x = s[i];\n s[i] = s[j];\n s[j] = x;\n res += String.fromCharCode(str.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);\n }\n \n return res;\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AtobTemplate=function(){return"\n (function () {\n {globalVariableTemplate}\n \n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n that.atob || (\n that.atob = function(input) {\n var str = String(input).replace(/=+$/, '');\n for (\n var bc = 0, bs, buffer, idx = 0, output = '';\n buffer = str.charAt(idx++);\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n buffer = chars.indexOf(buffer);\n }\n return output;\n });\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(23),N=r(38),g=r(11),_=r(43),v=r(146),y=r(44),h=r(145),b=r(144),S=r(143),I=r(142),C=r(141),F=r(16),j=r(37),O=r(10),T=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.stringArrayName=e,this.stringArrayCallsWrapperName=t}},{key:"getNodeStructure",value:function(){return O.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.getDecodeStringArrayTemplate();return j.JavaScriptObfuscator.obfuscate(p.default(I.StringArrayCallsWrapperTemplate(),{decodeNodeTemplate:e,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode()}},{key:"getDecodeStringArrayTemplate",value:function(){var e=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():y.GlobalVariableNoEvalTemplate(),t=p.default(v.AtobTemplate(),{globalVariableTemplate:e}),r="",n="";switch(this.options.selfDefending&&(n=p.default(b.SelfDefendingTemplate(this.randomGenerator,this.escapeSequenceEncoder),{stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName})),this.options.stringArrayEncoding){case N.StringArrayEncoding.Rc4:r=p.default(C.StringArrayRc4DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,rc4Polyfill:h.Rc4Template(),selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName});break;case N.StringArrayEncoding.Base64:r=p.default(S.StringArrayBase64DecodeNodeTemplate(this.randomGenerator),{atobPolyfill:t,selfDefendingCode:n,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}return r}}]),t}(F.AbstractCustomNode);u.__decorate([g.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayName",void 0),u.__decorate([g.initializable(),u.__metadata("design:type",String)],T.prototype,"stringArrayCallsWrapperName",void 0),T=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],T),t.StringArrayCallsWrapper=T},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=function(e){return"\n var {selfDefendingFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func1 = function(){return 'dev';},\n func2 = function () {\n return 'window';\n };\n \n var test1 = function () {\n var regExp = new RegExp('".concat(e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0),"');\n \n return !regExp.test(func1.toString());\n };\n \n var test2 = function () {\n var regExp = new RegExp('").concat(e.encode("(\\\\[x|u](\\w){2,4})+",!0),"');\n \n return regExp.test(func2.toString());\n };\n \n var recursiveFunc1 = function (string) {\n var i = ~-1 >> 1 + 255 % 0;\n \n if (string.indexOf('i' === i)) {\n recursiveFunc2(string)\n }\n };\n \n var recursiveFunc2 = function (string) {\n var i = ~-4 >> 1 + 255 % 0;\n \n if (string.indexOf((true+\"\")[3]) !== i) {\n recursiveFunc1(string)\n }\n };\n \n if (!test1()) {\n if (!test2()) {\n recursiveFunc1('indеxOf');\n } else {\n recursiveFunc1('indexOf');\n }\n } else {\n recursiveFunc1('indеxOf');\n }\n })\n \n {selfDefendingFunctionName}();\n ")}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(11),N=r(43),g=r(148),_=r(16),v=r(37),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).escapeSequenceEncoder=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return v.JavaScriptObfuscator.obfuscate(p.default(g.SelfDefendingTemplate(this.escapeSequenceEncoder),{selfDefendingFunctionName:this.identifierNamesGenerator.generate(),singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},N.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed,unicodeEscapeSequence:!0})).getObfuscatedCode()}}]),t}(_.AbstractCustomNode);u.__decorate([m.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IEscapeSequenceEncoder)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.SelfDefendingUnicodeNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SingleNodeCallControllerTemplate=function(){return"\n var {singleNodeCallControllerFunctionName} = (function(){\n var firstCall = true;\n \n return function (context, fn){\n var rfn = firstCall ? function(){\n if(fn){\n var res = fn.apply(context, arguments);\n fn = null;\n return res;\n }\n } : function(){}\n \n firstCall = false;\n \n return rfn;\n }\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(24),N=r(11),g=r(150),_=r(43),v=r(16),y=r(37),h=r(10),b=function(e){function t(e,r,n){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,n))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e,t){this.appendEvent=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return h.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return this.appendEvent===m.ObfuscationEvent.AfterObfuscation?y.JavaScriptObfuscator.obfuscate(p.default(g.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName}),(0,o.default)({},_.NO_ADDITIONAL_NODES_PRESET,{identifierNamesGenerator:this.options.identifierNamesGenerator,seed:this.options.seed})).getObfuscatedCode():p.default(g.SingleNodeCallControllerTemplate(),{singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([N.initializable(),u.__metadata("design:type",String)],b.prototype,"callsControllerFunctionName",void 0),u.__decorate([N.initializable(),u.__metadata("design:type",String)],b.prototype,"appendEvent",void 0),b=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],b),t.NodeCallsControllerFunctionNode=b},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.logicalExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return N.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"operator",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.LogicalExpressionFunctionNode=g},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r,n){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.leftValue=r,this.rightValue=n}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(this.controlFlowStorageName),m.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.leftValue,this.rightValue]));return N.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"controlFlowStorageKey",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"controlFlowStorageName",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],g.prototype,"leftValue",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Object)],g.prototype,"rightValue",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.ExpressionWithOperatorControlFlowStorageCallNode=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockNodeTemplate=function(){return'\n var {domainLockFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n \n {globalVariableTemplate}\n \n var func = function () {\n return {\n key: \'item\',\n value: \'attribute\',\n getAttribute: function () {\n for (var i = 0; i < 1000; i--) {\n var isPositive = i > 0;\n \n switch (isPositive) {\n case true:\n return this.item + \'_\' + this.value + \'_\' + i;\n default:\n this.item + \'_\' + this.value;\n }\n }\n }()\n };\n };\n \n var regExp = new RegExp("[{diff}]", "g");\n var domains = "{domains}".replace(regExp, "").split(";");\n var document;\n var domain;\n \n for (var d in that) {\n if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) {\n document = d;\n \n break;\n }\n }\n\n for (var d1 in that[document]) {\n if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) {\n domain = d1;\n \n break;\n }\n }\n \n if ((!document && !domain) || (!that[document] && !that[document][domain])) {\n return;\n }\n \n var currentDomain = that[document][domain];\n\n var ok = false;\n \n for (var i = 0; i < domains.length; i++) {\n var domain = domains[i];\n var position = currentDomain.length - domain.length;\n var lastIndex = currentDomain.indexOf(domain, position);\n var endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(".") === 0) {\n ok = true;\n }\n \n break;\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n });\n\n {domainLockFunctionName}();\n '}},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=u.__importDefault(r(20)),m=r(23),N=r(11),g=r(154),_=r(44),v=r(16),y=r(10),h=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,e,r,o))).cryptUtils=n,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.domainLock.join(";"),t=this.cryptUtils.hideString(e,3*e.length),r=(0,o.default)(t,2),n=r[0],a=r[1],i=this.options.target!==m.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():_.GlobalVariableNoEvalTemplate();return p.default(g.DomainLockNodeTemplate(),{domainLockFunctionName:this.identifierNamesGenerator.generate(),diff:a,domains:n,globalVariableTemplate:i,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(v.AbstractCustomNode);u.__decorate([N.initializable(),u.__metadata("design:type",String)],h.prototype,"callsControllerFunctionName",void 0),h=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.ICryptUtils)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],h),t.DomainLockNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionTemplate=function(){return"\n function {debugProtectionFunctionName} (ret) {\n function debuggerProtection (counter) {\n \n {debuggerTemplate}\n \n debuggerProtection(++counter);\n }\n \n try {\n if (ret) {\n return debuggerProtection;\n } else {\n debuggerProtection(0);\n }\n } catch (y) {}\n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplateNoEval=function(){return"\n if (typeof counter === 'string') {\n var func = function () {\n while (true) {}\n };\n \n return func();\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n debugger;\n } else {\n debugger;\n }\n \n }\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplate=function(){return"\n if (typeof counter === 'string') {\n return (function (arg) {}.constructor('while (true) {}').apply('counter'));\n } else {\n if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {\n (function () {return true;}.constructor('debu' + 'gger').call('action'));\n } else {\n (function () {return false;}.constructor('debu' + 'gger').apply('stateObject'));\n }\n \n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(23),m=r(11),N=r(158),g=r(157),_=r(156),v=r(16),y=r(10),h=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return y.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?N.DebuggerTemplate():g.DebuggerTemplateNoEval();return f.default(_.DebugProtectionFunctionTemplate(),{debuggerTemplate:e,debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(v.AbstractCustomNode);d.__decorate([m.initializable(),d.__metadata("design:type",String)],h.prototype,"debugProtectionFunctionName",void 0),h=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],h),t.DebugProtectionFunctionNode=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalTemplate=function(){return"\n setInterval(function () {\n {debugProtectionFunctionName}();\n }, 4000);\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(160),N=r(16),g=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.debugProtectionFunctionName=e}},{key:"getNodeStructure",value:function(){return g.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionIntervalTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName})}}]),t}(N.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionIntervalNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallTemplate=function(){return"\n (function () {\n {singleNodeCallControllerFunctionName}(this, function () {\n var regExp1 = new RegExp('function *\\\\( *\\\\)');\n var regExp2 = new RegExp('\\\\+\\\\+ *\\(?:_0x(?:[a-f0-9]){4,6}|(?:\\\\b|\\\\d)[a-z0-9]{1,4}(?:\\\\b|\\\\d)\\)', 'i');\n \n var result = {debugProtectionFunctionName}('init');\n \n if (!regExp1.test(result + 'chain') || !regExp2.test(result + 'input')) {\n result('0');\n } else {\n {debugProtectionFunctionName}();\n }\n })();\n })();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(11),m=r(162),N=r(16),g=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t){this.debugProtectionFunctionName=e,this.callsControllerFunctionName=t}},{key:"getNodeStructure",value:function(){return g.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){return f.default(m.DebugProtectionFunctionCallTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(N.AbstractCustomNode);d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"callsControllerFunctionName",void 0),d.__decorate([p.initializable(),d.__metadata("design:type",String)],_.prototype,"debugProtectionFunctionName",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.DebugProtectionFunctionCallNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableExpressionTemplate=function(){return"\n var {consoleLogDisableFunctionName} = {singleNodeCallControllerFunctionName}(this, function () {\n var func = function () {};\n \n {globalVariableTemplate}\n \n if (!that.console) {\n that.console = (function (func){\n var c = {};\n \n c.log = func;\n c.warn = func;\n c.debug = func;\n c.info = func;\n c.error = func;\n c.exception = func;\n c.trace = func;\n \n return c;\n })(func);\n } else {\n that.console.log = func;\n that.console.warn = func;\n that.console.debug = func;\n that.console.info = func;\n that.console.error = func;\n that.console.exception = func;\n that.console.trace = func;\n }\n });\n \n {consoleLogDisableFunctionName}();\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=d.__importDefault(r(20)),p=r(23),m=r(164),N=r(44),g=r(11),_=r(16),v=r(10),y=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.callsControllerFunctionName=e}},{key:"getNodeStructure",value:function(){return v.NodeUtils.convertCodeToStructure(this.getTemplate())}},{key:"getTemplate",value:function(){var e=this.options.target!==p.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():N.GlobalVariableNoEvalTemplate();return f.default(m.ConsoleOutputDisableExpressionTemplate(),{consoleLogDisableFunctionName:this.identifierNamesGenerator.generate(),globalVariableTemplate:e,singleNodeCallControllerFunctionName:this.callsControllerFunctionName})}}]),t}(_.AbstractCustomNode);d.__decorate([g.initializable(),d.__metadata("design:type",String)],y.prototype,"callsControllerFunctionName",void 0),y=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ConsoleOutputDisableExpressionNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(56)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(1),p=r(4),m=r(11),N=r(16),g=r(15),_=r(9),v=r(10),y=function(e){function t(e,r,n){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r,n))}return(0,u.default)(t,e),(0,c.default)(t,[{key:"initialize",value:function(e){this.controlFlowStorage=e}},{key:"getNodeStructure",value:function(){var e=(0,a.default)(this.controlFlowStorage.getStorage()).map(function(e){var t=(0,o.default)(e,2),r=t[0],n=t[1].getNode()[0];if(!_.NodeGuards.isExpressionStatementNode(n))throw new Error("Function node for control flow storage object should be passed inside the `ExpressionStatement` node!");return g.NodeFactory.propertyNode(g.NodeFactory.identifierNode(r),n.expression)}),t=g.NodeFactory.variableDeclarationNode([g.NodeFactory.variableDeclaratorNode(g.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()),g.NodeFactory.objectExpressionNode(e))]);return[t=v.NodeUtils.parentize(t)]}}]),t}(N.AbstractCustomNode);l.__decorate([m.initializable(),l.__metadata("design:type",Object)],y.prototype,"controlFlowStorage",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(2,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object])],y),t.ControlFlowStorageNode=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.expressionArguments=e}},{key:"getNodeStructure",value:function(){for(var e=m.NodeFactory.identifierNode("callee"),t=[],r=this.expressionArguments.length,n=0;n.5,t=this.randomGenerator.getMathRandom()>.5,r=e?"===":"!==",n=this.randomGenerator.getRandomString(5),a=t?n:this.randomGenerator.getRandomString(5),i=e===t?[this.blockStatementNode,this.deadCodeInjectionRootAstHostNode]:[this.deadCodeInjectionRootAstHostNode,this.blockStatementNode],s=(0,o.default)(i,2),c=s[0],d=s[1],u=N.NodeFactory.blockStatementNode([N.NodeFactory.ifStatementNode(N.NodeFactory.binaryExpressionNode(r,N.NodeFactory.literalNode(n),N.NodeFactory.literalNode(a)),c,d)]);return g.NodeUtils.parentize(u),[u]}}]),t}(m.AbstractCustomNode);u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"blockStatementNode",void 0),u.__decorate([p.initializable(),u.__metadata("design:type",Object)],_.prototype,"deadCodeInjectionRootAstHostNode",void 0),_=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementDeadCodeInjectionNode=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(9),g=r(10),_=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e,t,r){this.blockStatementBody=e,this.shuffledKeys=t,this.originalKeysIndexesInShuffledArray=r}},{key:"getNodeStructure",value:function(){var e=this,t=this.randomGenerator.getRandomString(6),r=this.randomGenerator.getRandomString(6),n=m.NodeFactory.blockStatementNode([m.NodeFactory.variableDeclarationNode([m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(t),m.NodeFactory.callExpressionNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join("|")),m.NodeFactory.identifierNode("split")),[m.NodeFactory.literalNode("|")])),m.NodeFactory.variableDeclaratorNode(m.NodeFactory.identifierNode(r),m.NodeFactory.literalNode(0))]),m.NodeFactory.whileStatementNode(m.NodeFactory.literalNode(!0),m.NodeFactory.blockStatementNode([m.NodeFactory.switchStatementNode(m.NodeFactory.memberExpressionNode(m.NodeFactory.identifierNode(t),m.NodeFactory.updateExpressionNode("++",m.NodeFactory.identifierNode(r)),!0),this.shuffledKeys.map(function(t,r){var n=e.blockStatementBody[t],o=[n];return N.NodeGuards.isReturnStatementNode(n)||o.push(m.NodeFactory.continueStatement()),m.NodeFactory.switchCaseNode(m.NodeFactory.literalNode(String(r)),o)})),m.NodeFactory.breakStatement()]))]);return g.NodeUtils.parentize(n),[n]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"blockStatementBody",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"originalKeysIndexesInShuffledArray",void 0),d.__decorate([f.initializable(),d.__metadata("design:type",Array)],_.prototype,"shuffledKeys",void 0),_=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],_),t.BlockStatementControlFlowFlatteningNode=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate2=function(){return"\n var getGlobal = function () {\n var globalObject;\n \n try {\n globalObject = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');')();\n } catch (e) {\n globalObject = window;\n }\n \n return globalObject;\n };\n var that = getGlobal();\n "}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate1=function(){return"\n var that;\n \n try {\n var getGlobal = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');');\n \n that = getGlobal();\n } catch (e) {\n that = window;\n }\n "}},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(11),p=r(16),m=r(15),N=r(10),g=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"initialize",value:function(e){this.operator=e}},{key:"getNodeStructure",value:function(){var e=m.NodeFactory.expressionStatementNode(m.NodeFactory.functionExpressionNode([m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")],m.NodeFactory.blockStatementNode([m.NodeFactory.returnStatementNode(m.NodeFactory.binaryExpressionNode(this.operator,m.NodeFactory.identifierNode("x"),m.NodeFactory.identifierNode("y")))])));return N.NodeUtils.parentize(e),[e]}}]),t}(p.AbstractCustomNode);d.__decorate([f.initializable(),d.__metadata("design:type",String)],g.prototype,"operator",void 0),g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(2,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Function,Object,Object])],g),t.BinaryExpressionFunctionNode=g},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(17)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l=r(5),f=r(1),p=r(4),m=r(11),N=r(29),g=r(24),_=r(34),v=r(25),y=function(e){function t(e,r,n,o,a){var c;return(0,s.default)(this,t),(c=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,n,o,a))).appendEvent=g.ObfuscationEvent.AfterObfuscation,c.customNodeFactory=e,c.stringArrayStorage=r,c}return(0,u.default)(t,e),(0,c.default)(t,[{key:"appendCustomNodes",value:function(e,t){this.stringArrayStorage.getLength()&&(this.appendCustomNodeIfExist(N.CustomNode.StringArrayNode,function(t){v.NodeAppender.prependNode(e,t.getNode())}),this.appendCustomNodeIfExist(N.CustomNode.StringArrayCallsWrapper,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}),this.appendCustomNodeIfExist(N.CustomNode.StringArrayRotateFunctionNode,function(t){v.NodeAppender.insertNodeAtIndex(e,t.getNode(),1)}))}},{key:"initialize",value:function(){if(this.customNodes=new a.default,this.options.stringArray){var e,t=this.customNodeFactory(N.CustomNode.StringArrayNode),r=this.customNodeFactory(N.CustomNode.StringArrayCallsWrapper),n=this.customNodeFactory(N.CustomNode.StringArrayRotateFunctionNode),i=this.stringArrayStorage.getStorageId().split("|"),s=(0,o.default)(i,2),c=s[0],d=s[1];e=this.options.rotateStringArray?this.randomGenerator.getRandomInteger(100,500):0,t.initialize(this.stringArrayStorage,c,e),r.initialize(c,d),n.initialize(c,e),this.customNodes.set(N.CustomNode.StringArrayNode,t),this.customNodes.set(N.CustomNode.StringArrayCallsWrapper,r),this.options.rotateStringArray&&this.customNodes.set(N.CustomNode.StringArrayRotateFunctionNode,n)}}}]),t}(_.AbstractCustomNodeGroup);l.__decorate([m.initializable(),l.__metadata("design:type",a.default)],y.prototype,"customNodes",void 0),y=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__ICustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.TStringArrayStorage)),l.__param(2,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(4,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Function,Object,Object])],y),t.StringArrayCustomNodeGroup=y},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),N=r(24),g=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=N.ObfuscationEvent.AfterObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.SelfDefendingUnicodeNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.selfDefending){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.SelfDefendingUnicodeNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.SelfDefendingUnicodeNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(g.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.SelfDefendingCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),N=r(24),g=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=N.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DomainLockNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.domainLock.length){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.DomainLockNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.DomainLockNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(g.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DomainLockCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),N=r(24),g=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=N.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this,n=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionCallNode,function(r){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,r.getNode(),n)}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionNode,function(t){_.NodeAppender.appendNode(e,t.getNode())}),this.appendCustomNodeIfExist(m.CustomNode.DebugProtectionFunctionIntervalNode,function(t){var n=e.body.length,o=r.randomGenerator.getRandomInteger(0,n);_.NodeAppender.insertNodeAtIndex(e,t.getNode(),o)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(r){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,n,1):e,_.NodeAppender.prependNode(o,r.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.debugProtection){var e=this.identifierNamesGenerator.generate(),t=this.identifierNamesGenerator.generate(),r=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionNode),n=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionCallNode),a=this.customNodeFactory(m.CustomNode.DebugProtectionFunctionIntervalNode),i=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);r.initialize(e),n.initialize(e,t),a.initialize(e),i.initialize(this.appendEvent,t),this.customNodes.set(m.CustomNode.DebugProtectionFunctionNode,r),this.customNodes.set(m.CustomNode.DebugProtectionFunctionCallNode,n),this.options.debugProtectionInterval&&this.customNodes.set(m.CustomNode.DebugProtectionFunctionIntervalNode,a),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,i)}}}]),t}(g.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.DebugProtectionCustomNodeGroup=v},function(e,t,r){"use strict";var n=r(0),o=n(r(17)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u=r(5),l=r(1),f=r(4),p=r(11),m=r(29),N=r(24),g=r(34),_=r(25),v=function(e){function t(e,r,n,o){var s;return(0,i.default)(this,t),(s=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,r,n,o))).appendEvent=N.ObfuscationEvent.BeforeObfuscation,s.customNodeFactory=e,s}return(0,d.default)(t,e),(0,s.default)(t,[{key:"appendCustomNodes",value:function(e,t){var r=this.getRandomStackTraceIndex(t.length);this.appendCustomNodeIfExist(m.CustomNode.ConsoleOutputDisableExpressionNode,function(n){_.NodeAppender.appendNodeToOptimalBlockScope(t,e,n.getNode(),r)}),this.appendCustomNodeIfExist(m.CustomNode.NodeCallsControllerFunctionNode,function(n){var o;o=t.length?_.NodeAppender.getOptimalBlockScope(t,r,1):e,_.NodeAppender.prependNode(o,n.getNode())})}},{key:"initialize",value:function(){if(this.customNodes=new o.default,this.options.disableConsoleOutput){var e=this.identifierNamesGenerator.generate(),t=this.customNodeFactory(m.CustomNode.ConsoleOutputDisableExpressionNode),r=this.customNodeFactory(m.CustomNode.NodeCallsControllerFunctionNode);t.initialize(e),r.initialize(this.appendEvent,e),this.customNodes.set(m.CustomNode.ConsoleOutputDisableExpressionNode,t),this.customNodes.set(m.CustomNode.NodeCallsControllerFunctionNode,r)}}}]),t}(g.AbstractCustomNodeGroup);u.__decorate([p.initializable(),u.__metadata("design:type",o.default)],v.prototype,"customNodes",void 0),v=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__ICustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Function,Object,Object])],v),t.ConsoleOutputCustomNodeGroup=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(22),s=r(29),c=r(57),d=r(58),u=r(178),l=r(177),f=r(176),p=r(175),m=r(174),N=r(173),g=r(170),_=r(169),v=r(168),y=r(167),h=r(166),b=r(165),S=r(163),I=r(161),C=r(159),F=r(155),j=r(153),O=r(152),T=r(151),k=r(149),x=r(147),E=r(140),w=r(138),G=r(134),R=r(133);t.customNodesModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.ICustomNode).to(b.ConsoleOutputDisableExpressionNode).whenTargetNamed(s.CustomNode.ConsoleOutputDisableExpressionNode),e(a.ServiceIdentifiers.ICustomNode).to(S.DebugProtectionFunctionCallNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionCallNode),e(a.ServiceIdentifiers.ICustomNode).to(I.DebugProtectionFunctionIntervalNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionIntervalNode),e(a.ServiceIdentifiers.ICustomNode).to(C.DebugProtectionFunctionNode).whenTargetNamed(s.CustomNode.DebugProtectionFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(F.DomainLockNode).whenTargetNamed(s.CustomNode.DomainLockNode),e(a.ServiceIdentifiers.ICustomNode).to(T.NodeCallsControllerFunctionNode).whenTargetNamed(s.CustomNode.NodeCallsControllerFunctionNode),e(a.ServiceIdentifiers.ICustomNode).to(k.SelfDefendingUnicodeNode).whenTargetNamed(s.CustomNode.SelfDefendingUnicodeNode),e(a.ServiceIdentifiers.ICustomNode).to(x.StringArrayCallsWrapper).whenTargetNamed(s.CustomNode.StringArrayCallsWrapper),e(a.ServiceIdentifiers.ICustomNode).to(E.StringArrayNode).whenTargetNamed(s.CustomNode.StringArrayNode),e(a.ServiceIdentifiers.ICustomNode).to(w.StringArrayRotateFunctionNode).whenTargetNamed(s.CustomNode.StringArrayRotateFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(N.BinaryExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.BinaryExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(g.BlockStatementControlFlowFlatteningNode).whenTargetNamed(i.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(v.CallExpressionControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(y.CallExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.CallExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(h.ControlFlowStorageNode).whenTargetNamed(i.ControlFlowCustomNode.ControlFlowStorageNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(j.ExpressionWithOperatorControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(O.LogicalExpressionFunctionNode).whenTargetNamed(i.ControlFlowCustomNode.LogicalExpressionFunctionNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(R.StringLiteralNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(G.StringLiteralControlFlowStorageCallNode).whenTargetNamed(i.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode),e(a.ServiceIdentifiers.Newable__ICustomNode).toConstructor(_.BlockStatementDeadCodeInjectionNode).whenTargetNamed(d.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode),e(a.ServiceIdentifiers.ICustomNodeGroup).to(u.ConsoleOutputCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.ConsoleOutputCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(l.DebugProtectionCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DebugProtectionCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(f.DomainLockCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.DomainLockCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(p.SelfDefendingCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.SelfDefendingCustomNodeGroup),e(a.ServiceIdentifiers.ICustomNodeGroup).to(m.StringArrayCustomNodeGroup).whenTargetNamed(c.CustomNodeGroup.StringArrayCustomNodeGroup),e(a.ServiceIdentifiers.Factory__ICustomNode).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNode)),e(a.ServiceIdentifiers.Factory__IControlFlowCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode).toFactory(n.InversifyContainerFacade.getConstructorFactory(a.ServiceIdentifiers.Newable__ICustomNode,a.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,a.ServiceIdentifiers.IRandomGenerator,a.ServiceIdentifiers.IOptions)),e(a.ServiceIdentifiers.Factory__ICustomNodeGroup).toFactory(n.InversifyContainerFacade.getFactory(a.ServiceIdentifiers.ICustomNodeGroup))})},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(13),m=r(14),N=r(15),g=r(9),_=d=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case p.TransformationStage.Converting:return{leave:function(e,r){if(r&&d.isValidTemplateLiteralNode(e,r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){var r=e.expressions,n=[];if(e.quasis.forEach(function(e){n.push(N.NodeFactory.literalNode(e.value.cooked));var t=r.shift();t&&n.push(t)}),n=n.filter(function(e){return!(g.NodeGuards.isLiteralNode(e)&&""===e.value)}),d.isLiteralNodeWithStringValue(n[0])||d.isLiteralNodeWithStringValue(n[1])||n.unshift(N.NodeFactory.literalNode("")),n.length>1){var o=N.NodeFactory.binaryExpressionNode("+",n.shift(),n.shift());return n.forEach(function(e){o=N.NodeFactory.binaryExpressionNode("+",o,e)}),o}return n[0]}}],[{key:"isLiteralNodeWithStringValue",value:function(e){return e&&g.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value}},{key:"isValidTemplateLiteralNode",value:function(e,t){return g.NodeGuards.isTemplateLiteralNode(e)&&!g.NodeGuards.isTaggedTemplateExpressionNode(t)}}]),t}(m.AbstractNodeTransformer);_=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(1,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Object,Object])],_),t.TemplateLiteralTransformer=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=r(4),f=r(13),p=r(14),m=r(15),N=r(9),g=function(e){function t(e,r){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case f.TransformationStage.Converting:return{enter:function(e,r){if(r&&N.NodeGuards.isObjectExpressionNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){return e.properties.forEach(function(e){!e.computed&&e.key&&(e.shorthand&&(e.shorthand=!1),N.NodeGuards.isIdentifierNode(e.key)&&(e.key=m.NodeFactory.literalNode(e.key.name)))}),e}}]),t}(p.AbstractNodeTransformer);g=d.__decorate([u.injectable(),d.__param(0,u.inject(l.ServiceIdentifiers.IRandomGenerator)),d.__param(1,u.inject(l.ServiceIdentifiers.IOptions)),d.__metadata("design:paramtypes",[Object,Object])],g),t.ObjectExpressionTransformer=g},function(e,t,r){"use strict";var n=r(0),o=n(r(30)),a=n(r(17)),i=n(r(8)),s=n(r(2)),c=n(r(3)),d=n(r(7)),u=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var l,f=r(5),p=r(1),m=r(4),N=r(13),g=r(14),_=r(25),v=r(15),y=r(9),h=r(10),b=l=function(e){function t(e,r){var n;return(0,s.default)(this,t),(n=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e,r))).cachedScopeNodesMap=new a.default,n}return(0,u.default)(t,e),(0,c.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.Converting:return{enter:function(e,r){if(t.options.transformObjectKeys&&r&&y.NodeGuards.isObjectExpressionNode(e)&&y.NodeGuards.isVariableDeclaratorNode(r))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(!y.NodeGuards.isIdentifierNode(t.id))return e;var r=h.NodeUtils.getScopeOfNode(t);return r&&y.NodeGuards.isNodeHasScope(r)?(this.cachedScopeNodesMap.set(t,r),this.transformObjectExpressionNode(e,t.id,t)):e}},{key:"extractPropertiesToExpressionStatements",value:function(e,t,r){for(var n=e.length,o=[],a=[],i=0;if.hostNodeSearchMinDepth&&t.splice(0,f.hostNodeSearchMinDepth),t.length>f.hostNodeSearchMaxDepth&&(t.length=f.hostNodeSearchMaxDepth),this.randomGenerator.getRandomGenerator().pickone(t))}},{key:"isVisitedFunctionNode",value:function(e){return(I.NodeGuards.isFunctionDeclarationNode(e)||I.NodeGuards.isFunctionExpressionNode(e)||I.NodeGuards.isArrowFunctionExpressionNode(e))&&this.visitedFunctionNodes.has(e)}},{key:"transformFunctionBody",value:function(e,t){var r=this;g.replace(e,{enter:function(e,n){if(C.NodeMetadata.isIgnoredNode(e))return g.VisitorOption.Skip;if(r.isVisitedFunctionNode(e)||!n)return g.VisitorOption.Skip;if(!f.controlFlowReplacersMap.has(e.type))return e;if(r.randomGenerator.getMathRandom()>r.options.controlFlowFlatteningThreshold)return e;var a=f.controlFlowReplacersMap.get(e.type);return void 0===a?e:(0,o.default)({},r.controlFlowReplacerFactory(a).replace(e,n,t),{parentNode:n})}})}}]),t}(b.AbstractNodeTransformer);j.controlFlowReplacersMap=new i.default([[y.NodeType.BinaryExpression,v.ControlFlowReplacer.BinaryExpressionControlFlowReplacer],[y.NodeType.CallExpression,v.ControlFlowReplacer.CallExpressionControlFlowReplacer],[y.NodeType.LogicalExpression,v.ControlFlowReplacer.LogicalExpressionControlFlowReplacer],[y.NodeType.Literal,v.ControlFlowReplacer.StringLiteralControlFlowReplacer]]),j.hostNodeSearchMinDepth=0,j.hostNodeSearchMaxDepth=2,j=f=p.__decorate([m.injectable(),p.__param(0,m.inject(N.ServiceIdentifiers.Factory__TControlFlowStorage)),p.__param(1,m.inject(N.ServiceIdentifiers.Factory__IControlFlowReplacer)),p.__param(2,m.inject(N.ServiceIdentifiers.Factory__IControlFlowCustomNode)),p.__param(3,m.inject(N.ServiceIdentifiers.IRandomGenerator)),p.__param(4,m.inject(N.ServiceIdentifiers.IOptions)),p.__metadata("design:paramtypes",[Function,Function,Function,Object,Object])],j),t.FunctionControlFlowTransformer=j},function(e,t,r){"use strict";var n=r(0),o=n(r(31)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=r(4),m=l.__importStar(r(18)),N=r(58),g=r(32),_=r(26),v=r(13),y=r(14),h=r(15),b=r(9),S=r(10),I=u=function(e){function t(e,r,n,s){var d;return(0,i.default)(this,t),(d=(0,c.default)(this,(t.__proto__||(0,a.default)(t)).call(this,n,s))).deadCodeInjectionRootAstHostNodeSet=new o.default,d.collectedBlockStatements=[],d.collectedBlockStatementsTotalLength=0,d.deadCodeInjectionCustomNodeFactory=e,d.transformersRunner=r,d}return(0,d.default)(t,e),(0,s.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case v.TransformationStage.DeadCodeInjection:return{enter:function(e,r){if(r&&b.NodeGuards.isProgramNode(e))return t.analyzeNode(e,r),e},leave:function(e,r){if(r&&b.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};case v.TransformationStage.Finalizing:return this.deadCodeInjectionRootAstHostNodeSet.size?{enter:function(e,r){if(r&&t.isDeadCodeInjectionRootAstHostNode(e))return t.restoreNode(e,r)}}:null;default:return null}}},{key:"analyzeNode",value:function(e,t){var r=this;m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)){var t=S.NodeUtils.clone(e);u.isValidCollectedBlockStatementNode(t)&&(S.NodeUtils.parentizeNode(t,t),t=r.transformersRunner.transform(t,u.transformersToRenameBlockScopeIdentifiers,v.TransformationStage.Obfuscating),r.collectedBlockStatements.push(t))}}}),this.collectedBlockStatementsTotalLength=this.collectedBlockStatements.length}},{key:"transformNode",value:function(e,t){if(!this.collectedBlockStatements.length||this.collectedBlockStatementsTotalLengththis.options.deadCodeInjectionThreshold||!u.isValidWrappedBlockStatementNode(e))return e;var r=this.collectedBlockStatements.length-1,n=this.randomGenerator.getRandomInteger(0,r),o=this.collectedBlockStatements.splice(n,1)[0];return o===e?e:this.replaceBlockStatementNode(e,o,t)}},{key:"restoreNode",value:function(e,t){var r=e.body[0];if(!b.NodeGuards.isFunctionDeclarationNode(r))throw new Error("Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node");return r.body}},{key:"isDeadCodeInjectionRootAstHostNode",value:function(e){return b.NodeGuards.isBlockStatementNode(e)&&this.deadCodeInjectionRootAstHostNodeSet.has(e)}},{key:"replaceBlockStatementNode",value:function(e,t,r){var n=h.NodeFactory.blockStatementNode([h.NodeFactory.functionDeclarationNode(u.deadCodeInjectionRootAstHostNodeName,[],t)]);this.deadCodeInjectionRootAstHostNodeSet.add(n);var o=this.deadCodeInjectionCustomNodeFactory(N.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode);o.initialize(e,n);var a=o.getNode()[0];return S.NodeUtils.parentizeNode(a,r),a}}],[{key:"isProhibitedNodeInsideCollectedBlockStatement",value:function(e){return b.NodeGuards.isBreakStatementNode(e)||b.NodeGuards.isContinueStatementNode(e)||b.NodeGuards.isAwaitExpressionNode(e)||b.NodeGuards.isSuperNode(e)}},{key:"isScopeHoistingFunctionDeclaration",value:function(e){if(!b.NodeGuards.isFunctionDeclarationNode(e))return!1;var t=S.NodeUtils.getScopeOfNode(e),r=b.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,n=r.indexOf(e);if(0===n)return!1;var o=r.slice(0,n),a=h.NodeFactory.blockStatementNode(o),i=e.id.name,s=!1;return m.traverse(a,{enter:function(e){if(b.NodeGuards.isIdentifierNode(e)&&e.name===i)return s=!0,m.VisitorOption.Break}}),s}},{key:"isValidCollectedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=0,r=!0;return m.traverse(e,{enter:function(e){if(b.NodeGuards.isBlockStatementNode(e)&&t++,t>u.maxNestedBlockStatementsCount||u.isProhibitedNodeInsideCollectedBlockStatement(e)||u.isScopeHoistingFunctionDeclaration(e))return r=!1,m.VisitorOption.Break}}),r}},{key:"isValidWrappedBlockStatementNode",value:function(e){if(!e.body.length)return!1;var t=!0;return m.traverse(e,{enter:function(e){if(u.isScopeHoistingFunctionDeclaration(e))return t=!1,m.VisitorOption.Break}}),!!t&&S.NodeUtils.getBlockScopesOfNode(e)[0].type!==_.NodeType.Program}}]),t}(y.AbstractNodeTransformer);I.deadCodeInjectionRootAstHostNodeName="deadCodeInjectionRootAstHostNode",I.maxNestedBlockStatementsCount=4,I.minCollectedBlockStatementsCount=5,I.transformersToRenameBlockScopeIdentifiers=[g.NodeTransformer.CatchClauseTransformer,g.NodeTransformer.ClassDeclarationTransformer,g.NodeTransformer.FunctionDeclarationTransformer,g.NodeTransformer.FunctionTransformer,g.NodeTransformer.LabeledStatementTransformer,g.NodeTransformer.VariableDeclarationTransformer],I=u=l.__decorate([f.injectable(),l.__param(0,f.inject(p.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)),l.__param(1,f.inject(p.ServiceIdentifiers.ITransformersRunner)),l.__param(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),l.__param(3,f.inject(p.ServiceIdentifiers.IOptions)),l.__metadata("design:paramtypes",[Function,Object,Object,Object])],I),t.DeadCodeInjectionTransformer=I},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(22),m=r(45),N=r(9),g=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.callee;if(!N.NodeGuards.isIdentifierNode(n))return e;var o=String(e.arguments.length),a=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionFunctionNode),i=e.arguments;a.initialize(i);var s=this.insertCustomNodeToControlFlowStorage(a,r,o,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),s,n,i)}},{key:"getControlFlowStorageCallNode",value:function(e,t,r,n){var o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode);o.initialize(e,t,r,n);var a=o.getNode()[0];if(!a||!N.NodeGuards.isExpressionStatementNode(a))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return a.expression}}]),t}(m.AbstractControlFlowReplacer);g.usingExistingIdentifierChance=.5,g=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],g),t.CallExpressionControlFlowReplacer=g},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/has-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/define-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-names")},function(e,t){e.exports=require("@babel/runtime/core-js/reflect/get-metadata")},function(e,t){e.exports=require("@babel/runtime/core-js/object/get-own-property-descriptor")},function(e,t){e.exports=require("@babel/runtime/core-js/object/define-property")},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=u.__importStar(r(18)),m=r(22),N=r(13),g=r(14),_=r(9),v=r(10),y=d=function(e){function t(e,r,n,i){var c;return(0,a.default)(this,t),(c=(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,n,i))).controlFlowCustomNodeFactory=e,c.arrayUtils=r,c}return(0,c.default)(t,e),(0,i.default)(t,[{key:"getVisitor",value:function(e){var t=this;switch(e){case N.TransformationStage.ControlFlowFlattening:return{leave:function(e,r){if(r&&_.NodeGuards.isBlockStatementNode(e))return t.transformNode(e,r)}};default:return null}}},{key:"transformNode",value:function(e,t){if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold||!d.canTransformBlockStatementNode(e))return e;var r=e.body,n=this.arrayUtils.arrayRange(r.length),o=this.arrayUtils.arrayShuffle(n),a=n.map(function(e){return o.indexOf(e)}),i=this.controlFlowCustomNodeFactory(m.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode);i.initialize(r,o,a);var s=i.getNode()[0];return v.NodeUtils.parentizeNode(s,t),s}}],[{key:"blockStatementHasProhibitedStatements",value:function(e){return e.body.some(function(e){var t=_.NodeGuards.isBreakStatementNode(e)||_.NodeGuards.isContinueStatementNode(e),r=_.NodeGuards.isVariableDeclarationNode(e)&&("const"===e.kind||"let"===e.kind),n=_.NodeGuards.isClassDeclarationNode(e);return _.NodeGuards.isFunctionDeclarationNode(e)||t||r||n})}},{key:"canTransformBlockStatementNode",value:function(e){var t=!0;return p.traverse(e,{enter:function(e){if(_.NodeGuards.isWhileStatementNode(e))return p.VisitorOption.Skip;_.NodeGuards.isBlockStatementNode(e)&&d.blockStatementHasProhibitedStatements(e)&&(t=!1)}}),e.body.length<=4&&(t=!1),t}}]),t}(g.AbstractNodeTransformer);y=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IArrayUtils)),u.__param(2,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(3,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object,Object])],y),t.BlockStatementControlFlowTransformer=y},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d,u=r(5),l=r(1),f=r(4),p=r(22),m=r(59),N=d=function(e){function t(e,r,n){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).call(this,e,r,n))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"replace",value:function(e,t,r){var n=e.operator,o=this.controlFlowCustomNodeFactory(p.ControlFlowCustomNode.BinaryExpressionFunctionNode);o.initialize(n);var a=this.insertCustomNodeToControlFlowStorage(o,r,n,d.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}}]),t}(m.ExpressionWithOperatorControlFlowReplacer);N.usingExistingIdentifierChance=.5,N=d=u.__decorate([l.injectable(),u.__param(0,l.inject(f.ServiceIdentifiers.Factory__IControlFlowCustomNode)),u.__param(1,l.inject(f.ServiceIdentifiers.IRandomGenerator)),u.__param(2,l.inject(f.ServiceIdentifiers.IOptions)),u.__metadata("design:paramtypes",[Function,Object,Object])],N),t.BinaryExpressionControlFlowReplacer=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(60),s=r(32),c=r(198),d=r(197),u=r(190),l=r(189),f=r(188),p=r(187),m=r(186);t.controlFlowTransformersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.INodeTransformer).to(d.BlockStatementControlFlowTransformer).whenTargetNamed(s.NodeTransformer.BlockStatementControlFlowTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(l.DeadCodeInjectionTransformer).whenTargetNamed(s.NodeTransformer.DeadCodeInjectionTransformer),e(a.ServiceIdentifiers.INodeTransformer).to(f.FunctionControlFlowTransformer).whenTargetNamed(s.NodeTransformer.FunctionControlFlowTransformer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(c.BinaryExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.BinaryExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(u.CallExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.CallExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(p.LogicalExpressionControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.LogicalExpressionControlFlowReplacer),e(a.ServiceIdentifiers.IControlFlowReplacer).to(m.StringLiteralControlFlowReplacer).whenTargetNamed(i.ControlFlowReplacer.StringLiteralControlFlowReplacer),e(a.ServiceIdentifiers.Factory__IControlFlowReplacer).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.IControlFlowReplacer))})},function(e,t,r){"use strict";var n=r(0),o=n(r(12)),a=n(r(2)),i=n(r(3));Object.defineProperty(t,"__esModule",{value:!0});var s,c=r(5),d=r(1),u=r(4),l=c.__importStar(r(18)),f=r(63),p=r(9),m=r(10),N=s=function(){function e(t){(0,a.default)(this,e),this.calleeDataExtractorFactory=t}return(0,i.default)(e,[{key:"analyze",value:function(e){return this.analyzeRecursive(e.body)}},{key:"analyzeRecursive",value:function(e){for(var t=this,r=s.getLimitIndex(e.length),n=[],o=e.length,a=function(o){if(o>r)return"break";var a=e[o];l.traverse(a,{enter:function(r){if(p.NodeGuards.isCallExpressionNode(r))return a.parentNode!==m.NodeUtils.getBlockScopesOfNode(r)[0]?l.VisitorOption.Skip:void t.analyzeCallExpressionNode(n,e,r)}})},i=0;ir&&(n=Math.round(r+t*s.limitThreshold))>t&&(n=t),n}}]),e}();N.calleeDataExtractorsList=[f.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor,f.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor,f.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor],N.limitThresholdActivationLength=25,N.limitThreshold=.002,N=s=c.__decorate([d.injectable(),c.__param(0,d.inject(u.ServiceIdentifiers.Factory__ICalleeDataExtractor)),c.__metadata("design:paramtypes",[Function])],N),t.StackTraceAnalyzer=N},function(e,t,r){"use strict";var n=r(0),o=n(r(35)),a=n(r(8)),i=n(r(2)),s=n(r(3)),c=n(r(7)),d=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var u,l=r(5),f=r(1),p=l.__importStar(r(18)),m=r(47),N=r(9),g=r(10),_=u=function(e){function t(){return(0,i.default)(this,t),(0,c.default)(this,(t.__proto__||(0,a.default)(t)).apply(this,arguments))}return(0,d.default)(t,e),(0,s.default)(t,[{key:"extract",value:function(e,t){if(!N.NodeGuards.isMemberExpressionNode(t))return null;var r=this.createObjectMembersCallsChain([],t);if(!r.length)return null;var n=r[r.length-1],o=this.getCalleeBlockStatement(g.NodeUtils.getBlockScopesOfNode(e[0])[0],r);return o?{callee:o,name:n}:null}},{key:"createObjectMembersCallsChain",value:function(e,t){if(N.NodeGuards.isIdentifierNode(t.property)&&!1===t.computed)e.unshift(t.property.name);else{if(!N.NodeGuards.isLiteralNode(t.property)||"string"!=typeof t.property.value&&"number"!=typeof t.property.value)return e;e.unshift(t.property.value)}return N.NodeGuards.isMemberExpressionNode(t.object)?this.createObjectMembersCallsChain(e,t.object):(N.NodeGuards.isIdentifierNode(t.object)&&e.unshift(t.object.name),e)}},{key:"getCalleeBlockStatement",value:function(e,t){var r=this,n=t.shift();if(!n)return null;var o=null;return p.traverse(e,{enter:function(e){if(N.NodeGuards.isVariableDeclaratorNode(e)&&N.NodeGuards.isIdentifierNode(e.id)&&e.init&&N.NodeGuards.isObjectExpressionNode(e.init)&&e.id.name===n)return o=r.findCalleeBlockStatement(e.init.properties,t),p.VisitorOption.Break}}),o}},{key:"findCalleeBlockStatement",value:function(e,t){var r=t.shift();if(!r)return null;var n=!0,a=!1,i=void 0;try{for(var s,c=(0,o.default)(e);!(n=(s=c.next()).done);n=!0){var d=s.value;if(u.isValidTargetPropertyNode(d,r)){if(N.NodeGuards.isObjectExpressionNode(d.value))return this.findCalleeBlockStatement(d.value.properties,t);if(N.NodeGuards.isFunctionExpressionNode(d.value))return d.value.body}}}catch(e){a=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(a)throw i}}return null}}],[{key:"isValidTargetPropertyNode",value:function(e,t){if(!e.key)return!1;var r=N.NodeGuards.isIdentifierNode(e.key)&&e.key.name===t,n=N.NodeGuards.isLiteralNode(e.key)&&Boolean(e.key.value)&&e.key.value===t;return r||n}}]),t}(m.AbstractCalleeDataExtractor);_=u=l.__decorate([f.injectable()],_),t.ObjectExpressionCalleeDataExtractor=_},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=d.__importStar(r(18)),f=r(47),p=r(9),m=r(10),N=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){var r=null;return p.NodeGuards.isIdentifierNode(t)&&(r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name)),p.NodeGuards.isFunctionExpressionNode(t)&&(r=t.body),r?{callee:r,name:t.name||null}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e,n){if(p.NodeGuards.isFunctionExpressionNode(e)&&n&&p.NodeGuards.isVariableDeclaratorNode(n)&&p.NodeGuards.isIdentifierNode(n.id)&&n.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);N=d.__decorate([u.injectable()],N),t.FunctionExpressionCalleeDataExtractor=N},function(e,t,r){"use strict";var n=r(0),o=n(r(8)),a=n(r(2)),i=n(r(3)),s=n(r(7)),c=n(r(6));Object.defineProperty(t,"__esModule",{value:!0});var d=r(5),u=r(1),l=d.__importStar(r(18)),f=r(47),p=r(9),m=r(10),N=function(e){function t(){return(0,a.default)(this,t),(0,s.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,c.default)(t,e),(0,i.default)(t,[{key:"extract",value:function(e,t){if(!p.NodeGuards.isIdentifierNode(t))return null;var r=this.getCalleeBlockStatement(m.NodeUtils.getBlockScopesOfNode(e[0])[0],t.name);return r?{callee:r,name:t.name}:null}},{key:"getCalleeBlockStatement",value:function(e,t){var r=null;return l.traverse(e,{enter:function(e){if(p.NodeGuards.isFunctionDeclarationNode(e)&&e.id.name===t)return r=e.body,l.VisitorOption.Break}}),r}}]),t}(f.AbstractCalleeDataExtractor);N=d.__decorate([u.injectable()],N),t.FunctionDeclarationCalleeDataExtractor=N},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(27),o=r(1),a=r(4),i=r(63),s=r(203),c=r(202),d=r(201),u=r(200);t.analyzersModule=new o.ContainerModule(function(e){e(a.ServiceIdentifiers.IStackTraceAnalyzer).to(u.StackTraceAnalyzer).inSingletonScope(),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(s.FunctionDeclarationCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(c.FunctionExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.ICalleeDataExtractor).to(d.ObjectExpressionCalleeDataExtractor).whenTargetNamed(i.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor),e(a.ServiceIdentifiers.Factory__ICalleeDataExtractor).toFactory(n.InversifyContainerFacade.getCacheFactory(a.ServiceIdentifiers.ICalleeDataExtractor))})},,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(37);e.exports=n.JavaScriptObfuscator}]); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.web.js b/dist/index.web.js index 4773de54..7a3db21c 100644 --- a/dist/index.web.js +++ b/dist/index.web.js @@ -21,7 +21,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -var JavaScriptObfuscator=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=510)}([function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(22);t.METADATA_KEY=r;var i=n(490);t.Container=i.Container;var a=n(36);t.BindingScopeEnum=a.BindingScopeEnum,t.BindingTypeEnum=a.BindingTypeEnum,t.TargetTypeEnum=a.TargetTypeEnum;var o=n(474);t.AsyncContainerModule=o.AsyncContainerModule,t.ContainerModule=o.ContainerModule;var s=n(473);t.injectable=s.injectable;var u=n(472);t.tagged=u.tagged;var c=n(471);t.named=c.named;var l=n(165);t.inject=l.inject,t.LazyServiceIdentifer=l.LazyServiceIdentifer;var d=n(470);t.optional=d.optional;var f=n(469);t.unmanaged=f.unmanaged;var p=n(468);t.multiInject=p.multiInject;var h=n(467);t.targetName=h.targetName;var m=n(466);t.postConstruct=m.postConstruct;var g=n(167);t.MetadataReader=g.MetadataReader;var y=n(47);t.guid=y.guid;var v=n(39);t.decorate=v.decorate;var b=n(162);t.traverseAncerstors=b.traverseAncerstors,t.taggedConstraint=b.taggedConstraint,t.namedConstraint=b.namedConstraint,t.typeConstraint=b.typeConstraint;var C=n(68);t.getServiceIdentifierAsString=C.getServiceIdentifierAsString;var S=n(465);t.multiBindToService=S.multiBindToService},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){var r=n(7);function i(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=t.parentNode;if(!i)throw new ReferenceError("`parentNode` property of given node is `undefined`");return f.NodeGuards.isBlockStatementNode(t)&&i===t&&n.push(t),(f.NodeGuards.isProgramNode(t)||r&&f.NodeGuards.isNodeHasBlockScope(t,i))&&n.push(t),t!==i?e.getBlockScopesOfNodeRecursive(i,n,++r):n}},{key:"getSiblingStatementNodeByOffset",value:function(t,n){var r=e.getScopeOfNode(t),i=f.NodeGuards.isSwitchCaseNode(r)?r.consequent:r.body;return i[i.indexOf(t)+n]||null}}]),e}();t.NodeUtils=h},function(e,t,n){"use strict";var r=n(0),i=r(n(18)),a=r(n(7)),o=r(n(5)),s=r(n(409)),u=r(n(406)),c=r(n(403)),l=r(n(400)),d=r(n(57)),f=r(n(101));Object.defineProperty(t,"__esModule",{value:!0});var p={configurable:!0,enumerable:!0},h="_initialized",m="_initializablePropertiesSet",g="_wrappedMethodsSet",y="constructor";function v(e,t,n){(0,l.default)(e,n)||(0,c.default)(e,t,n)}t.initializable=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"initialize",t=(0,f.default)(this)[0];return function(n,r){var l=n[e];if(!l||"function"!=typeof l)throw new Error("`".concat(e,"` method with initialization logic not ")+"found. `@".concat(t,"` decorator requires `").concat(e,"` method"));return v(h,!1,n),v(m,new d.default,n),v(g,new d.default,n),function(e,t){var n=(0,u.default)(e),r=[t,y];n.forEach(function(n){var u=(0,s.default)(m,e),c=(0,s.default)(g,e),l=r.includes(n)||u.has(n)||c.has(n);if(!l){var d=e[n];if("function"==typeof d){var f=(0,o.default)(e,n)||p,y=f.value;(0,a.default)(e,n,(0,i.default)({},f,{value:function(){if(!(0,s.default)(h,this))throw new Error("Class should be initialized with `".concat(t,"()` method"));return y.apply(this,arguments)}})),c.add(n)}}})}(n,e),function(e,t,n){var r=(0,o.default)(e,t)||p,s=r.value;(0,a.default)(e,t,(0,i.default)({},r,{value:function(){(0,c.default)(h,!0,this);var e=s.apply(this,arguments);return this[n],e}}))}(n,e,r),function(e,t){(0,s.default)(m,e).add(t);var n="_".concat(t),r=(0,o.default)(e,n)||p;return(0,a.default)(e,t,(0,i.default)({},r,{get:function(){if(void 0===this[n])throw new Error("Property `".concat(t,"` is not initialized! Initialize it first!"));return this[n]},set:function(e){this[n]=e}})),r}(n,r)}}},function(e,t){var n=e.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Preparing="Preparing",e.DeadCodeInjection="DeadCodeInjection",e.ControlFlowFlattening="ControlFlowFlattening",e.Converting="Converting",e.Obfuscating="Obfuscating",e.Finalizing="Finalizing"}(t.TransformationStage||(t.TransformationStage={}))},function(e,t,n){e.exports=n(423)},function(e,t,n){"use strict";var r=n(0),i=r(n(2)),a=r(n(3)),o=r(n(8)),s=r(n(7)),u=r(n(6)),c=r(n(5)),l=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=(0,c.default)(t,n):r;if("object"===("undefined"==typeof Reflect?"undefined":(0,u.default)(Reflect))&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&(0,s.default)(t,n,o),o},d=function(e,t){if("object"===("undefined"==typeof Reflect?"undefined":(0,u.default)(Reflect))&&"function"==typeof o.default)return(0,o.default)(e,t)},f=function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,"__esModule",{value:!0});var p=n(1),h=n(4),m=n(15),g=function(){function e(t,n){(0,i.default)(this,e),this.randomGenerator=t,this.options=n}return(0,a.default)(e,[{key:"initialize",value:function(){this.nodeIdentifier=this.randomGenerator.getRandomInteger(0,1e4)}}]),e}();l([m.initializable(),d("design:type",Number)],g.prototype,"nodeIdentifier",void 0),l([p.postConstruct(),d("design:type",Function),d("design:paramtypes",[]),d("design:returntype",void 0)],g.prototype,"initialize",null),g=l([p.injectable(),f(0,p.inject(h.ServiceIdentifiers.IRandomGenerator)),f(1,p.inject(h.ServiceIdentifiers.IOptions)),d("design:paramtypes",[Object,Object])],g),t.AbstractNodeTransformer=g},function(e,t,n){"use strict";var r=n(0),i=r(n(18)),a=r(n(2)),o=r(n(3)),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});var u=s(n(100)),c=n(46),l=function(){function e(){(0,a.default)(this,e)}return(0,o.default)(e,null,[{key:"programNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.Program,body:e,sourceType:"script",metadata:{ignoredNode:!1}}}},{key:"arrayExpressionNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.ArrayExpression,elements:e,metadata:{ignoredNode:!1}}}},{key:"assignmentExpressionNode",value:function(e,t,n){return{type:c.NodeType.AssignmentExpression,operator:e,left:t,right:n,metadata:{ignoredNode:!1}}}},{key:"binaryExpressionNode",value:function(e,t,n){return{type:c.NodeType.BinaryExpression,operator:e,left:t,right:n,metadata:{ignoredNode:!1}}}},{key:"blockStatementNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:c.NodeType.BlockStatement,body:e,metadata:{ignoredNode:!1}}}},{key:"breakStatement",value:function(e){var t={type:c.NodeType.BreakStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"callExpressionNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{type:c.NodeType.CallExpression,callee:e,arguments:t,metadata:{ignoredNode:!1}}}},{key:"continueStatement",value:function(e){var t={type:c.NodeType.ContinueStatement,metadata:{ignoredNode:!1}};return e&&(t.label=e),t}},{key:"expressionStatementNode",value:function(e){return{type:c.NodeType.ExpressionStatement,expression:e,metadata:{ignoredNode:!1}}}},{key:"functionDeclarationNode",value:function(t,n,r){return{type:c.NodeType.FunctionDeclaration,id:e.identifierNode(t),params:n,body:r,generator:!1,metadata:{ignoredNode:!1}}}},{key:"functionExpressionNode",value:function(e,t){return{type:c.NodeType.FunctionExpression,params:e,body:t,generator:!1,metadata:{ignoredNode:!1}}}},{key:"ifStatementNode",value:function(e,t,n){return(0,i.default)({type:c.NodeType.IfStatement,test:e,consequent:t},n&&{alternate:n},{metadata:{ignoredNode:!1}})}},{key:"identifierNode",value:function(e){return{type:c.NodeType.Identifier,name:e,metadata:{ignoredNode:!1}}}},{key:"literalNode",value:function(e,t){return t=void 0!==t?t:"'".concat(e,"'"),{type:c.NodeType.Literal,value:e,raw:t,"x-verbatim-property":{content:t,precedence:u.Precedence.Primary},metadata:{ignoredNode:!1}}}},{key:"logicalExpressionNode",value:function(e,t,n){return{type:c.NodeType.LogicalExpression,operator:e,left:t,right:n,metadata:{ignoredNode:!1}}}},{key:"memberExpressionNode",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.MemberExpression,computed:n,object:e,property:t,metadata:{ignoredNode:!1}}}},{key:"methodDefinitionNode",value:function(e,t,n,r){return{type:c.NodeType.MethodDefinition,key:e,value:t,kind:n,computed:r,static:!1,metadata:{ignoredNode:!1}}}},{key:"objectExpressionNode",value:function(e){return{type:c.NodeType.ObjectExpression,properties:e,metadata:{ignoredNode:!1}}}},{key:"propertyNode",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:c.NodeType.Property,key:e,value:t,kind:"init",method:!1,shorthand:!1,computed:n,metadata:{ignoredNode:!1}}}},{key:"returnStatementNode",value:function(e){return{type:c.NodeType.ReturnStatement,argument:e,metadata:{ignoredNode:!1}}}},{key:"switchStatementNode",value:function(e,t){return{type:c.NodeType.SwitchStatement,discriminant:e,cases:t,metadata:{ignoredNode:!1}}}},{key:"switchCaseNode",value:function(e,t){return{type:c.NodeType.SwitchCase,test:e,consequent:t,metadata:{ignoredNode:!1}}}},{key:"unaryExpressionNode",value:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return{type:c.NodeType.UnaryExpression,operator:e,argument:t,prefix:n,metadata:{ignoredNode:!1}}}},{key:"updateExpressionNode",value:function(e,t){return{type:c.NodeType.UpdateExpression,operator:e,argument:t,prefix:!1,metadata:{ignoredNode:!1}}}},{key:"variableDeclarationNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"var";return{type:c.NodeType.VariableDeclaration,declarations:e,kind:t,metadata:{ignoredNode:!1}}}},{key:"variableDeclaratorNode",value:function(e,t){return{type:c.NodeType.VariableDeclarator,id:e,init:t,metadata:{ignoredNode:!1}}}},{key:"whileStatementNode",value:function(e,t){return{type:c.NodeType.WhileStatement,test:e,body:t,metadata:{ignoredNode:!1}}}}]),e}();t.NodeFactory=l},function(e,t,n){"use strict";var r=n(0),i=r(n(2)),a=r(n(3)),o=r(n(8)),s=r(n(7)),u=r(n(6)),c=r(n(5)),l=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=(0,c.default)(t,n):r;if("object"===("undefined"==typeof Reflect?"undefined":(0,u.default)(Reflect))&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&(0,s.default)(t,n,o),o},d=function(e,t){if("object"===("undefined"==typeof Reflect?"undefined":(0,u.default)(Reflect))&&"function"==typeof o.default)return(0,o.default)(e,t)},f=function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,"__esModule",{value:!0});var p,h=n(1),m=n(4),g=n(361),y=n(360),v=p=function(){function e(t,n,r){(0,i.default)(this,e),this.cachedNode=null,this.identifierNamesGenerator=t(r),this.randomGenerator=n,this.options=r}return(0,a.default)(e,[{key:"getNode",value:function(){return this.cachedNode||(this.cachedNode=this.getNodeStructure()),this.cachedNode}},{key:"getGlobalVariableTemplate",value:function(){return this.randomGenerator.getRandomGenerator().pickone(p.globalVariableTemplateFunctions)}}]),e}();v.globalVariableTemplateFunctions=[g.GlobalVariableTemplate1(),y.GlobalVariableTemplate2()],v=p=l([h.injectable(),f(0,h.inject(m.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),f(1,h.inject(m.ServiceIdentifiers.IRandomGenerator)),f(2,h.inject(m.ServiceIdentifiers.IOptions)),d("design:paramtypes",[Function,Object,Object])],v),t.AbstractCustomNode=v},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NAMED_TAG="named",t.NAME_TAG="name",t.UNMANAGED_TAG="unmanaged",t.OPTIONAL_TAG="optional",t.INJECT_TAG="inject",t.MULTI_INJECT_TAG="multi_inject",t.TAGGED="inversify:tagged",t.TAGGED_PROP="inversify:tagged_props",t.PARAM_TYPES="inversify:paramtypes",t.DESIGN_PARAM_TYPES="design:paramtypes",t.POST_CONSTRUCT="post_construct"},function(e,t,n){e.exports=n(506)},function(e,t,n){!function e(t){"use strict";var r,i,a,o,s,u,c,l,d;function f(e){var t,n,r={};for(t in e)e.hasOwnProperty(t)&&(n=e[t],r[t]="object"==typeof n&&null!==n?f(n):n);return r}function p(e,t){this.parent=e,this.key=t}function h(e,t,n,r){this.node=e,this.path=t,this.wrap=n,this.ref=r}function m(){}function g(e){return null!=e&&("object"==typeof e&&"string"==typeof e.type)}function y(e,t){return(e===r.ObjectExpression||e===r.ObjectPattern)&&"properties"===t}function v(e,t){return(new m).traverse(e,t)}function b(e,t){var n;return n=function(e,t){var n,r,i,a;for(r=e.length,i=0;r;)t(e[a=i+(n=r>>>1)])?r=n:(i=a+1,r-=n+1);return i}(t,function(t){return t.range[0]>e.range[0]}),e.extendedRange=[e.range[0],e.range[1]],n!==t.length&&(e.extendedRange[1]=t[n].range[0]),(n-=1)>=0&&(e.extendedRange[0]=t[n].range[1]),e}return(i=Array.isArray)||(i=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),s=Object.create||function(){function e(){}return function(t){return e.prototype=t,new e}}(),u=Object.keys||function(e){var t,n=[];for(t in e)n.push(t);return n},r={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ComprehensionBlock:"ComprehensionBlock",ComprehensionExpression:"ComprehensionExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GeneratorExpression:"GeneratorExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",ModuleSpecifier:"ModuleSpecifier",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},o={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ComprehensionBlock:["left","right"],ComprehensionExpression:["blocks","filter","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],GeneratorExpression:["blocks","filter","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],ModuleSpecifier:[],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],Program:["body"],Property:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},a={Break:c={},Skip:l={},Remove:d={}},p.prototype.replace=function(e){this.parent[this.key]=e},p.prototype.remove=function(){return i(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)},m.prototype.path=function(){var e,t,n,r,a;function o(e,t){if(i(t))for(n=0,r=t.length;n=0;)if(v=o[d=m[f]])if(i(v)){for(p=v.length;(p-=1)>=0;)if(v[p]){if(y(s,m[f]))a=new h(v[p],[d,p],"Property",null);else{if(!g(v[p]))continue;a=new h(v[p],[d,p],null,null)}n.push(a)}}else g(v)&&n.push(new h(v,d,null,null))}}else if(a=r.pop(),u=this.__execute(t.leave,a),this.__state===c||u===c)return},m.prototype.replace=function(e,t){var n,r,a,o,s,u,f,m,v,b,C,S,A;function E(e){var t,r,i,a;if(e.ref.remove())for(r=e.ref.key,a=e.ref.parent,t=n.length;t--;)if((i=n[t]).ref&&i.ref.parent===a){if(i.ref.key=0;)if(b=a[A=v[f]])if(i(b)){for(m=b.length;(m-=1)>=0;)if(b[m]){if(y(o,v[f]))u=new h(b[m],[A,m],"Property",new p(b,m));else{if(!g(b[m]))continue;u=new h(b[m],[A,m],null,new p(b,m))}n.push(u)}}else g(b)&&n.push(new h(b,A,null,new p(a,A)))}}else if(u=r.pop(),void 0!==(s=this.__execute(t.leave,u))&&s!==c&&s!==l&&s!==d&&u.ref.replace(s),this.__state!==d&&s!==d||E(u),this.__state===c||s===c)return S.root;return S.root},t.version=n(442).version,t.Syntax=r,t.traverse=v,t.replace=function(e,t){return(new m).replace(e,t)},t.attachComments=function(e,t,n){var r,i,o,s,u=[];if(!e.range)throw new Error("attachComments needs range information");if(!n.length){if(t.length){for(o=0,i=t.length;oe.range[0]);)t.extendedRange[1]===e.range[0]?(e.leadingComments||(e.leadingComments=[]),e.leadingComments.push(t),u.splice(s,1)):s+=1;return s===u.length?a.Break:u[s].extendedRange[0]>e.range[1]?a.Skip:void 0}}),s=0,v(e,{leave:function(e){for(var t;se.range[1]?a.Skip:void 0}}),e},t.VisitorKeys=o,t.VisitorOption=a,t.Controller=m,t.cloneEnvironment=function(){return e({})},t}(t)},function(e,t,n){var r=n(35),i=n(16),a=n(50),o=n(42),s=function(e,t,n){var u,c,l,d=e&s.F,f=e&s.G,p=e&s.S,h=e&s.P,m=e&s.B,g=e&s.W,y=f?i:i[t]||(i[t]={}),v=y.prototype,b=f?r:p?r[t]:(r[t]||{}).prototype;for(u in f&&(n=t),n)(c=!d&&b&&void 0!==b[u])&&u in y||(l=c?b[u]:n[u],y[u]=f&&"function"!=typeof b[u]?n[u]:m&&c?a(l,r):g&&b[u]==l?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(l):h&&"function"==typeof l?a(Function.call,l):l,h&&((y.virtual||(y.virtual={}))[u]=l,e&s.R&&v&&!v[u]&&o(v,u,l)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,n){"use strict";var r=n(0),i=r(n(18)),a=r(n(2)),o=r(n(3));Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(){(0,a.default)(this,e)}return(0,o.default)(e,null,[{key:"set",value:function(e,t){e.metadata=(0,i.default)(e.metadata||{},t)}},{key:"get",value:function(e,t){return void 0!==e.metadata?e.metadata[t]:void 0}},{key:"isIgnoredNode",value:function(t){return!0===e.get(t,"ignoredNode")}},{key:"isRenamedIdentifier",value:function(t){return!0===e.get(t,"renamedIdentifier")}},{key:"isReplacedLiteral",value:function(t){return!0===e.get(t,"replacedLiteral")}}]),e}();t.NodeMetadata=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DUPLICATED_INJECTABLE_DECORATOR="Cannot apply @injectable decorator multiple times.",t.DUPLICATED_METADATA="Metadata key was used more than once in a parameter:",t.NULL_ARGUMENT="NULL argument",t.KEY_NOT_FOUND="Key Not Found",t.AMBIGUOUS_MATCH="Ambiguous match found for serviceIdentifier:",t.CANNOT_UNBIND="Could not unbind serviceIdentifier:",t.NOT_REGISTERED="No matching bindings found for serviceIdentifier:",t.MISSING_INJECTABLE_ANNOTATION="Missing required @injectable annotation in:",t.MISSING_INJECT_ANNOTATION="Missing required @inject or @multiInject annotation in:",t.UNDEFINED_INJECT_ANNOTATION=function(e){return"@inject called with undefined this could mean that the class "+e+" has a circular dependency problem. You can use a LazyServiceIdentifer to overcome this limitation."},t.CIRCULAR_DEPENDENCY="Circular dependency found:",t.NOT_IMPLEMENTED="Sorry, this feature is not fully implemented yet.",t.INVALID_BINDING_TYPE="Invalid binding type:",t.NO_MORE_SNAPSHOTS_AVAILABLE="No snapshot available to restore.",t.INVALID_MIDDLEWARE_RETURN="Invalid return type in middleware. Middleware must return!",t.INVALID_FUNCTION_BINDING="Value provided to function binding must be a function!",t.INVALID_TO_SELF_VALUE="The toSelf function can only be applied when a constructor is used as service identifier",t.INVALID_DECORATOR_OPERATION="The @inject @multiInject @tagged and @named decorators must be applied to the parameters of a class constructor or a class property.",t.ARGUMENTS_LENGTH_MISMATCH=function(){for(var e=[],t=0;t= than the number of constructor arguments of its base class."},t.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT="Invalid Container constructor argument. Container options must be an object.",t.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE="Invalid Container option. Default scope must be a string ('singleton' or 'transient').",t.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE="Invalid Container option. Auto bind injectable must be a boolean",t.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK="Invalid Container option. Skip base check must be a boolean",t.MULTIPLE_POST_CONSTRUCT_METHODS="Cannot apply @postConstruct decorator multiple times in the same class",t.POST_CONSTRUCT_ERROR=function(){for(var e=[],t=0;t3&&void 0!==arguments[3]?arguments[3]:0;i=t.length?e.getOptimalBlockScope(t,a):n,e.prependNode(i,r)}},{key:"getOptimalBlockScope",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,i=t[n];if(r<=0)throw new Error("Invalid `deep` argument value. Value should be bigger then 0.");return r>1&&i.stackTrace.length?e.getOptimalBlockScope(i.stackTrace,0,--r):i.callee}},{key:"insertNodeAfter",value:function(t,n,r){var i=e.getScopeNodeStatements(t).indexOf(r);e.insertNodeAtIndex(t,n,i+1)}},{key:"insertNodeAtIndex",value:function(t,n,r){n=e.parentizeScopeStatementsBeforeAppend(t,n),e.setScopeNodeStatements(t,(0,i.default)(e.getScopeNodeStatements(t).slice(0,r)).concat((0,i.default)(n),(0,i.default)(e.getScopeNodeStatements(t).slice(r))))}},{key:"prependNode",value:function(t,n){n=e.parentizeScopeStatementsBeforeAppend(t,n),e.setScopeNodeStatements(t,(0,i.default)(n).concat((0,i.default)(e.getScopeNodeStatements(t))))}},{key:"getScopeNodeStatements",value:function(e){return s.NodeGuards.isSwitchCaseNode(e)?e.consequent:e.body}},{key:"parentizeScopeStatementsBeforeAppend",value:function(e,t){return t.forEach(function(t){t.parentNode=e}),t}},{key:"setScopeNodeStatements",value:function(e,t){s.NodeGuards.isSwitchCaseNode(e)?e.consequent=t:e.body=t}}]),e}();t.NodeAppender=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.ArrayExpression="ArrayExpression",e.ArrayPattern="ArrayPattern",e.ArrowFunctionExpression="ArrowFunctionExpression",e.AssignmentExpression="AssignmentExpression",e.AssignmentPattern="AssignmentPattern",e.AwaitExpression="AwaitExpression",e.BinaryExpression="BinaryExpression",e.BlockStatement="BlockStatement",e.BreakStatement="BreakStatement",e.CallExpression="CallExpression",e.CatchClause="CatchClause",e.ClassDeclaration="ClassDeclaration",e.ContinueStatement="ContinueStatement",e.ExportNamedDeclaration="ExportNamedDeclaration",e.ExpressionStatement="ExpressionStatement",e.FunctionDeclaration="FunctionDeclaration",e.FunctionExpression="FunctionExpression",e.Identifier="Identifier",e.IfStatement="IfStatement",e.ImportDeclaration="ImportDeclaration",e.ImportDefaultSpecifier="ImportDefaultSpecifier",e.ImportNamespaceSpecifier="ImportNamespaceSpecifier",e.ImportSpecifier="ImportSpecifier",e.LabeledStatement="LabeledStatement",e.Literal="Literal",e.LogicalExpression="LogicalExpression",e.MemberExpression="MemberExpression",e.MethodDefinition="MethodDefinition",e.ObjectExpression="ObjectExpression",e.ObjectPattern="ObjectPattern",e.Program="Program",e.Property="Property",e.RestElement="RestElement",e.ReturnStatement="ReturnStatement",e.Super="Super",e.SwitchCase="SwitchCase",e.SwitchStatement="SwitchStatement",e.TaggedTemplateExpression="TaggedTemplateExpression",e.TemplateLiteral="TemplateLiteral",e.TryStatement="TryStatement",e.UnaryExpression="UnaryExpression",e.UpdateExpression="UpdateExpression",e.VariableDeclaration="VariableDeclaration",e.VariableDeclarator="VariableDeclarator",e.WhileStatement="WhileStatement"}(t.NodeType||(t.NodeType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.guid=function(){function e(){return Math.floor(65536*(Math.random()+1)).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}},function(e,t,n){var r=n(118),i=n(122);e.exports=function(e){return r(i(e))}},function(e,t,n){"use strict";var r=n(0),i=r(n(23)),a=r(n(2)),o=r(n(3));Object.defineProperty(t,"__esModule",{value:!0});var s=n(1),u=n(4),c=n(464),l=n(412),d=n(377),f=n(368),p=n(319),h=n(318),m=n(315),g=n(314),y=n(301),v=n(226),b=n(216),C=n(211),S=n(199),A=n(189),E=n(187),N=n(185),_=n(184),I=n(183),D=n(182),x=function(){function e(){(0,a.default)(this,e),this.container=new s.Container}return(0,o.default)(e,[{key:"get",value:function(e){return this.container.get(e)}},{key:"getNamed",value:function(e,t){return this.container.getNamed(e,t)}},{key:"load",value:function(e,t){this.container.bind(u.ServiceIdentifiers.ISourceCode).toDynamicValue(function(){return new _.SourceCode(e)}).inSingletonScope(),this.container.bind(u.ServiceIdentifiers.TInputOptions).toDynamicValue(function(){return t}).inSingletonScope(),this.container.bind(u.ServiceIdentifiers.ILogger).to(A.Logger).inSingletonScope(),this.container.bind(u.ServiceIdentifiers.IJavaScriptObfuscator).to(S.JavaScriptObfuscator).inSingletonScope(),this.container.bind(u.ServiceIdentifiers.ITransformersRunner).to(D.TransformersRunner).inSingletonScope(),this.container.bind(u.ServiceIdentifiers.IObfuscationResult).to(N.ObfuscationResult).inSingletonScope(),this.container.bind(u.ServiceIdentifiers.Factory__IObfuscationResult).toFactory(function(e){return function(t,n){var r=e.container.get(u.ServiceIdentifiers.IObfuscationResult);return r.initialize(t,n),r}}),this.container.bind(u.ServiceIdentifiers.ISourceMapCorrector).to(I.SourceMapCorrector).inSingletonScope(),this.container.bind(u.ServiceIdentifiers.IObfuscationEventEmitter).to(E.ObfuscationEventEmitter).inSingletonScope(),this.container.load(c.analyzersModule),this.container.load(l.controlFlowTransformersModule),this.container.load(d.convertingTransformersModule),this.container.load(f.customNodesModule),this.container.load(p.finalizingTransformersModule),this.container.load(h.generatorsModule),this.container.load(m.nodeTransformersModule),this.container.load(g.obfuscatingTransformersModule),this.container.load(y.optionsModule),this.container.load(v.preparingTransformersModule),this.container.load(b.storagesModule),this.container.load(C.utilsModule)}},{key:"unload",value:function(){this.container.unbindAll()}}],[{key:"getFactory",value:function(e){return function(t){return function(n){return t.container.getNamed(e,n)}}}},{key:"getCacheFactory",value:function(e){return function(t){var n=new i.default;return function(r){if(n.has(r))return n.get(r);var i=t.container.getNamed(e,r);return n.set(r,i),i}}}},{key:"getConstructorFactory",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];for(var n in t)void 0===e[n]&&(e[n]=t[n]);return e},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i,a=new(function(){function e(){this.instances=[]}return e.prototype.get=function(e){var t=this.instances.find(function(t){return t.type===e});return t||(t={type:e,object:new e},this.instances.push(t)),t.object},e}());t.useContainer=function(e,t){r=e,i=t},t.getFromContainer=function(e){if(r)try{var t=r.get(e);if(t)return t;if(!i||!i.fallback)return t}catch(e){if(!i||!i.fallbackOnErrors)throw e}return a.get(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){}return e.isValid=function(e){var t=this;return"isValid"!==e&&"getMessage"!==e&&-1!==Object.keys(this).map(function(e){return t[e]}).indexOf(e)},e.getMessage=function(e,t){var n=this,r=t?"each value in ":"";switch(e){case this.NESTED_VALIDATION:return r+"nested property $property must be either object or array";case this.IS_DEFINED:return r+"$property should not be null or undefined";case this.EQUALS:return r+"$property must be equal to $constraint1";case this.NOT_EQUALS:return r+"$property should not be equal to $constraint1";case this.IS_EMPTY:return r+"$property must be empty";case this.IS_NOT_EMPTY:return r+"$property should not be empty";case this.IS_IN:return r+"$property must be one of the following values: $constraint1";case this.IS_NOT_IN:return r+"$property should not be one of the following values: $constraint1";case this.IS_BOOLEAN:return r+"$property must be a boolean value";case this.IS_DATE:return r+"$property must be a Date instance";case this.IS_NUMBER:return r+"$property must be a number";case this.IS_INT:return r+"$property must be an integer number";case this.IS_STRING:return r+"$property must be a string";case this.IS_DATE_STRING:return r+"$property must be a ISOString";case this.IS_ARRAY:return r+"$property must be an array";case this.IS_ENUM:return r+"$property must be a valid enum value";case this.IS_DIVISIBLE_BY:return r+"$property must be divisible by $constraint1";case this.IS_POSITIVE:return r+"$property must be a positive number";case this.IS_NEGATIVE:return r+"$property must be a negative number";case this.MIN:return r+"$property must be greater than $constraint1";case this.MAX:return r+"$property must be less than $constraint1";case this.MIN_DATE:return"minimal allowed date for "+r+"$property is $constraint1";case this.MAX_DATE:return"maximal allowed date for "+r+"$property is $constraint1";case this.IS_BOOLEAN_STRING:return r+"$property must be a boolean string";case this.IS_NUMBER_STRING:return r+"$property must be a number string";case this.CONTAINS:return r+"$property must contain a $constraint1 string";case this.NOT_CONTAINS:return r+"$property should not contain a $constraint1 string";case this.IS_ALPHA:return r+"$property must contain only letters (a-zA-Z)";case this.IS_ALPHANUMERIC:return r+"$property must contain only letters and numbers";case this.IS_ASCII:return r+"$property must contain only ASCII characters";case this.IS_BASE64:return r+"$property must be base64 encoded";case this.IS_BYTE_LENGTH:return r+"$property's byte length must fall into ($constraint1, $constraint2) range";case this.IS_CREDIT_CARD:return r+"$property must be a credit card";case this.IS_CURRENCY:return r+"$property must be a currency";case this.IS_EMAIL:return r+"$property must be an email";case this.IS_FQDN:return r+"$property must be a valid domain name";case this.IS_FULL_WIDTH:return r+"$property must contain a full-width characters";case this.IS_HALF_WIDTH:return r+"$property must contain a half-width characters";case this.IS_VARIABLE_WIDTH:return r+"$property must contain a full-width and half-width characters";case this.IS_HEX_COLOR:return r+"$property must be a hexadecimal color";case this.IS_HEXADECIMAL:return r+"$property must be a hexadecimal number";case this.IS_IP:return r+"$property must be an ip address";case this.IS_ISBN:return r+"$property must be an ISBN";case this.IS_ISIN:return r+"$property must be an ISIN (stock/security identifier)";case this.IS_ISO8601:return r+"$property must be a valid ISO 8601 date string";case this.IS_JSON:return r+"$property must be a json string";case this.IS_LOWERCASE:return r+"$property must be a lowercase string";case this.IS_MOBILE_PHONE:return r+"$property must be a phone number";case this.IS_MONGO_ID:return r+"$property must be a mongodb id";case this.IS_MULTIBYTE:return r+"$property must contain one or more multibyte chars";case this.IS_SURROGATE_PAIR:return r+"$property must contain any surrogate pairs chars";case this.IS_URL:return r+"$property must be an URL address";case this.IS_UUID:return r+"$property must be an UUID";case this.IS_UPPERCASE:return r+"$property must be uppercase";case this.LENGTH:return function(e){var t=null!==e.constraints[0]&&void 0!==e.constraints[0],n=null!==e.constraints[1]&&void 0!==e.constraints[1];return t&&(!e.value||e.value.lengthe.constraints[1]?r+"$property must be shorter than or equal to $constraint2 characters":r+"$property must be longer than or equal to $constraint1 and shorter than or equal to $constraint2 characters"};case this.MIN_LENGTH:return r+"$property must be longer than or equal to $constraint1 characters";case this.MAX_LENGTH:return r+"$property must be shorter than or equal to $constraint1 characters";case this.MATCHES:return r+"$property must match $constraint1 regular expression";case this.ARRAY_CONTAINS:return r+"$property must contain $constraint1 values";case this.ARRAY_NOT_CONTAINS:return r+"$property should not contain $constraint1 values";case this.ARRAY_NOT_EMPTY:return r+"$property should not be empty";case this.ARRAY_MIN_SIZE:return r+"$property must contain at least $constraint1 elements";case this.ARRAY_MAX_SIZE:return r+"$property must contain not more than $constraint1 elements";case this.ARRAY_UNIQUE:return r+"All $property's elements must be unique";case this.IS_INSTANCE:return function(e){return e.constraints[0]?r+"$property must be an instance of "+e.constraints[0].name:r+(n.IS_INSTANCE+" decorator expects and object as value, but got falsy value.")}}return""},e.CUSTOM_VALIDATION="customValidation",e.NESTED_VALIDATION="nestedValidation",e.CONDITIONAL_VALIDATION="conditionalValidation",e.WHITELIST="whitelistValidation",e.IS_DEFINED="isDefined",e.EQUALS="equals",e.NOT_EQUALS="notEquals",e.IS_EMPTY="isEmpty",e.IS_NOT_EMPTY="isNotEmpty",e.IS_IN="isIn",e.IS_NOT_IN="isNotIn",e.IS_BOOLEAN="isBoolean",e.IS_DATE="isDate",e.IS_NUMBER="isNumber",e.IS_STRING="isString",e.IS_DATE_STRING="isDateString",e.IS_ARRAY="isArray",e.IS_INT="isInt",e.IS_ENUM="isEnum",e.IS_DIVISIBLE_BY="isDivisibleBy",e.IS_POSITIVE="isPositive",e.IS_NEGATIVE="isNegative",e.MIN="min",e.MAX="max",e.MIN_DATE="minDate",e.MAX_DATE="maxDate",e.IS_BOOLEAN_STRING="isBooleanString",e.IS_NUMBER_STRING="isNumberString",e.CONTAINS="contains",e.NOT_CONTAINS="notContains",e.IS_ALPHA="isAlpha",e.IS_ALPHANUMERIC="isAlphanumeric",e.IS_ASCII="isAscii",e.IS_BASE64="isBase64",e.IS_BYTE_LENGTH="isByteLength",e.IS_CREDIT_CARD="isCreditCard",e.IS_CURRENCY="isCurrency",e.IS_EMAIL="isEmail",e.IS_FQDN="isFqdn",e.IS_FULL_WIDTH="isFullWidth",e.IS_HALF_WIDTH="isHalfWidth",e.IS_VARIABLE_WIDTH="isVariableWidth",e.IS_HEX_COLOR="isHexColor",e.IS_HEXADECIMAL="isHexadecimal",e.IS_IP="isIp",e.IS_ISBN="isIsbn",e.IS_ISIN="isIsin",e.IS_ISO8601="isIso8601",e.IS_JSON="isJson",e.IS_LOWERCASE="isLowercase",e.IS_MOBILE_PHONE="isMobilePhone",e.IS_MONGO_ID="isMongoId",e.IS_MULTIBYTE="isMultibyte",e.IS_SURROGATE_PAIR="isSurrogatePair",e.IS_URL="isUrl",e.IS_UUID="isUuid",e.LENGTH="length",e.IS_UPPERCASE="isUppercase",e.MIN_LENGTH="minLength",e.MAX_LENGTH="maxLength",e.MATCHES="matches",e.IS_MILITARY_TIME="isMilitaryTime",e.ARRAY_CONTAINS="arrayContains",e.ARRAY_NOT_CONTAINS="arrayNotContains",e.ARRAY_NOT_EMPTY="arrayNotEmpty",e.ARRAY_MIN_SIZE="arrayMinSize",e.ARRAY_MAX_SIZE="arrayMaxSize",e.ARRAY_UNIQUE="arrayUnique",e.IS_INSTANCE="isInstance",e}();t.ValidationTypes=r},function(e,t,n){"use strict";var r=n(0),i=r(n(96)),a=r(n(2)),o=r(n(3));Object.defineProperty(t,"__esModule",{value:!0});var s=n(322),u=function(){function e(){(0,a.default)(this,e)}return(0,o.default)(e,null,[{key:"decToHex",value:function(e){return e.toString(16)}},{key:"extractDomainFromUrl",value:function(e){return(e.indexOf("://")>-1||0===e.indexOf("//")?e.split("/")[2]:e.split("/")[0]).split(":")[0]}},{key:"isCeilNumber",value:function(e){return e%1==0}},{key:"stringRotate",value:function(e,t){if(!e)throw new ReferenceError("Cannot rotate empty string.");for(var n=0;n=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(298),i=function(){function e(){this.validationMetadatas=[],this.constraintMetadatas=[]}return e.prototype.addValidationSchema=function(e){var t=this;(new r.ValidationSchemaToMetadataTransformer).transform(e).forEach(function(e){return t.addValidationMetadata(e)})},e.prototype.addValidationMetadata=function(e){this.validationMetadatas.push(e)},e.prototype.addConstraintMetadata=function(e){this.constraintMetadatas.push(e)},e.prototype.groupByPropertyName=function(e){var t={};return e.forEach(function(e){t[e.propertyName]||(t[e.propertyName]=[]),t[e.propertyName].push(e)}),t},e.prototype.getTargetValidationMetadatas=function(e,t,n){var r=this.validationMetadatas.filter(function(r){return(r.target===e||r.target===t)&&(!!r.always||(!(n&&n.length>0)||r.groups&&!!r.groups.find(function(e){return-1!==n.indexOf(e)})))}),i=this.validationMetadatas.filter(function(t){return t.target!==e&&((!(t.target instanceof Function)||e.prototype instanceof t.target)&&(!!t.always||(!(n&&n.length>0)||t.groups&&!!t.groups.find(function(e){return-1!==n.indexOf(e)}))))}).filter(function(e){return!r.find(function(t){return t.propertyName===e.propertyName&&t.type===e.type})});return r.concat(i)},e.prototype.getTargetValidatorConstraints=function(e){return this.constraintMetadatas.filter(function(t){return t.target===e})},e}();t.MetadataStorage=i},function(e,t,n){"use strict";var r=n(0),i=r(n(2)),a=r(n(3)),o=r(n(8)),s=r(n(7)),u=r(n(6)),c=r(n(5)),l=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=(0,c.default)(t,n):r;if("object"===("undefined"==typeof Reflect?"undefined":(0,u.default)(Reflect))&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&(0,s.default)(t,n,o),o},d=function(e,t){if("object"===("undefined"==typeof Reflect?"undefined":(0,u.default)(Reflect))&&"function"==typeof o.default)return(0,o.default)(e,t)},f=function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,"__esModule",{value:!0});var p=n(1),h=n(4),m=function(){function e(t,n,r){(0,i.default)(this,e),this.identifierNamesGenerator=t(r),this.randomGenerator=n,this.options=r}return(0,a.default)(e,[{key:"getAppendEvent",value:function(){return this.appendEvent}},{key:"getCustomNodes",value:function(){return this.customNodes}},{key:"appendCustomNodeIfExist",value:function(e,t){var n=this.customNodes.get(e);n&&t(n)}},{key:"getRandomStackTraceIndex",value:function(e){return this.randomGenerator.getRandomInteger(0,Math.max(0,Math.round(e-1)))}}]),e}();m=l([p.injectable(),f(0,p.inject(h.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),f(1,p.inject(h.ServiceIdentifiers.IRandomGenerator)),f(2,p.inject(h.ServiceIdentifiers.IOptions)),d("design:paramtypes",[Function,Object,Object])],m),t.AbstractCustomNodeGroup=m},function(e,t,n){var r=n(389),i=n(388),a=n(380);e.exports=function(e){return r(e)||i(e)||a()}},function(e,t,n){var r=n(25),i=n(16),a=n(41);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],o={};o[e]=t(n),r(r.S+r.F*a(function(){n(1)}),"Object",o)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(27);function i(e){return"function"==typeof e?e.name:"symbol"==typeof e?e.toString():e}function a(e){if(e.name)return e.name;var t=e.toString(),n=t.match(/^function\s*([^\s(]+)/);return n?n[1]:"Anonymous function: "+t}t.getServiceIdentifierAsString=i,t.listRegisteredBindingsForServiceIdentifier=function(e,t,n){var r="",i=n(e,t);return 0!==i.length&&(r="\nRegistered bindings:",i.forEach(function(e){var t="Object";null!==e.implementationType&&(t=a(e.implementationType)),r=r+"\n "+t,e.constraint.metaData&&(r=r+" - "+e.constraint.metaData)})),r},t.circularDependencyToException=function e(t){t.childRequests.forEach(function(t){if(function e(t,n){return null!==t.parentRequest&&(t.parentRequest.serviceIdentifier===n||e(t.parentRequest,n))}(t,t.serviceIdentifier)){var n=function e(t,n){void 0===n&&(n=[]);var r=i(t.serviceIdentifier);return n.push(r),null!==t.parentRequest?e(t.parentRequest,n):n}(t).reverse().join(" --\x3e ");throw new Error(r.CIRCULAR_DEPENDENCY+" "+n)}e(t)})},t.listMetadataForTarget=function(e,t){if(t.isTagged()||t.isNamed()){var n="",r=t.getNamedTag(),i=t.getCustomTags();return null!==r&&(n+=r.toString()+"\n"),null!==i&&i.forEach(function(e){n+=e.toString()+"\n"})," "+e+"\n "+e+" - "+n}return" "+e},t.getFunctionName=a},function(e,t,n){var r=n(30);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t,n){var r=n(50),i=n(173),a=n(172),o=n(29),s=n(89),u=n(112),c={},l={};(t=e.exports=function(e,t,n,d,f){var p,h,m,g,y=f?function(){return e}:u(e),v=r(n,d,t?2:1),b=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(a(y)){for(p=s(e.length);p>b;b++)if((g=t?v(o(h=e[b])[0],h[1]):v(e[b]))===c||g===l)return g}else for(m=y.call(e);!(h=m.next()).done;)if((g=i(m,v,h.value,t))===c||g===l)return g}).BREAK=c,t.RETURN=l},function(e,t,n){n(499);for(var r=n(35),i=n(42),a=n(62),o=n(28)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u1&&void 0!==arguments[1]?arguments[1]:{},n=new s.InversifyContainerFacade;n.load(e,t);var r=n.get(o.ServiceIdentifiers.IJavaScriptObfuscator).obfuscate(e);return n.unload(),r}}]),e}();u.version="0.16.0",t.JavaScriptObfuscator=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});for(var r,i=t.alpha={"en-US":/^[A-Z]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ω]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},a=t.alphanumeric={"en-US":/^[0-9A-Z]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},o=t.decimal={"en-US":".",ar:"٫"},s=t.englishLocales=["AU","GB","HK","IN","NZ","ZA","ZM"],u=0;u=0;l--)(i=e[l])&&(c=(a<3?i(c):a>3?i(t,n,c):i(t,n))||c);return a>3&&c&&(0,o.default)(t,n,c),c},l=function(e,t){if("object"===("undefined"==typeof Reflect?"undefined":(0,s.default)(Reflect))&&"function"==typeof a.default)return(0,a.default)(e,t)},d=function(e,t){return function(n,r){t(n,r,e)}};Object.defineProperty(t,"__esModule",{value:!0});var f=n(1),p=n(4),h=function e(t){(0,i.default)(this,e),this.options=t};h=c([f.injectable(),d(0,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",[Object])],h),t.AbstractObfuscatingReplacer=h},function(e,t,n){var r=n(9),i=n(5);e.exports=function e(t,n,a){null===t&&(t=Function.prototype);var o=i(t,n);if(void 0===o){var s=r(t);return null===s?void 0:e(s,n,a)}if("value"in o)return o.value;var u=o.get;return void 0!==u?u.call(a):void 0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Base64="base64",e.Rc4="rc4"}(t.StringArrayEncoding||(t.StringArrayEncoding={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Inline="inline",e.Separate="separate"}(t.SourceMapMode||(t.SourceMapMode={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.HexadecimalIdentifierNamesGenerator="hexadecimal",e.MangledIdentifierNamesGenerator="mangled"}(t.IdentifierNamesGenerator||(t.IdentifierNamesGenerator={}))},function(e,t,n){"use strict";var r=n(0)(n(150));Object.defineProperty(t,"__esModule",{value:!0});var i=n(80),a=n(43),o=n(79);t.NO_ADDITIONAL_NODES_PRESET=(0,r.default)({compact:!0,controlFlowFlattening:!1,controlFlowFlatteningThreshold:0,deadCodeInjection:!1,deadCodeInjectionThreshold:0,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],identifierNamesGenerator:i.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",log:!1,renameGlobals:!1,reservedNames:[],rotateStringArray:!1,seed:0,selfDefending:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:o.SourceMapMode.Separate,stringArray:!1,stringArrayEncoding:!1,stringArrayThreshold:0,target:a.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},function(e,t,n){var r=n(175),i=n(25),a=n(88)("metadata"),o=a.store||(a.store=new(n(414))),s=function(e,t,n){var i=o.get(e);if(!i){if(!n)return;o.set(e,i=new r)}var a=i.get(t);if(!a){if(!n)return;i.set(t,a=new r)}return a};e.exports={store:o,map:s,has:function(e,t,n){var r=s(t,n,!1);return void 0!==r&&r.has(e)},get:function(e,t,n){var r=s(t,n,!1);return void 0===r?void 0:r.get(e)},set:function(e,t,n,r){s(n,r,!0).set(e,t)},keys:function(e,t){var n=s(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},key:function(e){return void 0===e||"symbol"==typeof e?e:String(e)},exp:function(e){i(i.S,"Reflect",e)}}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(40),i=n(61),a=n(116)("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,a)?e[a]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,t,n){var r=n(32).f,i=n(40),a=n(28)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(35),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});e.exports=function(e){return i[e]||(i[e]={})}},function(e,t,n){var r=n(123),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(29),i=n(503),a=n(115),o=n(116)("IE_PROTO"),s=function(){},u=function(){var e,t=n(179)("iframe"),r=a.length;for(t.style.display="none",n(500).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("