/*! Copyright (C) 2016-2018 Timofey Kachalov Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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. */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.JavaScriptObfuscator=t():e.JavaScriptObfuscator=t()}(window,function(){return 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.17.0-dev.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("